Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
119
Добавлен:
20.05.2015
Размер:
315.9 Кб
Скачать

3. Архитектура Windows nt.

ОС семейства Windows впервые стали продаваться на рынке с середины 1993 г.

Windows Server может выступать как:

  • файл-сервер;

  • сервер печати;

  • контроллер домена;

  • сервер приложений;

  • сервер удаленного доступа;

  • сервер баз данных;

  • сервер обеспечения безопасности данных;

  • сервер резервирования данных;

  • сервер связи.

На схеме представлены основные элементы архитектуры Windows NT.

Архитектурные уровни, формирующие операционную систему Windows NT Server, состоят из модульных компонентов, распределенных по уровням. Многоуров­невая структура позволяет получить очень устойчивую базовую ОС, все последую­щие расширения которой выполняются как защищенные подсистемы. При этом добавляемые защищенные подсистемы не требуют модификаций ни базовой систе­мы, ни имеющихся защищенных подсистем.

Архитектура Windows NT состоит из двух основных уровней – режима поль­зователя и режима ядра.

Режим ядра – содержит код ОС (ядро), работающий в защищенном режиме процессора. Ядро имеет доступ к системным данным и оборудованию.

Режим пользователя – содержит подсистемы среды Windows NT и исполняющиеся в них приложения. Компоненты этого уровня формируют операционные окружения для всех пользовательских программ.

Компоненты режима ядра.

При разработке Windows NT одной из основных задач была защита ОС от ошибок, исполняющихся в ней приложений. Ниже изображены компоненты режима ядра.

Компоненты режима ядра разделены на три уровня исполнительной системы Windows NT:

службы исполнительной системы (исполнительные службы) – формирует структуру процесса и отвечает за взаимодей­ствие между процессами, управление памятью, управление объектами, управле­ние очередностью выполнения потоков, обработку прерываний, операции ввода/ вывода, защиту объектов и сетевую безопасность. Для защиты своих компонентов от воздействия приложений и подсистем исполнительная система Windows NT работает в режиме ядра. Исполнительные службы формируют интерфейс между работающими в режиме пользователя защищенными подсистемами и компонентами режима ядра. Для по­вышения производительности ОС, более экономного расходования памяти и упро­щения программного кода Windows NT Диспетчер окон (модуль User) и Интерфейс графических устройств (GDI) расположены в адресном пространстве ядра;

микро­ядро – основная часть исполнительной системы Windows NT – координирует рабо­ту всех функций ввода/вывода и синхронизирует работу исполнительных служб;

слой абстрагирования от оборудования (HAL) скрывает (абстрагирует) особенно­сти аппаратуры от вышележащих уровней ОС. HAL предоставляет ОС программ­ные абстракции общих устройств: таймера, контроллеров памяти и кэша, перифе­рийных адаптеров, схем симметричной мультипроцессорной обработки и систем­ных шин.

Особенности архитектуры Windows 2000

При запуске программы на исполнение ОС порождает процесс Windows 2000, так как является многозадачной ОС. Это означает, что процесс не может монопольно захватывать вычислительные ресурсы – их распределение является функцией ОС – ОС централизованно выделяет каждому процессу память, выйти за границы которой они самостоятельно не могут. Этим исключается возможность наложения или перекрытия процессов. Смена процессов в Windows 2000 осуществляется принудительно через определенные промежутки времени.

Понятие процесса применимо не только к пользовательским заданиям, но и к самой ОС. В Windows 2000 ядро реализовано в виде совокупности специальных процессов – модулей.

Системные процессы имеют непосредственный доступ к аппаратным ресурсам и делятся на два класса:

  • исполнительный модуль (Executive), обеспечивающий базовые операции системы, необходимые для работы остальных её компонентов (процессов);

  • расширение привилегированного режима – процессы, тесно взаимодействующие с аппаратно-зависимыми компонентами ОС;

  • защищенные подсистемы различных пользовательских интерфейсов;

  • прикладные программы пользователей.

