Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Объекты исполнительной системы




Тип объекта Реализующий компонент Что представляет собой
Процесс Диспетчер процессов Один вызов программы, включая адресное пространство и ресурсы, необходимые для ее исполнения
Поток Диспетчер процессов Исполняемая сущность внутри процесса
Секция Диспетчер памяти Область совместно используемой памяти
Файл Диспетчер ввода-вывода Образец открытого файла или устройства ввода-вывода
Порт Механизм LPC Место назначения сообщений, пересылаемых между процессами.
Маркер доступа Система защиты Закодированный идентификатор, содержа­ щий информацию о правах доступа зарегистрировавшегося в системе пользователя
Событие Вспомогательные сервисы исполнительной системы Объявление о том, что произошло системное событие
Пара событий Тоже Уведомление о том, что специальный по­ток клиента скопировал сообщение серве­ру Win32 или наоборот (используется только подсистемой Win32)
Мутант То же Механизм обеспечения взаимного исклю­чения для сред Win32 и OS/2
Семафор Тоже Счетчик, регулирующий число потоков, которые могут использовать некоторый ресурс
Таймер Тоже Счетчик времени
Каталог объектов Диспетчер объектов Хранилище в памяти для имен объектов
Символическая связь Тоже Механизм косвенной ссылки на имя объекта
Профиль Ядро Механизм, позволяющий оценить распреде­ление времени исполнения внутри блока кода (для оптимизации производительности)
Параметр Реестра Диспетчер Конфигурации Индексный ключ для ссылки на записи в базе данных конфигурации Windows NT

Каждый объект NT относится к некоторому типу объектов. Тип объекта определяет, какие данные содержит объект, а также базовые системные сервисы, которые могут к нему применяться. Для универсальности обработки разных объектов диспетчеру объектов необходимо, чтобы каждый объект содержал в заданном месте несколько полей со стандартной информацией. При наличии этих данных диспетчеру объектов не требуется знать, что еще содержится в объекте. Для отделения стандартных данных объекта от специфичных каждый объект разделен на две части — заголовок и тело. Диспетчер объектов работает с заголовком, а другие компоненты исполнительной системы — с телами объектов создаваемых ими типов.

В заголовке объекта хранятся данные, формат которых одинаков для всех объектов, но значения могут быть разными. Например, у каждого объекта есть уникальное имя и может быть уникальный дескриптор защиты. Однако, есть и некоторые данные, которые постоянны для всех объектов данного типа. Например, при открытии описателя объекта данного типа можно выбирать права доступа из некоторого набора прав, специфичных для этого типа. Исполнительная система NT поддерживает (помимо других) права доступа "завершить" и "приостановить" для объектов-потоков и права доступа "чтение", "запись", "дописывание к концу" и "удаление" для файловых объектов. В целях экономии памяти и сокращения расходов на управление объектами диспетчер объектов задает эти статические, типозависимые атрибуты один раз при создании нового типа объектов. Для хранения этих данных он использует специальный объект, называемый типовым объектом.

Все процессы пользовательского режима, включая подсистемы среды, должны получить описатель объекта, прежде чем их потоки смогут использовать этот объект. Описатели служат косвенными указателями на системные ресурсы; эта косвенность предотвращает непосредственный доступ приложений к системным структурам данных. Имена объектов важны для хранения и совместного использования объектов, но они используются не часто. Процесс указывает имя объекта, когда он создает объект или открывает его описатель. После этого процесс использует описатель объекта. Ссылка на объект при помощи его описателя выполняется быстрее, чем по имени, так как диспетчер объекта может опустить поиск имени и найти объект непосредственно. Описатель объекта NT — это индекс в специфичной для процесса таблице объектов. Таблица объектов процесса содержит указатели на все объекты, описатели которых открыты процессом. Процесс может получить описатель объекта, создав объект, или открыв описатель существующего объекта, или унаследовав описатель от другого процесса, или получив дубликат описателя из другого процесса.

Защита объекта осуществляется путем идентификации пользователей и управлением доступом пользователей к объектам. После успешной процедуры идентификации и аутентификации пользователя подсистема защиты создает объект – маркер доступа, который остается связанным с пользовательскими процессами и служит удостоверением процесса при попытках доступа к системным ресурсам. При создании любого объекта, включая файлы, потоки, события и даже маркеры доступа, ему присваивается дескриптор защиты. Основной частью дескриптора защиты является список прав доступа к объекту, называемый списком контроля доступа (ACL). Чтобы определить, какой ACL должен быть назначен новому объекту, система защиты применяет три взаимоисключающих правила, в приведенном ниже порядке:

· Если ACL явно задан при создании объекта, то система защиты присваивает его объекту.

