Файловые системы, страница 6
Описание файла
PDF-файл из архива "Файловые системы", который расположен в категории "". Всё это находится в предмете "операционные системы" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 6 страницы из PDF
Термин «сервер» подразумевает, что каждаязащищенная подсистема предоставляет своим клиентам некоторый наборинтерфейсов (API), который используют другие программы. Когда приложениевызывает одну из процедур API данного сервера, то этому серверу посылаетсясообщение при помощи механизма LPC - локального вызова процедур (этоспециально оптимизированный механизм для локальной передачи сообщений).Сервер же выполняет некоторую работу и посылает ответ вызвавшему егоклиенту.
В Windows NT существует два типа защищенных подсистем:подсистемы среды и интегрированные подсистемы. Подсистема среды этосервер пользовательского режима, реализующий API некоторой ОС. Наиболееважная среди них - подсистема Win32, которая предоставляет прикладнымпрограммам API 32-разрядной Windows. Помимо этого Win32 отвечает заграфический интерфейс пользователя и за «консольный» ввод-вывод всехприложений. Это значит, что остальные подсистемы среды такие как DOS,OS/2, 16-битный Windows для обеспеения этих функций обращаются кподсистеме Win32. Но для обеспечения остальных функций, таких какнапример файловый ввод-вывод, подсистемы среды работают с системнымисервисами напрямую.
Например, если 16-битное OS/2 приложение вызываетфункцию открытия файла, то защищенная подсистема среды OS/2 преобразует,этот вызов в NT вызов открытия файла, получает NT описатель открытогофайла, преобразует его в OS/2формат и предоставляет вызвавшемуприложению.26ПриложенияП риложениеOS/2П риложениеWin32ВызовWin32 APIВызов OS/2APIЗащищенные подсистемы( серверы)П одсистемаOS/2NT ВызовВвод-вывод:все через Win32П одсистемаWin32NT ВызовП ользовательский режимРежим ядраСистемные сервисыИнтегрированные защищенные подсистемы. Набор данных защищенныхподсистем менялся в от версии к версии. На данный момент он включает в себясетевые сервисы рабочей станции и сервера, подсистему защиты и ряд другихсервисов.
Наиболее важной интегрированной защищенной подсистемойявляется подсистема защиты. Основная ее задача это регистрация иотслеживание правил контроля доступа для данного локального компьютера.Она отслеживает какие пользователи имеют какие привелегии, какиесистемные ресурсы подлежат аудиту и т.д. Помимо этого она ведет базу данныхучетныхзаписейпользователей,содержащуюпользовательскиеидентификаторы, пароли, права доступа, информацию о пользовательскихгруппах и т.д. Процесс регистрации и идентификации пользователя при входе всистему также проходит через подсистему защиты.
А именно:1. Процесс регистрации (logon process) ожидает ввода от пользователя.Одновременно может быть активно несколько таких процессов, каждыйработает со своим классом устройств, например, первый через консоль, авторой через сетевое соединение. Обнаружив пользователя, желающеговойти в систему, данный процесс запрашивает у него идентификатор ипароль, после чего посылает эту информацию подсистеме защиты.2. Подсистема защиты проверяет правильность введенной информации. И вслучае корректного ввода генерирует объект, называемый маркеромдоступа, который будет идентифицировать данного пользователя и его правана протяжении всей сессии. Подробнее про контроль доступа к ресурсамсистемы будет рассказано ниже.3.
В случае входа пользователя не по сети, а с локальной консоли, подсистемазащиты создает desktop - процесс вошедшего пользователяи передает егосистеме Win32, которая его запускает, для предоставления пользователюграфического интерфейса. Для Windows 4.0 - этот процесс Explorer, дляболее ранних версий это Program Manager.Исполнительная подсистема.Как говорилось выше исполнительная система - это часть Windows NT,выполняющаяся в режиме ядра.
Она состоит из ряда компонент, каждая изкоторых реализует два набора функций: системные сервисы, к которым могутобращаться как защищенные подсистемы так и другие компонентыисполнительной части; а также внутренние процедуры, которые могутиспользовать только другие компоненты исполнительной подсистемы. Хотяисполнительная подсистема и предоставляет системные сервисы, сходные сAPI подсистем среды, она принципиально отличается от остальной части ОС. В27то время как все серверы защищенной подсистемы выполняются постоянно, т.е.соответствующие процессы всегда активны, то исполнительная система неработает постоянно, а активизируется, когда происходит какое-либо важноесистемное событие.
Например, при вызове системного сервиса или припрерывании от внешнего устройства. Компоненты исполнительной системыподдерживают независимость друг от друга. Структуры системных данныхмогут использоваться только одним из компонент исполнительной части, а всевзаимодействие происходит только через интерфейсы. Это означает, что еслиправильно реализовать весь набор интерфейсов и системных сервисовнекоторой компоненты, то в системе ее можно заменить на свою собственную.Т.е. появляется возможность покомпонентой замены ОС. Перечислемкомпоненты исполнительной части и кратко опишем их основные функции (см.рисунок). Диспетчер объектов.
Создает, поддерживает и уничтожает объектыисполнительной части. Подробнее рассматривается ниже. Монитор защиты. Обеспечивает защиту ресурсов и объектов ОС. Диспетчер процессов. Создает, завершает, приостанавливает и запускаетпроцессы и нити ОС. Средство локального вызова процедур. Передает сообщения междуклиентскими и серверными процессами в пределах компьютера. Являетсявариантом RPC (remote procedure call), специально оптимизированным дляработы в рамках одной машины. Диспетчер виртуальной памяти. Реализует управление виртуальнойпамятью машины. Ядро.
Реагирует на прерывания и исключения, осуществляет переключениевыполняющихся нитей, межпроцессорную синхронизацию. Предоставляетнабор элементарных объектов и интерфейсов, которые используются дляпостроения более сложных объектов исполнительной части. Система ввода-вывода. Она состоит из следующих подсистем.1. Диспетчер ввода-вывода. Реализует средства ввода-вывода, независящие от типа устройства и устанавливает модель ввода-выводадля исполнительной части NT.2. Файловые системы. Драйверы NT, принимающие запросы файловоговвода-вывода и транслирующие эти запросы в запросы для драйверовконкретных устройств.3. Сетевой редиректор и сетевой сервер.
Драйверы файловой системы,передающие запросы удаленного ввода-вывода на другие машины всети и принимающие от них информацию.4. Драйверы устройств. Низкоуровненвые драйверы, напрямуюработающие с аппаратурой.5. Диспетчер кэша. Обеспечивает запись на устройства в фоновомрежиме и кэширование читаемой информации в виртуальной памяти. Слой абстрагирования от аппаратуры. Помещает кодовую прослойкумежду исполнительной системой и аппаратной платформой, скрываяаппаратно зависимые детали, такие как интерфейсы ввода-вывода,контроллеры прерываний, механизмы межпроцессорных связей.
Данныйуровень обеспечивает большую переносимость Windows NT, хотя все равнодля переноса на другие платформы требуется переписывать значительнуючасть ядра и менеджера виртуальной памяти.28В заключение данной части можно сказать, что работа защищенных подсистем,их взаимодействие с исполнительной системой и клиентскими приложениямиосуществляется на принципах клиент-сервер, организация ввода-вывода висполнительной части, часть ядра и уровень абстагирования от аппаратурыявляются «послойными» элементами.
Внутри же исполнительной части еекомпоненты взаимодействуют также через строго определенные интерфейсы,хотя их структура не является «послойной».2.1.1. Объектная модель и контроль доступа в Windows NT.Сначала дадим определение объекта исполнительной части Windows NT.Объект - это статический экземпляр определенного в системе типа(класса) объектов, существующий во время работы системы.Тип объекта включает определенный системой тип данных, сервисы(методы) работающие с образцами этого типа данных и набор атрибутовобъекта.Атрибут объекта - это поле данных внутри объекта, частичноопределяющее его состояние.Сервис (метод) объекта - способ манипулирования объектом, обычнопроизводит некоторые действия над атрибутами.
Основная особенностьобъектов исполнительной системы Windows NT это то, что внутренняяструктура и организация объекта всегда скрыта и все атрибуты доступнытолько через использование соответствующих сервисов объекта. Несмотря наиспользование понятия «объект» Windows NT не является объектноориентированной ОС. Основные цели, которых хотели достичь разработчикиWindows NT, реализуя объекты были следующие: Обеспечить общий унифицированный механизм работы с системнымиресурсами Сделать единые средства защиты и контроля для всей системы Обеспечить единую удобную схему именования элементов и ресурсовсистемы Облегчить поддержку различных сред ОС, что требует частогопреобразования представления одной и той же сущности (напримерописателя файла) в различные типы (например в формат OS/2 из NT иобратно)Структура объектов.Как и в большинстве ОС основной единицей работы в NT является процесс.Для того чотбы процессу использовать некоторый ресурс системы емунеобходимо запросить описатель объекта соответствующего ресурса.Описатели объектов уникальны в то время как сами объекты могут совместноиспользоваться несколькими процессами.