Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Лекция 05
Операционные системы И среды Лекция 05 Архитектура ОС Windows Внимание! Зевать на этой лекции запрещено! · быть истинно 32-разрядной ОС · работать на различных аппаратных платформах · отвечать требованиям POSIX 1003.1 · отвечать требованиям правительства к безопасности · обеспечить простоту адаптации за счет поддержки Unicode · поддерживать большинство существующих 16-разрядных приложений MS-DOS и Windows 3.1
Цели Windows NT · расширяемость (наращивание кода) · переносимость (разные архитектуры) · отказоустойчивость и надежность · совместимость (Win 9x и MS-DOS) · производительность
Модель ОС · режим выполнения § режим ядра § режим пользователя · монолитная ОС
Обзор архитектуры
Процессы пользователя (режим пользователя) · процессы поддержки системы (system support processes) – например, диспетчер сеансов · процессы сервисов/служб (service proceses) – W32Time · пользовательские приложения (user applications) § 32-разрядня Windows § 64-разрядня Windows § 16-разрядня 3.1 § 16-разрядня MS-DOS § 32-разрядая POSIX § 32-разрядной OS/2
· подсистемы окружения (environment subsystems) § Windows § POSIX § OS/2 Процессы ядра (режим ядра) · исполнительная система (executive) – базовые сервисы ОС · ядро (kernel) Windows – например, планирование потоков · драйверы устройств (device drivers) · уровень абстрагирования оборудования (hardware abstraction layer, HAL) – изоляция ядра, драйверов и исполнительной системы · подсистема поддержки окон и графики (GUI)
Основные системные файлы Windows
Системные файлы для различных систем
Проверочный выпуск (checked build) Спец версия для: · Windows 2000 PRO · Wondows XP PRO · Windows Server 2003 · Windows Vista PRO · Windows 7 PRO
Ключевые компоненты системы (!) Архитектура Windows дружно смотрим приложение к лекции, в виде графического файла Подсистемы окружения и их DLL · Windows · POSIX (c Windows XP не поставляется) · OS/2 (удалена в Windows 2000)
Без подсистемы Windows, ОС Windows работать не сможет!!! Подсистемы POSIX и OS/2 запускаются по требованию.
Стартовая информация подсистемы хранится в разделе реестра: HKLM\SYSTEM\CurrentControlSet\Control\ SessionManager\SubSystems.
Csrss.exe - Client/Server Run_Time Subsystem
Смешивать вызовы функций разных подсистем нельзя!! DLL подсистемы Windows · Kernel32.dll ·
· User32.dll · GDI32.dll
DLL подсистемы POSIX · Psxdll.dll Подсистема Windows · процесс подсистемы окружения (Csrss.exe) § поддержка консольных окон § создание и удаление процессов и потоков § поддержка 16-разрядной виртуальной DOS-машины · драйвер режима ядра (Win32k.sys) § диспетчер окон (отрисовка и вывод окон на экран) § Graphics Device Interface (GDI) – библиотека функций для устройств графического вывода · DLL-модули подсистем § Kernel32.dll § Advapi32.dll § User32.dll § GDI32.dll · драйверы графических устройств Подсистема POSIX · Portable operating system interface based on UNIX · Windows реализован POSIX.1 § ISO/IEC 9945-1: 1990 § IEEE POSIX 1003.1-1990 · Microsoft Windows Services for UNIX 3.5 Ntdll.dll Специальная библиотека системной поддержки
· Интерфейс к сервисам исполнительной системы § NtCreateFile § NtSetEvent · Загрузчик образов · Диспетчер исключений Исполнительная система · Диспетчер конфигурации (системный реестр) · Диспетчер процессов и потоков · Монитор состояния защиты · Диспетчер ввода-вывода · Диспетчер Plug and Play · Диспетчер электропитания · WDM WMI · Диспетчер кэша · Диспетчер памяти · … Ядро Windows · Ядро состоит из функций в Ntoskrnl.exe · Код ядра написан на языке С и ассемблер · Часть функций ядра описана в DDK (имена начинаются с Ke)
Уровень абстрагирования от оборудования
Низкоуровневый интерфейс с аппаратной платформой (!) · Драйверы являются загружаемыми модулями режима ядра · Имеют расширение .sys · Выполняются в режиме ядра · Образуют интерфейс между диспетчером ввода-вывода и соответствующим оборудованием · Пишутся на языке С (реже С++)
Существует несколько типов драйверов устройств:
· Драйверы аппаратных устройств · Драйверы файловой системы · Драйверы фильтра файловой системы · Сетевые редиректоры и серверы · Драйверы протоколов · Драйверы потоковых фильтров ядра
Системные процессы
Смотрим спец. утилиту от М. Русиновича Process Explorer (procexp.exe) ВСЕ!!! Можно зевать!! J
|