BEARD_PROGRAMMER_LOUNGE Telegram 11
Про часы, таймеры и прерывания.
Когда-нибудь задумывались про устройство многозадачности в ОС?

Допустим на одноядерном процессоре в текущем потоке исполнения работает какая-то программа. В этой программе происходит бесконечный цикл в котором ничего не происходит - просто трата ресурсов процессора.

Если это ядро - единственный ресурс, то как ОС сможет переключится на другую программу?
С помощью планировщика, но как именно - ведь ядро то одно и оно занято, а работу планировщика тоже нужно где-то выполнить.

Здесь и помогают таймеры и прерывания. Таймер с определенной периодичностью шлет сигналы (тики). Когда сигналов накопилось некоторое N число (прошло N времени) - вызывается прерывание. Прерывание - специальный интерфейс (регистры), с помощью которого можно прервать текущий поток исполнения процессора чтобы решить что делать дальше. Когда поток был прерван, выполниться процедура ОС и планировщика - посмотреть не слишком ли много циклов процессора потратила текущая программа, надо ли дать время поработать другой.
🔥51👍1



tgoop.com/beard_programmer_lounge/11
Create:
Last Update:

Про часы, таймеры и прерывания.
Когда-нибудь задумывались про устройство многозадачности в ОС?

Допустим на одноядерном процессоре в текущем потоке исполнения работает какая-то программа. В этой программе происходит бесконечный цикл в котором ничего не происходит - просто трата ресурсов процессора.

Если это ядро - единственный ресурс, то как ОС сможет переключится на другую программу?
С помощью планировщика, но как именно - ведь ядро то одно и оно занято, а работу планировщика тоже нужно где-то выполнить.

Здесь и помогают таймеры и прерывания. Таймер с определенной периодичностью шлет сигналы (тики). Когда сигналов накопилось некоторое N число (прошло N времени) - вызывается прерывание. Прерывание - специальный интерфейс (регистры), с помощью которого можно прервать текущий поток исполнения процессора чтобы решить что делать дальше. Когда поток был прерван, выполниться процедура ОС и планировщика - посмотреть не слишком ли много циклов процессора потратила текущая программа, надо ли дать время поработать другой.

BY Кальянная программиста





Share with your friend now:
tgoop.com/beard_programmer_lounge/11

View MORE
Open in Telegram


Telegram News

Date: |

Hui said the time period and nature of some offences “overlapped” and thus their prison terms could be served concurrently. The judge ordered Ng to be jailed for a total of six years and six months. The visual aspect of channels is very critical. In fact, design is the first thing that a potential subscriber pays attention to, even though unconsciously. Ng Man-ho, a 27-year-old computer technician, was convicted last month of seven counts of incitement charges after he made use of the 100,000-member Chinese-language channel that he runs and manages to post "seditious messages," which had been shut down since August 2020. Telegram iOS app: In the “Chats” tab, click the new message icon in the right upper corner. Select “New Channel.” Some Telegram Channels content management tips
from us


Telegram Кальянная программиста
FROM American