Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Объектно-ориентированная структура операционной системы 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!