OSDev
http://osdev.su/

Включение мультизадачности в i386
http://osdev.su/viewtopic.php?f=6&t=124
Страница 2 из 2

Автор:  pushkoff [ 20 сен 2007, 15:19 ]
Заголовок сообщения:  Re: Включение мультизадачности в i386

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

legos, очевидно что смена потока в моем случае будет намного быстрее, так как не будет перегрузки CR3... Но смена процесса будет явно более медленной...

Автор:  pushkoff [ 20 сен 2007, 15:20 ]
Заголовок сообщения:  Re: Включение мультизадачности в i386

А кто нить знает как это реализовано в Линуксе или Виндовсе???

Автор:  serg79 [ 21 сен 2007, 07:17 ]
Заголовок сообщения:  Re: Включение мультизадачности в i386

Запустил. Как всегда грабли были мои. Я почемуто думал, что регистр "cr3" должен сохраняться также ка и все регистры общего назначения. Вот тут косяк и был, при возвращении в задачу "main", "cr3" загружался нулем и все вставало.

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/