Разделение процессов на типы и классы тесно связаны с аппаратными возможностями микропроцессора, называемых кольцами защиты.

Кольца защиты.

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

Современные процессоры имеют более двух уровней привилегий исполнения инструкций. Эти уровни называются кольцами защиты. Разработчики NT разместили в нулевом кольце защиты только самые важную часть кода ОС – исполнительный модуль. Остальные компоненты ОС обладают меньшими привилегиями.

Исполнительный модуль.

Исполнительный модуль осуществляет базовые операции нижнего уровня: управление процессами и памятью, диспетчеризацию ресурсов системы, обслуживание прерываний и обеспечение межпроцессорной связи для остальных процессов ОС и для пользовательских задач. Каждому процессу в системе присваивается определенный приоритет. Задачей исполнительного модуля является выбор процесса с наивысшим приоритетом и его запуск.

Основа исполнительного модуля – машинно-зависимое микроядро (объемом приблизительно 50 байт). Именно оно может потребовать изменения при переносе на другую компьютерную платформу.

Микроядро.

Во многих современных ОС ядро выросло настолько, что потребовалось выделить в нем микроядро, содержащее аппаратно-зависимую часть кода.

Объектно-ориентированная структура микроядра, объектами которого являются ресурсы – одно из технологических новшеств NT. Это означает, что микроядро взаимодействует с любыми ресурсами при помощи единого набора низкоуровневых вызовов. Для сравнения: в ОС ранних версий ядро при управлении драйверами использовало специфические для каждого из них команды.

В Windows 2000 ядро и программные модули, управляющие отдельными ресурсами, имеют общий канал обмена, информацией, использующий механизм сообщений. Получив сообщение, каждый модуль управления ресурсом выполняет специфические действия, например, вывод на терминал или в файл.

Для каждого модуля используется документированный программный интерфейс, что упрощает разработку программных средств.

Расширение привилегированного режима.

Расширение привилегированного режима обеспечивают высокоуровневый сервис для компонентов системы. Процессы этого уровня управляют ресурсами ОС и включают менеджер памяти, планировщики процессов, монитор безопасности, драйверы устройств, файловую систему и сетевые службы. Они являются реентерабельными, прерываемыми и могут выполняться на группе симметрично соединенных процессоров, что повышает производительность ОС при работе на многопроцессорных машинах.

Реализация ОС в виде совокупности процессов облегчает не только модификацию существующих модулей, но и дальнейшее расширение функций ОС. Например, управление сетевыми службами встроено как расширение привилегированного режима.

Потоковые драйверы.

Динамически загружаемые драйверы внешних устройств имеют двухуровневую структуру. Драйверы верхнего уровня являются аппаратно-независимыми, в то время как нижний уровень, организованный в виде специальных библиотек, привязан к конкретным устройствам. Например, общий SCSI-драйвер обслуживает все адаптеры, используя специфическое для каждого из них аппаратно-зависимые модули нижнего уровня. Для написания нового драйвера обычно необходимо лишь внести небольшие изменения в модуль нижнего уровня, причем драйверы пишутся не на Ассемблере, а на Си. Драйверы устройств могут динамически загружаться в процессе работы системы.

Драйверы реализованы как потоковые. Это позволяет направить информацию с выхода одного драйвера на вход другого, связав их в цепочки и наладив совместную последовательную работу. Можно организовать программные мультиплексоры, направив информацию с выхода одного драйвера на вход нескольких драйверов другого уровня. Потоковые драйверы широко применяются для организации работы с сетями и терминалами.

В Windows 2000 также используется концепция виртуальных драйверов, обслуживающих доступ ко всем ресурсам – как физическим устройствам (дисплей, терминалами и т.д.), так и системам управления памятью и процессорами. Этот подход делает доступ к ресурсам единообразным, упрощает разработку и сопровождение программных средств.

Файловая система.

