【问题标题】:Why interrupt service routine cannot contain most system calls为什么中断服务程序不能包含大多数系统调用
【发布时间】:2012-03-30 12:20:20
【问题描述】:

这是编写中断处理程序时的准则之一: 处理程序不能调用包含内核调用的库例程,除了 InterruptDisable() 、InterruptEnable() 、 InterruptLock() 、 InterruptMask() 、 InterruptUnlock() 和InterruptUnmask() 。 为什么不能包含 sys 调用?

【问题讨论】:

标签: unix operating-system interrupt system-calls


【解决方案1】:

原因是中断随时可能发生;它可能在执行另一个操纵内核数据结构的系统调用时发生;因此,需要这样做以确保相互排斥。如果您进行系统调用,它可能会破坏数据结构。

【讨论】:

    猜你喜欢
    • 2012-03-15
    • 2015-06-21
    • 2019-06-06
    • 1970-01-01
    • 2013-03-09
    • 2021-04-20
    • 1970-01-01
    • 2023-04-01
    • 2014-09-28
    相关资源
    最近更新 更多