操作系统中的中断、异常和系统调用

目录

一、操作系统的启动

二、中断/异常/系统调用

三者的区别

三者执行的过程

三、应用程序为什么不能直接访问外设?


一、操作系统的启动

OS开机之前存放在DISK里,计算机通电时,BIOS会检查各种外设,当各种外设能够正常运行时,会将Bootloader加载到内存中,而Bootloader会加载OS,能够让OS从磁盘放到内存中去。

二、中断/异常/系统调用

操作系统和外设产生中断,和应用程序产生异常和系统调用。

中断:来自不同的硬件设备的计时器和网络的中断,来源于外设。

异常:非法指令或其他坏的处理状态,一些意想不到的情况发生,来源于不良的应用程序。

系统调用:应用程序主动向操作系统发出服务请求,来源于应用程序。

三者的区别

源头:

中断来自外设

异常来自应用程序意想不到的行为

系统调用时应用程序主动请求操作提供服务

处理时间:

中断是异步的,用户并不知道什么时候产生这个事件

异常是同步的,执行到某条指令的时候,一定会产生

系统调用是异步或同步的。

响应:

中断是持续的,对应用程序是透明的

异常是杀死或者重新执行产生异常的应用程序指令

系统调用是等待和持续

三者执行的过程

中断在硬件上是设置中断标记,在软件上是操作系统保存当前处理状态,中断服务程序处理,清除中断标记,恢复之前保存的处理状态

异常在硬件上是异常编号,在软件上是保存现场,异常处理,异常处理包括杀死产生异常的程序和重新执行异常指令,恢复现场

系统调用:程序访问主要是通过高层次的API接口而不是直接进行系统调用

三、应用程序为什么不能直接访问外设?

1、操作系统是一个可信任的软件,能够给我们提供安全的服务,而应用程序不可信任

2、操作系统能够给上层应用程序提供简单一致的接口,使得上层应用不需要关注底层的设备,针对不同的设备开发不同的软件

你可能感兴趣的:(操作系统)