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