Гордеев А.В. Операционные системы (2-е изд., 2004) (1186250), страница 102
Текст из файла (страница 102)
При этом она выпустила две редакции. Однаиз них представляла собой «облегченный» вариант системы для домашнего применения. Она получила название Windows XP Home Edition. Эту операционнуюсистему Microsoft считает основной для современного персонального компьютера. Вторая — полноценная система с предназначением работать в качестве рабочей станции, которая, как правило, подключается к локальной вычислительнойсети с выходом в Интернет. Эти операционные системы, прежде всего, получиливозможность выполнять приложения, которые использовали оба подмножествафункций Win32 API: и для Windows 9x, и для систем класса NT. Системы WindowsХР в еще большей мере стали мультимедийными и ориентированными на Интернет. Интересным новшеством для систем Windows стала возможность организовать одновременную работу с компьютером двух пользователей: для одного непосредственно (локально), а для второго удаленно с другого компьютера.
В принципе,в этом нет ничего особенного. Например, операционная система UNIX позволяетбез проблем организовать не только такое взаимодействие, но и полноценную мультитерминальную работу. Но для систем Windows — это явно новая возможность.Наконец, весной 2003 года на замену семейству Windows 2000 вышли несколько серверных операционных систем, которые получили в название число 2003. Это сле12За счет специальных расширений, которые могут быть разработаны изготовителями аппаратуры,допускают возможность работать на компьютерах, насчитывающих до 32 процессоров.Подробней об этой файловой системе см.
в главе 6.382Глава 11, Операционные системы Windowsдующие 32-разрядные операционные системы для микропроцессоров с архитектурой ia-32.• Windows Small Business Server 2003 — предназначена для построения небольших локальных вычислительных сетей.•Windows Server 2003 Web Edition — это самая «облегченная» система, она неможет выступать в роли контроллера домена и быть сервером приложений.•Windows Server 2003 Standard Edition — основная многоцелевая операционнаясистема, пришедшая на смену Windows 2000 Server.Q Windows Server 2003 Enterprise Edition — аналог Windows 2000 Advanced Server.QWindows Server 2003 Datacenter Edition.Последние две операционные системы имеют разновидности для 64-разрядныхпроцессоров Itanium 2 производства компании Intel.Ничего революционного эти системы не привнесли, но существенно обновилипредыдущие серверные операционные системы.
В качестве основных особенностейновых систем Microsoft отмечает упрощение администрирования, более безопасную инфраструктуру и более высокую надежность, интеграцию в системы активно продвигаемой технологии .NET (произносится как «дот нет»).Основные особенности архитектурыНаиболее принципиальным отличием между системами класса Windows 9x и Windows NT является то, что у них разная архитектура.Большинство операционных систем использует такую особенность современныхпроцессоров, как возможность работать в одном из двух режимов: привилегированном (режиме ядра, или режиме супервизора) и пользовательском (режиме выполнения приложений).
При описании своей системы Windows NT Microsoft для указания этих режимов использует термины kernel mode и user mode соответственно.Программные коды, которые выполняются процессором в привилегированномрежиме, имеют доступ и к системным аппаратным средствам, и к системным данным. Чтобы защитить операционную систему и данные, располагающиеся в оперативной памяти, от ошибок приложений или их преднамеренного вмешательствав чужие вычисления, только системному коду, относящемуся к управляющей (супервизорной) части операционной системы, разрешают выполняться в привилегированном режиме работы процессора. Все остальные программные модули должны выполняться в пользовательском режиме.Поскольку при создании Windows NT разработчики хотели обеспечить ее мобильность, то есть легкую переносимость на другие платформы, они приняли решениеиспользовать только два уровня привилегий из четырех, имеющихся в микропроцессорах Intel семейства i80x86.
Как мы уже знаем, нулевой уровень привилегий вмикропроцессорах с архитектурой ia32 обеспечивает возможность выполнять любые команды и иметь доступ ко всем регистрам процессора. Наименьшие привилегии имеются у кода, выполняемого в третьем кольце защиты (см. главу 4), которое и предназначается для выполнения обычных приложений. Напомним, что код,383Операционные системы Windows NT/2000/XPработающий в этом режиме, не может ни при каких обстоятельствах получить доступ к данным, расположенным в нулевом кольце защиты.
Поэтому, если бы системный код использовал не два уровня привилегий, а все четыре, то появились быочевидные проблемы при переносе системы на другой процессор.Системы типа Windows NT построены по микроядерной технологии. Конечно, ихядро никак нельзя назвать маленьким, особенно в сравнении с ядром операционной системы QNX. Однако в целом архитектура Windows NT безусловно отвечаетидеям построения операционной системы, в которой управляющие модули организованы с четким выделением центральной части и взаимодействием этой частис остальными по принципу клиент-сервер. Это означает, что в состав ядра включены только самые важные основообразующие управляющие процедуры, а остальные управляющие модули операционной системы вызываются из ядра как службы.
Причем только часть служб использует процессор в режиме ядра, а остальные —в пользовательском режиме, как и обычные приложения пользователей (рис. 11.2).А для обеспечения надежности они располагаются в отдельном виртуальном адресном пространстве, к которому ни один модуль и ни одна прикладная программа, помимо системного кода, не может иметь доступа.ПриложениепользователяПриложениепользователяПодсистемыокруженияСлужбыоперационойсистемыПроцессыподдержкисистемыПользовательский режимПривилегированный режимИсполняющая система Windows NTДиспетчер окони модулиграфическогоинтерфейсаустройствМикроядроУровень абстракции аппаратных средствРис.
11.2. Архитектура операционных систем класса Windows NT384Глава 11. Операционные системы WindowsЯдро (микроядро) систем Windows NT выполняет диспетчеризацию задач (точнее, потоков), обработку прерываний и исключений, поддерживает механизмысинхронизации потоков и процессов, обеспечивает взаимосвязи между всеми остальными компонентами операционной системы, работающими в режиме ядра.Если компьютер имеет микропроцессорную архитектуру (системы класса Win1dows NT поддерживают симметричную мультипроцессорную архитектуру ), ядроповышает его производительность, синхронизируя работу процессоров.Из рисунка видно, что помимо собственно ядра в том же режиме супервизора работают модуль HAL (Hardware Abstraction Layer — уровень абстракции аппаратных средств), низкоуровневые драйверы устройств и исполняющая система Windows NT, называемая Win32 Executive.
Начиная с Windows NT 4.0 в режиме ядраработают и диспетчер окон (Window Manager), который иногда называют «User»,и модули графического интерфейса устройств (GDI).Программное обеспечение, абстрагирующее работу исполняющей системы и собственно ядра от специфики работы конкретных устройств и контроллеров, во многом упрощает перенос операционной системы на другую платформу. Оно представлено в системе модулем динамически связываемой библиотеки HAL.DLL.Одним из важнейших компонентов операционных систем Windows NT/2000/XP,который появился вследствие следования микроядерному принципу их построения, является исполняющая система (Win32 Executive).
Она выполняет такие базовые функции операционной системы, как управление процессами и потоками,управление памятью, взаимодействие между процессами, защиту, операции ввода-вывода (включая файловые операции, кэширование, работу с сетью и некоторые другие). Ниже перечислены компоненты исполняющей системы.•Диспетчер процессов (Process Manager) создает, отслеживает и удаляет процессы. Для выполнения этих функций создается соответствующий дескриптор,определяются базовый приоритет процесса и карта адресного пространства,создается и поддерживается список всех готовых к выполнению потоков.•Диспетчер виртуальной памяти (Virtual Memory Manager) предоставляет виртуальную память выполняющимся процессам.
Каждый процесс имеет отдельное адресное пространство, используется страничное преобразование линейных адресов в физические, поэтому потоки одного процесса не имеют доступа кфизическим страницам, отведенным для другого процесса.QДиспетчер объектов (Object Manager) создает и поддерживает объекты. В частности, поддерживаются дескрипторы объектов и атрибуты защиты объектов.Объектами считаются каталоги, файлы, процессы и потоки, семафоры и события и многие другие.•Монитор безопасности (Security Reference Monitor) обеспечивает санкционирование доступа к объектам, контроль полномочий доступа и ведение аудита.Совместно с процессом входа в систему (logon) и защищенными подсистемамиреализует модель безопасности Windows NT.Микроядро может одновременно выполняться на всех процессорах, а потоки одного процесса могутодновременно выполняться на нескольких процессорах.Операционные системы Windows NT/2000/XP385Q Диспетчер ввода-вывода (Input/Output Manager) управляет всеми операциями ввода-вывода в системе.
Организует взаимодействие и передачу данныхмежду всеми драйверами, включая драйверы файловых систем, драйверы физических устройств, сетевые драйверы, для чего используются структуры данных, называемые пакетами запросов на ввод-вывод (I/O Request Packet, IRP).Запросы на ввод-вывод обрабатываются в порядке приоритетов, а не в порядкеих поступления. Операции ввода-вывода кэшируются, этим процессом управляет диспетчер кэша (Cache Manager). Поддерживаются различные файловыесистемы, причем драйверы 1 этих систем воспринимаются диспетчером вводавывода как драйверы физических устройств.
Специальное сетевое системноепрограммное обеспечение (редиректор2 и сервер3) трактуются как сетевые драйверы и также имеют непосредственную связь с диспетчером ввода-вывода.Q Средства вызова локальных процедур (Local Procedure Call, LPC) обеспечиваютвыполняющиеся подсистемы среды выполнения и приложения пользователейкоммуникационным механизмом, в котором взаимодействие строится по принципу клиент-сервер.Для системных данных и программного кода, работающего в режиме ядра, не предусмотрено никакой защиты.