2015-08-27 72 views
0

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

回答

0

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

中断是一个中断程序中正常程序流的事件;通常它们是由操作系统生成的。一个中断可以被你的程序捕获,或者,如果你不编程一个处理程序来捕获它,它可以通过父进程提供的处理程序。

+0

是一个系统调用同样的事,作为一个操作系统调用谢谢你非常有趣 –

+0

是的,他们是同义词。 –

0

'中断'是那些严重超载的单词之一,它越来越糟。

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

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

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

无论如何,现在正在等待下一次超载导致更多混淆。

我听说,“静态”目前在C++另一个含义:((