操作系统-first
分时操作系统
缺:不能优先处理紧急任务
实时操作系统
硬实时
必须在严格规定事件内完成处理
软实时
能偶尔违反时间规定
操作系统的运行机制
程序如何运行
c语言代码——>(编译器)二进制——>(放入cpu一条一条执行)
- 小黑框的”指令“:交互式命令接口
本章的指令:二进制机器指令
应用程序:普通程序员写的程序
内核程序:微软,苹果操作系统————>组成了”内核“
内核是操作系统最核心的部分,最接近硬件的部分
CPU的两种状态
- 内核态(管态):处于此状态说明运行内核程序,可执行特权指令
- 用户态(目态):只能执行非特权指令
拓展:CPU有寄存器程序状态字寄存器(PWS),1(内核态),0(用户态)
内核态,用户态的切换
内核->用户:执行一条特权指令,修改psw的标志位,让操作系统主动让出cpu使用权
用户->内核:由中断引发,硬件自动完成变态过程,强行夺回cpu使用权
中断和异常
中断的作用
中断是让操作系统内核夺回CPU使用权的唯一途径
中断的类型
- 内中断(异常):与当前执行指令有关,中断信号来自CPU内部陷入(是应用程序故意的);故障(有由错误条件引起的,可修复);终止
- 外中断:与当前执行的指令无关,中断信号来源于CPU外部(时钟中断;I/O中断请求)
陷入指令(trap指令,方管指令):意味着应用程序主动的将CPU控制权换给操作系统内核。”系统调用“就是通过陷入指令完成。
注:陷入指令是用户态执行的,执行陷入指令后立即引发一个内中断,使cpu进入核心态
中断机制的基本原理
检测中断信号:
- 内中断:CPU在执行时会检查是否有异常发生
- 外中断:每个指令周期末尾,CPU都会检查是否有外中断信号需要处理
找到相应的中断处理程序:通过”中断向量表“实现
系统调用
概念:操作系统提供给应用程序(程序员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 20231314042-杨珺-blog!
评论