Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная4.doc
Скачиваний:
17
Добавлен:
17.04.2015
Размер:
370.18 Кб
Скачать

Архитектура Windows nt

Когда в 1989 году Microsoftприступила к разработкеWindowsNT, было выдвинуто несколько ключевых требований к новой операционной системе. Это должна была быть полностью 32-разрядная ОС, способная работать на многочисленных аппаратных платформах с разной архитектурой.

Кроме того, от NTтребовалось выполнение большинства существующих 16-разрядных приложений дляMS-DOSиWindows3.х.

В целях обеспечения эффективности и целостности работы ОС в системе WindowsNTреализуются два режима работы (см. рис) :

        режим ядра (kernel mode)

        режим пользователя (user mode)

Режим ядра- это привилегированный режим работы, в ко­тором код получает прямой доступ ко всем аппаратным ресур­сам и всей памяти, включая адресные пространства всех процес­сов режима пользователя. Функциональные возможности ком­понентов режима ядра включают:

        прямой доступ к оборудованию;

        прямой доступ ко всем видам памяти компьюте­ра;

        возможность работы без передачи на жесткий диск в файл подкачки виртуальной памяти;

        более высокий приоритет испол­нения, чем процессы режима пользователя.

Функционирование режима ядра WindowsNTобеспечивает­ся исполняющей системойWindowsNT(WindowsNTExecu­tive), состоящей из следующих компонентов :

        сервис исполняющей системы - управление памятью, процессами, потоками, безопасностью, вводом/выводом, межпроцессорными обменами (см. схему);

        ядро Windows NT(ntoskrnl.exe) выполняет низкоуровневые функции операционной системы: диспетчеризация потоков, прерываний и исключений, синхронизация процессоров, отложенный вызов процедур. В отличие от остальной исполняемой части операционной системы, ядро никогда не выгружается из оперативной памяти, его выполнение никогда не прерывается другими потоками. Код ядра написан в основном на Си, а части, дающие наибольшую нагрузку на процессор, на языке Ассемблера. Ядро расположено между слоем системных служб иHAL;

        слой абстракции от оборудования (HAL - Hardware Abstraction Layer)изолирует ядро, драйверы устройств и исполняемую частьNTот аппаратных платформ, на которых должна работать операционная система. Этот про­граммный слой позволяет скрыть особенности аппаратных платформ, предоставив ОС стандартные точки входа в процеду­ры, благодаря чему для нее исчезают различия между платформами и архитектурами. Поэтому ОС может функционировать на разных платформах с разными процессорами (остались толькоIntelиAlpha). Кроме того,WindowsNTспо­собна работать на одно- и многопроцессорных компьютерах;

Кроме того в режиме ядра работают :

        драйверы устройстввключают как файловую систему, так и аппаратные драйверы, которые транслируют пользовательские вызовы функций ввода/вывода в запросы физических устройств ввода/вывода;

        функции графического интерфейса пользователяработают с окнами, элементами управления и рисунками.

Режим пользователя- менее приви­легированный по сравнению с режимом ядра работы процессора.

        не имеет прямого доступа к аппаратуре. Это сделано в целях защиты от неверно работаю­щих приложений или от несанкционированного доступа. Запро­сы на использование аппаратных ресурсов должны быть разре­шены компонентом режима ядра;

        ограничен размерами выделенного адресного простран­ства, что позволяет обеспечить дополнительную защиту ОС. Системные службы он вызывает через интерфейсы прикладных программ (Applica­tionProgramInterface-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.