Для установки регистров устройств.
Переключения процессора с процесса на процесс.
Работы с блоком управления память.
Перехвата аппаратных прерываний.
Кроме того, в нем обычно содержится код, преобразующийвызовы соответствующих модулей пользовательского уровня операционной системы в системные вызовы и возвращающей результаты.
Менеджеры (серверы) ресурсов.
2. Другая часть включает все остальные функции ОС, которые выполняются в виде приложений или утилит, работающих в пользовательском режиме.
Эта часть содержит менеджеры или серверы ресурсов.
Они имеют отличие от обычных утилит, которые вызываются пользователями.
Менеджеры ресурсов, вынесенные в пользовательский режим, называются серверами или менеджерами, обслуживающими запросы (серверы ОС):
Обычные компоненты ядра классической ОС - менеджеры ресурсов (файловая систем, управление виртуальной памятью, управление процессами, менеджер безопасности и др.) в микроядерной системе становятся периферийными, работающими в пользовательском режиме.
В качестве менеджеров ресурсов (вспомогательные модули) ОС следует выделить:
- сетевой сервер;
- диспетчер памяти (VMM virtual memory manager – менеджер виртуальной памяти);
- сервер процессов;
- диспетчер УВВ;
- диспетчер файлов;
- менеджер безопасности.
Архитектура микроядра напоминает систему клиент – сервер
Микроядро получает запрос, передает параметры нужному серверу, сервер выполняет запрос и через микроядро передает результат клиенту.
|
|
Микро ядро имеет доступ к адресному пространству всех процессов и работает в качестве посредника.
Использование микроядра дает некоторые преимущества.
Наиболее важное из них состоит в гибкости.
Поскольку большая часть операционной системы исполняется в пользовательском режиме, относительно несложно заменить один из модулей без повторной установки всей системы.
Другой серьезный плюс заключается в том, что модули пользовательского уровня могут в принципе размещаться на разных машинах.
Так, можно установить модуль управления файлами не на той машине, на которой он управляет службой каталогов.
Другими словами, подход с использованием микроядра отлично подходит для переноса однопроцессорных операционных систем на распределенные компьютеры.
В силу меньшего размера кода микроядро проще переносимо на другие аппаратные платформы.
За счет уменьшения объема кода, работающего в привилегированном режиме, увеличивается надежность.
При отказе отдельных приложений ОС, сама система под управлением ядра продолжает работать.
Однако в микро ядерных ОС происходит снижение производительности за счет увеличения числа ступеней выполнения заявки.
|
|
Таким образом, микроядерная ОС разделена на привилегированное ядро и серверы ОС, работающие в пользовательском режиме.
Обе части микроядерной ОС составляют ее исполнительную систему.
Утилиты ОС здесь – также в пользовательском режиме.
Основу современных многозадачных ОС составляет исполнительная система в виде двух групп модулей: ядра (kernel) и менеджеров ресурсов (execute).
Интерфейс системных вызовов API
Интерфейс системных вызововAPI (application interface).
Доступ к внутренним службам Windows 2000 выполняется с помощью вызовов функций Windows API (через посредство Windows Executive доступ к HAL – hardware access layer), которые располагаются в библиотеках DLL (Dynamic Link Library).
Является верхним слоем и расширителем ОС.
Включает набор функций, обеспечивающих доступ приложений пользователей к ресурсам различных служб ОС через их вызовы и которых нет непосредственно в языках программирования.
API вызовы – это абстракция независимости от оборудования и низкоуровневых протоколов, но еще зависимая от ОС.
С помощью функций API пользовательские программы могут переключаться в режим ядра.
Для ОС Windows – это Win32 API.
|
|
Вызовы системных функций адресуются подсистеме Win 32 API, которая в свою очередь обращается к службе Windows Execute, которая для специфических аппаратных действий обращается к HAL.
Cистемные функции хранятсяв динамических библиотеках DLL - dynamic link libraries.
При обращении к вызовам API, происходит обращение к одной из библиотек DLL.
Категории API:
Диалоговых окон, буфера обмена, диалога, курсора, ввода данных от мыши и кла, виатуры, управления печатью, DDE (динамический обмен), DLL, управления памятью, работа с файлами и файловой системой, работа с реестром, мультимедиа, управление таймером, растровых изображений, работа в сети, коммуникаций, получение системной информации, синхронизация активных приложений, обработки ошибок, регистрации в системе, работы с системой безопасности, отладки и др.
Для размещения API есть несколько DLL.
Большая их часть (около 2000 функций содержится в 3 DLL:
1.kernel.32dll (около 700 функций управления памятью, процессами и потоками).
2. User32.dll (около 600 функций управления пользовательским интерфейсрм).
3. Gdi.dll (около 400 функций для рисования графических и текстовых объектов).
Кроме того, есть более узкие DLL:
1. COMDLG32.DLL ( около 20 функций управления стандартными диалоговыми окнами).
|
|
2. LZ32.DLL (около 12 функций архивации и разархивации).
3. ADVAP32.DLL (около 400 функций защиты объектов и работы с реестром).
4. WINMM.DLL (около 200 функций для работы с мультимедиа).
По умолчанию W/NT работает с Unicode и не работает с ANSI.
Для совместимости в Win32 API каждая функция имеет две версии для строковых функций в ANSI и UNICODE.
Дата добавления: 2018-08-06; просмотров: 302; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!