gpt4 book ai didi

linux - linux中的 'registering an ISR in DOS'相当于什么

转载 作者:太空宇宙 更新时间:2023-11-04 11:16:20 25 4
gpt4 key购买 nike

在DOS下可以通过以下代码注册isr(中断服务程序):

mov    ah,25H
mov al,0BH
lea dx,handler
mov bx,seg handler
mov ds,bx
int 21H

该过程将处理 0BH 中断。

我想知道:这在 linux 中等同于什么?

最佳答案

在 DOS 中,您可以使用函数 25h 为系统调用或来自设备的硬件中断安装处理程序。实模式代码通常不关心硬件异常,但某些 DOS 程序会使用其中一些异常,例如“协处理器不存在”,用于为 CAD 程序模拟 80x87,等等。

在 Linux 中你可以做这些事情,但只能从内核模式,即设备驱动程序。

  • 异常:它们由内核自动处理。您的(用户)程序收到一个信号。处理它。你的内核程序不应该触发任何异常(页面错误除外,它是可恢复的)

  • 系统调用:驱动程序可以更改系统调用表,通过写入 syscalls 数组来添加或修改现有的系统调用表。更多信息 here

  • 硬件中断:使用 request_interrupt() 函数为绑定(bind)到 IRQ 的硬件中断安装处理程序(与来自的中断号不同)操作系统)

关于linux - linux中的 'registering an ISR in DOS'相当于什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20784756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com