- •Лабораторная работа №4. Системная архитектура и строение ядра ос Windows 9x и Windows nt. Ядро Windows 9x
- •32- И 16-разрядные компоненты
- •Архитектура Windows nt
- •Аритектура ядра Windows nt.
- •Режим ядра
- •Исполняемая часть
- •Абстракция от оборудования
- •Пользовательские процессы
- •Подсистемы среды и библиотеки dll
- •Новые черты ядра nt 5.0
- •Plug-and-play
- •Объект "Задание"
- •Управление памятью большой емкости
- •Активный каталог
- •Система безопасности распределенных систем
Архитектура Windows nt
Когда в 1989 году Microsoftприступила к разработкеWindowsNT, было выдвинуто несколько ключевых требований к новой операционной системе. Это должна была быть полностью 32-разрядная ОС, способная работать на многочисленных аппаратных платформах с разной архитектурой.
Кроме того, от NTтребовалось выполнение большинства существующих 16-разрядных приложений дляMS-DOSиWindows3.х.
В целях обеспечения эффективности и целостности работы ОС в системе WindowsNTреализуются два режима работы (см. рис) :
режим ядра (kernel mode)
режим пользователя (user mode)
Режим ядра- это привилегированный режим работы, в котором код получает прямой доступ ко всем аппаратным ресурсам и всей памяти, включая адресные пространства всех процессов режима пользователя. Функциональные возможности компонентов режима ядра включают:
прямой доступ к оборудованию;
прямой доступ ко всем видам памяти компьютера;
возможность работы без передачи на жесткий диск в файл подкачки виртуальной памяти;
более высокий приоритет исполнения, чем процессы режима пользователя.
Функционирование режима ядра WindowsNTобеспечивается исполняющей системойWindowsNT(WindowsNTExecutive), состоящей из следующих компонентов :
сервис исполняющей системы - управление памятью, процессами, потоками, безопасностью, вводом/выводом, межпроцессорными обменами (см. схему);
ядро Windows NT(ntoskrnl.exe) выполняет низкоуровневые функции операционной системы: диспетчеризация потоков, прерываний и исключений, синхронизация процессоров, отложенный вызов процедур. В отличие от остальной исполняемой части операционной системы, ядро никогда не выгружается из оперативной памяти, его выполнение никогда не прерывается другими потоками. Код ядра написан в основном на Си, а части, дающие наибольшую нагрузку на процессор, на языке Ассемблера. Ядро расположено между слоем системных служб иHAL;
слой абстракции от оборудования (HAL - Hardware Abstraction Layer)изолирует ядро, драйверы устройств и исполняемую частьNTот аппаратных платформ, на которых должна работать операционная система. Этот программный слой позволяет скрыть особенности аппаратных платформ, предоставив ОС стандартные точки входа в процедуры, благодаря чему для нее исчезают различия между платформами и архитектурами. Поэтому ОС может функционировать на разных платформах с разными процессорами (остались толькоIntelиAlpha). Кроме того,WindowsNTспособна работать на одно- и многопроцессорных компьютерах;
Кроме того в режиме ядра работают :
драйверы устройстввключают как файловую систему, так и аппаратные драйверы, которые транслируют пользовательские вызовы функций ввода/вывода в запросы физических устройств ввода/вывода;
функции графического интерфейса пользователяработают с окнами, элементами управления и рисунками.
Режим пользователя- менее привилегированный по сравнению с режимом ядра работы процессора.
не имеет прямого доступа к аппаратуре. Это сделано в целях защиты от неверно работающих приложений или от несанкционированного доступа. Запросы на использование аппаратных ресурсов должны быть разрешены компонентом режима ядра;
ограничен размерами выделенного адресного пространства, что позволяет обеспечить дополнительную защиту ОС. Системные службы он вызывает через интерфейсы прикладных программ (ApplicationProgramInterface-API);
может быть выгружен из физической памяти в виртуальную память на жестком диске. Виртуальная память (virtual memory, VRAM)использует пространство на жестком диске как дополнительную оперативную память;
Приоритет процесса пользовательского типа ниже, чем у процессов режима ядра. Поэтому в сравнении с последним ему, как правило, предоставляется меньше процессорного времени. Это предохраняет ОС от снижения производительности или возникновения задержек, связанных с ожиданием завершения работы приложений.
Имеется четыре базовых типа пользовательских процессов :
Специальные процессы поддержки системы,например, процесс регистрации пользователя и менеджер сессий, которые не являются службамиNT;
Процессы сервера, которые являются службами NT(аналог демонов в ОСUnix). Примером может быть регистратор событий (EventLogger);
Подсистемы среды,которые обеспечивают пользовательским приложениям среду других операционных систем.WindowsNTпоставляется с тремя подсистемами:Win32,PosixиOS/2 2.1;
Пользовательские приложенияодного из пяти типов:Win32,Windows3.1 (Win16),MS-DOS,PosixилиOS/2 2.1.