Контекст, дескриптор процесса 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Контекст, дескриптор процесса



Действия, осуществляемые после запуска процесса:

А) Выделение памяти под данные, код и стек

Б) Создание структуры связанной с процессом – дескриптора (адрес памяти процесса, где начинается сегмент и права доступа ко внешним устройствам, файловой системе)

В) Перевод процесса в состояние готовности.

 

В ОС существует таблица процессов для учета процессов по их ID (уникальному идентификатору впределах ОС который связан с контекстом процесса)

 

Контекст процесса содержет информацию о:

- состояние процесса

- правах вводв вывода

- x86 порах I/O + дополнительное пространство памяти (256 ячеек по 1 байту) Можно не обращаться к порту.

- состояние регистра (при прерывании процесса значения всех регистров сохраняются, чтобы восстановить после возбновления процесса)

На протяжении существования процесса его выполнение может быть многократно прервано и продолжено. Для того, чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды. Состояние операционной среды отображается состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т.д. Эта информация называется контекстом процесса.

Кроме этого, операционной системе для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в ОС UNIX) информацию такого рода, используемую ОС для планирования процессов, называют дескриптором процесса.

Дескриптор процесса по сравнению с контекстом содержит более оперативную информацию, которая должна быть легко доступна подсистеме планирования процессов. Контекст процесса содержит менее актуальную информацию и используется операционной системой только после того, как принято решение о возобновлении прерванного процесса.

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

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

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

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

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

На протяжении существования процесса его выполнение может быть многократно прервано и продолжено. Для того, чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды. Состояние операционной среды отображается состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т.д. Эта информация называется контекстом процесса. Кроме этого, операционной системе для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в ОС UNIX) информацию такого рода, используемую ОС для планирования процессов, называют дескриптором процесса. Очереди процессов представляют собой дескрипторы отдельных процессов, объединенные в списки. Таким образом, каждый дескриптор, кроме всего прочего, содержит по крайней мере один указатель на другой дескриптор, соседствующий с ним в очереди. Такая организация очередей позволяет легко их переупорядочивать, включать и исключать процессы, переводить процессы из одного состояния в другое. Программный код только тогда начнет выполняться, когда для него операционной системой будет создан процесс. Создать процесс - это значит: 1) создать информационные структуры, описывающие данный процесс, то есть его дескриптор и контекст; 2) включить дескриптор нового процесса в очередь готовых процессов; 3) загрузить кодовый сегмент процесса в оперативную память или в область свопинга.

 

8 Алгоритм планирование процесса

 

Планирование процесса включает в себя следующие задачи:

Программно: определение момента времени когда необходимо переключить процесс, выбор процесса из очереди готовых процессов

Аппаратно: переключение контекста предыдущего и следующего процесса

Таймер посылает прерывание, которое обрабатывается ОС. По этому прерыванию ОС переключает процессы.

 

Методы переключения процессов:

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

- приоритет – степень превелегированности процесса по отношению к ресурсам системы. Чем выше приоритет, тем больше у процесса шансов быть запущенным и работать дольше других.

Примечание: современные опеационные системы комбинируют эти два способа.

Планирование процессов включает в себя решение следующих задач:

1. определение момента времени для смены выполняемого процесса;

2. выбор процесса на выполнение из очереди готовых процессов;

3. переключение контекстов "старого" и "нового" процессов.

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

Алгоритмы планирования процессов, основанные на квантовании, и алгоритмы, основанные на приоритетах.

В соответствии с алгоритмами, основанными на квантовании, смена активного процесса происходит, если:

· процесс завершился и покинул систему,

· произошла ошибка,

· процесс перешел в состояние ОЖИДАНИЕ,

· исчерпан квант процессорного времени, отведенный данному процессу.

Процесс, который исчерпал свой квант, переводится в состояние ГОТОВНОСТЬ и ожидает, когда ему будет предоставлен новый квант процессорного времени, а на выполнение в соответствии с определенным правилом выбирается новый процесс из очереди готовых. Таким образом, ни один процесс не занимает процессор надолго, поэтому квантование широко используется в системах разделения времени

Приоритет - это число, характеризующее степень привилегированности процесса при использовании ресурсов вычислительной машины, в частности, процессорного времени: чем выше приоритет, тем выше привилегии.

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

Задачи: определение момента времени переключения процессов, выбор процесса на выполнение из очереди готовых процессов, переключение контекстов предыдущего и следующего процессов. Первые две задачи решаются программными средствами, а третья – аппаратными. Два способа выбора процесса для перекл.: квантование времени и приоритеты. При первом способе каждому процессу назначается обинак. пром. времени, при исчерпании к.происходит перекл.процесса. Перекл.может наступить раньше, если процесс самостоят.перейдет в режим ожид. или если произошла ошибка. Приоритет – число, характеризующее степень привилегированности процесса по отношению к ресурсам сист. В совр ОС эти способы комбинируются: 1)чем больше приоритет, тем больше квантов выделяется за один раз, 2) при квантовании на равные пром.врем.перекл.происходит чаще на процессы с большей степенью привилегированности.

 



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 431; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.190.156.80 (0.01 с.)