Подскажите, если кто знает. Я начал не давно программировать в линуксе и столкнулся с проблемой - нельзя напрямую работать с прортами ввода-вывода, копировать в память напрямую и работать с функциями BIOS. Понятно что надо переключиться в реальный режим.
Но почему нельзя в линуксе перейти из защищенного рещима в реальный? Изменив в регистре CR0 флаг PE. Кто отслеживает, что я меняю регистры?
И че? в линуксе можно работать только через системные вызовы?
С уважением, Александр
Переход в реальный режим в Linux
Alexander, да. Следует использовать системные вызовы везде, где возможно. Если можно реализовать хотя бы чать требуемой функциональности в user-mode, то это следует сделать именно там, а для работы со специфическим оборудованием пишется драйвер, который использует ресурсы компа опять же не монопольно, сгласно достаточно строгим правилам и не меншая другим потокам ядра. По поводу того "кто отслеживает, что я меняю регистры" усилено курить мануалы по ia32. Если нет понимания работы защищенного режима, то зачем вообще лезть в регистры?
Опыт растет прямо пропорционально выведенному из строя оборудованию
Спасибо большое за ответы!
Llama, подскажите, где можно прочесть про эти строгие правила при написании драйверов.
Aleksey Kondratenko, BIOS мне не обязательно просто я превык в досе использовать биос для своих нужд, вот и решил сдесь попробовать. Ведь я не знаю системных вызовов, ибо я вот только недавно в Linux.
Llama, подскажите, где можно прочесть про эти строгие правила при написании драйверов.
Aleksey Kondratenko, BIOS мне не обязательно просто я превык в досе использовать биос для своих нужд, вот и решил сдесь попробовать. Ведь я не знаю системных вызовов, ибо я вот только недавно в Linux.