Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Объекты процессов и потоков



Объектно-ориентированная структура операционной системы W2K облегча­ет разработку подсистемы для работы с процессами. Разработчики W2K вос­пользовались двумя типами связанных с процессами объектов: процессами и по­токами. Процесс — это объект, соответствующий заданию или приложению пользователя, который владеет своими собственными ресурсами, такими, как память и открытые файлы. Поток — это диспетчеризуемая единица работы, ко­торая выполняется последовательно и является прерываемой, что позволяет процессору переключиться на выполнение другого потока.

Каждый процесс в операционной системе W2K представлен объектом, об­щая структура которого показана на рис. 4.13,а. Каждый процесс определяется некоторым числом атрибутов и может предоставлять определенные сервисы, ко­торые он выполняет после получения соответствующего сообщения-запроса. Единственный способ вызвать такой сервис — отправка сообщения процессу, ко­торый его предоставляет. При создании нового процесса операционная система W2K использует класс или тип объектов, определенный как шаблон процесса для генерации новых экземпляров объектов. Во время создания объекта его ат­рибутам присваиваются конкретные значения. В табл. 4.3 приводится краткое описание каждого атрибута процессов.


Таблица 4.3. Атрибуты процесса в операционной системе Windows 2000

Идентификатор процесса Уникальное значение, идентифицирующее процесс в операционной системе   Дескриптор защиты Описывает, кто создал объект, кто обладает правом доступа к нему или может им пользоваться и кто определяет права доступа к объекту   Базовый приоритет Базовый приоритет выполнения потока, принадлежащего процессу   Процессор по умолчанию Заданный по умолчанию набор процессоров, на котором воз­можно выполнение потоков процесса   Квоты Максимальное количество страничной и прочей системной памяти, объем в страничном файле и процессорное время, доступные данному процессу Время выполнения Суммарное время, затраченное на выполнение всех потоков процесса Счетчики ввода-вывода Переменные, в которые заносятся сведения о количестве и типе операций ввода-вывода, выполненных потоками процесса
Счетчики операций Переменные, в которые заносятся сведения о количестве и с виртуальной памятью типе операций с виртуальной памятью, выполненных потоками процесса   Порты Каналы обмена информацией между процессами, в которые исключений/отладки диспетчер процессов должен отправить сообщение при возникновении исключительной ситуации из-за одного из пото­ков процесса   Статус выхода Причина завершения процесса

В операционной системе W2K процесс перед выполнением должен содер­жать хотя бы один поток, который затем может создавать другие потоки. В мно­гопроцессорной системе несколько потоков одного и того же процесса могут вы­полняться параллельно. На рис. 4.13,6 изображена структура объекта потока, а в табл. 4.4 определены его атрибуты. Заметим, что некоторые атрибуты потока подобны атрибутам процесса. Значения таких атрибутов потока извлекаются из значений соответствующих атрибутов процесса. Например, в многопроцессорной системе сродные потоку процессоры — это множество процессоров, на которых может выполняться данный поток; это множество совпадает с множеством про­цессоров, сродных процессу, или является его подмножеством.

Таблица 4.4. Атрибуты потока в операционной системе Windows 2000   Идентификатор потока Уникальное значение, идентифицирующее поток, когда он вызывает сервис   Контекст потока Набор значений регистров и другие данные, которыми определяется состояние выполнения потока   Динамический приоритет Приоритет выполнения потока в данный момент времени   Базовый приоритет Нижний предел динамического приоритета потока   Процессоры потока Множество процессоров, на которых может выполняться поток. Это множество является подмножеством процессоров, сродных процессу потока, или совпадает с ним   Время выполнения потока Совокупное время, затраченное на выполнение потока в пользовательском режиме и в режиме ядра   Статус оповещения Флаг, который указывает, следует ли потоку выполнять асинхронный вызов процедуры   Счетчик приостановок В нем указывается, сколько раз выполнение потока было приостановлено без последующего возобновления   Признак имперсонации Временный признак доступа, позволяющий потоку выпол­нять операции от имени другого процесса (используется подсистемами)   Порт завершения Канал обмена информацией между процессами, на кото­рый диспетчер процессов должен отправить сообщение при завершении потока (используется подсистемами)   Статус выхода потока Причина завершения потока

Заметим, что одним из атрибутов процесса является его контекст. Содер­жащаяся в контексте информация позволяет операционной системе приостанав­ливать и возобновлять потоки. Более того, приостановив поток и изменив его контекст, можно изменить его поведение.





Дата публикования: 2014-11-04; Прочитано: 528 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...