- •12 Спо часть 1 Лек 1_11 (Кузнецова а.В.)
- •Процессы в unix. (пользовательский аспект).
- •Запуск – завершение процесса.
- •Отношение между процессами.
- •Общие сведения. Основные понятия.
- •Когда и с кем создаются процессы? (Создание процесса).
- •Когда и кем уничтожаются процессы? (Завершение процесса).
- •Создание процессов в unix.
- •Взаимодействие процессов
- •Управление процессами с помощью системных функций.
- •Контекст и дескриптор процесса (из учеб. Пособия Мохова)
Контекст и дескриптор процесса (из учеб. Пособия Мохова)
В основе UNIX лежит концепция процесса - единицы управления и единицы потребления ресурсов.
Процесс представляет собой программу в состоянии выполнения.
При управлении процессами, каждый из которых на протяжении своего существования может быть многократно прерван и продолжен, ОС использует два основных типа информационных структур: дескриптор и контекст процесса.
Идентификация отдельных вычислительных процессов выполняется на основании их дескрипторов, а возобновление выполнения – на основании контекстов.
Дескриптор П – информационная структура, однозначно идентифицирующая отдельный процесс с его характеристиками (идентификатор процесса, его состояние, данные о степени привилегированности, место нахождения кодового сегмента и др.).
Дескриптор процесса содержит информацию о процессе, которая необходима ядру в течение всего жизненного цикла процесса (состояние процесса, расположение его образа в памяти, глобальный приоритет - идентификатор пользователя, создавшего процесс и др.)
Контекст П – информационная структура, описывающая состояние процесса на момент прерывания (состояние регистров, программного счетчика, режим работы процессора, указатели на открытые файлы, информация о незавершенных операциях ввода-вывода, коды ошибок, выполняемые данным процессом системные вызовы и т.д.).
Контекст П содержит информацию о процессе, необходимую для возобновления выполнения процесса с прерванного места (содержимое регистров процессора, информацию об открытых данным процессом файлах и др.).
Контекст, так же как и дескриптор процесса, доступен только программам ядра, то есть находится в виртуальном адресном пространстве ОС.
Для управления П в ОС применяются очереди вычислительных процессов, представляющие собой списки дескрипторов отдельных П.
Следует отметить, что программный код только тогда начнет выполняться, когда ОС создаст для него процесс. Создать процесс – это значит:
Создать дескриптор и контекст.
Включить дескриптор нового процесса в очередь готовых процессов.
Загрузить кодовый сегмент процесса в оперативную память.
Для выполнения процессов предусмотрены два режима: привилегированный режим - «системный» и обычный режим - «пользовательский». В системном режиме выполняются программы ядра, а в режиме пользователя - оболочка, утилиты (команды) и прикладные программы. В пользовательском режиме запрещено выполнение действий, связанных с управлением ресурсами системы.