【操作系统】中断和系统调用

中断的作用

CPU上会执行两种程序:内核程序和应用程序

在适合的情况下,操作系统内核会把CPU的使用权主动让给应用程序,“中断”是让操作系统内核夺回CPU使用权的唯一途径(用户态转内核态)。

中断技术保证了并发。

中断的类型

内中断(异常):与当前执行的指令有关,中断信号来源于CPU内部。

外中断:与当前执行的指令无关,中断信号来源于CPU外部。

例子:

内中断:

陷入指令可以引发一个内部中断信号,程序主动地将CPU控制权还给操作系统内核。“系统调用”就是通过陷入指令完成的。

外中断:

时钟中断——由时钟部件发来的中断信号,用来控制并发。

I/O中断-由输入输出设备发来的中断信号,告诉CPU任务完成。

中断机制的基本原理

        不同的中断信号,需要用不同的中断处理程序来处理。当CPU检测到中断信号后,会根据中断信号的类型去查询中断向量表,以此来找到相应的中断处理程序在内存中的存放位置。

什么是系统调用

操作系统向上提供一些简单的服务,主要包括命令接口和程序结构。程序接口由一组系统调用组成。

有些库函数需要使用到系统调用。

系统调用按功能分类:设备管理、文件管理、进程管理、进程通信、内存管理。凡是与共享资源有关的操作都必须保证系统的稳定性和安全性。

系统调用的过程

高级语言代码 编译 机器语言指令,应用程序运行在用户态;处理系统调用的内核程序运行在核心态。

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

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

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曦樂~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值