Смекни!
smekni.com

на тему (стр. 2 из 3)

специальным образом оптимизирован по занимаемому объёму и эффек-

тивности функционирования .Ядро отвечает за планирование выполнения

потоков , синхронизацию работы нескольких процессоров , обработку аппа-

ратных прерываний и исключительных ситуаций .

· Исполняющая система включает в свой состав набор программных конст-

рукций привилегированного режима ( 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-

тями обеспечивается рядом сетевых драйверов .

Редиректоры и серверы функционируют как драйверы файловой сис-