|
Объекты исполнительной системы NT
ADO в Delphi AJAX Android C++ CakePHP CMS COM CSS Delphi Flash Flex HTML Internet Java JavaScript MySQL PHP RIA SCORM Silverlight SQL UML XML Бази даних Веб-розробка Генетичні алгоритми ГІС Гітара Дизайн Економіка Інтелектуальні СДН Колір Масаж Математика Медицина Музика Нечітка логіка ООП Патерни Подання знань Розкрутка сайту, SEO САПР Сесії в PHP Системне програмування Системний аналіз Тестологія Тестування ПЗ Фреймворки Штучний інтелект
|
Объекты исполнительной системы NT
Что такое объект? В исполнительной системе NT — это отдельный образец статически определенного типа объектов, существующий во время выполнения. Тип объектов (object type), иногда называемый классом объектов (object class), включает определенный системой тип данных, сервисы, работающие с образцами этого типа, и набор атрибутов объекта. При написании Win32-приложения Вы столкнетесь с объектами, представляющими, к примеру, процесс, поток, файл, событие. В основе этих объектов лежат низкоуровневые объекты, которые создаются и управляются исполнительной системой NT. В Windows NT процесс — это пример объекта типа "процесс", файл — пример объекта типа "файл" и т. д. Атрибут объекта(object attribute) 1 — это поле данных внутри объекта, частично определяющее его состояние. Объект типа "стек", например, имел бы в качестве одного из самых важных атрибутов указатель стека. Объектные сервисы (object services) — способы манипулирования объектами — обычно считывают или изменяют атрибуты объекта. Например, сервис "push" (поместить в стек) для объекта-стека изменял бы значение указателя стека. Наиболее фундаментальное различие между объектом и простой структурой данных состоит в том, что внутренняя структура объекта скрыта от наблюдателя. Для извлечения данных из объекта или помещения в него информации необходимо вызывать объектные сервисы. Вы не можете непосредственно считывать или изменять внутренние данные объекта. Таким образом, внутренняя реализация объекта отделяется от кода, который лишь использует данный объект; эта техника позволяет в дальнейшем легко изменять реализацию объекта. Команда проектировщиков исполнительной системы NT приняла решение использовать объекты для представления системных ресурсов, потому что объекты дают способ централизованного выполнения трех важных (и часто рутинных) задач ОС:
Не все структуры данных в исполнительной системе NT являются объектами. В объекты помещены только те данные, которые должны быть совместно используемыми, защищенными, именованными или видимыми (при помощи системных сервисов) программам пользовательского режима. Структуры, используемые, например, только одним компонентом исполнительной системы для реализации внутренних функций, не являются объектами. Несмотря на то, что объекты широко используются для представления совместно используемых системных ресурсов, Windows NT не является объектно-ориентированной системой в строгом смысле слова. Большая часть кода ОС написана на С, чтобы обеспечить переносимость и из-за того, что средства разработки широко доступны. С не поддерживает непосредственно объектно-ориентированные конструкции, такие как динамическое определение типа данных, полиморфные функции или наследование классов. Таким образом, реализация объектов в Windows NT, выполненная на С, заимствует идеи, но не зависит от средств, предоставляемых конкретными объектно-ориентированными языками. Диспетчер объектов (object manager) — это компонент исполнительной системы NT, отвечающий за создание, удаление, защиту и учет объектов NT. Диспетчер объектов централизует операции управления ресурсами, которые иначе были бы разбросаны по всей ОС. Лу Пераццоли (Lou Perazzoli), технический управляющий и руководитель проекта разработки Windows NT, и Стив Вуд (Steve Wood), программист ОС Microsoft с 9-летним стажем, спроектировали диспетчер объектов и определили следующие цели его реализации:
В следующих подразделах изложены основные сведения об объектах исполнительной системы NT, включая описание их структуры и способов использования в ОС. 1 При создании объекта при помощи API Win32 либо базовых объектных сервисов вызывающая программа передает параметр под названием ObjectAttributes (Атрибуты Объекта), но его не следует смешивать с более общим значением данного термина, которое используется в этой книге. Использование объектовИсполнительная система NT реализует два типа объектов: объекты исполнительной системы (executive object) и объекты ядра (kernel object). Объекты исполнительной системы представляются различными компонентами исполнительной системы NT. Они доступны программам пользовательского режима (защищенным подсистемам) посредством базовых сервисов NT и могут создаваться и использоваться как подсистемами, так и исполнительной системой NT. Структура объектовКаждый объект NT относится к некоторому типу объектов. Тип объекта определяет, какие данные содержит объект, а также базовые системные сервисы, которые могут к нему применяться. Для универсальности обработки разных объектов диспетчеру объектов необходимо, чтобы каждый объект содержал в заданном месте несколько полей со стандартной информацией, При наличии этих данных диспетчеру объектов не требуется знать, что еще содержится в объекте, Для отделения стандартных данных объекта от специфичных каждый объект разделен на две части — заголовок и тело. Диспетчер объектов работает с заголовком, а другие компоненты исполнительной системы — с телами объектов создаваемых ими типов. Типы объектовВ заголовке объекта хранятся данные, формат которых одинаков для всех объектов, но значения могут быть разными. Например, у каждого объекта есть уникальное имя и может быть уникальный дескриптор защиты. Однако, есть и некоторые данные, которые постоянны для всех объектов данного типа. Например, при открытии описателя объекта данного типа можно выбирать права доступа из некоторого набора прав, специфичных для этого типа. Исполнительная система NT поддерживает (помимо других) права доступа "завершить" и "приостановить" для объектов-потоков и права доступа "чтение", "запись", "дописывание к концу" и "удаление" для файловых объектов. Другим примером типозависимого атрибута является синхронизация, или, коротко говоря, способность потока ожидать установления объектов некоторых типов в состояние "свободен". Зверніть увагу на додаткові посиланняЯкщо вас цікавить...Головний розділзагрузка...
|
Сторінки, близькі за змістом
|
|
Copyright © 2008—2026 Портал Знань.
При використанні матеріалів посилання, для інтернет-ресурсів — гіперпосилання, на Znannya.org обов'язкове.
Зв'язок
|
НТУУ "КПІ" Інженерія програмного забезпечення КПІ Лабораторія СЕТ |
|