Современная тенденция в разработке операционных систем состоит в перенесении значительной части системного кода на уровень пользователя и одновременной минимизации ядра. Речь идет о подходе к построению ядра, называемом микроядерной архитектурой (microkernel architecture) операционной системы, когда большинство ее составляющих являются самостоятельными программами. В этом случае взаимодействие между ними обеспечивает специальный модуль ядра, называемый микроядром. Микроядро работает в привилегированном режиме и обеспечивает взаимодействие между программами, планирование использования процессора, первичную обработку прерываний, операции ввода-вывода и базовое управление памятью.
Рис. 1.4. Микроядерная архитектура операционной системы
Остальные компоненты системы взаимодействуют друг с другом путем передачи сообщений через микроядро.
Основное достоинство микроядерной архитектуры – высокая степень модульности ядра операционной системы. Это существенно упрощает добавление в него новых компонентов. В микроядерной операционной системе можно, не прерывая ее работы, загружать и выгружать новые драйверы, файловые системы и т. д. Существенно упрощается процесс отладки компонентов ядра, так как новая версия драйвера может загружаться без перезапуска всей операционной системы. Компоненты ядра операционной системы ничем принципиально не отличаются от пользовательских программ, поэтому для их отладки можно применять обычные средства. Микроядерная архитектура повышает надежность системы, поскольку ошибка на уровне непривилегированной программы менее опасна, чем отказ на уровне режима ядра.
В то же время микроядерная архитектура операционной системы вносит дополнительные накладные расходы, связанные с передачей сообщений, что существенно влияет на производительность. Для того чтобы микроядерная операционная система по скорости не уступала операционным системам на базе монолитного ядра, требуется очень аккуратно проектировать разбиение системы на компоненты, стараясь минимизировать взаимодействие между ними. Таким образом, основная сложность при создании микроядерных операционных систем – необходимость очень аккуратного проектирования.
Подсистема окружения.
(прикладные программные среды)
Обеспечивает мобильность прикладного программного обеспечения.
В распределенных системах решают вопросы интеграции приложений. Возможность ОС выполнять приложения, написанные для других ОС, важна как для конечных пользователей, так и для разработчика.
А) для конечного пользователя для запуска программы в среде другой ОС без перекомпиляции требуется двоичная совместимость кода.
Б) для разработчика: необходимо совместимость исходных текстов на уровне системных вызовов и библиотек для перекомпиляции под новую ОС.
Двоичная совместимость.
Если ОС разработают на одной аппаратной платформе – двоичная совместимость – необходимо чтобы вызовы функции API, которые содержат приложения, поддерживались данной ОС, а внутренняя структура исполняемого файла соответствовала внутренней структуре исполнительных файлов данной ОС.
Для ОС, предназначенных для компьютеров с разной архитектурой процессора, двоичная совместимость достигается путем эмуляции двоичного кода.
Для ускорения выполнения программ вместо медленного процессора эмулирования кода по одной инструкции за раз , используют трансляторы прикладных программных сред, которые имитируют обращение к библиотечным функциям API. Прикладные программные среды обеспечивают двоичную совместимость ОС с приложениями, написанными для других ОС.
Способы реализации прикладных программных сред.
Способ, имеющий меньшую производительность, но возможность простого удаления и добавления прерываний среды, имеют микроядерные архитектуры, в которых каждая прикладная среда оформляется в виде отдельного сервера пользовательского режима, взаимодействующего с прикладной программой через микроядро.
Интерфейсы операционных систем.
Интерфейс – комплекс спецификаций, определяющий способ взаимодействия с компьютером.
Интерфейс пользователя.
Текстовый интерфейс – интерфейс командной строки.
Графический интерфейс – Windows. Его начали разрабатывать в 1985 г. В 90-е годы Win 3.11 была удачной и уже стала операционной оболочкой. Она загружалась из ДОСа, но потом переводила процессор в защищенный режим и была доступна многозадачность.
Планировали, что после ДОСа будет OS/2, но все-таки удобнее было использваоть Windows.
OS/2 – фирма IBM, Windows – фирма Microsoft.
Win NT – Win95, 98, 2000….
Linux (KDE, Гнон)
XWindow – графическая среда под Unix Это базовое средство графических интерфейсов Unix, набор компонентов, образующих интерфейс пользователя.
Интерфейсприкладногопрограммирования.
(Application Programming Interface (API))
API определяет совокупность системных (переключает процессор в привилегированный режим) и сервисных ( в режим пользователя) функций ОС и правил их использования.
Win API содержит до 13 000 функций. Ф Unix определены 300. Они системные.
В случае реализации API на уровне модулей ОС, объектный
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.