Монолитное ядро – такая схема ос, при которой все ее компонент являются составными частями одной программы, используют общие структуры данных и взаимод друг с другомпутем непосред вызова процедур. В монолитном ядре выделяются сервисные процедуры, соответствующие системным вызовам. Серв. Проц. Выполняются в привилиг режиме, тогда как пользоват программы в непривилиг. Для перехода с одного уровня привилегий на другой иногда может использоваться главная сервисная программа, определ, какой именно системный вызов был сделан, корректность входных данных для этого вызова и передающая управление соотв серв процедуре с переходом в привилег режимработы. Иногда выделяют также набор прорграммных утилит, котор помогают выполнять серв процедуры.
19. Концепция модульного ядра операционной системы.
Модульное ядро — современная, усовершенствованная модификация архитектуры монолитных ядер операционных систем компьютеров.
В отличие от «классических» монолитных ядер, считающихся ныне устаревшими, модульные ядра, как правило, не требуют полной перекомпиляции ядра при изменении состава аппаратного обеспечения компьютера. Вместо этого модульные ядра предоставляют тот или иной механизм подгрузки модулей ядра, поддерживающих то или иное аппаратное обеспечение (например, драйверов). При этом подгрузка модулей может быть как динамической (выполняемой «на лету», без перезагрузки ОС, в работающей системе), так и статической (выполняемой при перезагрузке ОС после переконфигурирования системы на загрузку тех или иных модулей).
Все модули ядра работают в адресном пространстве ядра и могут пользоваться всеми функциями, предоставляемыми ядром. Поэтому модульные ядра продолжают оставаться монолитными.
Модульные ядра удобнее для разработки, чем традиционные монолитные ядра, не поддерживающие динамическую загрузку модулей, так как от разработчика не требуется многократная полная перекомпиляция ядра при работе над какой-либо его подсистемой или драйвером. Выявление, локализация, отладка и устранение ошибок при тестировании также облегчаются.
20. Понятие процесса. Свойства и характеристики процессов.
Процесс — фундаментальное понятие при изучении операционных систем.
Современные компьютеры умеют делать несколько дел одновременно. В многозадачной системе процессор переключается между задачами, выделяя им по немногу времени, причем в каждый отдельный момент процессор может работать только над одной задачей, но переключение между процессами происходит достаточно часто, чтобы у пользователя возникла иллюзия многозадачности. Для упрощения работы с несколькими задачами одновременно было введено понятие процесс.
В общем случае процесс—это некоторая деятельность, связанная с исполнением программы на процессоре.
n Основная задача ОС – распределение ресурсов между процессами и потоками.
n Процесс, связан с программным кодом исполняемого модуля и рассматривается ОС как заявка на потребление всех видов ресурсов, кроме процессорного времени. Для изоляции процессов друг от друга ОС обеспечивает каждый процесс отдельным виртуальным адресным пространством. Один процесс не может получить прямого доступа к командам и данным другого процесса.
n Поток представляет собой процесса, способ распараллеливания вычислений. Поток – последовательность команд, выполняемых процессором.
n ОС распределяет процессорное время между потоками. Процессу назначается адресное пространство и набор ресурсов, которые используются всеми его потомками.
n Процесс характеризуется некоторую совокупность набора исполняющихся команд, ассоциированных с ним ресурсов (выделенная для исполнения память или адресное пространство, стеки, используемые файлы и устройства ввода-вывода и т. д.) и текущего момента его выполнения (значения регистров, программного счетчика, состояние стека и значения переменных), находящуюся под управлением операционной системы.
n Процесс находится под управлением операционной системы, поэтому в нем может выполняться часть кода ее ядра, как в случаях, специально запланированных авторами программы (например, при использовании системных вызовов), так и в непредусмотренных ситуациях (например, при обработке внешних прерываний).
При исполнении программ на центральном процессоре чаще всего различают следующие характерные отдельные состояния:
порождение — подготавливаются условия для первого исполнения на процессоре
активное состояние, или состояние “Счет” — программа исполняется на процессоре
ожидание — программа не исполняется на процессоре по причине занятости какого-либо требуемого ресурса
готовность — программа не исполняется, но для исполнения предоставлены все необходимые в текущий момент ресурсы, кроме центрального процессора
окончание — нормальное или аварийное окончание исполнения программы, после которого процессор и другие ресурсы ей не предоставляются
Процесс находится в каждом из своих допустимых состояний в течение некоторого времени, после чего переходит в какое-то другое допустимое состояние. Состав допустимых состояний, а также допустимые переходы из состояния в состояние обычно задают в форме графа существования процесса, пример которого изображен на рис. 2.1:
Для ОС процесс в такой трактовке рассматривается как объект, в отношении которого требуется обеспечить реализацию каждого из допустимых состояний а также допустимые переходы из состояния в состояние в ответ на события, которые могут явиться причиной таких переходов. Такие события могут инициироваться и самими процессами, которые способны затребовать процессор или какой-либо другой ресурс, необходимый для исполнения программы.