Выбор оптимальных сетевых решений на базе многозадачных операционных систем для построения компьютерной сети вуза
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
агрузить процессоры системы и обеспечь первоочередную обработку нитей с более высоким приоритетом. (Всего существует 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). Системный сервис представляет собой интерфейс между подсистемами среды пользовательского режима и привилегированным режимом. Последующие разделы описывают назначение каждой составляющей исполняющей системы.
Диспетчер объектов
Объектами являются отдельные элементы времени выполнения, имеющие объектный тип; управление этими элементами могут производить процессы операционной системы. Тип объекта включает определенный системой тип данных, список операций, которые могут выполняться над ним (например, wait, create или cancel), и набор атрибутов объекта. Диспетчер объектов является частью исполняющей системы Windows NT и обеспечивает уннфицирован-ные правила хранения, именования и безопасности объектов.
Прежде чем процесс сможет управлять объектом Windows NT, он должен получить описатель объектов (object handle) через диспетчер объектов. Описатель объектов включает информацию управления доступом и непосредственно указатель на объект. Все описатели объектов создаются через диспетчер объектов.
В связи с постоянным развитием и совершенствованием технологий, диспетчер объектов, как и другие компоненты Windows NT, может быть расширен за счет определения новых типов объектов.
Кроме того, диспетчер объектов управляет глобальным пространством имен (namespace) для Windows NT и следит за созданием и использованием объектов любым процессом. Пространство адресов используется для доступа ко всем именованным объектам, которые содержатся в локальной компьютерной среде. Ниже представлен список объектов, которые могут иметь имена:
- объекты каталога (directory objects);
- объекты типа объекта (object type objects):
- символические объекты связи (symbolic link objects);
- объекты семафора и события (semaphore objects, event objects);
- объекты процесса и нитей травления (process objects, thread objects);
- объекты раздела и сегмента (section objects, segment objects);
- объекты порта (port objects);
- объекты файла (File objects).
Пространство имен объектов по своей организации подобно иерархии файловой системы, для которой имена каталога в пути отделяются обратной наклонной чертой (\). Запись имени объекта в подобной форме можно наблюдать после двойною щелчка кнопкой мыши па каком-либо элементе в Event Viewer.
Диспетчер процессов
Диспетчер процессов компонент, который отслеживает два типа объектов; объекты процесса и объекты нитей правления. Процесс определяется как адресное пространство, набор доступных процессу объектов и совокупность выполняемых в контексте процесса нитей управления. Нить управления (thread) является основным