Операционные системы: архитектура и управление процессами. Макаров П.С. - 5 стр.

UptoLike

Составители: 

5
Модули ОС не реентерабельны. Кроме планировщика типичная ОС вклю-
чает в себя много других модулей подсистему ввода/вывода, файловую
систему или системы, диспетчер памяти и ряд менее важных. Практически все
эти модули работают с разделяемыми ресурсами и не могут быть
реентерабельными.
Монолитное ядро. Одно из первых решений этой проблемы состояло в
том, чтобы запретить переключение задач во время работы нереентерабельных
модулей ОС. При этом все модули ОС собираются в конгломерат, называемый
ядром (kernel). Ядро можно назвать привилегированной задачей, но оно не яв-
ляется процессом в полном смысле этого слова, потому что планировщик не
может отобрать у ядра процессор. В ядре собраны все нереентерабельные мо-
дули системы, а часто и многие реентерабельные. Сам планировщик также яв-
ляется частью ядра.
Исполняя системный вызов, пользовательская программа передает
управление ядру. При входе в ядро планирование процессов прекращается. Яд-
ро или исполняет запрос, или ставит его в очередь на исполнение и передает
управление планировщику. Планировщик переставляет текущий процесс в ко-
нец очереди (если он остался активным), программирует таймер, задавая в ка-
честве интервала квант времени, и передает управление следующему активно-
му процессу.
Процесс может потерять управление двумя способами по истечении
кванта времени или при исполнении системного вызова. В первом случае он
всегда остается в очереди активных, во втором может остаться, а может и не
остаться, в зависимости от сделанного вызова. Запросы ввода/вывода и синхро-
низации с другими процессами часто приводят к переводу процесса в состояние
ожидания. Ядро может потерять управление только при аппаратном прерыва-
нии. Прерывания обрабатываются специальными программами драйверами
устройств. Драйверы являются частью ядра и не имеют права исполнять обыч-
ные системные вызовы. Ни один пользовательский процесс не может получить
управление, пока какой-то из модулей ядра активен.
Такая архитектура называется монолитным ядром.