Выбор оптимальных сетевых решений на базе многозадачных операционных систем для построения компьютерной сети вузаРефераты >> Программирование и компьютеры >> Выбор оптимальных сетевых решений на базе многозадачных операционных систем для построения компьютерной сети вуза
· Уровень аппаратных абстракции виртуализирует аппаратные интерфейсы, обеспечивая тем самым независимость остальной части операционной системы от конкретных аппаратных особенностей. Подобный подход позволяет обеспечить легкую переносимость Windows NT с одной аппаратной платформы на другую. Ядро является основой модульного строения системы и координирует выполнение большинства базовых операций Windows NT. Этот компонент специальным образом оптимизирован по занимаемому объему и эффективности функционирования. Ядро отвечает за планирование выполнения потоков, синхронизацию работы нескольких процессоров, обработку аппаратных прерываний и исключительных ситуаций.
· Исполняющая система включает в свой состав набор программных конструкций привилегированного режима (kernel-mode), предоставляющих базовый сервис операционной системы подсистемам среды. Исполняющая система состоит из нескольких компонентов; каждая из них предназначена для поддержки определенного системного сервиса. Так, одна из компонент - монитор безопасности (Security Reference Monitor) -функционирует совместно с защищенными подсистемами и обеспечивает реализацию модели безопасности системы.
· Подсистемы среды представляют собой защищенные серверы пользовательского режима (user-mode), которые обеспечивают выполнение и поддержку приложении, разработанных для различного операционного окружения (различных операционных систем). Примером подсистем среды могут служить подсистемы Win32 и OS/2.
Уровень аппаратных абстракций
Уровень аппаратных абстракций (HAL) представляет собой создаваемый производителями аппаратных средств слой программного обеспечения, который скрывает (или абстрагирует), особенности и различия аппаратуры от верхних уровней операционной системы. Таким образом, благодаря обеспечиваемому НАLом фильтру, различные аппаратные средства выглядят аналогично с точки зрения операционной системы; снимается необходимость специальной подстройки операционной системы под используемое оборудование.
При создании уровня аппаратных абстракций ставилась задача подготовки процедур, которые позволяли бы единственному драйверу конкретного устройства поддерживать функционирование этого устройства для всех платформ. HAL ориентирован на большое число разновидностей аппаратных платформ с однопроцессорной архитектурой; таким образом, для каждого из аппаратных вариантов не требуется отдельной версии операционной системы.
Процедуры HAL вызываются как средствами операционной системы (включая ядро), так и драйверами устройств. При работе с драйверами устройств уровень аппаратных абстракций обеспечивает поддержку различных технологий ввода-вывода (вместо традиционной ориентации на родную аппаратную реализацию или требующей значительных затрат адаптации под каждую новую аппаратную платформу).
Уровень аппаратных абстракций позволяет также «срывать» от остальных уровней операционной системы особенности аппаратной реализации симметричных мультипроцессорных систем.
Ядро (Kernel) является «сердцем» Windows NT и работает в тесном контакте с уровнем аппаратных абстракций. Этот модуль, в первую очередь, занимается планированием действий компьютерного процессора. В случае если компьютер содержит несколько процессоров, ядро синхронизирует их работу с целью достижения максимальной производительности системы.
Ядро осуществляет диспетчеризацию нитей управления (threads, иногда называются подзадачами, ответвлениями или потоками), которые являются основными объектами в планируемой системе. Нити управления определяются в контексте процесса; процесс включает адресное пространство, набор доступных процессу объектов и совокупность выполняемых в контексте процесса нетей управления. Объектами являются управляемые операционной системой ресурсы.
Ядро производит диспетчеризацию нитей управления таким образом, чтобы максимально загрузить процессоры системы и обеспечь первоочередную обработку нитей с более высоким приоритетом. (Всего существует 32 значения приоритета, которые сгруппированы в два класса приоритетов: real-lime и variable). Подобный подход позволяет достичь максимальной эффективности операционной системы.
Подкомпоненты исполняющей системы, такие как диспетчер ввода-вывода и диспетчер процессов, используют ядро для синхронизации действий. Они также взаимодействуют с ядром для более высоких уровней абстракции, называемых объектами ядра; некоторые из этих объектов экспортируются внутри пользовательских вызовов интерфейса прикладных программ (API).
Ядро управляет двумя типами объектов:
· Объекты диспетчеризация (dispatcher objects) характеризуются сигнальным состоянием (signaled или nonsignaled) и управляют диспетчеризацией и синхронизацией системных операций. Эти объекты включают события, мутанты, мутэксы, семафоры, нити управления и таймеры (events, mutants, mutexes, semaphores, threads, timers).
· Управляющие объекты (control objects) используются для операций управления ядра, но не воздействуют на диспетчеризацию или синхронизацию. Управляющие объекты включают в себя асинхронные вызовы процедур, прерывания, уведомления и состояли источила питания, процессы и профили (asynchronous procedure calls, interrupts, power notifies, power statuses, processes, profiles).
В основном, ядро не обеспечивает проведение в жизнь какой-либо политики, т. к. за это отвечает исполняющая система. Однако ядро производит формирование политики по перемещению процессов из намята.
Ядро выполняется полностью в привилегированном режиме и неперемещаемо (nonpagable) в памяти. Программное обеспечение ядра не является выгружаемым (preemptible), н, следовательно, для него не может производиться переключение контекста (context-switched): большая часть программного обеспечения вне ядра почта всегда может быть кружена и использует переключение контекста.
Ядро может выполняться одновременно на всех процессорах в мультипроцессорной конфигурации, соответствующим образом синхронизируя доступ к критическим областям.
Третьим и наиболее сложным модулем, выполняющимся в привилегированном режиме, является исполняющая система
Исполняющая система Windows NT
Исполняющая система (Executive), в состав которой входят ядро и уровень аппаратных абстракций HAL, обеспечивает общий сервис системы, который могут использовать все подсистемы среды. Каждая группа сервиса находится пол управлением одной из отдельных составляющих исполняющей системы:
· диспетчера объектов (Object Manager):
· диспетчера виртуальной памяти (Virtual Memory Manager};
· диспетчера процессов (Process Manager)
· средств вызова локальных процедур (Local Procedure Call Facility);
· диспетчера ввода-вывода (I/O Manager);
· монитора безопасности (Security Reference Monitor). Монитор безопасности совместно с процессом входа в систему (Logon) и защищенными подсистемами реализует модель безопасности Windows NT.
Верхний уровень исполняющей системы называется системным сервисом (System Services). Системный сервис представляет собой интерфейс между подсистемами среды пользовательского режима и привилегированным режимом. Последующие разделы описывают назначение каждой составляющей исполняющей системы.