Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по ОС 2012г.doc
Скачиваний:
22
Добавлен:
24.09.2019
Размер:
1.91 Mб
Скачать
  1. Классификации ос.

  • По типу управления ресурсами

  • По числу одновременно выполняемых задач: однозадачные(MS-DOS, MSX) и многозадачные(MS Dos, Linux,Windows);

  • По числу одновременно работающих пользователей: однопользовательские(MS-DOS, Windows 3.x, ранние версии OS/2), многопользовательские(UNIX, Windows NT);

  • По способу распределения времени: невытесняющая многозадачность (NetWare, Windows 3.x),вытесняющая многозадачность (Windows NT, OS/2, UNIX);

  • Поддержка многопоточности;

  • Многопроцессорная обработка: асимметричная ОС(целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам),симметричная ОС (полностью децентрализована и использует весь пул процессоров, разделяя их между системными и прикладными задачами);

  • По типу аппаратных платформ: ОС персональных компьютеров, ОС миникомпьютеров, ОС мейнфреймов, ОС кластеров, ОС сетей ЭВМ;

  • По областям использования: пакетные, разделения времени, реального времени;

  • По способу структурной организации: классические, микроядерные.

  1. Архитектура ос. Ядро и вспомогательные модули

Операционная система состоит из ядра и вспомогательных модулей.

Ядро выполняет:

  • базовые функции ОС (управление процессами, памятью, устройствами ввода/вывода;

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

  • функции для поддержки приложений, создающие для них прикладную программную среду. Приложения могут обращаться к ядру с запросами (системными вызовами) для выполнения тех или иных действий. Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования – API.

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

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

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

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

  • программы дополнительных услуг – специальный вариант пользовательского интерфейса, калькулятор, игры;

  • библиотеки процедур – библиотека математических функций, функций ввода/вывода и т.д.

  1. Классическая архитектура ос. Монолитные и многослойные ос

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

Такая организация ОС предполагает следующую структуру:

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

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

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

Многослойная ОС - организация ОС как иерархии уровней с хорошо определенными связями между ними, так чтобы объекты уровня  N могли вызывать только объекты из уровня N-1. Нижним уровнем в таких системах обычно является аппаратура, верхним уровнем интерфейс пользователя. Чем ниже уровень, тем более привилегированные команды и действия может  выполнять модуль, находящийся на этом уровне. Уровни образуются группами функций операционной системы - файловая система, управление процессами и устройствами и т.п. Каждый уровень может взаимодействовать только со своим непосредственным соседом - выше- или нижележащим уровнем. Прикладные программы или модули самой операционной системы передают запросы вверх и вниз по этим уровням. Они хорошо реализуются, но сложны в разработке так как трудно рассчитать порядок слоев и что к какому слою относится, системы менее эффективны чем монолитные ОС. Ядро может состоять из следующих слоев:

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

  • машинно-зависимые компоненты ОС; в идеале этот слой полностью экранирует вышележащие слои ядра от особенностей аппаратуры (пример – слой HAL ОС Windows NT);

  • базовые механизмы ядра, этот слой выполняет наиболее примитивные операции ядра, реализует решения о распределении ресурсов, принятые на более высоком уровне;

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

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