Требования к операционным системам
Основное требование, предъявляемое к современным операционным системам – выполнение функций, перечисленных выше в параграфе "Функции операционных систем". Кроме этого очевидного требования существуют другие, часто не менее важные [3]:
· расширяемость – возможность приобретения системой новых функций в процессе эволюции; часто реализуется за счет добавления новых модулей;
· переносимость – возможность переноса операционной системы на другую аппаратную платформу с минимальными изменениями;
· совместимость – способность совместной работы; может иметь место совместимость новой версии операционной системы с приложениями, написанными для старой версии, или совместимость разных операционных систем в том смысле, что приложения для одной из этих систем можно запускать на другой и наоборот;
· надежность – вероятность безотказной работы системы;
· производительность – способность обеспечивать приемлемые время решения задач и время реакции системы.
ОС Windows - архитектура: компоненты пользовательского режима; компоненты режима ядра.
Компоненты пользовательского режима
Системные процессы (system processes) – компоненты Windows, отвечающие за решение критически важных системных задач, но выполняемые в пользовательском режиме.
Основные системные процессы:
o Winlogon.exe – процесс входа в систему и выхода из неё;
o Smss.exe (Session Manager – диспетчер сеансов) – процесс выполняет важные операции при инициализации системы (загрузка необходимых DLL, запуск процессов Winlogon и Csrss и др.), а затем контролирует работу Winlogon и Csrss;
|
|
o Lsass.exe (Local Security Authentication Subsystem Server – сервер подсистемы локальной аутентификации) – процесс проверяет правильность введенных имени пользователя и пароля;
o Wininit.exe – процесс инициализации системы (например, запускает процессы Lsass и Services);
o Userinit.exe – процесс инициализации пользовательской среды (например, запускает системную оболочку – по умолчанию, Explorer.exe);
o Services.exe (SCM, Service Control Manager – диспетчер управления службами) – процесс, отвечающий за выполнение служб;
Службы (сервисы, services) – приложения, работающие в фоновом режиме и не требующие взаимодействия с пользователем. Службы могут быть как частью операционной системы, так и частью пользовательского приложения. За службы отвечает системный процесс Services.exe;
Пользовательские приложения (user applications) - прикладные программы, запускаемые пользователем;
Подсистемы окружения (environment subsystems) – компоненты, предоставляющие доступ приложениям к некоторому подмножеству системных функций. Windows поддерживает две подсистемы окружения:
1) собственно Windows – при помощи данной подсистемы выполняются 32 разрядные приложения Windows (Win32).
|
|
2) POSIX (Portable Operating System Interface for UNIX – переносимый интерфейс операционных систем UNIX).
Windows API (Windows Application Programming Interface, WinAPI) – это способ взаимодействия процессов пользовательского режима с модулями режима ядра. WinAPI включает тысячи функций и хорошо документирован.
Библиотеки Windows DLL преобразуют вызовы документированных WinAPI функций в вызовы функций Native API и переключают процессор на режим ядра.
Компоненты режима ядра
Диспетчер системных сервисов (System Service Dispatcher) работает в режиме ядра, перехватывает вызовы функций от Ntdll.dll, проверяет их параметры и вызывает соответствующие функции из Ntoskrnl.exe.
Исполнительная система и ядро содержатся в Ntoskrnl.exe (NT Operating System Kernel – ядро операционной системы NT).
Исполнительная система (Executive) представляет собой совокупность компонентов (называемых диспетчерами – manager), которые реализуют основные задачи операционной системы:
· диспетчер процессов (process manager) – управление процессами и потоками (см. лекцию 6 "Процессы и потоки");
· диспетчер памяти (memory manager) – управление виртуальной памятью и отображение её на физическую (см. лекцию 8 "Управление памятью");
· монитор контроля безопасности (security reference monitor) – управление безопасностью (см. лекцию 9 "Безопасность");
|
|
· диспетчер ввода вывода (I/O manager), диспетчер кэша (cache Manager), диспетчер Plug and Play (PnP Manager) – управление внешними устройствами и файловыми системами (см. лекцию 10 "Управление устройствами" и лекцию 11 "Файловая система NTFS");
· диспетчер электропитания (power manager) – управление электропитанием и энергопотреблением;
· диспетчер объектов (object manager), диспетчер конфигурации (configuration manager), механизм вызова локальных процедур (local procedure call) – управление служебными процедурами и структурами данных, которые необходимы остальным компонентам.
Ядро (Kernel) содержит функции, обеспечивающие поддержку компонентам исполнительной системы и осуществляющие планирование потоков, механизмы синхронизации, обработку прерываний.
Компонент Windows USER и GDI отвечает за пользовательский графический, является частью подсистемы Windows и реализован в драйвере Win32k.sys.
Взаимодействие диспетчера ввода вывода с устройствами обеспечивают драйверы (drivers) – программные модули, работающие в режиме ядра, обладающие максимально полной информацией о конкретном устройстве.
Однако, и драйверы, и ядро не взаимодействуют с физическими устройствами напрямую – посредником между программными компонентами режима ядра и аппаратурой является HAL (Hardware Abstraction Layer) – уровень абстрагирования от оборудования, реализованный в Hal.dll. HAL позволяет скрыть от всех программных компонентов особенности аппаратной платформы (например, различия между материнскими платами), на которой установлена операционная система.
Дата добавления: 2019-07-15; просмотров: 289; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!