所以我知道操作系统调用是对操作系统的请求,以接收某种类型的资源。我不知道的是操作系统调用是否是中断?还是所有的操作系统调用都被中断了?我知道设备会中断操作系统获取资源,但是操作系统调用仅仅是来自程序的指令,而不是中断吗?或者中断只是一条特殊的指令?
发布于 2015-08-28 05:32:28
系统调用只是调用操作系统提供的函数;它可能会中断系统进程,但对用户是不可见的。从您的程序的角度来看,它与调用任何其他函数没有什么不同。
中断是中断程序中正常程序流的事件;它们通常是由操作系统生成的。中断可以由您的程序捕获,或者,如果您没有编写处理程序来捕获中断,它可能会落入父进程提供的处理程序。
发布于 2015-08-28 16:37:27
“中断”是其中一个严重超载的词,而且还在变得更糟。
通常在当前机器指令执行结束时,中断被用来表示来自某些外围设备的“真正的”硬件中断--向下拖动CPU封装上的中断请求引脚,导致硬件跳转到处理中断时的预编程位置。
其他语言也将'interrupt‘用于其他目的,例如。Java:“中断是对线程的指示,它应该停止正在做的事情,并做其他事情。”相关,但不是相同的。
在OS类中,“中断”是更改保护级别的OS条目,例如:进入内核状态。这可能发生在用户syscall或从硬件中断输入的驱动程序中,这两种操作都称为“中断”。用户级系统调用可以使用,也可以不使用模仿硬件中断的“软件中断”机制。
无论如何,现在等待下一个重载造成更多的混乱。
我听说'static‘现在在C++中又有了另一个含义:((
发布于 2018-06-11 06:59:21
中断是从连接到计算机的设备或从计算机内的程序向处理器发出的信号,指示需要立即注意的事件。
中断提供了一种机制,通过该机制,其他模块(I/O、内存)可以中断处理器的正常处理。
中断向处理器警告需要中断处理器正在执行的当前代码的高优先级条件。
处理器通过暂停其当前活动、保存其状态并执行名为ISR的功能来处理该事件来进行响应。
此中断是暂时的,在中断处理程序完成后,处理器恢复正常活动。complete article here
https://stackoverflow.com/questions/32259709
复制相似问题