Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Архитектура современных ОС






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

Функциональная структура – выполняемые функции программной средой.

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

Программная структура ОС. Наиболее общим подходом к построению является разбиение ОС на ядро и обеспечивающие модули.

Ядро – программная структура. Как правило, состоит из двух основных частей:

а) резидентная часть ядра – постоянно находится в реальной ОП, не подвергается страничному обмену;

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

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

Ядро ОС имеет многослойную программную структуру:

а) модули по управлению средствами аппаратной поддержки – управляют обработкой команд на той или иной платформе;

б) машинно-зависимые модули – экранируют основные компоненты ядра от специфики аппаратуры, что позволяет разрабатывать модули более высокого уровня как машинно-независимые компоненты;

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

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

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

а) загрузчик (IPL, initial program loader) – представляет программу, которая, как правило, в зависимости от ОС, записывается в нулевой сектор диска, который опрашивается первым. Программа может записываться различными способами: при форматировании носителя или процесса генерации ОС.

б) программа инициализации ядра (NID, nuclear initial program) – программа APL, выполняясь, загружает в реальную ОП часть ядра, которая подготавливает информацию для дальнейшей загрузки. В некоторых ОС программа NID грузится в старшие адреса реальной ОП, чтобы в младшие адреса загрузить ядро. После того, как APL отработала, выполняется NIP, определяющая состояние аппаратных средств, устанавливающая место загрузки ядра в ОП, устанавливающая размер ОП и др. После этого NIP загружает в реальную ОП ядро ОС и передает ему управление. Область реальной ОП, где находилась NIP, освобождается.

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

г) средства трансляции виртуальных адресов в реальные. Создание и актуализация таблиц для поддержки того или иного способа организации виртуальной памяти.

д) средства обработки прерываний – обработка прерываний происходит по-разному в зависимости от аппаратной платформы и типа ОС. Общим подходом является то, что сигнал прерывания того или иного типа, если он не замаскирован, осуществляет смену PSV, некой структуры, которая отслеживает автоматически аппаратно состояние системы в текущий момент времени, в т. ч. в ней находится адрес следующей выполняемой команды. PSV хранится в регистрах и может быть загружена в них с помощью машинной команды (например loadpsv < адрес ОП>). С этого момента следующей командой, которая будет выполняться, является та команда, адрес которой указан в загруженном новом PSV. Старая PSV сохраняется и после обработки прерывания загружается и вновь становится текущим, возобновляя прерванный процесс.

 

Лекция






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.