- •Лекция 3. Ядро ос. Ядро ос, виды ядер, основные функции.
- •Ядро операционной системы.
- •Переход из режима пользователя в режим ядра:
- •Функции ядра.
- •Файловая подсистема.
- •Подсистема управления процессами.
- •Подсистема ввода/вывода.
- •Типы архитектур ядер операционных систем. Монолитное ядро.
- •Модульное ядро
- •Микроядро
- •Гибридное ядро
Лекция 3. Ядро ос. Ядро ос, виды ядер, основные функции.
Ядро – совокупность программ, объединяющая основные компоненты ОС.
Планировщик процессов (process scheduler) – определяет когда и в течении какого периода времени процесс обрабатывается процессором.
Диспетчер памяти (memory manager) – определяет когда и каким образом память распределяется между процессами и что следует предпринимать, если основной памяти недостаточно.
Диспетчер ввода – вывода (i/o manager) – обслуживает запросы ввода – вывода с аппаратных устройств.
Диспетчер межпроцессного взаимодействия (interprocess communication (ips) manager) – позволяет процессам взаимодействовать между собой.
Диспетчер файловой системы (file system manager) – предоставляет интерфейс для доступа к данным.
Ядро операционной системы.
Ядро обычно размещается в оперативной памяти, в то время как другие части ОС перемещаются во внешнюю память и обратно по мере необходимости.
Переход из режима пользователя в режим ядра:
Функции ядра.
Ядро ОС, как правило, должно содержать программы для реализации следующих функций:
• обработка прерываний;
• операции над процессами, управление процессами;
• синхронизация процессов;
• организация взаимодействия между процессами;
• манипулирование блоками управления процессами;
• поддержка операций ввода-вывода;
• поддержка работы файловой системы;
• поддержка механизма вызова-возврата при обращении к процедурам.
Иерархический подход к процессу проектирования ОС заключается в следующем:
В основе иерархии находится аппаратура компьютера, так называемая “чистая машина”.
На следующем уровне иерархии находятся различные функции ядра, в совокупности с которыми компьютер становится “расширенной машиной”.
Эти дополнительные функции, реализуемые при помощи ядра, часто называют примитивами(primitives).
Над ядром в иерархии находятся различные процессы ОС, которые обеспечивают поддержку процессов пользователя - например, процессы управления внешними устройствами. На вершине иерархии располагаются сами процессы пользователей. Ядро непосредственно взаимодействует с аппаратной частью компьютера, изолируя прикладные программы от особенностей ее архитектуры. Ядро имеет набор услуг, предоставляемых прикладным программам.
К услугам ядра относятся:
операции ввода/вывода (открытия, чтения, записи и управления файлами)
создание и управление процессами, их синхронизация и межпроцессные взаимодействия.
Все приложения запрашивают услуги ядра посредством системных вызовов.
Взаимодействие приложение с ОС
Прикладные программы
Системные Система
приложения разработки
Рис.А. Модель ОС.
Интерфейс системных вызовов представляет собой набор услуг ядра и определяет формат запросов на услуги. Процесс запрашивает услугу посредством системного вызова определенной процедуры ядра, внешне похожего на вызов обычной библиотечной функции.
Ядро состоит из трех основных подсистем:
файловая подсистема;
подсистема управления процессами и памятью;
подсистема ввода/вывода.
