Статьи Галерея Форум Чат Файлы HowTo Ссылки Поиск
Текущее время: 23 авг 2019, 00:23




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Переход в реальный режим в Linux
СообщениеДобавлено: 26 май 2004, 06:34 
Подскажите, если кто знает. Я начал не давно программировать в линуксе и столкнулся с проблемой - нельзя напрямую работать с прортами ввода-вывода, копировать в память напрямую и работать с функциями BIOS. Понятно что надо переключиться в реальный режим.
Но почему нельзя в линуксе перейти из защищенного рещима в реальный? Изменив в регистре CR0 флаг PE. Кто отслеживает, что я меняю регистры?
И че? в линуксе можно работать только через системные вызовы?

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


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 26 май 2004, 07:08 
Неотъемлемая часть форума
Аватара пользователя

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

_________________
Опыт растет прямо пропорционально выведенному из строя оборудованию


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 26 май 2004, 11:22 
Неотъемлемая часть форума

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


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 26 май 2004, 11:34 
Неотъемлемая часть форума

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

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


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 26 май 2004, 22:30 
Спасибо большое за ответы!

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

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


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 27 май 2004, 01:02 
Неотъемлемая часть форума

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


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 27 май 2004, 07:24 
Неотъемлемая часть форума
Аватара пользователя

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

_________________
Опыт растет прямо пропорционально выведенному из строя оборудованию


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 27 май 2004, 19:15 
Спаситбо большое за ответы!
Я действительно в защищенном режиме не понимаю, посоветуйте, пожалуйста, что-нибудь из инета.


Вернуться к началу
  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
[ All resources are available under GNU GPL ] [ Support ] [ Hosted by DataHata | MyCloud.by ] [ Powered by phpBB® Forum Software © phpBB Group ]

LVEE Winter LVEE Rambler's Top100