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

Понятие процессов и потоков



Управление процессами состоит в их создании и уничтожении; приостановлении и возобновлении; изменении приоритета; переключении состояний.

При управлении процессами ОС использует два основных типа информационных структур: дескриптор процесса и контекст процесса.

Дескриптор процесса (это термин, используемый в Unix, но ставший обще­употребительным. Аналогичная структура в Windows называется объект-процессом) содержит информацию о процессе, которая необходима ядру ОС в течение всего жиз­ненного цикла процесса независимо от его состояния.

Дескриптор содержит::

· идентификатор процесса;

· информацию о состоянии процесса;

· данные о степени привилегированности процесса;

· местоположение кодового сегмента;

· данные о родственных процессах;

· данные о событиях, которые ожидает процесс и др.

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

Контекст процесса содержит информацию, необходимую для возобновления вы­полнения процесса после прерывания и поэтому сохраняемую перед прерыванием. Это:

· состояние аппаратуры компьютера:

· значение счетчика команд; содержимое регистров общего назначения;

· режим работы процессора;

· флаги;

· маски прерываний и др.;

· параметры операционной системы:

· указатели на открытые файлы;

· информация о незавершенных операциях ввода-вывода;

· коды ошибок выполняемых процессом системных вызовов и др.

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

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

Создать процесс - это означает:

· создать информационные структуры, описывающие процесс, т.е. его дескриптор и контекст;

· включить дескриптор нового процесса в очередь готовых процессов;

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

В многопоточных системах (с возможностью распараллеливания процессов) для каждого процесса должен создаться как минимум один поток выполнения. При этом ОС генерирует описатель (дескриптор) потока.

Момент выборки процесса на выполнение осуществляется в соответствии с при­нятой в ОС дисциплиной обслуживания.

Процесс может порождать процессы - потомки, в результате чего организуется иерархическая структура процессов. Отношения между потомками и родителями стро­ятся по-разному в различных ОС.

В мультипрограммной системе процесс может находиться в одном из трех основ­ных состояний:

· выполнение - активное состояние, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;

· ожидание - пассивное состояние; процесс заблокирован, он не может выполняться по своим внутренним причинам, ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, ос­вобождения какого-либо необходимого ему ресурса;

· готовность - также пассивное состояние; но в этом случае процесс заблокиро­ван в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выпол­нением другого процесса.

В течение своей жизни каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов, принятым в данной опера­ционной системе.

Типичный граф состояний потока:





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



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