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

ОС – это комплекс взаимосвязанных программ, который действует как интерфейс между приложениями и пользователями с одной стороны, и аппаратурой ПК с другой стороны.

Структуризация ОС:

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

  • Модули, выполняющие вспомогательные ф-ии ОС

Основные функции ядра :

  • Организация выч процесса

  • Загрузка/выгрузка страниц

  • Обработка прерываний

Прикладная программная среда – набор функций ядра для поддержки приложений.

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

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

Виды:

Утилиты-проги, которые решают отдельные задачи управления и сопровождения комп. системы( напр. программы сжатия дисков)

  1. Системные обрабатывающие проги (Paint, блокнот)

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

  3. Библиотеки процедур – процедуры, облегчающие разработку приложений.(напр. Библиотека мат. функций)

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

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

Любая вычислительная система может рассматриваться в виде иерархии 3-х слоев. Каждый слой может взаимодействовать только со смежным.

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

«+»

  • Упрощается разработка ОС за счет определения функций межслойного взаимодействия.

  • упрощается модернизация

Ядро состоит из следующих слоев:

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

  2. Машинно-зависимые компоненты – этот слой образуют программные модули, в которых отражается специфика аппаратной платформы ПК. Остальные слои могут разрабатываться на основе машинно-независимых модулей, одинаковых для любых архитектур ПК.

  3. Базовые механизмы ядра – этот слой выполняет наиболее примитивные операции ядра: переключение механизмов процессов; перемещение страниц из оперативной памяти на жесткий (swapping); управление прерываниями.

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

Менеджер=диспетчер: процессов, вв.выв, памяти.

Каждый менеджер ведет свободный учет ресурсов определенного типа и планирует их распределение в соответствии с запросами приложений.

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

  1. Интерфейс системных вызовов: взаимодействует с приложениями, образуя интерфейс ОС. Это позволяет обратится к ресурсам без указания физических деталей.

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

10. Аппаратная зависимость и переносимость ОС

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

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

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

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

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

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

  2. Системный таймер – реализуется в виде быстродействующего регистра-счетчика для определения интервалов времени.

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

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

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

Для решения проблемы с переносом ОС с одной платформы на другую ОС подразделяются на:

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

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

Переносимость ОС:

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

Для обеспечения свойств мобильности ОС должны были выполняться следующие правила:

  1. Большая часть кода должна быть написана на языках высокого уровня. На которых существуют трансляторы на тех машинах, куда переносится наша ОС.

  2. Объем Машино - зависимого кода должен быть минимизирован т.е. следует избегать прямого обращения к аппаратным средствам нашей платформы. Это достигается за счет внедрения абстрактных типов данных (их использование) и функций, которые предоставляют машинно-зависимые модули.

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