《操作系统》-操作系统的运行机制

操作系统的运行机制

在这里插入图片描述

程序是如何运行的

指令:就是处理器(CPU)能识别、执行的最基本命令
注:很多人习惯把 Linux、Windows、MacOS 的“小黑框”中使用的命令也称为“指令”,其实这是“交互式命令接口”,注意与本节的“指令”区别开。本节中的“指令”指二进制机器指令

内核程序vs应用程序

我们普通程序员写的程序就是"应用程序"
而对于那些操作系统的开发者,他们写的是"内核程序",由很多内核程序又能组成操作系统内核简称内核内核是操作系统的核心部分,也是最接近硬件的部分

特权指令vs非特权指令

程序运行的过程就是CPU执行一条一条机械指令的过程,在CPU设计和生成的时候就划分了特权指令和非特权指令,因此CPU执行一条指令前就能判断出其类型。
应用程序只能使用非特权指令如:加法指令、减法指令
内核程序有时会让CPU执行一些特权指令,如:内存清零指令。这些指令影响重大只能运行操作系统内核来使用

内核态 vs 用户态

CPU 能判断出指令类型,但是他怎么区分正在运行的是内核程序,还是应用程序呢?
由此引出内核态和用户态
CPU有两种状态,内核态用户态
处于内核态时,说明此时正在运行的是内核程序,此时特权指令和非特权指令都可执行
处于用户态时,说明此时正在运行的是应用程序,此时只能执行非特权指令

内核态、用户态 的切换

一个故事:
① 刚开机时,CPU 为“内核态”,操作系统内核程序先上CPU运行
② 开机完成后,用户可以启动某个应用程序
③ 操作系统内核程序在合适的时候主动让出 CPU,让该应用程序上CPU运行(操作系统内核让出CPU之前,会用一条特权指令将PSW的标志设置为“用户态”
④ 应用程序运行在“用户态”
⑤ 此时,一位猥琐黑客在应用程序中植入了一条特权指令,企图破坏系统…
⑥ CPU发现接下来要执行的这条指令是特权指令,但是自己又处于“用户态”
⑦ 这个非法事件会引发一个中断信号(CPU检测到中断信号后,会立即变为“核心态”,并停止运行当前的应用程序,转而运行处理中断信号的内核程序)
⑧ “中断”使操作系统再次夺回CPU的控制权
⑨ 操作系统会对引发中断的事件进行处理,处理完了再把CPU使用权交给别的应用程序
内核态->用户态:执行一条特权指令——修改PSW的标志位用户态,这个动作意味着操作系统将主动让出CPU的使用权
用户态-》内核态:中断引起,硬件自动完成变态过程,触发中断信号意味着操作系统将强行夺回CPU的使用权
注:除了非法使用特权指令以外,还有很多事件会触发中断指令。记住只要需要操作系统接入,就会触发中断指令
在这里插入图片描述
介绍完两种指令(特权指令和非特权指令),两种处理器状态(用户态和核心态)和两种程序(应用程序和核心程序),接下来我们介绍一下操作系统的内核

操作系统的内核

内核是计算机上配置的底层软件,是操作系统最基础、最核心的部分。
实现操作系统内核功能的那些程序就是内核程序
在这里插入图片描述
操作系统的内核还有大内核、微内核之分
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电脑小白路过

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值