欢迎光临散文网 会员登陆 & 注册

爆肝上传!清华大佬终于把困扰我大学四年的【计算机操作系统】讲的如此通俗易懂

2021-11-10 15:04 作者:Straiack  | 我要投稿

(二)中断和异常处理和系统调用


1.中断处理


方便管理中断,计算机内部会存储一个中断向量表,表内每种中断和异常有对应的编号和地址。

那么当在实际操作中,效率更高。


对于硬件而言,外设以及CPU能够识别中断编号,也能够向操作系统发送编号。


对于软件而言(即操作系统),需要做到:


  • 保存当前处理状态(保存中断前的地址)
  • 中断服务程序处理
  • 清楚中断标记(一件事有始有终)
  • 恢复之前保存的处理状态(和1中的对应)


2.异常处理


操作系统需要:


  • 保存现场(同样是寄存器内容和值)
  • 异常处理

杀死产生了异常的程序

重新执行异常指令

  • 恢复现场



3.系统调用


以C语言为例,当执行输出printf的代码时,程序只需要发出请求,其余的屏幕显示和一些调用情况都由操作系统完成。

完成操作之后,操作系统将执行结果正确或者错误的信息反馈给程序/程序员。


可见,操作系统其实相当于程序员或者计算机使用者的一个助手,或者小管家,它管理硬件设备并整合资源,调度工作,计算机使用者对于硬件设备不再需要过多的了解,只需发出请求即可。这方面其实也大大促进了计算机的普及。


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


i) Win32 API用于Windows

ii) POSIX API用于POSIX-based systems(包括UNIX,LINUX,Mac OS X的所有版本)

iii) java API 用于JAVA虚拟机(JVM)


  • 具体的工作流程


10. 2.2 操作系统的终端、异常、... P10 - 11:27





爆肝上传!清华大佬终于把困扰我大学四年的【计算机操作系统】讲的如此通俗易懂的评论 (共 条)

分享到微博请遵守国家法律