操作系统-02.中断与异常及系统调用

中断和异常

1. 中断的概念和作用

中断产生背景:解决串行执行程序,系统资源利用率低的问题。为解决该问题,发明了操作系统,发生中断意味着需要操作系统介入管理。
1,当中断发生时, CPU立即进入核心态
2,当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
3,对于不同的中断信号,会进行不同的处理
发生了中断,就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换、分配/0设备等)需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权,有了中断,才能实现多道程序并发执行。
4. 用户态、核心态之间的切换是怎么实现的?
答: “用户态 核心态”是通过中断实现的,并且中断是唯一途径。
“核心态 用户态”的切换是通过执行一个特权指令,将程序状态字(PSW)的标志位设置为"用户态”。

2. 中断的分类
广义中断
内中断也称-异常-例外-陷入
外中断狭义
自愿中断-指令中断
强迫中断
硬件故障
软件中断
外设请求
人工干预

内中断信号来源CPU内部,与当前指令有关
外中断来源CPU外部,与当前指令执行无关
指令中断:如系统调用时的访问指令,又叫陷入指令、trap指令
硬件故障:如缺页
软件故障:整数除0
外中断:IO完成发出的中断信号
人工干预:用户强行终止
王道操作系统

3. 外中断的处理过程

在这里插入图片描述

系统调用

  1. 什么是系统调用,有何作用?
    答:操作系统提供“系统调用”功能,用户进程想要使用打印机这种共享资源,只能通过系统调用向操作系统发出请求。操作系统会对各个请求进行协调管理。应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作(如存储分配、1/0操作、文件管理等) ,都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。
  2. 系统调用与库函数的区别?
    在这里插入图片描述
1. 系统调用(按功能分类):

以下事务处理需要特权指令,在核心态执行

系统调用
设备管理
完成设备的请求/释放/启动等功能
文件管理
完成文件的读/写/创建/删除等功能
进程控制
完成进程的创建/撤销/阻塞/唤醒等功能
进程通信
完成进程之间的消息传递/信号传递等功能
内存管理
完成内存的分配/回收等功能
2.系统调用背后过程
传递系统调用参数
执行陷入指令-用户态
执行系统调用相应服务程序-核心态
返回用户程序

王道考研

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值