Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SPO_na_ekz_1.docx
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
424.82 Кб
Скачать

Часть 2. Архитектура ос

  1. Монолитные ос

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

  • Главная процедура

  • Служебные процедуры для системных вызовов

  • Утилиты для служебных процедур

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

Эти компоненты загружаются по мере надобности.

  1. Многоуровневые ос. Основные и вспомогательные модули

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

  • Вспомогательные модули

  • Ядро управляет ресурсами (первая категория функций)

  • Ядро обслуживает пользовательские приложения (вторая категория функций)

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

  • Ядро – запущено и работает резидентно

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

  • Вспомогательные модули оформляются либо как приложения, либо как библиотеки

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

  • Ядро выполняется в привилегированном режиме

  1. Ядро ос в привилегированном положении

Ядро имеет привилегии по сравнению с другими компонентами ОС и приложениями для того, чтобы

выступать в роли арбитра при конкуренции за ресурсы вычислительной системы

  • Ядро имеет привилегии с помощью специальных средств аппаратной поддержки

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

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

• Приложения ставятся в подчиненное положение за счет запрета выполнять в пользовательском режиме некоторые команды машинного языка

  1. Многослойная структура ос и ядра

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

программных систем

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

• Многослойный подход обычно распространяется и на структуру ядра

Ядро может состоять из следующих

слоев:

• Средства аппаратной поддержки

• Машинно-зависимые компоненты

• Базовые механизмы ядра

• Менеджеры ресурсов

• Интерфейс системных вызовов • В реальной системе количество слоев и распределение функций между ними может быть и иным

• Менеджеры ресурсов могут обладать многослойной структурой: менеджер ввода-вывода может состоять из нескольких слоев

• Нижний слой образуют драйверы устройств, а верхние слои – драйверы файловых систем

• Иногда допускается обращение от нижнего слоя к функциям верхних

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

  1. Виртуальные машины и гипервизоры

Виртуальная машина (ВМ, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы (target — целевая, или гостевая платформа) и исполняющая программы для target-платформы на host-платформе (host — хост-платформа, платформа-хозяин) или виртуализирующая некоторую платформу и создающая на ней среды, изолирующие друг от друга программы и даже операционные системы (см.: песочница);

также спецификация некоторой вычислительной среды (например: «виртуальная машина языка программирования Си»).

Виртуальная машина исполняет некоторый машинно-независимый код (например, байт-код, шитый код, p-код) или машинный код реального процессора. Помимо процессора, ВМ может эмулировать работу как отдельных компонентов аппаратного обеспечения, так и целого реального компьютера (включая BIOS, оперативную память, жёсткий диск и другие периферийные устройства). В последнем случае в ВМ, как и на реальный компьютер, можно устанавливать операционные системы (например, Windows можно запускать в виртуальной машине под Linux или наоборот). На одном компьютере может функционировать несколько виртуальных машин (это может использоваться для имитации нескольких серверов на одном реальном сервере с целью оптимизации использования ресурсов сервера).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]