Файловая система построена по принципу драйвера высокого уровня, что позволяет в рамках одной ОС поддерживать разные способы организации файлов на внешних устройствах, например CD-ROM; DOS – совместную FAT – таблицу; совместимую с OS\2 высокоскоростную файловую систему HPFS и собственную файловую систему NTFS.

Тома на дисках.

Как в DOS, дисковые накопители разбиваются на логические диски, которые объединяются в тома, превосходящие по емкости любой накопитель системы. Это позволяет использовать вместо дорогого быстродействующего диска массив дисков меньше емкости, получая существенный выигрыш в быстродействии, надежности и цене. Для этого используется технология RAID (массив дисков с информационной избыточностью), предусматривающая пять способов создания томов.

Защищенные подсистемы.

Важным компонентом Windows 2000 является защищенные пользовательские подсистемы, выполняемые в непривилегированном пользовательском режиме. В виде таких подсистем реализованы интерфейсы прикладных программ, причем одновременно поддерживается три типа интерфейсов: собственный 32 – разрядный, совместимый с 16 – разрядным интерфейсом DOS и Win 3.х; интерфейс совместимый с OS\2, POSIX – интерфейс UNIX программ.

Благодаря наличию нескольких интерфейсов в Windows 2000 можно запускать программы, разработанные для разных ОС. Интерфейс в стандарте POSIX обеспечивает на уровне исходных текстов совместимость со многими приложениями, работающими под UNIX.

Организация памяти.

Модель памяти Windows 2000 представляет собой 32 – разрядную линейную адресацию (без сегментов), разделение и защиту как пользовательских, так и системных процессов. Применение страничной подкачки файлов позволяет загрузить на исполнение файл, размер которого превосходит размер ОЗУ ПК. Процессы, находящиеся в ОЗУ, но не выполняющиеся в данный момент, могут быть перемещены на диск в область подкачки, в качестве которой используется специальный файл pegefile.sys. причем в системе предусматривается возможность размещения этого файла на нескольких дисках.

Параллельные вычисления.

Windows2000 может эффективно работать на ЭВМ, имеющих до 16 процессоров. Однако известно, что подключение дополнительных процессов сверх определенного числа не повышает производительности, поскольку временные издержки самой ОС начинают превышать время, затрачиваемое на исполнение пользовательских программ.

Защита информации.

Встроенные в ядро Windows 2000 «монитор защиты» обеспечивает единый механизм проверки прав доступа к любым ресурсам системы. Тем самым исключается возможность несанкционированного доступа к информации и обеспечивается высокая степень ее защиты.

Windows 2000 не только контролирует доступ к любым ресурсам, но и протоколирует: в различных журналах все действия администратора и пользователей, направленные на нарушение защиты. Система удовлетворяет требованиям американского стандарта безопасности С2, рекомендованного для банковских и финансовых применений.

Группы пользователей.

Как и в большинстве многопользовательских систем, в Win NT имеется база данных учетных записей, содержащая имена пользователей и рабочих групп, а также пароли. База ведется специальным администратором. Перед началом работы системе необходимо сообщить свое имя и пароль, которые регистрируется в базе, в противном случае доступ в систему не предоставляется.

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

Сетевые средства.

Составной частью Windows NT Server является Microsoft LAN Manager, который позволяет с помощью разнообразных сетевых транспортных протоколов связываться с приложениями, работающих в средах DOS, Windows, OS\2, Unix.

Центральные службы ОС, используемые для планирования потоков, мультипроцессорной синхронизации и других низкоуровневых задач, реализованы в микроядре. Управление виртуальной памятью и процессами, а также другие службы ОС реализованы в отдельном слое, расположенном поверх микроядра, а само микроядро изолировано от физических характеристик таймеров контроллеров прерываний и прочих аппаратных устройств, службами уровня аппаратной абстракции (НАL). Вместе эти модули образуют исполнительный механизм Windows NT Executive.

В модуле Win 32K Executive располагаются три элемента: диспетчер окон, интерфейс графических устройств (GDI) и драйверы графических устройств, передающие результаты работы GDI на экран и на принтер.

