操作系统学习03-os的运行机制和体系结构


一、运行机制

1.两种指令

什么是指令?指令和代码的区别?

答:指令就是机器语言指令,而代码时高级语言,如C语言。一条高级语言代码,翻译过来可能是多条机器语言指令。指令时CPU能识别、执行的最基本命令。

为什么分为两种指令?

答:因为有些命令是危险的如:内存清零指令,而有些指令是安全的如:加减乘除等普通运算指令。

特权指令

这种指令不允许用户程序使用。

非特权指令

指令是安全的如:加减乘除等普通运算指令。


CPU是如何判断当前是否可以执行特权指令的,这就引入了处理器的两种状态。


2.两种处理器状态

CPU如何判断当前是否可以执行特权指令?

答:将处理器的状态分为两种用户态(目态)和核心态(管态)。使用程序状态字寄存器(PSW)中的某标志位来标识当前处理器处于什么状态用0、1表示。

核心态(管态)

此时CPU可以执行特权指令和非特权指令。

用户态(目态)

此时CPU只能执行非特权指令。


用户态切换到核心态只能通过中断。 核心态切换到用户态只需执行一条特权指令,将程序状态字(PSW)的标志位设置为“用户态”。

3.两种程序

有些程序需要使用特权指令,而有的程序只需使用非特权指令。所以计算机又将程序分为内核程序和非内核程序。

内核程序

操作系统的内核程序是系统的管理者。既可以使用特权指令,也可以使用非特权指令,运行在核心态。

应用程序

为了保证系统能安全的运行,普通应用程序只能执行非特权指令,运行在用户态。

问题:操作系统那些功能是由内核程序实现?
看操作系统内核。


二、操作系统内核

操作系统还可以分为两部分:内核(操作系统最基本、最核心的部分),非内核,内核又分为大内核和微内核。


三、操作系统的体系结构

大内核

内核又细分为时钟管理、中断处理、原语(特殊的程序,如设备驱动,CPU切换等,是最接近硬件的部分,这种程序具有原子性)、进程管理、存储器管理、设备管理等。
优点:高性能。
缺点:代码庞大,结构混乱,难以维护。

微内核

内核为时钟管理、中断处理、原语。
优点:功能少,结构清晰,方便维护。
缺点:需要频繁的在核心态和用户态之间切换,性能低。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值