Работа с прерываниями, порты

Модератор: Модераторы разделов

trample2
Сообщения: 29

Работа с прерываниями, порты

Сообщение trample2 »

Интересует все что касается работы с прерываниями и портами в Линукс, конкретнее:

- организация прерывания по программному запросу
- организация работы с портом стандарта MIL-STD-1533

*-есть ли в Линухе функции наподобие виндовых inport() и outport()?
Спасибо сказали:
Аватара пользователя
minoru-kun
Сообщения: 621
ОС: Debian GNU/Linux

Re: Работа с прерываниями, порты

Сообщение minoru-kun »

- организация прерывания по программному запросу

О боже... Чур меня, чур меня... >_< Вот уж никогда не надо сравнивать *NIX и DOS - я понимаю что и то, и то - консольное, но технически сходство заключается только в интерпретаторе команд. Навряд ли система, работающая в защищенном режиме CPU, даст "просто так" поработать на таком низкоуровневом уровне, и тем более, таким сомнительным для многозадачной ОС методом.
*-есть ли в Линухе функции наподобие виндовых inport() и outport()?

Встречный вопрос - а нафига? Вроде бы, все, что нужно, в /dev есть, и может открываться как простой файл, а если того, что нужно нету - то уж пишите модуль ядра. Конечно, никто не мешает "пойти напролом" асмом:

Код: Выделить всё

mov ax, [num]
out [port], ax

но кто даст привилегии, чтобы выполнить этот код? >_<
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Работа с прерываниями, порты

Сообщение sash-kan »

minoru-kun, хм, я, конечно, не *nix-программист, но все-таки, как насчет inb, outb и т.п.?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Работа с прерываниями, порты

Сообщение Zeus »

sash-kan писал(а):
23.07.2007 20:21
minoru-kun, хм, я, конечно, не *nix-программист, но все-таки, как насчет inb, outb и т.п.?

Ну есть конечно!
Софт с железом же работает - а как иначе, кроме как через порты ввода-вывода и отображаемую память?
С портами ввода-вывода при определённых полномочиях может работать и программа пользовательского уровня (не ядра): поищи на форуме - тут как-то "ломали копья"... собственно тема, вроде про критические секции в виндах и линухах была, кажется.
А вот даст ли ядро "сесть на прерывание" прикладной программе - даже не знаю. Скорее даже - сомневаюсь.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Работа с прерываниями, порты

Сообщение sash-kan »

Zeus писал(а):
23.07.2007 23:47
поищи на форуме - тут как-то "ломали копья"... собственно тема, вроде про критические секции в виндах и линухах была, кажется.
это тонкий намек топик-стартеру (:
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Работа с прерываниями, порты

Сообщение Zeus »

sash-kan писал(а):
24.07.2007 11:30
Zeus писал(а):
23.07.2007 23:47
поищи на форуме - тут как-то "ломали копья"... собственно тема, вроде про критические секции в виндах и линухах была, кажется.
это тонкий намек топик-стартеру (:

Я что-то запутался "кто за кого" :blush:
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Работа с прерываниями, порты

Сообщение sash-kan »

Zeus писал(а):
24.07.2007 13:15
Я что-то запутался "кто за кого"
да я тут просто мимо проходил и вставил пять копеек. меня абсолютно не интересует поднятая тема. единственное, захотелось услышать мнение по поводу inb и outb.
а про критические секции пусть топик-стартер ищет. это он интересовался, как в обход ядра (или не в обход? не знаю) поработать с
trample2 писал(а):
23.07.2007 14:26
прерываниями и портами
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Работа с прерываниями, порты

Сообщение Uncle_Theodore »

Могу книжку посоветовать
http://lwn.net/Kernel/LDD3/
Очень хорошо там все написано, с примерами. И подробно.
Спасибо сказали: