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/ |