OSdev, Task State Segment и стеки? Два вопроса: 1. С помощью TSS можно добиться того, чтобы при прерыванию менялся стек и rip, cs, flags, rsp, ss писались туда, в новый стек? 2. Нужен ли стек нулевого кольца для каждой задачи, или только по одному на процессор хватит?
Да, с помощью TSS можно изменить стек и другие регистры при прерывании. TSS содержит информацию о стеке и регистрах, которые будут загружены при переключении задач.
Во многозадачной системе операционная система обычно управляет множеством стеков, один для каждой задачи. Каждый стек обычно ассоциируется с определенным процессом или потоком выполнения и используется для сохранения локальных переменных и промежуточных результатов. Поэтому обычно требуется несколько стеков, по одному на каждую задачу.
Да, с помощью TSS можно изменить стек и другие регистры при прерывании. TSS содержит информацию о стеке и регистрах, которые будут загружены при переключении задач.
Во многозадачной системе операционная система обычно управляет множеством стеков, один для каждой задачи. Каждый стек обычно ассоциируется с определенным процессом или потоком выполнения и используется для сохранения локальных переменных и промежуточных результатов. Поэтому обычно требуется несколько стеков, по одному на каждую задачу.