Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 10.Архитектура ОС.doc
Скачиваний:
10
Добавлен:
18.09.2019
Размер:
133.63 Кб
Скачать

Архитектура Windows 2000

Большинство операционных систем (ОС) представляют собой хорошо структурированные модульные системы. Обычно модули делятся на две группы:

  • ядро – модули, выполняющие основные функции ОС,

  • модули, выполняющие вспомогательные функции.

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

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

На рис. 1 представлена общая структура ОС Windows 2000.

API (Application Programming Interface) – стандартизованная библиотека программных средств, используемая разработчиками прикладных программ для создания приложений, совместимых с определенной ОС и принятым графическим интерфейсом и для доступа к сервисам ОС.

NTDLL.DLL

Режим пользователя

Режим ядра

Api исполнительной системы

Исполни-тельная система Win2000

Диспетчер объектов,

библиотека этапа исполнения

Аппаратура

Рис. 1. Архитектура операционной системы Windows 2000

Для обеспечения аппаратной независимости (возможности работы ОС на разных аппарат­ных платформах) большая часть модулей ОС общается с аппаратурой как с абстрактными данными, которые связывают с конкретными аппаратными модулями через такие программные модули, как HAL (Hardware Abstraction Layer), микроядро и драйверы устройств.

Назначение и имена системных файлов представлены в таблицах 1 и 2.

Таблица 2. Системные модули режима пользователя

Режим пользователя

Модуль

Файл

Назначение

Приложения пользователя

Могут быть одного из пяти типов: Win32, Win16 (для Windows 3.1), POSIX, OS/2, MS-DOS

Подсистемы среды

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

Системные процессы и сервисы

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

WIN32API

Интерфейс между пользовательскими приложениями и исполнительной системой Windows. Реализован в виде динамически подключаемых библиотек DDL). В пользовательском режиме работают три главных библиотеки, содержащие большую часть функций API: Kernel32.dll, User32.dll , GDI.dll

Kernel32.dll

%\windows\system32\ Kernel32.dll

Библиотека DLL. Содержит около 700 функций управления памятью, процессами и потоками

User32.dll

%\windows\system32\ User32.dll

Библиотека DLL. Содержит около 600 функций для управления пользовательским интерфейсом, например, созданием окон и передачей сообщений

GDI.dll

Библиотека DLL. Содержит около 400 функций для рисования графических объектов, отображения текста и работы со шрифтами

NTDLL

%\windows\system32\Nt.dll

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

Таблица 1. Системные модули режима ядра

Режим ядра

Модуль

Файл

Назначение

HAL

%\windows\system32\

HAL.dll

Уровень аппаратных абстракций. Реализует низко­уровневый интерфейс с аппаратурой. Модули Windows и драйверы от других разработчиков взаимодействуют с аппаратурой посредством HAL. Отделяет ОС от особенностей используемой аппа­ратной платформы.

Аппаратура: шина, таймеры, контроллер прерыва­ний, контроллер прямого доступа к памяти, устрой­ства ввода/вывода, контроллер кэша, контроллеры памяти и т. д.

Микроядро

%\windows\system32\

NTOSKRNL.exe

Единственная часть системы, которая всегда нахо­дится в оперативной памяти.

Выполняет функции:

  • Планирование процессов и потоков,

  • Синхронизация процессов и потоков,

  • Обработка прерываний

  • обработка исключений (ошибок)

Драйверы устройств

*.exe

Преобразуют поступившие от пользователя вызовы функций ввода/вывода в запросы для конкретных устройств

Диспетчер ввода/вывода

  • аппаратно-независимый ввод/вывод для приложений,

  • координация работы драйверов устройств

Диспетчер кэша

Управляет кэшированием дисковой памяти: хранит в оперативной памяти данные, к которым недавно обращались

Диспетчер файловой системы

Поддерживает работу с файлами и папками

Диспетчер процессов и потоков

Создает и завершает процессы и потоки

Диспетчер объектов

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

Диспетчер виртуальной памяти

Отображает виртуальные адреса адресного пространства процессов на физические страницы памяти компьютера

Библиотеки этапа исполнения

Реализация арифметических функций и функций обработки строк

Диспетчер окон WIN32K

WIN32K.sys

Создает оконный экранный интерфейс, управляет графическими устройствами (вывод на экран, ввод с клавиатуры или при помощи мыши)

Средства локального вызова процедур

Связь между приложениями и исполняющимися подсистемами по модели клиент/сервер. Похож на средства удаленного вызова процедур в распределенных системах

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

Обеспечивает выполнение правил доступа и аудита

API исполнительной системы

Функции исполнительной системы (сервисы режима ядра), используемые подсистемой Win32API