Translate

среда, 3 апреля 2013 г.

Глава 2

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

Для переключения процессов процессору понадобится информация, хранимая в таблице процессов. В частности, ему нужно восстановить состояние процесса в точности в таком же виде, в котором он находился до переключения в состояние готовности (блокировки). Можно предложить следующие шаги (дальше подразумевается, что все операции совершают аппаратные средства):
  1. Из структуры, хранящей информацию о выполняемом в данный момент процессе копируется адрес, по которому находится запись  в таблице процессов о текущем процессе. Далее информация о выполняемом процессе (регистры, счетчики команд и стека, слово состояния программы) сохраняется в таблице процессов в ячейке с полученным ранее адресом.
  2. Теперь производятся обратные действия - компьютер запоминает адрес ячейки с новым запущенным процессом, затем копирует из нее данные в регистры процессора.
  3. Наконец управление передается процессу.


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

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