На данный момент мировая компьютерная индустрия развивается очень стремительно .Производительность систем возрастает ,а следователь-
но возрастают возможности обработки больших объёмов данных .
Операционные системы класса 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 - Санкт-Петербург”.