我正在阅读有关过程管理的Wikipedia文章。我的重点是Linux。我无法弄清楚系统调用,消息传递和中断之间的关系和区别。它们全都用于向内核请求资源和服务的进程吗?
文章中的某些语录和其他一些语录:
OS有两种可能的方法可以在程序执行期间重新获得对处理器的控制,以使OS执行取消分配或分配:
- 该进程发出系统调用(有时称为软件中断);例如,发生I / O请求,请求访问硬盘上的文件。
- 发生硬件中断;例如,按下键盘上的一个键,或定时器用完(用于抢先式多任务处理)。
在用户模式下执行的程序可以通过两种技术来请求内核的服务:
* System call * Message passing
中断是表示需要注意的异步信号,或者是表示需要更改执行方式的软件中的同步事件。
硬件中断使处理器保存其执行状态并开始执行中断处理程序。软件中断通常以指令集中的指令的形式实现,这导致上下文切换到类似于硬件中断的中断处理程序。