Windows NT - ОС нового поколения
но возрастают возможности обработки больших объёмов данных.
Операционные системы класса MS-DOSа уже не справляются с таким
потоком данных и не могут целиком использовать ресурсы современных ком-
пьютеров.Поэтому в последнее время происходит переход на более мощные
и наиболее совершенные операционные системы класса UNIX, примером ко-
торых и является Windows NT,выпущенная корпорацией Microsoft.
Прежде чем начать говорить о Windows NT я хотел бы предложить
статью из еженедельника ComputerWeek Moscow от 1-7 февраля 1996,кото-
рая выражает мнение производителей компьютерных систем по вопросу о
перспективности Windows NT :
“ Производители компьютеров возлагают
большие надежды на NT.
Производители готовы обрушить на рынок лавину рабочих станций и серверов с предварительно установленными Windows NT и Gibraltar, новым
серверным ПО для Internet. Microsoft не публикует данные об инсталирован-
ной базе NT,однако утверждает,что более 40 компаний собираются исполь-
зовать NT Workstation в качестве ОС более чем на 10.000 ПК.К тому же,по
данным нескольких консалтинговых фирм, в месяц продаётся более 30.000
копий ОС NT Server.Эти цифры заставляют задуматься о том,как бы не
опоздать.
“Спору нет,NT - это удача Microsoft “, - считает Мариса Хейнс,на-
чалник отдела маркетинга продуктов MIPS - NT компании NEC Technologies.
Вот почему Compaq, Dell,Gateway 2000,NEC,NetFrame и другие производи-
тели компьютеров представляют новые NT - системы.
11 декабря NEC перешла в наступление одновременно на рынке сер-
веров и настольных компьютеров, выпустив RISC server 2250 и RISC station
2250.Стоимость систем - от 5500 до 23500 US$, их конфигурация может
включать в себя два микропроцессора Mips R4400 с тактовой частотой 250
Мгц.RISC station компании NEC имеет встроенные средства обработки трёх-
мерных графических приложений,написанных на OpenGL,и предназначаются
для применения в области САПР и мультимедиа - приложений. RISC server,
определяемый как коммуникационный сервер общего назначения,поддержи-
вают пакет Microsoft BackOffice.
В промышленных кругах говорят,что NEC готовит ещё ряд серверов
с установленным ПО Gibraltar,которые она собирается выпустить на рынок в
начале этого года. ”Скоро мы подробнее узнаем об этих планах “, - уверена
Хейнс.
Компания NetFrame последовала примеру NEC и забросила NetWare.
Она только что приступила к выпуску Cluster Server 8500 - четырёхканального
многопроцессорного сервера с высокой отказоустойчивостью.Его минималь-
ная цена - 31900 US$.
-2-
“Ходит много разговоров об отказоустойчивых NT - серверах,но се-
годня только мы поставляем такие системы “, - заявил Кевин Кин, начальник
отдела маркетинга продукции компании NetFrame.
По крайней мере один реселлер NetFrame - корпорация Lantec - с эн-
тузиазмом ожидает новые серверы.” У нас много контрактов на NT, - гово-
рит Джерри Бил,ведущий инженер сервисной службы Lantec, - NetFrame по-
может нам частично удовлетворить эти заказы “.
Тем временем Compaq,Dell и Getway готовят NT - серверы на базе
микропроцессоров Pentium Pro компании Intel.Ожидается,что NT станет ве-
дущей ОС для Pentium Pro,поскольку Windows 95 содержит 16- ти разрядный
код и работает на Pentium Pro не так быстро,как полностью 32-ух разрядная NT.В 1996 году объём продаж NT будет нарастать,скорее всего,как снежный
ком. “
Далее я постараюсь наиболее кратко рассказать о внутреннем уст-
ройстве Windows NT и о взаимодействие её внутренних модулей.
Когда пользователь впервые видит операционную систему Microsoft
Windows NT,ему в глаза бросается отчётливое внешнее сходство с полюбив-
шимся интерфейсом системы Windows 3.x.Однако это видимое сходство яв-
ляется лишь незначительной частью Windows NT.
Windows NT является 32-ух разрядной операционной системой с при-
оритетной многозадачностью. В качестве фундаментальных компонентов в
состав операционной системы входят средства обеспечения безопасности и
развитый сетевой сервис.Windows NT также обеспечивает совместимость со
многими другими операционными и файловыми системами, а также с сетями.
Windows NT способна функционировать как на компьютерах, оснащенных
CISC - процессорами со сложной системой команд ( complex instruction set
computing ), так и на компьютерах с RISC - процессорами, имеющими сокра-
щённый набор инструкций ( reduced instruction set computing ). Операционная
система Windows NT также поддерживает высокопроизводительные системы с
мультипроцессорной конфигурацией.
Знакомым в Windows NT является только внешний облик.За графичес-
ким пользовательским интерфейсом скрываются мощные возможности. При-
водя обзорные сведения по составляющим Windows NT компонентам я поста-
раюсь более детально рассмотреть некоторые из них.
Задачи,поставленные при создании Windows NT
Система Windows NT не является дальнейшим развитием ранее сущес-
твовавших продуктов. Её архитектура создавалась с нуля с учётом предъяв-
ляемых к современной операционной системе требований. Особенности но-
вой системы,разработанной на основе этих требований,перечислены ниже.
* Стремясь обеспечить совместимость (compatible) новой операционной сис-
темы,разработчики Windows NT сохранили привычный интерфеис Windows
и реализовали поддержку существующих файловых систем (таких,как FAT )
и различных приложений (написанных для MS - Dos,OS/2 1.x,Windows 3.x и
POSIX ).Разработчики также включили в состав Windows NT средства рабо-
-3-
ты с различными сетевыми средствами.
* Достигнута переносимость (portability) системы,которая может теперь ра-
ботать как на CISC, так и на RISC - процессорах.К CISC относятся Intel -
совместимые процессоры 80386 и выше ;RISC представлены системами с
процессорами MIPS R4000, Digital Alpha AXP и Pentium серии P54 и выше.
* Масштабируемость (scalability) означает, что Windows NT не привязана к
однопроцессорной архитектуре компьютеров,а способна полностью испо-
льзовать возможности, предоставляемые симметричными мультипроцес-
сорными системами.В настоящее время Windows NT может функциониро-
вать на компьютерах с числом процессоров от 1 до 32. Кроме того, в слу-
чае усложнения стоящих перед пользователями задач и расширения предъ-
являемых к компьютерной среде требований,Windows NT позволяет легко
добавлять более мощные и производительные серверы и рабочии станции
к корпоративной сети.Дополнительные преимущества даёт использование
единой среды разработки и для серверов,и для рабочих станций.
* Windows NT имеет однородную систему безопасности (security),удовлетво-
ряющую спецификациям правительства США и соответствующую стандарту
безопастности В2.В корпоративной среде критическим приложениям обес-
печивается полностью изолированное окружение.
* Распределённая обработка ( distributed processing ) означает,что Windows
NT имеет встроенные в систему сетевые возможности. Windows NT также
позволяет обеспечить связь с различными типами хост - компьютеров бла-
годаря поддержке разнообразных транспортных протоколов и использова-
нию средств “клиент-сервер” высокого уровня,включая именованные кана-
лы,вызовы удалённых процедур (RPC - remote procedure call ) и Windows -
сокеты.
* Надёжность и отказоустойчивость (reliability and robustness) обеспечивают-
архитектурными особенностями,которые защищают прикладные програм-
мы от повреждения друг другом и операционной системой.Windows NT ис-
пользует отказоустойчивую структурированную обработку особых ситуаций
на всех архитектурных уровнях,которая включает восстанавливаемую фай-
ловую систему NTFS и обеспечивает защиту с помощью встроенной систе-
мы безопасности и усовершенствованных методов управления памятью.
* Возможности локализации ( allocation) представляют средства для работы во многих странах мира на национальных языках,что достигается примене-
нием стандарта ISO Unicod ( разработан международной организацией по
стандартизации ).
* Благодаря модульному построению системы обеспечивается расширяе-
мость (insibility) Windows NT,что,как будет показано в следующем разде-
ле,позволяет гибко осуществлять добавление новых модулей на различные
уровни операционной системы.
Архитектурные модули Windiws NT
Как показано на следующем рисунке,Windows NT представляет из се-
модульную (более совершенную,чем монолитная )операционную систему,ко-
торая состоит из отдельных взаимосвязанных относительно простых модулей.
Основными модулями Windows NT являются (перечислены в порядке следова-
ния от нижнего уровня архитектуры к верхнему ) : уровень аппаратных абст-
ракций HAL (Hardware Abstraction Layer ),ядро (Kernel ), исполняющая систе-
-4-
ма (Executive),защищенные подсистемы (protected subsystems) и подсистемы
среды (environment subsystems ).
Модульная структура Windows NT
Краткое описание модульной структуры Windows NT представлено да-
лее.Дальнейший материал посвящён детальному рассмотрению каждого из
компонентов Windows NT,начиная с уровня аппаратных абстракций HAL,кото-
рый распологается между аппаратными средствами компьютера и остальной
частью операционной системы.
* Уровень аппаратных абстракций виртуализирует аппаратные интерфейсы,
обеспечивая тем самым независимость остальной части операционной сис-
темы от конкретных аппаратных особенностей.Подобный подход позволяет
обеспечить легкую переносимость Windows NT с одной аппаратной плат-
формы на другую.
* Ядро является основой модульного строения системы и координирует вы-
*
-5-
полнение большинства базовых операций Windows NT. Этот компонент
специальным образом оптимизирован по занимаемому объёму и эффек-
тивности функционирования.Ядро отвечает за планирование выполнения
потоков, синхронизацию работы нескольких процессоров, обработку аппа-
ратных прерываний и исключительных ситуаций.
* Исполняющая система включает в свой состав набор программных конст-
рукций привилегированного режима ( kernel - mode ), представляющих ба-
зовый сервис операционной системы подсистемам среды. Исполняющая
система состоит из нескольких компонентов ; каждая из них предназначена
для поддержки определённого системного сервиса. Так, один из компо-
нентов - монитор безопасности (Security Reference Monitor) - функциониру-
ет совместно с защищёнными подсистемами и обеспечивает реализацию
модели безопасности системы.
* Подсистемы среды представляют собой защищённые серверы пользова-
тельского режима (user-mode),которые обеспечивают выполнение и под-
держку приложений,разработанных для различного операционного окруже-
ния (различных операционных систем ). Примером подсистем среды могут
служить подсистемы Win32 и OS/2.
Уровень аппаратных абстракций
Уровень аппаратных абстракций ( HAL ) представляет собой создавае-
мый производителями аппаратных средств слой программного обеспечения,
который скрывает (или абстрагирует ),особенности и различия аппаратуры от
верхних уровней операционной системы.Таким образом,благодаря обеспечи-
ваемому HALом фильтру,различные аппаратные средства выглядят аналогич-
но с точки зрения операционной системы ; снимается необходимость специ -
альной поднастройки операционной системы под используемое оборудова -
ние.
При создании уровня аппаратных абстракций ставилась задача подго-
товки процедур,которые позволяли бы единственному драйверу конкретного
устройства поддерживать функционирование этого устройства для всех
платформ. HAL ориентирован на большое число разновидностей аппаратных
платформ с однопроцессорной архитектурой ; таким образом для каждого из
аппаратных вариантов не требуется отдельной версии операционной сис-
темы.
Процедуры HAL называются как средствами операционной системы
(включая ядро), так и драйверами устройств.При работе с драйверами уст-
ройств уровень аппаратных абстракций обеспечивает поддержку различных
технологий ввода - вывода (вместо традиционной ориентации на одну аппа-
ратную реализацию или требующей значительных затрат адаптации под каж-
дую новую аппаратную платформу ).
Уровень аппаратных абстракций позволяет также “скрывать” от осталь-
ных уровней операционной системы особенности аппаратной реализации
симметричных мультипроцессорных систем.
Ядро
-6-
Ядро (Kernel) является “сердцем ” Windows NT и работает в тесном
контакте с уровнем аппаратных абстракций. Этот модуль, в первую очередь,
занимается планированием действий компьютерного процессора. В случае
если компьютер содержит несколько процессоров, ядро синхронизирует их
работу с целью достижения максимальной производительности системы.
Ядро осуществляет диспетчеризацию нитей управления (threads,иног-
да называются подзадачами,ответвлениями или потоками ), которые являют-
ся основными объектами в планируемой системе.Нити управления определя-
ются в контексте процесса ;процесс включает адресное пространство, набор
доступных процессу объектов и совокупность выполняемых в контексте про-
цесса нитей управления. Объектами являются управляемые операционной
системой ресурсы.
Ядро производит диспетчеризацию нитей управления таким образом,
чтобы максимально загрузить процессоры системы и обеспечить первооче-
редную обработку нитей с более высоким приоритетом. ( Всего существует
32 значения приоритета,которые сгруппированы в два класса приоритетов :
real-time и variable ).Подобный подход позволяет достичь максимальной эф-
фективности операционной системы.
Под компоненты исполняющей системы, такие как диспетчер ввода -
вывода и диспетчер процессов, используют ядро для синхронизации дейст-
вий.Они также взаимодействуют с ядром для более высоких уровней абст-
ракции,называемых объектами ядра ;некоторые из этих объектов экспорти-
руются внутри пользовательских вызовов интерфейса прикладных программ
(API).
Ядро управляет двумя типами объектов.
* Объекты диспетчеризации (dispatcher objects) характеризуются сигнальным
состоянием ( signaled или nonsignaled ) и управляют диспетчеризацией и
синхронизацией системных операций.Эти объекты включают события, му-
танты,мутэксы,семафоры, нити управления и таймеры ( events, mutants,
mutexes,semaphores,threads,timers ).
* Управляющие объекты ( control objects ) используются для операций управ-
ления ядра, но не воздействуют на диспетчеризацию или синхронизацию.
Управляющие объекты включают в себя асинхронные вызовы процедур,
прерывания,уведомления и состояния источника питания,процессы и про-
фили (asynhcronous procedure calls, interupts,power notifies, power statuses,processes,profiles).
Исполняющая система Windows NT
Исполняющая система ( Executive ), в состав которой входит ядро и
уровень аппаратных абстракций HAL, обеспечивает общий сервис системы,
который могут использовать все подсистемы среды. Каждая группа сервиса
находится под управлением одной из отдельных составляющих исполняющей
системы :
* диспетчера объектов (Object Manager)
* диспетчера виртуальной памяти (Virtual Memory Manager);
* диспетчера процессов (Process Manager)
*
-7-
* средства вызова локальных процедур (Local Procedure Call Facility);
* диспетчера ввода - вывода (E/O Maneger);
* мониторы безопасности (Security Reference Monitor).
Монитор безопасности совместно с процессором входа в сиситему
( Logon ) и защищёнными подсистемами реализует модель безопасности
Windows NT.
Верхний уровень исполняющей системы называется системным серви-
сом (System Services ). Показанный на следующем рисунке системный сервис
представляет собой интерфейс между подсистемами среды пользовательско-
го режима и привилегированным режимом.
Диспетчер кэша
Архитектура ввода - вывода содержит единственный диспетчер кэша
(Cache Manager),который осуществляет кэширование для всей системы вво-
да - вывода.Кэширование (Caching) - метод,используемый файловой систе-
мой для увеличения эффективности.Вместо непосредственной записи и счи-
тывания с диска,часто используемые файлы временно сохраняются в кэш -
памяти ;таким образом,работа с этими файлами выполняется в памяти. Опе-
-8-
рации с данными,находящимися в памяти, производятся значительно быст-
рее операций с данными на диске.
Диспетчер кэша использует модель отображения файла,которая интег-
рированна с диспетчером виртуальной памяти Windows NT.Диспетчер кэша
обеспечивает службу кэширования для всех файловых систем и сетевых ком-
понентов,функционирующих под управлением диспетчера ввода - вывода. В
зависимости от объёма доступной оперативной памяти диспетчер кэша мо -жет динамически увеличивать или уменьшать размер кэша.Когда процесс
открывает файл,который уже находился в кэше,диспетчер кэша просто копи-
рует данные из кэша в виртуальное адресное пространство.
Диспетчер кэша поддерживает службы типа ленивой записи ( lazy
write) и ленивой фиксации (lazy commit), которые могут значительно увеличить
эффективность файловой системы. В процессе ленивой записи изменения
регистрируются в кэше файловой структуры,обеспечивающем более быстрый
доступ.Позднее,когда загрузка центрального процессора снижена, диспет-
чер кэша заносит изменения на диск.Ленивая фиксация подобна ленивой за-
писи.Вместо немедленной маркировки транзакции как успешно завершив-
шейся,переданная информация кэшируется и позднее в фоновом режиме за-
писывается в журнал файловой системы.
Драйверы файловой системы
В архитектуре ввода - вывода Windows NT управление драйверами
файловой системы осуществляет диспетчер ввода - вывода. Windows NT до-
пускает использование множества файловых систем, включая существующие
файловые системы типа FAT. Для обеспечения совместимости снизу вверх
с операционными системами MS-Dos, Windows 3.x и OS/2, Windows NT под -
держивает файловые системы FAT и HPFS.
Кроме того,Windows NT также поддерживает NTFS - новую файловую
систему,разработанную специально для использования с Windows NT. NTFS
обеспечивает множество возможностей, включая средства восстановления
файловой системы, поддержку Unicode,длинных имён файлов и поддержку
для POSIX.
Архитектура ввода - вывода Windows NT не только поддерживает тра-
диционные файловые системы,но и обеспечивает функционирование сете-
вого редактора и сервера в качестве драйверов файловой системы. С точки
зрения диспетчера ввода - вывода, нет никакой разницы между работой с
файлом,сохранённым на удалённом компьютере сети,и работой с файлом на
локальном жёстком диске. Редиректоры и серверы могут быть загружены и
выгружены динамически,так же как и любые другие драйверы ;на одном ком-
пьютере может одновременно находиться большое число редиректоров и
серверов.
Сетевые драйверы
Следующим типом драйверов,присутствующих в качестве компонента
в архитектуре ввода - вывода,являются сетевые драйверы.Windows NT вклю-
чает интегрированные возможности работы с сетями и поддержку для рас-
пределённых приложений.Как показано на следующем рисунке работа с се-
-9-
тями обеспечивается рядом сетевых драйверов.
Редиректоры и серверы функционируют как драйверы файловой сис-
темы и выполняются на уровне интерфейса поставщика или ниже, где нахо-
дятся NetBIOS и Windows - сокет.
Драйверы транспортного протокола общаются с редиректорами и сер-
верами через уровень, называемый интерфейсом транспортного драйвера
(TDI - Transport Driver Interface). Windows NT включает следующие транспорт-
ные средства :
* Протокол управления передачей / межсетевой протокол TCP/IP, который обеспечивает возможность работы с широким диапазоном существующих сетей.
* NBF,потомок расширенного интерфейса пользователя NetBIOS (NetBEUI ), который обеспечивает совместимость с существующими локальными вы- числительными сетями на базе LAN Manager,LAN Server и MS-Net.
* Управление передачей данных (DLC - Data Link Control), которое обеспечи-вает интерфейс для доступа к мэйнфрэймам и подключённым к сети прин-терам.
* NWLink,реализация IPX/SPX, обеспечивающая связь с Nowell NetWare.
В нижней части сетевой архитектуры находится драйвер платы сетево-
го адаптера.Windows NT в настоящее время поддерживает драйверы уст-
-10-
ройств,выполненные в соответствии со спецификацией NDIS (Network Device
Inerface Specification ) версии 3.0.NDIS предоставляет гибкую среду обмена данными между транспортными протоколами и сетевыми адаптерами.NDIS 3.0 позволяет отдельному компьютеру иметь несколько установленных в нём
плат сетевого адаптера.В свою очередь,каждая плата сетевого адаптера может поддерживать несколько транспортных протоколов для доступа к раз-
личным типам сетевых станций.
Модель безопасности Windows NT
Модель безопасности Windows NT представлена монитором безопас-
ности (Security Reference Monitor),а также двумя другими компонентами : про-
цессором входа в систему (Logon Process) и безопасными защищёнными под-
системами.
В многозадачной операционной системе, каковой является Windows NT приложения совместно используют ряд ресурсов системы,включая память
компьютера,устройства ввода - вывода,файлы и процессор(ы) системы. Windows NT включает набор компонентов безопасности,которые гарантируют,
что приложения не смогут обратиться к этим ресурсам без соответствующего разрешения.
Монитор безопасности отвечает за проведение в жизнь политики проверки правильности доступа и контроля,определённой локальной подсистемой безопасности.Монитор безопасности обеспечивает услуги по подтверждению доступа к объектам,проверке привилегий пользователя и ге- нерации сообщений как для привилегированного режима,так и для режима пользователя.Монитор безопасности,подобно другим частям операционной системы,выполняется в привилегированном режиме.
Процесс входа в систему в Windows NT предусматривает обязатель- ный вход в систему безопасности для идентификации пользователя.Каждый пользователь должен иметь бюджет и должен использовать пароль для обра- щения к этому бюджету.
Прежде чем пользователь сможет обратиться к любому ресурсу компьюте- ра с Windows NT,он должен войти в систему через процесс входа в систему для того,чтобы подсистема безопасности могла распознать имя пользовате- ля и пароль.Только после успешного установления подлинности монитор без-опасности выполняет процедуру проверки правильности доступа для опреде-ления права пользователя на обращение к этому объекту.
Защищённость ресурсов - одна из особенностей,предоставляемая моделью безопасности.Задачи не могут обращаться к чужим ресурсам (типа памяти) иначе,чем через применение специальных механизмов совместного использования.
Windows NT также предоставляет средства контроля,которые позво- ляют администратору фиксировать действия пользователей.
Итоги
Подводя итоги всему вышеописанному хочу сказать,что это только маленькая часть всех возможностей, которые заложены в Windows NT.Хочу
-11-
кратко перечислить достоинства Windows NT :
1. Это современная ОС,отвечающая требованиям современной аппаратуры !
2. Это прекрасно совместимая с другими ОС !
3. Это многозадачная (мультизадачная) ОС !
4. Это хорошо защищённая ОС !
5. И это удобная и надёжная ОС !
Для составления реферата я пользовался материалами еженедельника ComputerWeek Moscow и материалами книги “Ресурсы Windows NT” издатель-ства “BHV - Санкт-Петербург”.