Windows NT - OC нового поколения !
На данный момент мировая компьютерная индустрия развивается очень стремительно.
Производительность систем возрастает, а следовательно возрастают возможности
обработки больших объёмов данных.
Операционные системы класса 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$.
“Ходит много разговоров об отказоустойчивых 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 средства работы с различными сетевыми средствами.
Достигнута переносимость (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 ), исполняющая система (Executive),
защищенные подсистемы (protected subsystems) и подсистемы среды (environment
subsystems ).
Модульная структура Windows NT
Краткое описание модульной структуры Windows NT представлено далее. Дальнейший
материал посвящён детальному рассмотрению каждого из компонентов Windows NT,
начиная с уровня аппаратных абстракций HAL, который располагается между
аппаратными средствами компьютера и остальной частью операционной системы.
Уровень аппаратных абстракций виртуализирует аппаратные интерфейсы, обеспечивая
тем самым независимость остальной части операционной системы от конкретных
аппаратных особенностей. Подобный подход позволяет обеспечить легкую
переносимость Windows NT с одной аппаратной платформы на другую.
Ядро является основой модульного строения системы и координирует выполнение
большинства базовых операций Windows NT. Этот компонент специальным образом
оптимизирован по занимаемому объёму и эффективности функционирования. Ядро
отвечает за планирование выполнения потоков, синхронизацию работы нескольких
процессоров, обработку аппаратных прерываний и исключительных ситуаций.
Исполняющая система включает в свой состав набор программных конструкций
привилегированного режима ( kernel - mode ), представляющих базовый сервис
операционной системы подсистемам среды. Исполняющая система состоит из
нескольких компонентов ; каждая из них предназначена для поддержки определённого
системного сервиса. Так, один из компонентов - монитор безопасности (Security
Reference Monitor) - функционирует совместно с защищёнными подсистемами и
обеспечивает реализацию модели безопасности системы.
Подсистемы среды представляют собой защищённые серверы пользовательского режима
(user-mode), которые обеспечивают выполнение и поддержку приложений,
разработанных для различного операционного окружения (различных операционных
систем ). Примером подсистем среды могут служить подсистемы Win32 и OS/2.
Уровень аппаратных абстракций Уровень аппаратных абстракций ( HAL ) представляет
собой создаваемый производителями аппаратных средств слой программного
обеспечения, который скрывает (или абстрагирует ), особенности и различия
аппаратуры от верхних уровней операционной системы. Таким образом, благодаря
обеспечиваемому HALом фильтру, различные аппаратные средства выглядят аналогично
с точки зрения операционной системы ; снимается необходимость специальной
поднастройки операционной системы под используемое оборудование.
При создании уровня аппаратных абстракций ставилась задача подготовки процедур,
которые позволяли бы единственному драйверу конкретного устройства поддерживать
функционирование этого устройства для всех платформ. HAL ориентирован на большое
число разновидностей аппаратных платформ с однопроцессорной архитектурой ; таким
образом для каждого из аппаратных вариантов не требуется отдельной версии
операционной системы.
Процедуры HAL называются как средствами операционной системы (включая ядро), так
и драйверами устройств. При работе с драйверами устройств уровень аппаратных
абстракций обеспечивает поддержку различных технологий ввода - вывода (вместо
традиционной ориентации на одну аппаратную реализацию или требующей значительных
затрат адаптации под каждую новую аппаратную платформу ).
Уровень аппаратных абстракций позволяет также “скрывать” от остальных уровней
операционной системы особенности аппаратной реализации симметричных
мультипроцессорных систем.
Ядро Ядро (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) средства вызова
локальных процедур (Local Procedure Call Facility); диспетчера ввода - вывода
(E/O Maneger); мониторы безопасности (Security Reference Monitor).
Монитор безопасности совместно с процессором входа в сиситему ( Logon ) и
защищёнными подсистемами реализует модель безопасности Windows NT.
Верхний уровень исполняющей системы называется системным сервисом (System
Services ). Показанный на следующем рисунке системный сервис представляет собой
интерфейс между подсистемами среды пользовательского режима и привилегированным
режимом.
Диспетчер кэша Архитектура ввода - вывода содержит единственный диспетчер кэша
(Cache Manager), который осуществляет кэширование для всей системы ввода -
вывода. Кэширование (Caching) - метод, используемый файловой системой для
увеличенияэффективности. Вместо непосредственной записи и считывания с диска,
часто используемые файлы временно сохраняются в кэш - памяти ;таким образом,
работа с этими файлами выполняется в памяти. Операции с данными, находящимися в
памяти, производятся значительно быстрее операций с данными на диске.
Диспетчер кэша использует модель отображения файла, которая интегрированна с
диспетчером виртуальной памяти 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 в настоящее время поддерживает драйверы устройств, выполненные в
соответствии со спецификацией 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. Хочу кратко перечислить
достоинства Windows NT : Это современная ОС, отвечающая требованиям современной
аппаратуры ! Это прекрасно совместимая с другими ОС ! Это многозадачная
(мультизадачная) ОС ! Это хорошо защищённая ОС ! И это удобная и надёжная ОС !