на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Построение компьютерной сети вуза - (реферат)
p>Подсистемы среды представляют собой защищенные серверы пользовательского режима (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). Системный сервис представляет собой интерфейс между подсистемами среды пользовательского режима и привилегированным режимом. Последующие разделы описывают назначение каждой составляющей исполняющей системы. Диспетчер объектов

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

Диспетчер процессов —компонент Windows NT, который управляй созданием и завершением процессов. Он обеспечивает набор стандартных услуг по созданию и использованию нитей управления и процессов в контексте специфической среды подсистемы. Кроме того, диспетчер процессов в некоторой степени диктует правка для нитей и процессов. Дополнительно, Windows NT позволяет подсистемам среды определять для них специфические правота.

Диспетчер процессов не налагает каких-либо требований по иерархии или группировке для процессов, а также не определяет отношений порожденности. Модель процессов Windows NT работает совместно с моделью безопасности и диспетчером виртуальной памяти для обеспечения безопасности процессов. Каждому процессу назначается маркер безопасного доступа (security access token), называемый первичным маркером процесса. Этот маркер используется процедурами проверки правильности доступа Windows NT, когда нити управления процесса ссылаются па защищенные объекты.

    Диспетчер виртуальной памяти

Архитектура памяти для Windows NT основана на использовании подкачиваемой по запросу виртуальной памяти системы и плоском, линейном адресном пространстве с 32-разрядным доступом.

Виртуальная память (virtual memory) позволяет операционной системе управлять большим объемом памяти, чем тот объем, который компьютер физически содержит. Каждый процесс размещается в уникальном виртуальном адресном пространстве, которое представляет собой набор адресов, доступных для использования нитями управления процесса. Это виртуальное адресное пространство разделяется на равные блоки, или страницы (pages).

Каждый процесс может использовать до 4 Гб собственного виртуального адресного пространства; из mix 2 Гб зарезервированы для нужд программы, а оставшиеся 2 Гб - для системы. Windows NT может использован до 4 Гб физической памяти, если аппаратные средства компьютера могут обеспечить подобный объем. Лишь некоторые операционные системы позволяют работать с памятью таких размеров. Например, MS OS/2 версии 1. 3 может адресовать . тишь 16 Мб физической памяти. Подачка по запросу (demand paging) используя метод, посредством которого данные странично переносятся из физической памяти во временный страничный файл на диске. В случае необходимости использования этих данных для функционирования определенных процессов страничные данные переписываются обратно в физическую память.

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

Приложения н подсистемы среды реализуют взаимоотношения типа “клиент-сервер”. Это означает, что клиент (приложение) обращается к серверу среды (подсистеме) для удовлетворения запроса о предоставлении некоторого типа сервиса системы. Для реализации взаимодействия “клиент-сервер” между приложениями и подсистемами среды Windows NT обеспечивает механизм связи между ними. Исполняющая система предоставляет средства прохождения сообщении, которые называются средствами вызова локальных процедур (LPC — Local Procedure Call). Они функционируют подобно вызовам удаленных процедур (RPC), используемому для работы в сетевой среде (описаны в Networking Guide, Chapter I, “Windows NT Networking Architecture”). Однако средства LPC оптимизированы для процессов, выполняющихся на одном компьютере. Прикладные программы взаимодействуют с подсистемами среды, передавая сообщения через средства LPC. Процесс прохождения сообщения скрыт от клиентского приложения функциональными заглушками (slubs); заглушки представляют собой невыполняемые фрагменты, которые используются при обращении к серверам среды. Заглушки реализованы в форме специальных динамически связываемых библиотек (DLL).

Когда приложение производит обращение к интерфейсу прикладных программ (API —application program interface) подсистемы среда, заглушка клиентского процесса (приложения) упаковывает параметры для вызова и направляет их серверному процессу (подсистеме), который осуществляет выполнение. Средства LPC предусматривают, что после передачи данных серверу производится ожидание ответа.

Рассмотрим, например, как этот процесс работает в подсистеме Win32. Когда приложение Win32 загружено дня выполнения, оно связывается с DLL, которая содержит заглушки для всех функций Win32 API. В случае, если приложение осуществляет вызовы функции Win32 (в нашем примере, Win32-функции CreateWindow), обращение обрабатывается следующим образом.

1. Клиентское приложение Win32 вызывает заглушку функции CreateWindow() из DLL. 2. Заглушка формирует сообщение, которое содержит все данные, необходимые для создания окна, и посылает это сообщение процессу сервера Win32 (подсистеме Win32).

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.