Как вызвать код ядра в libc? (Windows или Linux) - PullRequest
0 голосов
/ 26 января 2011

Я имею в виду, как ядро ​​предоставляет свою функцию приложению пользователя земли.

Ответы [ 2 ]

1 голос
/ 26 января 2011

Предполагая, что вы говорите о Linux, вы помещаете свои аргументы в регистры и вызываете прерывание 0x80.Имя для этого - «системный вызов». Смотрите эти ссылки:

Windows, вероятно, похожа, это выглядиткак хорошая статья:

http://www.codeguru.com/cpp/w-p/system/devicedriverdevelopment/article.php/c8035

и т. д. ... Google

1 голос
/ 26 января 2011

Функции ядра вызываются с использованием системных вызовов, которые обычно принимают форму заполнения некоторых регистров (типа системного вызова, параметров, ...) и выполнения программного прерывания (int 0x80) или инструкции sysenter (если ваша архитектура поддерживает это).

Если вы делаете это в Linux, возможно, вы захотите посмотреть документацию по системному вызову Linux, например, здесь: http://bluemaster.iu.hio.no/edu/dark/lin-asm/syscalls.html

Безусловно, существует аналогичная документация для других ядер (windows ').

...