Операционные системы. Управление ресурсами

       

Ядро и процессы



1.5. Ядро и процессы

Прежде чем приступать к изложению основного материала этого раздела, сделаем несколько общих замечаний о принципах управления ресурсами и о представлении их в нашем пособии.

Ядром (kernel) называется часть ОС, выполняющая некоторый минимально необходимый набор функций по управлению ресурсами. Дополнительные функции управления ресурсами выполняются вспомогательными модулями - утилитами. Точное определение ядра дать трудно, так как оно по-разному понимается в разных ОС. В "старых", не работавших с виртуальной памятью системах под ядром обычно понималась часть системы, резидентная в оперативной памяти. В современных ОС ядро резидентно в виртуальной памяти, и это также может служить его классификационным признаком. Более узкое определение, трактующую ядро как часть ОС, которая работает в привилегированном режиме, представляется нам более подходящей для определения микроядра (см. раздел 1.6).

На ядро, как правило, возлагаются такие основные функции:

  • обработка прерываний;
  • создание и уничтожение процессов;
  • переключение процессов из одного состояния в другое;
  • управление памятью;
  • синхронизация и взаимодействие процессов;
  • поддержка операций ввода-вывода (не всегда);
  • учет работы системы и использования ресурсов пользователями;
  • и т.д.

Для ОС процесс представляется блоком контекста процесса (вспомните примечание 3 к определению процесса). Блок контекста содержит информацию о процессе, необходимую для ОС, например:

  • идентификатор пользователя-владельца процесса;
  • информацию для планирования процесса на выполнение;
  • информацию об оперативной и вторичной памяти;
  • информацию о других выделенных процессу ресурсах;
  • информацию об открытых устройствах и файлах;
  • учетную информацию.

Обязательной составляющей блока контекста является вектор состояния процессора. Вектор состояния обязательно хранится в оперативной памяти. Другие составляющие блока контекста могут храниться в разных местах памяти и даже вытесняться на внешнюю память. Действия ОС по управлению процессами сводятся к манипуляциям с блоками контекста процессов и с отдельными полями этих блоков.

Вспомним теперь примечание 1 к определению процесса: процесс в системе может находиться в различных состояниях. Количество состояний процесса разное в разных ОС (так, в ОС Unix различают 9 возможных состояний процесса), но все они сводятся к трем основным, показанным на



Содержание раздела