中断
1.中断的作用
1.当中断发生时,CPU立即进入核心态
2.当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
3.对于不同的中断信号,会进行不同的处理
发生了中断,就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换、分配I/0设备等)需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行。
2.中断的分类:外中断 内中断
3.外中断的处理过程
系统调用
1.什么是系统调用,有何作用?
知识点回顾:
操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接
口和程序接口。其中,程序接口由一组 系统调用 组成。
“系统调用”是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用
程序调用的特殊函数, 应用程序可以通过系统调用来请求获得操作系统内核的服务
应用程序通过 系统调用 请求操作系统的服务。而系统中的各种共享资源都由操作系统内核统一掌管,因此 凡是
与共享资源有关的操作(如存储分配、 I/O 操作、文件管理等),都必须通过系统调用的方式向操作系统内核提
出服务请求 ,由操作系统内核代为完成。这样 可以保证系统的稳定性和安全性 ,防止用户进行非法操作。
拓展:感兴趣的同学可以搜索“ Linux 系统调用”,了解 Linux 操作系统提供了哪些系统
2.系统调用与库函数的区别
3.系统调用过程
传递系统调用参数 → 执行陷入指令( 用户态 )→ 执行相应的内请求核程序处理系统调用( 核心态 ) → 返回 → 应用程序
注意:
1. 陷入指令 是在 用户态 执行的,执行陷入指令之后立即引发一个 内中断 ,使 CPU 进入核心态
2. 发出系统调用请求 是在 用户态 ,而 对系统调用的相应处理 在 核心态 下进行