Это обеспечивает повышение производительности при работе с графикой, т.к. GDI является частью ядра, и прикладные программы непосредственно обращаются к функциям GDI, избегая сопряженных с большими накладными расходами переключений контекста, а видео драйверы могут быстрее получать доступ к аппаратным средствам, а службы Win 32 API – обращаться к службам в модуле Windows NT Executive, не проходя через границы колец.

Обращение к служебным функциям GDI и диспетчера окон из прикладной программы, кольца 3, по-прежнему приводит к переходу через границы колец. В этом случае особенность Windows 2000 заключается в том, что если несколько функций вызываются последовательно одна за другой, то они организуются в очередь в пользовательском режиме и затем направляются в ядро единым потоком, что сводит к минимуму число переходов через границу кольца. Такой подход позволяет выводить изображения на экран на 15-20% быстрее.

Системные файлы и папки Windows 2000.

Системная папка WINNT.

В данной папке хранятся все системные командные файлы и динамические библиотеки операционной системы. Файлы структурированы по каталогам. В системном каталоге …\WINNT\ … находятся некоторые их запускаемых программных модулей, файлы инициализации и конфигурирования и протоколов загрузки компонентов системы. Отличительной особенностью Windows 2000 является то, что большинство настроек параметров системы записаны в ini-, log- или txt-файлах. Файлы этих типов записаны в формате ASCII.

Основным каталогом, хранящим файлы настроек служб ОС Windows 2000 и ее реестр, является каталог …\System32\ … . В этом каталоге хранятся файлы запуска системы: autoexec.nt и config.nt, – которые «заменяют» подобные файлы DOS. Здесь же находится реестр операционной системы.

В системном каталоге Windows 2000 также размещается папка \Temp\, в которую помещаются все временные файлы, необходимые для работы некоторых программ. Периодически эту папку необходимо открывать и удалять все ее содержимое, т.к. не все программы корректно закрывают свои временно открываемые файлы.

Системная папка PROGRAM FILES.

Эта папка появляется при установке операционной системы, и в ней размещаются все установленные и устанавливаемые на компьютере программы.

Системная папка DOCUMENTS AND SETTINGS.

В этой папке хранятся файлы настроек каждого пользователя, зарегистрированного в системе. Причем некоторые из настроек действительны для всех пользователей системы (каталог \All Users\), а некоторые относятся только к конкретному пользователю. Папки с такими настройками, как правило, называются по имени пользователя. В них (по абсолютно одинаковой схеме и структуре) записываются настройки Главного меню, папки Избранное, папки Мои документы, Рабочего стола и Шаблоны пользователя. Из наиболее интересных папок, находящихся в DOCUMENTS AND SETTINGS, является папка Local Settings, т.к. в ней размещаются папки хранящие временные файлы, открываемые пользователем (папка Temp) и все посещаемые Web-страницы Internet, открываемые с помощью программы Internet Explorer. Содержимое этих папок также необходимо периодически удалять. Хотя в некоторых случаях оно оказывается весьма полезным.

К системным файлам и файлам настроек системы относятся файлы со следующими расширениями:

*.ini – файлы инициализации;

*.log – файлы журналов и протоколов запуска и загрузки программ;

*.txt, *.htm – файлы настроек в ASCII коде или в формате языка HTML, соответственно;

*.dll – динамические библиотеки;

*.drv – драйверы устройств;

*.lnk – файлы ярлыков;

*.inf – информационные файлы, в которых записываются сведения, необходимые для нормальной работы системы.

В корневом каталоге диска С:\ размещаются файлы:

boot.ini – файл инициализации, используемый при загрузке системы;

bootfont.bin – файл перечисления используемых системных шрифтов;

cldma.log – файл протокола установки ОС;

ntdetect.com – командный файл загрузчика операционной системы;

ntldr – загрузчик ОС;

pagefile.sys – файл подкачки.

Соседние файлы в папке Лекции_ОС