运行机制,中断,系统调用等内容讲解
树图思维导图提供 操作系统运行机制 在线思维导图免费制作,点击“编辑”按钮,可对 操作系统运行机制 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:e9a0e91a36a130537ee2f3c4f8d16606
操作系统运行机制思维导图模板大纲
两种指令
特权指令
不允许用户直接使用
非特权指令
常见特权指令
I/O设备操作
输入输出指令(需要中断)
系统调用的执行
中断处理程序
访问程序状态
存取特殊寄存器
两种处理器状态
用户态(目态)
只能运行非特权指令
核心态(管态)
常见误区
编写代码啥都行,但是程序运行时不同的代码要在不同cpu状态下处理!
注意是CPU、处理器的状态,不要和后面进程状态弄混
两种程序
应用程序
内核程序
如何变态
内核态->用户态
一条修改PSW的特权指令
用户态->内核态
中断引起
作用
让操作系统内核夺回CPU控制权
分类
内中断(更常用:异常、例外)
中断信号来自CPU内部
陷阱、陷入:陷入指令引发
返回下一条指令
故障:操作系统可能可以修复,如缺页中断
返回当前指令
终止:不能修复,如整数÷0
外中断(中断)
中断信号来自CPU外部
如时钟中断、I/O请求中断
返回下一条指令
基本实现原理
检查中断信号
内中断
CPU在执行指令时会检查是否有异常
外中断
每个指令周期末尾检查
找到中断处理程序
硬件自动保存中断程序断点(PC寄存器)
硬件找到中断信号对应中断向量,中断向量指明中断服务程序入口地址
中断向量表由操作系统初始化,中断向量存放在其中
中断类型不同,因此查表
执行中断服务程序
硬件保存PSW(程序状态寄存器)
操作系统保存中断屏蔽字、通用寄存器的值
有的库函数封装了系统调用
凡是和共享资源有关的操作,都需要系统调用
过程
传参
陷入指令/trap/访管
由操作系统内核处理系统调用请求
返回应用程序
保存
OS执行
保存通用寄存器、执行系统调用服务程序
硬件执行
保存断点、将CPU改成内核态
陷入指令
在用户态执行,在用户态发出系统调用请求
执行后引发一个内中断,使CPU进入核心态
树图思维导图提供 Linux操作系统的使用 在线思维导图免费制作,点击“编辑”按钮,可对 Linux操作系统的使用 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:59c5952acb958160d0ae6547396b248c
树图思维导图提供 CPU与信创CPU的关系 在线思维导图免费制作,点击“编辑”按钮,可对 CPU与信创CPU的关系 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:2671bdaab74d2a921feedbdc8ecef748