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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



 

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

 

Типовые средства поддержки ОС.

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

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

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

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

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

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

 

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

На разработку таких компонентов влияют следующие характеристики аппаратуры:

- ширина шины адреса (16, 32, 64. Чем больше каналов, тем больше можно адресовать, т.е. обратиться к большему числу ячеек памяти 216, 232= 4 миллиарда ячеек, если 264 - то нужны новые процессоры).

- число процессов (1,2,4,8, на супер-компьютерах - сотни процессоров).

- наличие/отсутствие поддержки виртуальной памяти и др.

 

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

Если код ОС может быть сравнительно легко перенесен с процессора одного типа на процессор другого типа и аппаратной платформы одного типа на платформу другого типа, то такую ОС называют переносимой. Переносимость имеет не 2 состояния - есть/не, присутствует в большей или меньшей степени. Для обеспечения следует придерживаться таких правил:

 

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

2. Объем машинно-зависимых частей кода должен быть минимизирован.

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

 

Микроядерная архитектура.

 

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

В его состав обычно входят машинно-зависимые модули, также модули, выполняющие базовые (но не все) функции ядра по управлению процессами, обработке прерываний, управлению виртуальной памятью, управлению устройствами ввода/вывода, связанные с загрузкой или чтением регистров устройств. Набор функций микроядра обычно соответствует функциям слоя базовых механизмов обычного ядра. Все другие более высокоуровневые функции ядра оформляются в виде приложений, работающих в пользовательском режиме. Например, менеджеры ресурсов; файловая система, подсистема управления процессами, виртуальной памятью и т.д. Такие менеджеры, работающие в пользовательском режиме, называются серверами ОС. Поскольку одно приложение не может обращаться к функциям другого, то все приложения обращаются к серверам ОС через микроядро, которое имеет доступ к адресным пространствам всех процессов и служит посредником при общении процессов с серверами ОС. Таким образом, микроядерная архитектура ОС соответствует модели клиент–сервер.

 

 

       
   


Приложения пользователей файловый сервер сетевой сервер

Сервер процессов

           
   
 
   
 
 


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

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

 


сообщение запрос сообщение ответ

 

микроядро

Рис 6. Реализация системного вызова в микроядерной архитектуре.

 

 

Преимущества микроядерной архитектуры:

- высокая степень переносимости;

- расширяемость (в очень высокой степени). Добавление новой подсистемы сводится к разработке нового приложения не затрагивая ядро;

- -высокая конфигурируемость (можно легко отключать ненужные серверы ОС);

- повышенная надежность ОС (крах одного из серверов ОС не вызывает краха всей ОС, так как он может быть перезапущен; малый объем ответственного кода, который легче отладить);

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

Недостаток микроядерной архитектуры - более низкая производительность. Поскольку при классической архитектуре выполнение системных вызовов сопровождается двумя преключениями режимов, а при микроядерной архитектуре - четырьмя.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 402; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.63.174 (0.006 с.)