栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

操作系统原理,寄存器种类,处理器状态,操作系统对硬件的需求,特权指令与非特权指令,CPU状态之间的切换

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

操作系统原理,寄存器种类,处理器状态,操作系统对硬件的需求,特权指令与非特权指令,CPU状态之间的切换

操作系统原理,寄存器种类,处理器状态,操作系统对硬件的需求,特权指令与非特权指令,CPU状态之间的切换

O、中央处理器CPU:由控制器,运算器,一系列寄存器,高速缓存构成

一、寄存器的种类
1、用户可见的寄存器:高级语言编译器通过优化算法分配并使用,以减少程序访问内存的次数。
2、控制和状态寄存器:用于控制处理器的操作,通常由操作系统代码使用

二、控制和状态寄存器:
1、用于控制处理器的操作。
2、再某种特权级别下可以访问、修改。

三、常见的控制和状态寄存器:
1、程序计数器(PC,program counter),记录将要取出的指令的地址。
2、指令寄存器(IR,instruction register),记录最近取出的指令。
3、程序状态字(PSW,program status word),记录处理器的运行状态,如条件码,模式,控制位等信息。

四、操作系统对硬件的需求:
因为操作系统上运行的进程是并发的,资源也是共享的,所以操作系统必须要对进程实现“保护”和“控制”,防止进程运行时干扰到操作系统或者其他进程。
操作系统的需求需要硬件层面来满足,所以硬件需要提供基本运行机制:
1、处理器具有特权级别,能在不同的特权级别下运行不同指令集合。
2、硬件机制可以将OS和用户程序隔离。

五、处理器的状态(mode):
1、现代处理器通常将CPU状态设计划分为两种,三种或四种。
2、再程序状态字寄存器PWD种专门设置一位,根据运行状态对资源和指令的使用权限,设置不同的CPU状态。

六、特权指令与非特权指令
操作系统需要两种cpu状态
1、内核态(kernel mode):运行操作系统程序
2、用户态(user mode):运行用户程序
3、特权指令:只能由操作系统使用,用户程序不能使用的指令。
常见的特权指令:启动IO,内存清零,修改程序状态字,设置时钟,允许/禁止使用中断,停机
4、非特权指令:用户程序可以使用的指令。
常见的非特权指令:控制转移,算术运算,仿管指令,取数指令

七、特权级别示例:x86系列的处理器
1、X86支持4个处理器特权级别:特权环:R0,R1,R2,R3
2、从R0到R3,特权能力由高到低,R0相当于内核态,R3相当于用户态,R1和R2介于两者之间。
3、不同级别能够允许的指令集不同
4、大多数基于x86处理器的操作系统只用了R0和R3两个特权级别。

八、CPU状态之间的转换
1、用户态-》内核态:只能是通过 中断/异常/陷入(防管)机制
2、内核态-》用户态:设置程序运行状态字寄存器PSW
特殊指令:陷入指令(又称防管指令),是提供给用户程序的接口,用于调用操作系统的功能,例如int,trap,syscall,sysenter/sysexit

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/868488.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号