· Если ACL не задан и у объекта есть имя, то система защиты ищет АСL каталога объектов, в котором будет сохранено имя нового объекта. Если некоторые элементы списка доступа каталога объектов обозначены как "наследуемые", то система защиты составляет из них ACL, который она назначает новому объекту.

· Если ни один из первых двух случаев не имеет места, то система защита присваивает новому объекту ACL по умолчанию из маркера доступа вызывающего процесса.

Как все это работает вместе: маркер доступа идентифицирует процесс (и его потоки) для ОС, тогда как дескриптор защиты перечисляет, какие процессы (или группы процессов) имеют доступ к объекту; когда поток открывает описатель объекта, диспетчер объектов и система защиты сопоставляют эту информацию, чтобы определить, следует ли предоставить вызывающему потоку запрашиваемый им описатель.

21. Объект - процесс. Формат объекта процесс. Ресурсы процесса. Атрибуты объекта «процесс».

Тип объекта – процесс, реализующий компонент – диспетчер процессов, процесс представляет собой один вызов программы, включая адресное пространство и ресурсы, необходимые для ее исполнения.

Объект «процесс», как и другие объекты, содержит заголовок, создаваемый и инициализируемый диспетчером объектов. В заголовке хранятся атрибуты объекта такие как идентификатор процесса, маркер доступа, базовый приоритет.

Тело объекта «процесс» состоит из атрибутов, которые определяет диспетчер объектов. В соответствии с атрибутами, определяются сервисы, которые можно использовать для объекта «процесс».

В целом с процессом связан набор ресурсов (сл.3 «презентация 5 упр. проц. и поток.»)

 

Процесс имеет ряд управляющих таблиц, которые описыв. вирт. адр. пр-во, и описатели, описыв. доступные процессу объекты.

В Windows каждый процесс имеет набор квот на ресурсы. Квота огранич. объем памяти и др.ресурсы. Имеет приоритет который может меняться.

Структура объект-процесс сл.4.

Замечание. Ресурсы, доступные процессу через объектовую модель не показаны как часть объекта процесса, т.к. они не могут быть изменены приложением напрямую.

Атрибуты тела объекта – сл. 5

 

 

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

Идентификатор процесса – уникальное значение процесса в ОС

Время выполн. проц.- общее время выполнения всех потоков.

К экзамену знать 2-3 атрибута и сервиса для объектов «процесс» и «поток».

22. Объект – поток. Формат объекта поток. Ресурсы объекта. Атрибуты объекта «поток».

Поток — некая сущность внутри процесса, получающая процессорное время для выполнения. Без потока программа процесса не может выполняться. Поток включает следующие наиболее важные элементы:

- содержимое набора регистров процессора, отражающих состояние процессора;

- два стека, один из которых используется потоком при выполнении в режиме ядра, а другой — в пользовательском режиме;

- закрытую область памяти, называемую локальной памятью потока и используемую подсистемами, библиотеками исполняющих систем и DLL;

- уникальный идентификатор потока;

- иногда потоки обладают своим контекстом защиты, который обычно используется многопоточными серверными приложениями, подменяющими контекст защиты обслуживаемых клиентов.

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

Выбранный для выполнения поток работает в течение некоего периода, называемого квантом, по истечении которого поток вытесняется. Предполагается, что поток не знает, в какой момент он будет вытеснен. Поток также может быть вытеснен даже, если его квант еще не истек.

23. Внутреннее устройство процесса в ОС Windows. Основные блоки описания процесса и их назначение. Этапы выполнения функции «Создать процесс».

В Windows процессы являются контейнерами для программ. Они содержат виртуальное адресное пространство, описатели объектов режима ядра, а также потоки. Как контейнеры для потоков они содержат также общие ресурсы(используемые для выполнения потоков), включая приоритет и класс планирования. Каждый процесс имеет системные данные пользовательского режима, называемые PEB(Process Environment Block — блок среды процесса). PEB включает список загруженных модулей (EXE и DLL), область памяти со строками окружения, текущий рабочий каталог, а также данные для управления кучами процесса.

Процессы создаются из объектов сегментов, каждый из которых описывает объект памяти (основанный на дисковом файле). При созданиии процесса создающий процесс получает описатель для процесса, который позволяет ему модифицировать новый процесс(посредством отображения сегментов, выделения виртуальной памяти, записи параметров и данных окружения, дублирования дескрипторов файлов в свою таблицу описателей, создания потоков).

Новые процессы создаются при помощи функции createprocess интерфейса win32 api. Эта функция принимает имя подлежащего выполнению файла, строки командной строки и указатель на строки окружения. Функция также принимает текущий рабочий каталог для нового процесса.Win 32 api возвращает и описатель и идентификатор (как для нового процесса так и для его исходного потока).




Поделиться с друзьями:


Дата добавления: 2015-06-25; Просмотров: 932; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.