Семейства операционных систем.


Часто существует преемственность между различными ОС.

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

На основе такой преемственности можно построить “генеалогические деревья” ОС.

Так, например, можно выделить несколько семейств ныне эксплуатирующихся ОС, а также семейств, которые уже вымерли или вымирают.

Процветают:

· системы для больших компьютеров IBM OS-360, IBM-Vm, OS/2;

· семейство UNIX, в том числе ОС Linux.


Архитектура ОС.

Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:

1. Ядро – модули, выполняющие основные функции ОС.

2. модули, выполняющие вспомогательные функции.

Модули ядра выполняют:

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

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

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

Ядро выполняет такие функции, как переключение контекстов, загрузка/выгрузка станиц памяти, обработку прерываний. Эти функции недоступны для приложений. Они создают для них так называемую прикладную программную среду. Приложения обращаются к ядру с запросами — системными вызовами — для выполнения тех или иных действий (например, открытия и чтения файла, вывода графики, получения системного времени и т. п.).

Функции ядра, которые могут вызываться приложениями, образуют интерфейс приклад­ного программирования.

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

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

Поскольку часть модулей ОС выполняются как обычные приложения (т.е. в стандартном для данной ОС формате), то час­то бывает сложно провести четкую грань между ОС и приложениями.

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

Вспомогательные модули ОС подразделяются на следующие группы:

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

· системные обрабатывающие программы — текстовые и графические редакторы, компиляторы, компоновщики, отладчики;

· программы предоставления пользователю дополнительных услуг — специальный пользовательский интерфейс, калькулятор и т. п.

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

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

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


 
 

 


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

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

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

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

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

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

Между количеством уровней привилегий, реализуемых аппаратно, и количест­вом уровней привилегий, поддерживаемых ОС, нет прямого соответствия.

Так, например, на базе четырех уровней, обеспечиваемых процессорами Intel, ОС OS/2 строит трехуровневую систему привилегий, а Windows NT – двухуровневую.

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

Рассмотренная архитектура ОС, основанная на привилегированном ядре и приложениях поль­зовательского режима, стала классической. Ее используют многие известные ОС: UNIX, VMS, OS/390, OS/2, Windows NT.

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

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




Дата добавления: 2016-06-15; просмотров: 2427;


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

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

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

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