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

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

агрузить процессоры системы и обеспечь первоочередную обработку нитей с более высоким приоритетом. (Всего существует 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) является основным