任何人都可以告诉我在Unix中“呼叫表”是什么吗? Maurice J. Bach在他的书Design of the UNIX Operating System中给出了一个解释,但我很难理解这些例子,特别是解释负超时字段的原因。为什么在那里使用软件中断?unix中调用表是什么?
谢谢!
任何人都可以告诉我在Unix中“呼叫表”是什么吗? Maurice J. Bach在他的书Design of the UNIX Operating System中给出了一个解释,但我很难理解这些例子,特别是解释负超时字段的原因。为什么在那里使用软件中断?unix中调用表是什么?
谢谢!
中断停止当前代码并开始执行高优先级处理程序;当这个处理程序运行时,没有其他任何东西可以得到CPU所以如果你需要做一些复杂的事情,你的中断处理程序会挂起整个系统。
解决方案:填充所有必要数据的数据结构,然后用指向调出表中处理程序的指针存储此数据结构。某些服务(通常是时钟处理程序)最终将访问该表并在标准上下文中逐一执行条目(即不阻止进程切换的条目)。
在System V unix中,内核或设备驱动程序可能会安排某些函数稍后由内核运行(或“调出”)。内核时钟处理程序负责确保已注册的调用被执行。调出表是内核数据结构,其中存储了这种注册的“调出”。
我不知道他们通常使用的是什么结局。