【问题标题】:Is an operating system call an interrupt?操作系统调用是中断吗?
【发布时间】:2015-11-22 10:42:04
【问题描述】:

所以我知道操作系统调用是要求操作系统接收某种类型的资源。我不知道操作系统调用是否是中断?还是所有操作系统调用中断?我知道设备会中断操作系统以获取资源,但是操作系统调用只是来自程序的指令而不是中断吗?还是中断只是一条特殊指令?

【问题讨论】:

    标签: operating-system interrupt


    【解决方案1】:

    系统调用只是调用操作系统提供的函数;它可能会中断系统进程,但这对用户是不可见的。从您的程序的角度来看,它与调用任何其他函数没有什么不同。

    中断是中断程序中正常程序流程的事件;它们通常由操作系统生成。中断可以被您的程序捕获,或者,如果您没有编写处理程序来捕获它,它可能会落入父进程提供的处理程序。

    【讨论】:

    • 系统调用和操作系统调用是一回事吗?谢谢你很有趣。
    • 是的,它们是同义词。
    【解决方案2】:

    “中断”是严重超载的词之一,而且越来越严重。

    中断用于表示来自某些外围设备的“真正”硬件中断 - 向下拖动 CPU 封装上的中断请求引脚会导致硬件在处理中断时跳转到预编程的位置,通常在结束时当前机器指令的执行。

    其他语言已将“中断”用于其他目的,例如。 Java:“中断是对线程的指示,它应该停止正在做的事情并做其他事情。”相关,但不一样。

    在 OS 类中,“中断”是更改保护级别的 OS 条目,例如。进入内核态。这可能发生在用户系统调用或从硬件中断输入的驱动程序中,这两种操作都称为“中断”。用户级系统调用可能会或可能不会使用模拟硬件中断的“软件中断”机制。

    不管怎样,现在等待下一次重载造成更多混乱。

    我听说'静态'现在在 C++ 中还有另一个含义 :((

    【讨论】:

      【解决方案3】:

      中断是连接到计算机的设备或计算机内的程序向处理器发出的信号,指示需要立即注意的事件。

      中断提供了一种机制,通过该机制其他模块(I/O、内存)可以中断处理器的正常处理。

      中断会提醒处理器注意高优先级条件,需要中断处理器正在执行的当前代码。

      处理器通过暂停其当前活动、保存其状态并执行称为 ISR 的函数来处理事件来做出响应。

      此中断是暂时的,在中断处理程序完成后,处理器会恢复正常活动。 complete article here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-08-10
        • 2016-02-12
        • 1970-01-01
        • 1970-01-01
        • 2016-10-31
        • 1970-01-01
        • 1970-01-01
        • 2016-01-25
        相关资源
        最近更新 更多