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

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

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

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



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

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

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

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

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

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





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

View MORE
Open in Telegram


Telegram News

Date: |

The SUCK Channel on Telegram, with a message saying some content has been removed by the police. Photo: Telegram screenshot. Step-by-step tutorial on desktop: In handing down the sentence yesterday, deputy judge Peter Hui Shiu-keung of the district court said that even if Ng did not post the messages, he cannot shirk responsibility as the owner and administrator of such a big group for allowing these messages that incite illegal behaviors to exist. 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. SUCK Channel Telegram
from us


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