0
点赞
收藏
分享

微信扫一扫

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


目录

​​中断​​

​​1.中断的作用​​

​​2.中断的分类​​

​​ 3.外中断的处理过程​​

​​系统调用​​

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

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

​​3.系统调用过程​​

中断

1.中断的作用

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

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

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

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

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

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

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

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

 3.外中断的处理过程

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

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

系统调用

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


知识点回顾:


操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接


口和程序接口。其中,程序接口由一组 系统调用 组成。





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


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


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


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


应用程序通过 系统调用 请求操作系统的服务。而系统中的各种共享资源都由操作系统内核统一掌管,因此 凡是


与共享资源有关的操作(如存储分配、 I/O 操作、文件管理等),都必须通过系统调用的方式向操作系统内核提


出服务请求 ,由操作系统内核代为完成。这样 可以保证系统的稳定性和安全性 ,防止用户进行非法操作。




1.1.5操作系统(中断和异常,系统调用)_嵌入式硬件_08




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


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

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

 

3.系统调用过程

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

 


传递系统调用参数 →    执行陷入指令( 用户态 )→   执行相应的内请求核程序处理系统调用( 核心态 ) →  返回 →   应用程序


注意:


1. 陷入指令 是在 用户态 执行的,执行陷入指令之后立即引发一个 内中断 ,使 CPU 进入核心态


2. 发出系统调用请求 是在 用户态 ,而 对系统调用的相应处理 在 核心态 下进行



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


 

举报

相关推荐

0 条评论