Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Novel, Unix, WindowsNT.doc
Скачиваний:
68
Добавлен:
05.04.2013
Размер:
2.71 Mб
Скачать

Windows nt

В процессе создания системы Windows NT разработчики заранее поставили ряд задач так чтобы система была наиболее универсальна и открыта для дополнений. Среди них можно выделить следующие:

  • Совместимость (compatible) программного обеспечения с такими существующими операционными системами как DOS, WSI, WFW, OS/2, POSIX, с позиций привычного интерфейса и поддержки распространенных файловых систем (FAT, HPFS, CDFS, NFS).

  • Переносимость (portability)-то есть способность работать на машинах разной архитектуры CISC, RISC, DEC,ALFA.

  • Масштабируемость (sсalability) означает, что система способна полностью реализовать возможности предоставляемые симметричными мультипроцессорными системами с числом компьютеров от 1 до 32.

  • Единая система безопасности (security) удовлетворяет требованиям специфики правительства США по стандарту с2, обеспечивая полную защиту при работе в корпоративных сетях.

  • Распределенная обработка (distributed processing) означает встроенное в систему сетевое программное обеспечение единое с самой операционной системой и дающее возможности на организацию связей с различного рода host-компьютерами, поддержка разнообразных протоколов.

  • Надежность и отказоустойчивость (reliability and robustness) обеспечивается архитектурными особенностями, которые защищают прикладные программы от повреждения друг другом и самой повреждения самой операционной системы. WindowsNT имеет отказоустойчивую структурную оболочку для обработки особых ситуаций на всех архитектурных уровнях, включая файловую систему NTFS и обеспечивая защиту встроенной системой безопасности и специальными методами управления памяти.

  • Локализация (localization) поддержку параллельно многих языков мира и использует стандарт ISOUnicode.

  • Расширяемость (extensibility) свойство приобретенное за счет модульного и многоуровнего построения системы позволяет гибко и легко добавлять новые модули на различные уровни OS.

Архитектура WindowsNt

Как показано на рисунке Windows NTпредставляет собой модульную, вертикально организованную операционную систему, состоящую из отдельных взаимосвязанных модулей.

Начнем рассмотрение этих модулей последовательно снизу вверх, начиная с уровня аппаратных абстракций.

  • Уровень аппаратных абстракций(HAL) виртуализирует аппаратные интерфейсы, обеспечивая тем самым независимость остальной части OS от аппаратных особенностей. Такой подход обеспечивает переносимость Windows NT с одной аппаратной платформы на другую. HAL скрывает от верхних слоев операционной системы особенности и различия аппаратуры. Тем самым снимается необходимость специальной настройки ОС на используемое оборудование.HALпозволяет также “скрывать” от остальных, более высоких уровней особенности мультипроцессорных систем. HAL вызывается как средствами OS включая ядро, так и драйверами устройств.

  • Ядро(Kernel) является центром системы и работает в тесном контакте сHAL. Этот модуль занимается планированием действий процессора (при наличии нескольких процессоров синхронизирует их работу с целью достижения максимальной производительности). Основная задача ядра это диспетчеризация всех потоков (threads-нитей управления) которые являются основными объектами в системе.

Работа ядра оптимизирует объем и эффективность функционирования оборудования. Ядро отвечает за планирование, выполнения потоков, синхронизацию работы нескольких процессоров, обработку аппаратных прерываний и исключительных ситуаций. Ядро производит диспетчеризацию с целью максимально загрузить все процессоры системы и обеспечить первоочередную обработку потоков с более высоким приоритетом

Поток всегда определяется в контексте процесса. Процесс включает в себя адресное устройство, набор доступных процессу объектов, и совокупность выполняемых в контексте процесса потоков.

Ядро объектыуправляет двумя типами объектов:

  • объекты диспетчеризации- характеризуются сигнальным состоянием и управляют диспетчеризацией и синхронизацией системных операций. Эти объекты включают: события, мутанты, мутэксы, семафоры, потоки управления, таймеры.(events, mutants, mutexes, semaphores, threads, timers).

  • Управляющие объекты- для операций управления ядра по не воздействующих на диспетчеризацию и синхронизацию. Включает в себя: асинхронные выборы процедур прерывания, уведомления о состоянии источника питания, процессы и профили.

  • Необходимо помнить следующие постулаты, справедливые как для Windows NT, так и практически для всех современных ОС:

  • Ядро никогда не перемещаемо в памяти;

  • Ядро не выгружаемо;

  • Всегда имеет наивысший приоритет;

  • Выполняемо на всех процессорах;