Структура операционных систем. Ядро операционной системы. Виды ядра операционных систем. Микроядерная архитектура (модель клиент-сервер).

 

 

Перед изучением структуры операционных систем следует рассмотреть режимы работы процессоров.

Современные процессоры имеют минимум два режима работы – привилегированный (supervisor mode) и пользовательский (user mode).

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

Приложения, выполняемые в пользовательском режиме, не могут напрямую обращаться к адресным пространствам друг друга – только посредством системных вызовов.

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

Основным компонентом операционной системы является ядро (kernel) (Рис.1).

Рис.1 Ядро ОС

 

Ядро ОС выполняют базовые функции ОС:

•управление процессами;

•управление памятью;

•управление устройствами ввода-вывода и файловой системой;

•интерфейс прикладного программирования API;

•защита данных и администрирование.

Функции, выполняемые модулями ядра, используются наиболее часто, поэтому скорость их выполнения определяет производительность всей системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра постоянно находятся в ОП (то есть являются резидентными). Разрушение ядра равносильно разрушению всей системы, поэтому особое внимание уделяется надежности кодов ядра. Формат программного модуля ядра – специальный. Он отличается от формата пользовательских приложений. По сути, ядро работает в привилегированном режиме.

Оболочка ОС выполняет вспомогательные функции ОС:

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

•системные обрабатывающие программы (текстовые и графические редакторы, компиляторы, компоновщики, отладчики и т. д.).

•библиотеки – процедуры и функции различного назначения (математические функции ввода-вывода и т. д.).

Разделение ОС на ядро и оболочку обеспечивает легкую расширяемость ОС.

 

Функции ядра могут существенно отличаться в разных системах; но во всех системах ядро работает в привилегированном режиме (который часто называется режим ядра, kernel mode) (Рис.2)

Рис. 2. Архитектура операционной системы с ядром в привилегированном режиме

 

Термин «ядро» также используется в разных смыслах. Например, в Windows термин «ядро» (NTOS kernel) обозначает совокупность двух компонентов – исполнительной системы (executive layer) и собственно ядра (kernel layer).

Существует два основных вида ядер – монолитные ядра (monolithic kernel) и микроядра (microkernel). В монолитном ядре реализуются все основные функции операционной системы, и оно является, по сути, единой программой, представляющей собой совокупность процедур. В микроядре остается лишь минимум функций, который должен быть реализован в привилегированном режиме: планирование потоков, обработка прерываний, межпроцессное взаимодействие. Остальные функции операционной системы по управлению приложениями, памятью, безопасностью и пр. реализуются в виде отдельных модулей в пользовательском режиме.

Ядра, которые занимают промежуточные положение между монолитными и микроядрами, называют гибридными (hybrid kernel).

Примеры различных типов ядер:

- монолитное ядро – MS-DOS, Linux, FreeBSD;

- микроядро – Mach, Symbian, MINIX 3;

- гибридное ядро – NetWare, BeOS, Syllable.

Кроме ядра в привилегированном режиме (в большинстве операционных систем) работают драйверы (driver) – программные модули, управляющие устройствами.

В состав операционной системы также входят:

- системные библиотеки (system DLL – Dynamic Link Library, динамически подключаемая библиотека), преобразующие системные вызовы приложений в системные вызовы ядра;

- пользовательские оболочки (shell), предоставляющие пользователю интерфейс – удобный способ работы с операционной системой.

Пользовательские оболочки реализуют один из двух основных видов пользовательского интерфейса:

- текстовый интерфейс (Text User Interface, TUI), другие названия – консольный интерфейс (Console User Interface, CUI), интерфейс командной строки (Command Line Interface, CLI);

- графический интерфейс (Graphic User Interface, GUI).

Пример реализации текстового интерфейса в Windows – интерпретатор командной строки cmd.exe; пример графического интерфейса – Проводник Windows (explorer.exe).

Монолитная система состоит из:

1. Главная программа, которая вызывает требуемые сервисные процедуры.

2. Набор сервисных процедур, реализующих системные вызовы.

3. Набор утилит, обслуживающих сервисные процедуры.

Рисунок 3. Простая модель монолитной системы

 

В этой модели для каждого системного вызова имеется одна сервисная процедура (например, читать из файла). Утилиты выполняют функции, которые нужны нескольким сервисным процедурам (например, для чтения и записи файла необходима утилита работы с диском).

Этапы обработки вызова:

- принимается вызов;

- выполняется переход из режима пользователя в режим ядра;

- ОС проверяет параметры вызова для того, чтобы определить, какой системный вызов должен быть выполнен;

- после этого ОС обращается к таблице, содержащей ссылки на процедуры, и вызывает соответствующую процедуру.

<== предыдущая лекция | следующая лекция ==>
Измерение напряжения. | Аксиома о потенциальной опасности деятельности

Дата добавления: 2021-09-25; просмотров: 878;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.01 сек.