SHPORA.net :: PDA | |
Main FAQ гуманитарные науки естественные науки математические науки технические науки Управление процессами. Операции над процессами В соответствии с жизненным циклом процесса его выполнение может быть многократно прервано и продолжено. Для того, чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды. Состояние операционной среды отображается состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т.д. Эта информация называется контекстом процесса.Кроме этого, операционной системе для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в ОС UNIX) информацию такого рода, используемую ОС для планирования процессов, называют дескриптором или блоком управления процесса. Дескриптор процесса по сравнению с контекстом содержит более оперативную информацию, которая должна быть легко доступна подсистеме планирования процессов. Контекст процесса содержит менее актуальную информацию и используется операционной системой только после того, как принято решение о возобновлении прерванного процесса. Очереди процессов представляют собой дескрипторы отдельных процессов, объединенные в списки. Таким образом, каждый дескриптор, кроме всего прочего, содержит, по крайней мере, один указатель на другой дескриптор, соседствующий с ним в очереди. Такая организация очередей позволяет легко их переупорядочивать, включать и исключать процессы, переводить процессы из одного состояния в другое. В этой связи подсистема Управление процессом должна выполнять следующие операции над процессами: 1. Создание. 2. Уничтожение. 3. Запуск. 4. Блокировка. 5. Приостановка. 6. Возобновление, а также 7. Изменение диспетчерского приоритета процесса (работа с очередями). Создание состоит из многих этапов: • присвоение идентификатора процессу; • включение его в список активных процессов, известных системе; • формирование блока управления процессом; • выделение процессу начальных ресурсов. В общем случае существующий процесс может породить новый процесс и имеет место иерархическая структура процессов. Задача может порождать подзадачу в мультипрограммном режиме, и, в этом смысле, мы имеем родительский и дочерний процессы. Уничтожение процесса означает удаление его из системы. Ресурсы возвращаются системе, имя процесса удаляется из списка, блок управления процессом освобождается.Блок управления процессом (Program Control Block – PCB) является центральным объектом в ОС, который определяет процесс и содержит всю необходимую информацию о процессе. PCB содержит определенные сведения. 1. Текущее состояние процесса (Program Status Word - PSW).(Всего 5 состояний) 2. Уникальный идентификатор процесса. 3. Приоритет. 4. Указатели памяти процесса. 5. Указатели выданных процессу ресурсов. 6. Область сохранения регистров. Когда ОС переключает ЦП с процесса на процесс, используется область сохранения регистров в PSB, чтобы запомнить информацию, необходимую для возобновления процесса, когда он снова получит ЦП. Обработка прерываний состоит в следующем: 1. При возникновении прерывания, управление передается в ОС. 2. ОС запоминает состояние прерванного процесса, обычно в PCB прерванного процесса. 3. ОС анализирует тип прерывания и передает управление соответствующему обработчику прерываний. 4. После обработки прерывания ОС либо продолжает выполнять прерванный процесс, либо запускает готовый процесс с наивысшим приоритетом. |