Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС 2 модуль все части ПЕЧАТАТЬ.docx
Скачиваний:
72
Добавлен:
18.12.2018
Размер:
328.96 Кб
Скачать

16)_Ч3Почему одна и та же ос не может без изменений устанавливаться на компьютеры с другим типом процессора или способом организации всей аппаратуры?

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

17)_Ч3Опишите особенности построения машинно-зависимых компонент и переносимости ос.

Ядро можно спроектировать так, что только часть модулей будут машинно-зависимыми. В хорошо структурированном ядре машинно-зависимые модули локализованы и образуют программный слой, примыкающий к слою аппаратуры. Это существенно упрощает перенос ОС на другую аппаратную платформу. Объем машинно-зависимых компонентов ОС зависит от степени различия используемых аппаратных платформ. Для уменьшения числа машинно-зависимых модулей производители ОС обычно ограничивают универсальность машинно-независимых модулей. Если код ОС может быть сравнительно легко перенесен на процессор или аппаратную платформу другого типа, то такую ОС называют переносимой. Большая часть кода должна быть написана на языке, трансляторы которого имеются на всех машинах, куда планируется перенос. Объем машинно-зависимых частей кода, непосредственно взаимодействующих с аппаратными средствами, должен быть по возможности минимизирован. Аппаратно-зависимый код должен быть надежно изолирован в нескольких модулях, не быть распределен по всей системе.

18)_Ч3Что такое «микроядро» и какие модули входят в его состав?

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

19)_Ч3Что такое «серверы ос» в архитектуре на основе микроядра, в каком режиме они работают?

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

В ОС на основе микроядра механизм обращения к функциям ОС, оформленным в виде серверов, основан на модели взаимодействия «клиент-сервер» (рис.3.6). Клиент (приложение или компонент ОС) запрашивает выполнение некоторой функции сервера, посылая сообщение (1) микроядру. Непосредственная передача сообщений между приложениями невозможна, так как их адресные пространства изолированы. Но микроядро, выполняющееся в привилегированном режиме, имеет доступ к адресным пространствам приложений и поэтому может стать посредником, передающим сообщения: нужному серверу – имя и параметры вызываемой процедуры (2), обратно клиенту – результаты (3, 4).

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

В ОС на основе микроядра механизм обращения к функциям ОС, оформленным в виде серверов, основан на модели взаимодействия «клиент-сервер» (рис.3.6). Клиент (приложение или компонент ОС) запрашивает выполнение некоторой функции сервера, посылая сообщение (1) микроядру. Непосредственная передача сообщений между приложениями невозможна, так как их адресные пространства изолированы. Но микроядро, выполняющееся в привилегированном режиме, имеет доступ к адресным пространствам приложений и поэтому может стать посредником, передающим сообщения: нужному серверу – имя и параметры вызываемой процедуры (2), обратно клиенту – результаты (3, 4).