Управление процессами и потоками в Windows 2000

Процессы в ОС W2K организованы так, чтобы обеспечить поддержку различных операционных сред. К важным характеристикам процессов в ОС относят реализацию процессов как объектов, возможность порождения процессами одного или нескольких потоков, наличие средств синхронизации объектов – процессов и объектов- - потоков.

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

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

Каждый процесс в W2K представлен объектом с определенным количеством атрибутов:

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

o Дескриптор защиты – описывает создателя процесса и права доступа к процессу владельца и других процессов

o Базовый приоритет – приоритет выполнения потока данного процесса

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

o Квоты – максимальное количество памяти (всех типов, используемых системой), процессорное время, выделенное процессу

o Счетчики ввода – вывода – переменные, содержащие сведения о количестве и типе операций ввода – вывода

o Счетчики операций с виртуальной памятью – переменные, содержащие сведения о количестве и типе операций с виртуальной памятью

o Статус выхода – причина завершения процесса

 

Каждый процесс должен содержать хотя бы один поток. В системе определены и атрибуты потока. Многие, из которых аналогичны атрибутам процесса – родителя. Однако одним из основных атрибутов является атрибут контекста потока. Контекст процесса содержит информацию, необходимую процессу для возобновления его в прерванном месте - содержимое регистров процессора, коды ошибок выполняемых системных вызовов, информация об открытых файлах, незавершенных операциях ввода – вывода и другая важная информация.

Поток, созданный в системе может находиться в одном из шести состояний: готовый к выполнению, резервный, выполняющийся, ожидающий, переходный, завершающийся. На рис. 2.7. приведена диаграмма состояний потоков в W2K.

ОС W2K. Поддерживает симметричную многопроцессорную конфигурацию аппаратного обеспечения. Это значит, что потоки любого процесса могут выполняться на любом процессоре. Несколько потоков одного процесса могут выполняться одновременно на нескольких процессорах. Однако, выделяя потоку процессор, ядро ОС старается выделить тот же процессор, который обслуживал поток в прошлый раз. Это способствует более рациональному использованию данных, оставшихся в КЭШах процессора.

 

Рис. 2.7. Диаграмма состояний потоков в W2K.