操作系统——中断异常、系统调用
前言
操作系统概念:负责管理协调硬件、软件等计算机资源的工作,为上层用户、应用程序提供简单易用的服务的系统软件
给普通用户服务:GUI图形界面、命令接口(联机命令、脱机命令)
给程序员/软件:程序接口(系统调用)
操作系统的特征:
-
并发:两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时 发生的,但微观上是交替发生的。(区分与并行)
-
共享:即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。分为互斥共享方式与同时共享方式
互斥共享方式好比在一台电脑上同一时间使用QQ和微信进行视频,但是摄像头只能分给一个程序。同时共享方式好比用QQ和微信同时发送一份文件。
-
虚拟:在用户看来,每个程序独享主机资源。
虚拟技术:空分复用技术(虚拟存储器技术)、时分复用技术(虚拟处理器)
-
异步:在多道程序环境中允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底,而是走走停停,以不可预知的速度向前推进。
中断和异常
中断和异常的作用
- 中断会使CPU由用户态变为内核态
- 操作系统重新夺回对CPU的控制权
中断和异常的区别
- 异常是由于执行了现行指令所引起的。由于系统调用引起的中断属于异常。
- 中断则是由于系统中某事件引起的,该事件与现行指令无关。
相同点:都是CPU对系统发生的某个事情做出的一种反应。
区别:中断由外因引起,异常由CPU本身原因引起。
中断和异常的处理
不同的中断信号,需要用不同的中断处理程序来处理。当CPU检测到中断信号后,会根据中断信号的类型去查询“中断向量表”,以此来找到相应的中断处理程序在内存中的存放位置。
系统调用
系统调用的作用
(好比向图书馆借书,每个人都有顺序,图书馆管理员充当操作系统的角色,合理顺序的分配给每个人书籍)
应用程序通过系统调用请求操作系统的服务。而系统中的共享资源都由操作系统内核统一掌管,因此凡是与共享资源有关的操作,都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。这样可以保证系统的稳定性和安全性。
系统调用的过程
传递系统调用参数->执行陷入指令(用户态)->执行相应的内请求核程序处理系统调用(内核态)->返回