Микроядерная архитектура ЭВМ.
Стр 1 из 10Следующая ⇒ Основные понятия и определения. 1.ОС – организованный набор программ и данных, обеспечивающий управление всеми ресурсами вычислительной системы (ВС) и предоставляющий прикладным программам операционную среду для их исполнения. Операционная среда – это среда исполнения прикладных программ (определяет для каждого приложения множество команд процессора, модель адресации и логические структуры адресного пространства процессора, множество системы вызовов). Основная задача ОС: сделать аппаратуру компьютера доступной и удобной для пользователя, обеспечить рациональное управление аппаратурой для достижения высокой производительности. Функции:
Процесс – абстракция, представляющая программу во время выполнения. Примеры ресурсов: процессор, память, устройства ввода/вывода, данные. ОС взаимодействует с аппаратными средствами, программами, пользователи, программистами, администраторами. Эволюция ОС. Выделяют пять–шесть периодов развития ОС.
Архитектура ОС. Под архитектурой понимают системную организацию на основе программных модулей, имеющих определенное функциональное назначение с четко оговоренными правилами взаимодействия.
сначала ОС были монолитными. При разработке мало внимания обращалось на структуру, сложность возрастала. Windows NT 3.5 содержала 4 млн строк. NT 4 — 1996 год — 16,5 млн строк, Windows 2000 – 20 млн, Windows XP — 40 млн строк, Linux – 11010647 строк, Linux 3.3 – 15 млн строк. Увеличение сложности ОС сопровождается возникновением 3 основных проблем:
Чтобы преодолеть эти проблемы стали использовать модульную структуру, которая предполагает построение ПО из модулей. Иерархическая структура ОС предполагает что функции различных модулей находятся на разных уровнях в зависимости от их сложности, временных характеристик и степени абстракции. В процессе эволюции на смену монолитным пришли слоистые ОС, разработанные на основе модульной структуры с иерархической организацией функций, взаимодействие которых возможно только с функциями, находящимися на соседних уровнях. Микроядерные ОС приобрели популярность после создания ОС Mach. Суть микроядерной ОС заключается в том, что в микроядре сосредоточены только самые важные функции ОС. Остальные службы и приложения выполняются в пользовательском режиме. Общая тенденция — многие службы традиционного ядра теперь стали входить во внешние подсистемы, взаимодействующие с микроядром и друг с другом. К внешним подсистемам относятся драйверы, файловые системы, менеджер виртуальной памяти, управление окнами, службы безопасности.
Ядро и вспомогательные модули ОС. В большинстве случаев выделяют основные и вспомогательные модули. Основные модули выполняют такие базовые функции ОС, как управление процессами, памятью, устройствами ввода/вывода. Обычно ядро оформляется в виде программного модуля. Функции:
Функции вспомогательных модулей являются менее обязательными, к ним относят программы архивации, дефрагментации, оформляются в виде приложений или в виде библиотек процедур. Четкого разделения не существует. Вспомогательные модули разделяются на группы:
Такое разделение упрощает разработку. Модули ОС обычно загружаются в ОП только на время выполнения своих функций, то есть являются транзитными. Ядро в привилегированном режиме. Обеспечить привилегии ОС невозможно без поддержки аппаратуры. Аппаратура должна поддерживать 2 режима:
Приложения ставятся в подчиненное положение за счет запрета выполнения некоторых критичных команд, связанных с переключением процессора с задачи на задачу, управлением устройствами ввода/вывода, доступом к механизмам распределения и защиты памяти. Каждое приложение работает в своем адресном пространстве. Свойство позволяет локализовать некоторые некорректные приложения в одной области памяти. Intel – 4 уровня привилегий. OS\2 строит 3 уровня привилегий, а Windows — 2 уровня привилегий. Рассмотренная архитектура называется классической. Многослойная структура ОС на базе ядра в привилегированном режиме. В центре — аппаратура, вокруг неё ядро, вокруг ядра — утилиты. Каждый слой взаимодействует только с соседними слоями. Каждый слой обслуживает вышележащий слой, выполняет для него некоторый набор функций, которые образуют межслойный интерфейс. Такая организация имеет много достоинств: существенно упрощена разработку, кроме того при модернизации системы можно изменять модули внутри слоя без изменения в других слоях. 1 слой — аппаратура. 2 слой — средства аппаратной поддержки ОС. Часть функций ОС может выполняться аппаратными средствами. При чем к ОС относятся только те аппаратные средства, которые напрямую участвуют в вычислительных процессах (средства поддержки привилегированного режима, система прерываний, средства защиты областей памяти) 3 слой — машинно-зависимые компоненты системы. Слой образуют программные модули, в которых отражается специфика аппаратной платформы компьютера, он экранирует высшие слои ядра от аппаратуры. 4 слой — базовые механизмы ядра. Слой выполняет наиболее примитивные операции ядра: диспетчеризацию прерываний, перенос из памяти на диск и обратно. На этом слое решений не принимается.
5 слой — менеджеры ресурсов. Этот слой состоит из мощных функциональных модулей, реализующих стратегические задачи по управлению вычислительными ресурсами системы. Обычно на данном слое работают менеджеры процессов, ввода/вывода, файловые системы и ОП. 6 слой — интерфейс системных вызовов. Является самым верхним ядра, взаимодействует непосредственно с приложениями, образуя API. Функции API, обслуживающие системные вызовы, предоставляют доступ к ресурсам в удобной и компактной форме без указания деталей их физического расположения. Это разбиение достаточно условно. Способ взаимодействия слоев тоже может отличаться от описанной. Рассмотренная структура называют классической. Пять основных принципов:
Микроядерная архитектура ЭВМ. Эта архитектура является альтернативой классической архитектуре. Её суть: в привилегированном режиме остается работать только небольшая часть ОС, называемая микроядром. Микроядро защищено от остальных частей и других приложений. В состав микроядра входят: машинно-зависимые модули и модули, выполняющие базовые функции ядра по управлению процессами, обработке прерываний, управлению виртуальной памятью, управлению устройствами ввода/вывода, загрузке или чтению регистров устройств. Все остальные функции оформляются в виде приложений, работающих в пользовательском режиме и называемых серверами ОС.
В ОС с классической архитектурой отсутствует механизм, с помощью которого одно приложение может вызывать функции другого. Совсем другая ситуация возникает, когда в форме приложения оформляется часть ОС. Основным назначением такого приложения является обслуживание запросов других приложений. Именно поэтому менеджеры ресурсов, вынесенные в пользовательский режим, называются серверами ОС. Для реализации микроядерной архитектуры необходимым условием является наличие в ОС удобного и эффективного способа вызова процедур одного процесса из другого.
Количество переключений контекста заметно увеличилась. Производительность уменьшилась. Преимущества и недостатки микроядерной архитектуры. 1. хорошая переносимость обусловлена тем, что весь машинно-зависимый код изолирован в микроядре, поэтому для переноса на новый процессор требуется меньше изменений, все они логически сгруппированы вместе. 2. хорошая расширяемость объясняется тем, что в микроядерной архитектуре добавление новой подсистемы требует разработки только нового приложения и не затрагивает целостность микроядра. 3. надежность ОС повышается. 4. производительность. Если при классической архитектуре выполнение системного вызова сопровождается 2 переключениями режима, то при микроядерной – 4. Таким образом, ОС на основе микроядра будет менее производительной, чем традиционная ОС. По этой причине микроядерный подход распространения не получил. Экзоядро – ядро ОС, предоставляющее лишь функции для взаимодействия между процессами и безопасного выделения и освобождения ресурсов. Наноядро – архитектура ядра ОС, в рамках которой крайне упрощенное ядро выполняет лишь одну задачу – обработку аппаратных прерываний, генерируемых устройствами компьютера. С архитектурными особенностями связаны 2 свойства: переносимость, совместимость. Если код ОС может быть сравнительно легко перенесен с процессора одного типа на процессор другого типа, то такую ОС называют переносимой. Для того чтобы ОС считалась переносимой нужно: 1. большая часть кода должна быть написана на языке, трансляторы которого имеются на всех машинах. 2. объем машинно-зависимых частей кода, которые непосредственно взаимодействуют с аппаратными средствами, должен быть минимизирован. 3. аппаратно-зависимый код должен быть изолирован в нескольких модулях. Совместимость – возможность ОС выполнять приложения других ОС. Различают 2 типа: на двоичном уровне и на уровне исходных текстов. Двоичная совместимость достигается в том случае, когда можно взять исполняемую программу и запустить на выполнение в другой ОС. Совместимость на уровне исходных текстов требует наличие соответствующего компилятора в составе компьютера, на котором предполагается выполнять данное приложение, а также совместимости на уровне библиотек и системных вызовов.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|