Экзаменационный билет № 15




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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Стратегия планирования процесса: приоритетная многоочередная дисциплина обслуживания.

После обслуживания из очереди i система выбирает для обслуживания запрос из непустой очереди с самым младшим номером. Таким запросом может быть следующий запрос из очереди i или из очереди i+l (при условии, что после обслуживания запроса из очереди i последняя оказалась пустой). Новый запрос поступает в первую очередь (i = l). В такой ситуации после окончания времени tk, выделенного для обслуживания запроса из очереди i, будет начато обслуживание запроса 1-й очереди.

Если система выходит на обслуживание заявок из очереди N, то они обслуживаются либо по дисциплине FIFO (каждая заявка обслуживается до конца), либо по круговому циклическому алгоритму.

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

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

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

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: