1.1.5操作系统(中断和异常,系统调用)

目录

中断

1.中断的作用

2.中断的分类

 3.外中断的处理过程

系统调用

1.什么是系统调用,有何作用?

2.系统调用与库函数的区别

3.系统调用过程


中断

1.中断的作用

1.当中断发生时,CPU立即进入核心态

2.当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理

3.对于不同的中断信号,会进行不同的处理

发生了中断,就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换、分配I/0设备等)需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行。

2.中断的分类:外中断 内中断

 3.外中断的处理过程

系统调用

1.什么是系统调用,有何作用?

知识点回顾:
操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接
口和程序接口。其中,程序接口由一组 系统调用 组成。

“系统调用”是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用

程序调用的特殊函数, 应用程序可以通过系统调用来请求获得操作系统内核的服务

应用程序通过 系统调用 请求操作系统的服务。而系统中的各种共享资源都由操作系统内核统一掌管,因此 凡是
与共享资源有关的操作(如存储分配、 I/O 操作、文件管理等),都必须通过系统调用的方式向操作系统内核提
出服务请求 ,由操作系统内核代为完成。这样 可以保证系统的稳定性和安全性 ,防止用户进行非法操作。

拓展:感兴趣的同学可以搜索“ Linux 系统调用”,了解 Linux 操作系统提供了哪些系统

2.系统调用与库函数的区别

3.系统调用过程

传递系统调用参数 →    执行陷入指令( 用户态 )→   执行相应的内请求核程序处理系统调用( 核心态 ) →  返回 →   应用程序
注意:
1. 陷入指令 是在 用户态 执行的,执行陷入指令之后立即引发一个 内中断 ,使 CPU 进入核心态
2. 发出系统调用请求 是在 用户态 ,而 对系统调用的相应处理 核心态 下进行

猜你喜欢

转载自blog.csdn.net/Javascript_tsj/article/details/123471899