В этой главе описана архитектура
ядра операционной системы; его
основными компонентами выступают
подсистема управления файлами и
подсистема управления процессами.
Подсистема управления файлами
управляет хранением и выборкой
данных в пользовательских файлах.
Файлы организованы в виде файловых
систем, которые трактуются как
логические устройства; физическое
устройство, такое как диск, может
содержать несколько логических
устройств (файловых систем). Каждая
файловая система имеет суперблок, в
котором описывается структура и
содержимое файловой системы,
каждый файл в файловой системе
описывается индексом, хранящим
атрибуты файла. Системные операции
работают с файлами, используя
индексы. Процессы находятся в различных
состояниях и переходят из
состояния в состояние, следуя
определенным правилам перехода. В
частности, процессы, выполняющиеся
в режиме ядра, могут приостановить
свое выполнение и перейти в
состояние "сна", но ни один
процесс не может перевести в это
состояние другой процесс. Ядро
является невыгружаемым и это
означает, что процесс,
выполняющийся в режиме ядра, будет
продолжать свое выполнение до тех
пор, пока не перейдет в состояние
"сна" или пока не вернется в
режим задачи. Ядро обеспечивает
целостность своих информационных
структур благодаря своей
невыгружаемости, а также путем
блокирования прерываний на время
выполнения критических секций
программы. В остальных частях главы детально
описываются подсистемы,
изображенные на Рисунке 2.1, а также
взаимодействие между ними, начиная
с подсистемы управления файлами и
включая подсистему управления
процессами. В следующей главе
рассматривается буфер
сверхоперативной памяти (кеш) и
описываются алгоритмы управления
буфером, используемые в главах 4, 5 и
7. В главе 4
рассматриваются внутренние
алгоритмы файловой системы,
включая обработку индексов,
структуру файлов, преобразование
имени пути в индекс. В
главе 5 рассматриваются
системные операции, которые,
используя приведенные в главе 4
алгоритмы, обращаются к файловой
системе, т.е. такие, как open, close, read и
write. Глава 6 имеет
дело с понятием контекста процесса
и его адресным пространством, а глава 7 рассматривает
системные операции, связанные с
управлением процессами и
использующие алгоритмы главы 6. Глава 8 касается
планирования выполнения процессов,
в главе 9 обсуждаются
алгоритмы распределения памяти. Глава 10 посвящена
драйверам устройств, рассмотрение
которых до того откладывалось,
чтобы прежде объяснить связь
драйвера терминала с управлением
процессами. В главе 11
представлено несколько форм
взаимодействия процессов. Наконец,
в последних двух главах
рассматриваются вопросы, связанные
с углубленным изучением
особенностей системы, в частности,
особенности многопроцессорных
систем и распределенных систем. Предыдущая
глава || Оглавление
|| Следующая глава
2.5 ВЫВОДЫ И ОБЗОР
ПОСЛЕДУЮЩИХ ГЛАВ