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

2, 4. Архитектура современных ос. Структура ос unix.

Архитектура ОС — ее структура и принципы построения.

Т ипы архитектуры ОС:

  • Монолитная (макроядерная).

  • Модульная (многоуровневая?).

  • Микроядерная.

  • Экзоядерная.

  • Наноядерная.

  • Гибридная.

  1. Монолитная (макроядерная).

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

Монолитное ядро (monolithic) — схема ОС, при которой все ее компоненты являются составными частями одной программы, использующие общие структуры данных и взаимодействующие друг с другом путем вызова процедур. Для монолитной ОС ядро совпадает со всей системой (ядро и есть ОС?). Старейший (классический) способ организации ОС.

Достоинства:

  • Простота разработки (не нужно разрабатывать приложения для разных уровней).

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

Недостатки:

  • Ядро занимает большой объем памяти, поэтому требования к ресурсам компьютера высокие.

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

#: Многие Unix, Novell Netware, Mac OS, IBM OS/370.

  1. Модульная (многоуровневая?).

Модуль ядра (загружаемый модуль) — объект, содержащий код, расширяющий функциональность базового ядра ОС. Большинство современных ОС, поддерживают загружаемые модули ядра, хотя могут называться по-разному (#: kernel loadable — FreeBSD, kernel extension — Mac OS X). Модули также работают в одном адресном пространстве.

Модульное ядро — улучшенная модификация монолитного ядра. В отличие от монолитных, модульные ядра обычно не требуют полной перекомпиляции ядра при изменении состава «железа» компьютера. Вместо этого модульные ядра предоставляют механизм подгрузки модулей ядра (#: драйверов), поддерживающих «железо». При этом подгрузка модулей может быть как динамической (выполняемой «на лету», без перезагрузки ОС), так и статической (выполняемой при перезагрузке ОС, после переконфигурирования системы на загрузку модулей).

Недостатки у модульной архитектуры те же, что у монолитной.

# : Windows, Linux.

  1. Микроядерная.

Микроядро — урезанное, минимальная реализация функций ядра. Аналог с классами: микроядро аналогично базовому классу.

В привилегированном режиме работает только ядро, модули и приложения — в непривилегированном.

Классическое микроядро — небольшой набор системных вызовов, реализующих базовые сервисы ОС. [Системный вызов — обращение ПП к ядру.]

Базовые сервисы ОС: управление адресным пространством оперативной и виртуальной памяти, управление процессами и потоками (нитями), средства межпроцессной коммуникации.

Достоинства:

  • Независимость ядра от ОС. [?]

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

Недостатки:

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

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

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

Структура ОС Unix:

Особенности UNIX, отличающие данное семейство от других ОС:

  • Файловая система древовидная, чувствительная к регистру символов в именах, слабые ограничения на длину имён.

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

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

  • Запуск процессов вызовом fork(), то есть возможность клонирования текущего процесса со всем состоянием.

  • Понятия stdin/stdout/stderr (input, output, error).

  • Ввод / вывод только через дескрипторы файлов.

  • Традиционно крайне слабая поддержка асинхронного ввода / вывода, по сравнению с VMS и Windows NT.

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