Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзу по ОС.doc
Скачиваний:
1
Добавлен:
19.09.2019
Размер:
450.05 Кб
Скачать

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

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

  1. монолитные ОС

  2. многослойные ОС

  3. микроядерные ОС

сначала ОС были монолитными. При разработке мало внимания обращалось на структуру, сложность возрастала. Windows NT 3.5 содержала 4 млн строк. NT 4 — 1996 год — 16,5 млн строк, Windows 2000 – 20 млн, Windows XP — 40 млн строк, Linux – 11010647 строк, Linux 3.3 – 15 млн строк. Увеличение сложности ОС сопровождается возникновением 3 основных проблем:

  1. в системах имеются скрытые ошибки

  2. новые ОС доходят до пользователя с хроническим опозданием

  3. рост производительности происходит не так быстро, как планируется.

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

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

В большинстве случаев выделяют основные и вспомогательные модули. Основные модули выполняют такие базовые функции ОС, как управление процессами, памятью, устройствами ввода/вывода. Обычно ядро оформляется в виде программного модуля. Функции:

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

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

Функции вспомогательных модулей являются менее обязательными, к ним относят программы архивации, дефрагментации, оформляются в виде приложений или в виде библиотек процедур. Четкого разделения не существует. Вспомогательные модули разделяются на группы:

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

  2. Системные обрабатывающие программы — текстовые, графические редакторы.

  3. Программы предоставления пользователю дополнительных услуг — приложения.

  4. Библиотеки процедур.

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

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

Обеспечить привилегии ОС невозможно без поддержки аппаратуры. Аппаратура должна поддерживать 2 режима:

  1. пользовательский

  2. привилегированный.

Пользовательский режим

Утилиты

Приложения

Библиотеки

Системные обработки

Привилегированный режим

Ядро

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

Каждое приложение работает в своем адресном пространстве. Свойство позволяет локализовать некоторые некорректные приложения в одной области памяти. Intel – 4 уровня привилегий. OS\2 строит 3 уровня привилегий, а Windows — 2 уровня привилегий. Рассмотренная архитектура называется классической.

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

В центре — аппаратура, вокруг неё ядро, вокруг ядра — утилиты. Каждый слой взаимодействует только с соседними слоями. Каждый слой обслуживает вышележащий слой, выполняет для него некоторый набор функций, которые образуют межслойный интерфейс. Такая организация имеет много достоинств: существенно упрощена разработку, кроме того при модернизации системы можно изменять модули внутри слоя без изменения в других слоях.

1 слой — аппаратура.

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

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

4 слой — базовые механизмы ядра. Слой выполняет наиболее примитивные операции ядра: диспетчеризацию прерываний, перенос из памяти на диск и обратно. На этом слое решений не принимается.

5 слой — менеджеры ресурсов. Этот слой состоит из мощных функциональных модулей, реализующих стратегические задачи по управлению вычислительными ресурсами системы. Обычно на данном слое работают менеджеры процессов, ввода/вывода, файловые системы и ОП.

6 слой — интерфейс системных вызовов. Является самым верхним ядра, взаимодействует непосредственно с приложениями, образуя API. Функции API, обслуживающие системные вызовы, предоставляют доступ к ресурсам в удобной и компактной форме без указания деталей их физического расположения.

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

  1. все основные функции ОС работают в привилегированном режиме

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

  3. Каждое приложение работает в адресном пространстве и защищено от вмешательства других приложений

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

  5. приложения обращаются к ядру с запросом на выполнение системных функций.