首页 > 其他 > 详细

操作系统 —— 操作系统运行环境

时间:2020-11-20 21:48:55      阅读:24      评论:0      收藏:0      [点我收藏+]

一、CPU

运算器、控制器与一系列寄存器与高速缓存构成。

 

两类寄存器

用户可见寄存器(用于减少内存访问次数)

控制与状态寄存器(用于控制 CPU的操作,只能由操作系统代码操作)

  1. PC 记录将要取出的指令的地址
  2. IR(指令寄存器)记录最近取出的指令
  3. PSW(程序状态字)记录 CPU的运行状态(表示CPU为内核态还是用户态)

 

指令

特权指令:设置时钟、修改 PSW、启动I/O、内存清零、停机

非特权指令:访管指令

 

用户态 -> 内核态 中断、异常 + 陷入指令(唯一途径)

内核态 -> 用户态 设置 PSW 程序状态字

 

 

二、中断与异常

为什么引入中断?支持并行操作。

为什么引入异常?用于表示 CPU指令出现问题。

 

外中断

  • IO 中断
  • 时钟中断
  • 硬件故障

内中断(异常)

  • 系统调用
  • 页故障
  • 断点指令
  • 保护性异常
  • 程序性异常(比如除零)

 

中断是异步的,异常是同步的。

类别 原因 异步/同步 返回行为

中断 Interrupt

来自I/O设备、其它硬件部件 异步 总是返回到下一条指令
陷入 Trap 有意识安排的 同步 返回到下一条指令
故障 Fault 可恢复的错误 同步 返回到当前指令
终止 Abort 不可恢复的错误 同步 不会返回

 

中断与异常的工作原理

 

相应过程

① 指令执行完检查中断寄存器是否存在中断信号

② 如果程序可中断,保存被中断程序状态(PC、PSW),再将中断触发器内容写入 PSW

③ 根据状态字去中断向量表查询中断入口程序

④ 将中断入口地址写入寄存器

⑤ 中断处理程序开始工作

⑥ 中断处理结束,CPU检测到中断返回指令,CPU恢复原来的状态(PC、PSW恢复到原来的值)

 

 

三、系统调用

限入指令引发异常(内中断)完成用户态到内核态的切换

+ 事先生成的系统调用号与参数(存放在通用寄存器中传递给内核)

+ 去系统调用表查找被调用的服务

 

233

操作系统 —— 操作系统运行环境

原文:https://www.cnblogs.com/lemos/p/14013158.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!