Структуры монолитной, структурированной, микроядерной ОС и их особенности. 


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



ЗНАЕТЕ ЛИ ВЫ?

Структуры монолитной, структурированной, микроядерной ОС и их особенности.



Это одно из направлений развития ОС.

Микроядро – это минимальная стержневая часть ОС, служащая основой модульных и переносимых расширений.

Проблемы проектирования микроядерных ОС:

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

2-Не решён вопрос, как проектировать драйверы устройств большой эффективности и как сохранить максимальную независимость от аппаратуры.

3-Не решён вопрос, где следует выполнять операции, не относящиеся к ядру.

4-Не решён вопрос, стоит ли сохранять программы, имеющихся подсистем или лучше отбросить всё и начать с нуля.

Функции микроядра.

Микроядро реализует базовые функции ОС, на которые опираются все другие системные службы и приложения. Такие важные компоненты, как: FS, система управления окнами и службы безопасности становятся периферийными модулями. Они взаимодействуют с ядром и друг с другом. WINDOWS NT отчасти можно считать микроядерной, так как используется присущей микроядерному подходу модульность для создания общей структуры WINDOWS NT. А каждая ОС (MS-DOS, WINDOWS 3.1, OS/2 и др.) эмулируется в виде отдельного модуля или подсистемы.

Рассмотрим известные структуры ОС.

Монолитные ОС.

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

Структурированная, монолитная ОС.

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

Многоуровневые иерархические системы.

Является обобщением предыдущего подхода (1968 г.). Дейстра предложил простую понятную ОС с шестью уровнями:

0-отвечал за распределение времени процессора, переписывает процессы по прерываниям.

1-выполнял функции виртуальной ОП.

2-управлял связью между несколькими операторами и процессами.

3-управлял устройствами ввода/вывода и буферизировал потоки.

4-пользовательские программы.

5-процесс системного оператора.

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

Микроядерные ОС.

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

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

Расширяемость – такая ОС позволяет добавлять новые функции на основе ограниченного набора интерфейса микроядра. Микроядро обладает небольшим набором API, например, у QNS имеет 14 системных вызовов. OSF (Open Software Foundation) – около 200 системных вызовов. Такое маленькое количество системных вызовов увеличивает шансы получить качественные программы. Основным принципом организации микроядерной ОС является включение в состав ядра только тех функций, которые необходимо выполнять в режиме супервизора и защиты памяти.

И обычно в микроядре включают:

1-Машиннозависимые программы, включая поддержку мультипроцессорной работы.

2-Некоторые функции управления процессами.

3-Обработку прерываний.

4-Поддержку пересылок сообщений.

Часто в микроядро включается функция планировщика процессов, но может быть вариант, когда планировщик размещен вне ядра, а микроядро используется только для непосредственного управления процесса. Компания QNX Software System и компания Unisys выпускает микроядерные ОС и ОС QNX имеют успех на рынке реального времени. А система CTOS (Unisys) популярная в области банковского дела.

 

37. Система очередей планирования NetWare.

При создании нитей с помощью функций f1 или f2 нить попадает в конец очереди 1.

Run List – содержит готовые к выполнению нити. Планировщик выбирает для выполнения стоящую первую очередь 1 и запускает ее на выполнение.

Нить, завершившая свою очередную итерацию, помещается в конец одной из очередей в зависимости от того, какой вызов передачи управления она использовала:

в конец очереди 1, если вызвала f 3

в конец очереди 2 при вызове f 4 или f 5

в конец очереди 3 при вызове f 6

Если нить вообще завершила свою работу, выполнив функцию return (), в главной функции нити, то нить уничтожается.

При создании нити в качестве параметров указывается функция, которая является главной функцией нити. По очереди 2 нити находятся в очереди 2, после завершения условия ожидания помещается в конец очереди 1.

Нити, находящиеся в очереди 3, запускаются на выполнение только в том случае, когда очередь 1 пуста. Обычно в эту очередь назначаются нити, которые выполняют не срочную фоновую работу. Очередь 4 является в системе самой приоритетной и необходима для выполнения очень срочных работ. Планировщик разрешает выполниться подряд только определенному количеству нитей из очереди 4, а затем запускает нить из очереди 1. Очередь 4 и связанная с ней функция появились в версии 4.0 и значительно повышают производительность NLM приложений. NLM (Novell Load Module). Исполняемые модули этой фирмы и имеют более высокий приоритет.

Рассмотренный механизм организации многопоточной работы сочетается со средствами синхронизаций нитями (семафоры и сигналы).

Синхронизация и взаимодействие процессов.

Многие процессы находятся в зависимости от других процессов. Поэтому необходимо обеспечить их взаимодействие. Необходимость в синхронизации возникает в программе печати файлов (Print Server).



Поделиться:


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

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