Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС шпоры 1.docx
Скачиваний:
24
Добавлен:
25.09.2019
Размер:
876.45 Кб
Скачать
  1. Классификация ос. Архитектурные особенности ос

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

Архитектурные особенности ОС

Монолитное ядро

Характеризуется тем, что:

каждая процедура может вызвать каждую

все процедуры работают в привилегированном режиме

все части монолитного ядра работают в одном адресном пространстве

ядро «совпадает» со всей ОС

сборка ядра осуществляется отдельно для каждого компьютера при установке

при добавлении, исключении отдельных компонент требуется перекомпиляция

старейший способ организации ОС

Пример систем с монолитным ядром - большинство Unix-подобных систем.

Многоуровневые системы. Всю вычислительную систему можно разбить на ряд более мелких уровней с хорошо определенными связями между ними, так чтобы объекты уровня N могли вызывать только объекты уровня N-1.

Виртуальные машины

Виртуальная машина реализует для пользователя имитацию hardware в вычислительной системе. При обращении к «виртуальному hardware» на уровне привилегированных команд в действительности происходит системный вызов реальной ОС, которая и производит все необходимые действия.

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

Микроядерная архитектура

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

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

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

Характеризуется(+):

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

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

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

повышенной надежностью системы

Характеризуется: (-)

дополнительными накладными расходами, связанными с передачей сообщений

усложнение процесса проектирования при попытке снижения возможных накладных расходов

Смешанные системы

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

Например, ядро ОС Linux представляет собой монолитную систему с элементами микроядерной архитектуры.

Совместно элементы микроядерной архитектуры и элементы монолитного ядра используются в ядре Windows NT:

Классификация ОС. Особенности алгоритмов управления ресурсами

В зависимости от особенностей использованного алгоритма управления процессором, ОС делят на:

многозадачные и однозадачные

многопользовательские и однопользовательские

поддерживающие многонитевую обработку / не поддерживающие

на многопроцессорные и однопроцессорные

Поддержка многозадачности

Однозадачные ОС (MS-DOS, MSX):

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

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

Многозадачные ОС (OC EC, OS/2, UNIX, Windows 95), кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства.

Поддержка многопользовательского режима

Однопользовательские: MS-DOS, Windows 3.x, ранние версии OS/2;

Многопользовательские: UNIX, Windows NT.

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

(!) Не всякая многозадачная система является многопользовательской, и не всякая однопользовательская - однозадачной.

Вытесняющая и невытесняющая многозадачность

Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов:

невытесняющая многозадачность (NetWare, Windows 3.x) - механизм планирования процессов целиком сосредоточен в ОС;

вытесняющая многозадачность (Windows NT, OS/2, UNIX) - механизм планирования процессов распределен между системой и прикладными программами.

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

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