Большинство операционных систем (ОС) представляют собой хорошо структурированные модульные системы. Обычно модули делятся на две группы:
· ядро – модули, выполняющие основные функции ОС,
· модули, выполняющие вспомогательные функции.
Для надежного и безопасного управления ходом выполнения приложений ОС должна иметь по отношению к приложениям определенные привилегии. Средства аппаратной поддержки (архитектура процессора) позволяют поддерживать два режима работы – пользовательский и привилегированный, который также называется режимом ядра.
Наиболее важные части ОС выполняются в режиме ядра. Программы, работающие в режиме ядра имеют доступ к системным данным и к аппаратному обеспечению. Программы пользовательского режима имеют ограниченный доступ к системным данным.
На рис. 1 представлена общая структура ОС Windows 2000.
API (Application Programming Interface) – стандартизованная библиотека программных средств, используемая разработчиками прикладных программ для создания приложений, совместимых с определенной ОС и принятым графическим интерфейсом и для доступа к сервисам ОС.
Рис. 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
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление