Структура операционной системы
Перед изучением структуры операционных систем следует рассмотреть режимы работы процессоров.
Современные процессоры имеют минимум два режима работы – привилегированный (supervisor mode) и пользовательский (user mode).
Отличие между ними заключается в том, что в пользовательском режиме недоступны команды процессора, связанные с управлением аппаратным обеспечением, защитой оперативной памяти, переключением режимов работы процессора. В привилегированном режиме процессор может выполнять все возможные команды.
Приложения, выполняемые в пользовательском режиме, не могут напрямую обращаться к адресным пространствам друг друга – только посредством системных вызовов.
Все компоненты операционной системы можно разделить на две группы – работающие в привилегированном режиме и работающие в пользовательском режиме, причем состав этих групп меняется от системы к системе.
Основным компонентом операционной системы является ядро (kernel). Функции ядра могут существенно отличаться в разных системах; но во всех системах ядро работает в привилегированном режиме (который часто называется режим ядра, kernel mode).
Термин "ядро" также используется в разных смыслах. Например, в Windows термин "ядро" (NTOS kernel) обозначает совокупность двух компонентов – исполнительной системы (executive layer) и собственно ядра (kernel layer) [12].
Существует два основных вида ядер – монолитные ядра (monolithic kernel) и микроядра (microkernel). В монолитном ядре реализуются все основные функции операционной системы, и оно является, по сути, единой программой, представляющей собой совокупность процедур [6]. В микроядре остается лишь минимум функций, который должен быть реализован в привилегированном режиме: планирование потоков, обработка прерываний, межпроцессное взаимодействие. Остальные функции операционной системы по управлению приложениями, памятью, безопасностью и пр. реализуются в виде отдельных модулей в пользовательском режиме.
|
|
Ядра, которые занимают промежуточные положение между монолитными и микроядрами, называют гибридными (hybrid kernel).
Примеры различных типов ядер:
· монолитное ядро – MS-DOS, Linux, FreeBSD;
· микроядро – Mach, Symbian, MINIX 3;
· гибридное ядро – NetWare, BeOS, Syllable.
Обсуждение того, к какому типу относится ядро Windows NT, приведено в [5; 2]. В [2] говорится о том, что Windows NT имеет монолитное ядро, однако, поскольку в Windows NT имеется несколько ключевых компонентов, работающих в пользовательском режиме (например, подсистемы окружения и системные процессы – см. Лекцию 4 "Архитектура Windows"), то относить Windows NT к истинно монолитным ядрам нельзя, скорее к гибридным.
Кроме ядра в привилегированном режиме (в большинстве операционных систем) работают драйверы (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. По способу организации вычислений:
o системы пакетной обработки (batch processing operating systems) – целью является выполнение максимального количества вычислительных задач за единицу времени; при этом из нескольких задач формируется пакет, который обрабатывается системой;
|
|
o системы разделения времени (time-sharing operating systems) – целью является возможность одновременного использования одного компьютера несколькими пользователями; реализуется посредством поочередного предоставления каждому пользователю интервала процессорного времени;
o системы реального времени (real-time operating systems) – целью является выполнение каждой задачи за строго определённый для данной задачи интервал времени.
2. По типу ядра:
o системы с монолитным ядром (monolithic operating systems);
o системы с микроядром (microkernel operating systems);
o системы с гибридным ядром (hybrid operating systems).
3. По количеству одновременно решаемых задач:
o однозадачные (single-tasking operating systems);
o многозадачные (multitasking operating systems).
4. По количеству одновременно работающих пользователей:
o однопользовательские (single-user operating systems);
o многопользовательские (multi-user operating systems).
5. По количеству поддерживаемых процессоров:
o однопроцессорные (uniprocessor operating systems);
o многопроцессорные (multiprocessor operating systems).
6. По поддержке сети:
o локальные (local operating systems) – автономные системы, не предназначенные для работы в компьютерной сети;
o сетевые (network operating systems) – системы, имеющие компоненты, позволяющие работать с компьютерными сетями.
|
|
7. По роли в сетевом взаимодействии:
o серверные (server operating systems) – операционные системы, предоставляющие доступ к ресурсам сети и управляющие сетевой инфраструктурой;
o клиентские (client operating systems) – операционные системы, которые могут получать доступ к ресурсам сети.
8. По типу лицензии:
o открытые (open-source operating systems) – операционные системы с открытым исходным кодом, доступным для изучения и изменения;
o проприетарные (proprietary operating systems) – операционные системы, которые имеют конкретного правообладателя; обычно поставляются с закрытым исходным кодом.
9. По области применения:
o операционные системы мэйнфреймов – больших компьютеров (mainframe operating systems);
o операционные системы серверов (server operating systems);
o операционные системы персональных компьютеров (personal computer operating systems);
o операционные системы мобильных устройств (mobile operating systems);
o встроенные операционные системы (embedded operating systems);
o операционные системы маршрутизаторов (router operating systems).
Дата добавления: 2019-07-15; просмотров: 295; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!