1.4 操作系统的运行机制

目录

1.4 操作系统的运行机制

1.4.1 内核程序&应用程序

1.4.2 特权指令&非特权指令

1.4.3 内核态&用户态

1.4.4 操作系统的内核

1.4.5 小结


操作系统其实也是一种程序,程序的执行过程也就是CPU执行一行行机器指令的过程。区别于一般程序员开发的应用程序,实现操作系统的程序就是内核程序。

1.4.1 内核程序&应用程序

内核程序:实现操作系统的程序称为内核程序,许多内核程序结合在一起便组成了操作系统内核。

应用程序:普通程序员借助编程工具以及高级语言所完成的程序叫做应用程序。

1.4.2 特权指令&非特权指令

  特权指令:作为系统资源的管理者,操作系统可以使用一些直接关系重大的指令(内存清零等),这些指令被称为特权指令,而且应用程序没有办法直接使用特权指令,这保证了操作系统的安全。

  非特权指令:应用程序可以使用的指令,如加减乘除指令等。

CPU在设计的时候便已经划分出了特权指令以及非特权指令,因此在执行这条命令前CPU就可以先判断指令的内容。

1.4.3 内核态&用户态

CPU有两种状态:内核态(或称核心态,管态)以及用户态(目态)。当CPU处于内核态时,说明此时正在运行的是内核程序,此时可以执行特权指令;当CPU处于用户态时,说明此时正在运行的是应用程序,此时只能执行非特权指令。在CPU中有一个寄存器叫做程序状态寄存器(PSW),该寄存器的01状态来表示此时处于内核态还是用户态。

下面我们来讲解一下,用户态与内核态之间是如何相互进行变化的。

内核态-->用户态:需要执行一条特权指令(指令内容是修改PSW寄存器状态),此时内核态转变为用户态,CPU主动让出使用权。

用户态-->内核态:由“中断”引发,当CPU检测到中断时,操作系统会强制将CPU变为内核态夺回CPU使用权,再执行与中断有关的一系列操作。

下面我们用一个小栗子来解释一下这个过程:

① 刚开机时,CPU 为“内核态”,操作系统内核程序先上CPU运行
② 开机完成后,用户可以启动某个应用程序
③ 操作系统内核程序在合适的时候主动让出 CPU,让该应用程序上CPU运行
④ 应用程序运行在“用户态
⑤ 此时,一位黑客在应用程序中植入了一条特权指令,企图破坏系统…
⑥ CPU发现接下来要执行的这条指令是特权指令,但是自己又处于“用户态”
⑦ 这个非法事件会引发一个中断信号
⑧ “中断”使操作系统再次夺回CPU的控制权
⑨ 操作系统会对引发中断的事件进行处理,处理完了再把CPU使用权交给别的应用程序

1.4.4 操作系统的内核

当我们刚开始使用操作系统的时候,会发现一些程序并不是必需的(记事本等),这些程序称为操作系统的非内核功能,下图是将操作系统进行了更进一步的划分。

有人将内核划分为大内核以及微内核,这两种划分在不同的时期各有优势。下面用企业来类比一下操作系统:

内核就是企业的管理层,负责一些重要的工作。只有管理层(内核程序)才能执行特权指令,普通员工(应用程序)只能执行非特权指
令。用户态、核心态之间的切换相当于普通员工和管理层之间的工作交接。
大内核:企业初创时体量不大,管理层的人会负责大部分的事情。优点是效率高;缺点是组织结构混乱,难以维护。
微内核:随着企业体量越来越大,管理层只负责最核心的一些工作。优点是组织结构清晰,方便维护;缺点是效率低。

1.4.5 小结

需要注意的是:

  特权指令只能在核心态下执行; 内核程序只能在核心态下执行。

