Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Программная структура ядра



Ядро состоит из двух частей:

  1. Резидентная. Постоянно находится в ОП, не подвергается страничному обмену.
  2. Нерезидентная. Модули могут находится в виртуальной памяти ядра и загружаться в реальную по мере необходимости или загружаться из системных областей файловой системы, в общем случае модуля ядра, является рентабельным (непрерывным). В некоторых ОС возможна установка маски прерывания, которая позволяет прервать исполнение модуля ядра.

Модули ядра могут быть повторно используемыми (в ходе выполнения модуля ядра в нём ничего не меняется). Адреса модулей ядра хранятся в системной таблице. Переход выполняется загрузкой адреса из системной таблицы. Передача параметров выполняется через один из регистров, в котором указан адрес списка параметров модуля (программному доступно в X86 – 0…14 регистров).

Разделение на резидентную и нерезидентную часть условно и в различных ОС осуществляется на основе различных подходов. В целях сокращения количества операций ввода-вывода наиболее часто используемые модули помещают в резидентную часть. В некоторых ОС существует инструмент оптимизации, который показывает, какая нагрузка на ввод-вывод и какие модули наиболее часто используются.

Если ОС позволяет осуществить сборку ядра перед инсталляцией, то на основе этих данных те или иные компоненты включаются в резидентную часть.

Ядро, как и ОС в целом, имеет многослойную программную структуру: модули по управлению средствами аппаратной поддержки устанавливаются в привилегированном режиме, управляет обработкой, обеспечивает защиту адресного пространства процессов друг от друга.

Машинозависимые модули отражают специфику аппаратной платформы. Этот слой экранирует основные компоненты ядра от специфики аппаратуры, что позволяет разрабатывать модули ядра как машинозависимые компоненты.

Базовые модули – слой выполняет наиболее примитивные операции ядра, является исполнительным механизмом модулей более верхних уровней (выполняет краткосрочное планирование организации вычислительного процесса).

Менеджеры ресурсов (диспетчеры процессов, ввода-вывода, ОП и т.д.) реализуют алгоритмы планирования, выполнения заданий и использования ресурсов системы (долгосрочное планирование).

Диспетчеризация – непосредственно выделяются ресурсы в виртуальную память.

Каждый диспетчер выполняет функции учёта, распределения и освобождения ресурсов, для выполнения тех или иных заданий обращаются к базовым модулям.





Дата публикования: 2015-06-12; Прочитано: 529 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...