ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 17.06.2021

Просмотров: 122

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
  • управление виртуальной памятью;

  • задания и потоки;

  • межпроцессные коммуникации;

  • управление поддержкой ввода/вывода и прерываниями;

  • сервисы набора хоста и процессора.

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

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

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

Наиболее ярким представителем микроядерных ОС является ОС реального вре­мени QNX. Микроядро QNX поддерживает только планирование и диспетчери­зацию процессов, взаимодействие процессов, обработку прерываний и сетевые службы нижнего уровня. Микроядро обеспечивает всего лишь пару десятков системных вызовов, но благодаря этому оно может быть целиком размещено во внутреннем кэше даже таких процессо­ров, как Intel 486. Как известно, разные версии этой ОС имели и различные объ­емы ядер — от 8 до 46 Кбайт.

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




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. причем в системе предусматривается возможность размещения этого файла на нескольких дисках.

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

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

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

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

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

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

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