Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лек_1_11_Процессы_пользовательский аспект.doc
Скачиваний:
4
Добавлен:
21.09.2019
Размер:
129.02 Кб
Скачать

Контекст и дескриптор процесса (из учеб. Пособия Мохова)

В основе UNIX лежит концепция процесса - единицы управления и единицы потребления ресурсов.

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

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

Идентификация отдельных вычислительных процессов выполняется на основании их дескрипторов, а возобновление выполнения – на основании контекстов.

Дескриптор П – информационная структура, однозначно идентифицирующая отдельный процесс с его характеристиками (идентификатор процесса, его состояние, данные о степени привилегированности, место нахождения кодового сегмента и др.).

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

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

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

Контекст, так же как и дескриптор процесса, доступен только программам ядра, то есть находится в виртуальном адресном пространстве ОС.

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

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

  1. Создать дескриптор и контекст.

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

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

Для выполнения процессов предусмотрены два режима: привилегированный режим - «системный» и обычный режим - «пользовательский». В системном режиме выполняются программы ядра, а в режиме пользователя - оболочка, утилиты (команды) и прикладные программы. В пользовательском режиме запрещено выполнение действий, связанных с управлением ресурсами системы.