Архитектура (модель) ОС MS Windows NT (2000/XP). Компоненты ядра и компоненты пользовательского режима. Файловое дерево ОС MS Windows на загрузочном томе
Когда в 1989 году Microsoft приступила к разработке Windows NT, было выдвинуто несколько ключевых требований к новой операционной системе. Это должна была быть полностью 32-разрядная ОС, способная работать на многочисленных аппаратных платформах с разной архитектурой. Кроме того, от NT требовалось выполнение большинства существующих 16-разрядных приложений для MS-DOS и Windows 3.х.
В целях обеспечения эффективности и целостности работы ОС в системе Windows NT реализуются два режима работы (см. схему) :
· режим ядра (kernel mode)
· режим пользователя (user mode)
Режим ядра - это привилегированный режим работы, в котором код получает прямой доступ ко всем аппаратным ресурсам и всей памяти, включая адресные пространства всех процессов режима пользователя. Функциональные возможности компонентов режима ядра включают:
· прямой доступ к оборудованию;
· прямой доступ ко всем видам памяти компьютера;
· возможность работы без передачи на жесткий диск в файл подкачки виртуальной памяти;
· более высокий приоритет исполнения, чем процессы режима пользователя.
Кроме того в режиме ядра работают :
· драйверы устройств включают как файловую систему, так и аппаратные драйверы, которые транслируют пользовательские вызовы функций ввода/вывода в запросы физических устройств ввода/вывода;
· функции графического интерфейса пользователя работают с окнами, элементами управления и рисунками.
Режим пользователя - менее привилегированный по сравнению с режимом ядра работы процессора.
· не имеет прямого доступа к аппаратуре. Это сделано в целях защиты от неверно работающих приложений или от несанкционированного доступа. Запросы на использование аппаратных ресурсов должны быть разрешены компонентом режима ядра;
· ограничен размерами выделенного адресного пространства, что позволяет обеспечить дополнительную защиту ОС. Системные службы он вызывает через интерфейсы прикладных программ
· может быть выгружен из физической памяти в виртуальную память на жестком диске.
· Приоритет процесса пользовательского типа ниже, чем у процессов режима ядра. Поэтому в сравнении с последним ему, как правило, предоставляется меньше процессорного времени
Имеется четыре базовых типа пользовательских процессов :
· Специальные процессы поддержки системы, например, процесс регистрации пользователя и менеджер сессий, которые не являются службами NT;
· Процессы сервера, которые являются службами NT (аналог демонов в ОС Unix). Примером может быть регистратор событий (Event Logger);
· Подсистемы среды, которые обеспечивают пользовательским приложениям среду других операционных систем. Windows NT поставляется с тремя подсистемами: Win32, Posix и OS/2 2.1;
· Пользовательские приложения одного из пяти типов: Win32, Windows 3.1 (Win16), MS-DOS, Posix или OS/2 2.1.
Порядок и основные процедуры для загрузки ОС на аппаратной платформе IBM-совместимых ПЭВМ. Мультисистемная организация, диспетчеры загрузки ОС.