Мы переходим от ring3 к ring0, используя int или новую инструкцию syscall / sysenter. Означает ли это, что таблицы страниц и другие вещи, которые необходимо изменить для ядра, автоматически выполняются инструкцией int или обработчик прерывания для int 0x80 выполнит требуемые действия и перейдет к соответствующему системному вызову.
Также при возврате из системного вызова нам снова нужно перейти в пространство пользователя. Для этого нам нужно знать адрес инструкции в пользовательском пространстве, чтобы продолжить пользовательское приложение. Где хранится этот адрес. Команда 'ret' автоматически меняет кольцо с ring3 на ring0 или где / как происходит этот механизм смены кольца?
Затем я прочитал, что переход с кольца 3 на кольцо 0 не так дорого, как переход с кольца 0 на кольцо 3. Почему это так ??
Спасибо, Бала