Translate

среда, 6 февраля 2013 г.

Глава 1

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

Давайте сначала разберемся с тем, что представляет собой таблица процессов.
Во многих операционных системах вся информация каждого процесса, дополняющая содержимое его собственного адресного пространства, хранится в таблице операционной системы. Эта таблица называется таблицей процессов и представляет собой массив (или связанный список) структур, по одной на каждый существующий в данный момент процесс. Таким образом, приостановленный процесс состоит из собственного адресного пространства, обычно называемого образом памяти (core image), и компонентов таблицы процесса, содержащей, помимо других величин, значения его регистров[1]. 

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

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

Используемые источники:

  1. "Операционные системы. Разработка и реализация." Э. Таненбаум А. Вудхалл;

Комментариев нет:

Отправить комментарий