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