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