- •Семафоры. Синхронизация процессов при помощи семафоров.
- •Организация параллелизма с помощью монитора. Кольцевой буфер.
- •Проблемы тупиков. Бесконечное откладывание и старение процессов.
- •Концепция ресурсов. Четыре необходимых условия возникновения тупика. Стратегия предотвращения тупиков.
- •Графы распределения ресурсов. Простая тупиковая ситуация
- •6.9.2 Приведение графов распределения ресурсов
- •Алгоритмы обнаружения тупиков. Редукция графа распределения ресурсов.
- •Организация памяти. Стратегии управления памятью. Связное и несвязное распределение памяти.
- •Мультипрограммные системы. Разделы памяти фиксированного и переменного размеров. Свопинг в мультипрограммировании.
- •Концепция виртуальной памяти. Пространство виртуальных адресов.
- •Многоуровневая организация виртуальной памяти. Поблочное отображение. Страницы и сегменты.
- •Системы с комбинированной странично-сегментной организацией. Таблица процессов и преобразование адресов.
- •Стратегии вталкивания и размещения страниц.
- •Стратегия выталкивания страниц. Понятия рабочего множества и трешинга.
- •Подкачка страниц по запросу и с упреждением.
- •Управление процессорами. Планирование загрузки процессоров. Цели планирования.
- •11.2 Цели планирования
- •Планирование с переключением и без переключения. Интервальный таймер.
- •Приоритеты. Планирование по сроку завершения.
- •Планирование по принципу fifo. Размер кванта.
- •Планирование по принципам sjf, srt и hrn.
- •Многоуровневые очереди с обратными связями.
- •Требования, предъявляемые к операционной системе. Многозадачность и ее виды.
Планирование с переключением и без переключения. Интервальный таймер.
Планирование с переключением и без переключения
Если после предоставления ЦП в распоряжение некоторого процесса отобрать ЦП у этого процесса нельзя, то говорят о дисциплине планирования без переключения. Если же ЦП можно отобрать, то говорят о дисциплине планирования с переключением.
Планирование с переключением необходимо в системах, в которых процессы высокого приоритета требуют немедленного внимания. Например, в системах реального времени пропажа одного важного сигнала прерывания может привести к катастрофическим последствиям. В интерактивных системах разделения времени планирование с переключением играет важную роль, поскольку позволяет гарантировать приемлемые времена ответа.
Планирование, требующее контекстных переключений, сопряжено с определенными накладными расходами. Чтобы обеспечить его эффективность, в основной памяти должно размещаться много процессов, с тем чтобы очередной процесс был, как правило, готов для выполнения, когда освобождается ЦП. А размещение неработающих программ в основной памяти также сопряжено с накладными расходами.
В системах планирования без переключения коротким заданиям приходится больше ждать из-за выполнения длительных заданий, однако для всех процессов создаются как бы равные условия. Времена ответа здесь более предсказуемы, поскольку поступающие задания высокого приоритета не могут оттеснять уже ожидающие задания.
Интервальный таймер или прерывающие часы-будильник
Говорят, что процесс работает, если в данный момент в его распоряжение предоставлен ЦП. Если речь идет о процессе операционной системы, то это означает, что в данный момент работает операционная система, причем она может принимать решения, влияющие на функционирование всей машины. Чтобы не допустить монополизации системы пользователями (умышленной, либо случайной), в операционной системе предусмотрены механизмы, позволяющие отбирать ЦП у пользователя.
Операционная система устанавливает часы или интервальный таймер с целью генерации сигнала прерывания в некоторый конкретный момент времени в будущем (или по истечении некоторого интервала времени в будущем). После прерывания ЦП передается в распоряжение следующего процесса. Этот процесс сохраняет управление центральным процессором до тех пор, пока он добровольно не освободит ЦП, или не произойдет временное прерывание или какое-то другое прерывание не потребует внимания ЦП. Если работает программа пользователя и происходит временное прерывание, это прерывание вызывает включение в работу операционной системы. Операционная система при этом решает, какому процессу следует предоставить далее ЦП.
Временные прерывания помогают гарантировать приемлемые времена ответа для пользователей, работающих в диалоговом режиме, предотвращают «зависание» системы из-за зацикливания какой-то программы пользователя, а также позволяют процессам соответствующим образом реагировать на события, зависящие от времени. Процессы, которые должны работать периодически, зависят от временных прерываний.