• 操作系统的指令与体系结构


    指令

    指令和代码的关系:一条高级语言编写的语句被翻译成机器语言指令可能会有多条,简单来说,指令就是CPU能够识别并执行的基本命令。
    指令分为特权指令和非特权指令;
    特权指令:就是不允许用户使用的指令,这些指令可能执行后的结果对其他用户影响较大,例如内存清0;
    非特权指令:用户可以轻易使用的指令,如加减乘除运算指令。

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

    应为处理器分为两种状态,一个被称为用户态,另一个被称为核心态
    用户态只能执行非特权指令,而核心态既可以执行特权指令也可以执行非特权指令。用程序状态字寄存器(PSW)中的某个标志位来表示当前处理器处于什么状态,如0处于用户态,1处于核心态。

    两种指令对应两种程序

    内核程序

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

    应用程序

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

    操作系统的体系结构

    大内核:将操作系统的主要功能模块都作为系统内核,运行在核心态。
    优点:高性能
    缺点:内核代码庞大,结构混乱,难以维护
    微内核:只把最基本的功能保留在内核,
    在微内核结构下,操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在 用户态。 因为需要频繁地在用户态和核心态之间进行切换,所以会有一定的性能损失。

    优点:内核功能少,结构清晰,方便维护
    缺点:需要频繁的在核心态和用户态之间切换,性能低。

  • 相关阅读:
    LeetCode18. 四数之和
    15. 三数之和
    LeetCode202. 快乐数
    LeetCode1. 两数之和
    LeetCode349. 两个数组的交集
    LeetCode242. 有效的字母异位词
    VSCode运行时弹出powershell
    关于cin, cin.get(), getchar(),getline()的字符问题
    剑指 Offer 27. 二叉树的镜像
    BFS zoj 1649
  • 原文地址:https://www.cnblogs.com/itjiangpo/p/14181410.html
Copyright © 2020-2023  润新知