操作系统(四)操作系统的运行机制相关推荐

  1. 操作系统之计算机系统概述:4、操作系统的运行机制(内核态用户态、特权指令非特权指令、内核程序应用程序)

    4.操作系统的运行机制 思维导图: 内核程序VS用户程序: 特权指令和非特权指令: 内核态和用户态: 内核态和用户态的切换: 思维导图: 内核程序VS用户程序: 用户程序:这种程序只能调用操作系统的资 ...

  2. 【操作系统复习】操作系统的运行机制与体系结构

    同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! 操作系统的运行机制与体系结构 一.两种指令.两种处理器状态.两种程序 二.操作系统的内核 三.操作系统的体系结构 ...

  3. 1.3.1 操作系统的运行机制和体系结构(大内核、小内核)

    文章目录: 1.操作系统的运行机制和体系结构 2.操作系统内核在计算机系统中的层次结构 3.操作系统体系结构类比 4.操作系统用户态和核心态的转换 1.操作系统的运行机制和体系结构 2.操作系统内核在 ...

  4. 操作系统的运行机制与体系

    1.运行机制: (1)两种指令: 什么是指令? 指令就是处理器能识别和执行的最基本的命令. 一条指令通常由两个部分组成:操作码+地址码. 操作码:指明该指令要完成的操作的类型或性质,如取数.做加法或输 ...

  5. 【王道操作系统笔记】操作系统的运行机制和体系结构

    指令:CPU能够识别和执行的最基本的命令(加减乘除,内存) 特权指令:不允许用户程序使用,如内存清理指令 非特权指令:如运算指令 CPU如何判断当前是否可以执行特权指令? 两种处理器状态: 用户态(目 ...

  6. (王道408考研操作系统)第一章计算机系统概述-第一节3:操作系统的运行机制与体系结构

    文章目录 一:两种指令.两种处理器状态.两种程序 二:操作系统的内核 (1)内核 A:时钟管理 B:中断机制 C:原语 D:系统控制的数据结构及处理 (2)大内核和微内核 一:两种指令.两种处理器状态 ...

  7. 王道 —— 操作系统的运行机制和体系结构

    目录 1.什么是指令 2.两种指令.两种处理器状态.两种程序 3.操作系统的内核 3.1 总结 3.2 大内核和微内核 3.3 操作系统的体系结构 4.知识回顾 1.什么是指令 问题:"指令 ...

  8. 操作系统的运行机制体系结构

    指令 指令:处理器(CPU)能识别.执行的最基本命令 比如:加法指令就是让CPU进行加法运算 两种指令.两种处理器状态.两种程序 有的指令"人畜无害".比如:加.减.乘.除这些普通 ...

  9. 操作系统的运行机制和体系机构

最新文章

  1. vs2019装了WDK后,编译其他vc工程,提示无法打开文件msvcprtd.lib
  2. Gotchas 44-引用和临时对象
  3. java 二维卡尔曼滤波_卡尔曼滤波(Kalman filtering)算法学习小记
  4. OpenCV摄像机videocapture camera的实例(附完整代码)
  5. pg高性能服务器,如何充分利用单台服务器的性能将10亿级的json数据尽可能高效的插入postgresql?...
  6. 题解 P1876 【开灯】
  7. 摩拜单车又涨价了!真的要骑不起了
  8. 基于机器学习中KNN算法的车牌字符识别
  9. 大数据-Kafka容错性
  10. 献给2012——易水寒的心声
  11. 前端面试题(不定期更新)
  12. 安卓桌面软件_Windows启动器v8.34安卓用上win桌面
  13. 计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上
  14. excel中批量自动生成一个月内日期和时间
  15. 色彩模式-RGB、HSV、CMYK、灰度模式、位图模式......
  16. 基于Redis(setnx)实现分布式锁
  17. 持续交付2.0(一至三章)
  18. SoftLayer VPS好吗?SoftLayer VPS机房优势有哪些
  19. R语言3.12 对应分析
  20. 主角是李逍遥的Java游戏_经典单机游戏仙剑奇侠传一20周年,你所不知道的隐藏剧情...

热门文章

  1. Pycharm中Python3连接Oracle
  2. 第八篇——Struts2的处理结果类型
  3. idea新建maven项目没有src目录
  4. LVS NAT/DR
  5. Nginx在安装过程经常出现的问题
  6. 开发管理 CheckLists(1) -启动项目
  7. SOP,TSSOP,PLCC,BGA这些封装的中英文解释
  8. tf.nn.in_top_k的用法
  9. 卷积神经网络算法的一个实现
  10. IDE (Integrated Development Environment) 集成开发环境