Семейства операционных систем.
Часто существует преемственность между различными ОС.
Такая преемственность обусловлена требованиями совместимости и переносимости прикладного ПО, кроме того заимствованию отденых удачных решений.
На основе такой преемственности можно построить “генеалогические деревья” ОС.
Так, например, можно выделить несколько семейств ныне эксплуатирующихся ОС, а также семейств, которые уже вымерли или вымирают.
Процветают:
· системы для больших компьютеров 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; просмотров: 2560;