Linux.by
https://forum.linux.by/

Переход в реальный режим в Linux
https://forum.linux.by/viewtopic.php?f=6&t=2979
Страница 1 из 1

Автор:  Alexander [ 26 май 2004, 06:34 ]
Заголовок сообщения:  Переход в реальный режим в Linux

Подскажите, если кто знает. Я начал не давно программировать в линуксе и столкнулся с проблемой - нельзя напрямую работать с прортами ввода-вывода, копировать в память напрямую и работать с функциями BIOS. Понятно что надо переключиться в реальный режим.
Но почему нельзя в линуксе перейти из защищенного рещима в реальный? Изменив в регистре CR0 флаг PE. Кто отслеживает, что я меняю регистры?
И че? в линуксе можно работать только через системные вызовы?

С уважением, Александр

Автор:  Llama [ 26 май 2004, 07:08 ]
Заголовок сообщения: 

Alexander, да. Следует использовать системные вызовы везде, где возможно. Если можно реализовать хотя бы чать требуемой функциональности в user-mode, то это следует сделать именно там, а для работы со специфическим оборудованием пишется драйвер, который использует ресурсы компа опять же не монопольно, сгласно достаточно строгим правилам и не меншая другим потокам ядра. По поводу того "кто отслеживает, что я меняю регистры" усилено курить мануалы по ia32. Если нет понимания работы защищенного режима, то зачем вообще лезть в регистры?

Автор:  Aleksey Kondratenko [ 26 май 2004, 11:22 ]
Заголовок сообщения: 

Не нужен тебе реальный режим. Если достаточно лазанья по портам и
памяти то см. man iopl и man 4 mem. in и out можно пользовать из
h-ника <asm/io.h>.

Автор:  Aleksey Kondratenko [ 26 май 2004, 11:34 ]
Заголовок сообщения: 

Да, а к BIOS'у тебе скорей всего не следует лезть. Если очень надо
то см. системый вызов vm86 или библиотеку LRMI. Через эту библиотеку
mplayer лазит на VESA биос.

P.S. А нафига тебе BIOS ?

Автор:  Гость [ 26 май 2004, 22:30 ]
Заголовок сообщения: 

Спасибо большое за ответы!

Llama, подскажите, где можно прочесть про эти строгие правила при написании драйверов.

Aleksey Kondratenko, BIOS мне не обязательно просто я превык в досе использовать биос для своих нужд, вот и решил сдесь попробовать. Ведь я не знаю системных вызовов, ибо я вот только недавно в Linux.

Автор:  Aleksey Kondratenko [ 27 май 2004, 01:02 ]
Заголовок сообщения: 

Поставь glibc-doc и читай. Кажется, тебе также действительно следует
почитать мануалы от intel по x86. Они есть на developer.intel.com
(3 тома).

Автор:  Llama [ 27 май 2004, 07:24 ]
Заголовок сообщения: 

Валяется в интеренете книга - linux device drivers. Кроме того, bios call - не панацея. Иногда они действую слишком медленно из-за того, что не учитывааются возможности конкретной железки.

Автор:  Гость [ 27 май 2004, 19:15 ]
Заголовок сообщения: 

Спаситбо большое за ответы!
Я действительно в защищенном режиме не понимаю, посоветуйте, пожалуйста, что-нибудь из инета.

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