操作系统(03)- 操作系统的运行机制和体系结构

2023-11-10

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

计算机指令系统是计算机硬件的语言系统,也叫机器语言,它是软件和硬件的主要界面,从系统结构的角度看,它是系统程序员看到的计算机的主要属性。

我们使用高级语言编写程序,最终都会被编译为机器语言,计算机才能识别。不清楚的可以看看计算机基本组成及其内部元件细节随笔这篇文章。

在计算机系统中有些指令“人畜无害”,可以随意使用,但有些指令不行,比如内存清零指令,这种指令执行后对计算机的影响是非常大的,所以不允许用户程序使用。

因此,按照指令的使用权限可以将指令分为两类:

  • 特权指令
  • 非特权指令

CPU在执行指令之前会先判断指令的类型,那CPU是如何判断的呢?

我们规定了CPU的两种状态:

  • 用户态(目态,CPU只能执行非特权指令)
  • 核心态(管态,CPU既可以执行特权指令,又可以执行非特权指令)

计算机中状态的判断是由“程序状态字寄存器(PSW)”的某个标志位来判断的,比如0代表用户态,1代表核心态。

按照程序能否执行特权指令又可以将程序分为两类

  • 内核程序:系统的管理者,可运行特权和非特权两种指令,运行在核心态
  • 用户程序:为保证计算机系统内的安全性,只能运行非特权指令,运行在用户态

操作系统(01)-定义及功能简述这篇文章中,我们简单介绍了操作系统的内部层次结构,这里再细化一下:
在这里插入图片描述

时钟管理:主要是实现计时的功能,计算机中所有的进程切换、调度、管理工作都是由计时来完成的。
原语:一种特殊的程序,最接近硬件,这种程序的运行具有原子性。
原子性:程序要么不执行,一旦执行就必须执行到程序结束,中间无法被中断。这里不着重讲述原子性,后面会放在中断那里一块讲。

上图中根据操作系统的不同,内核可以分为两类:

  • 大内核
  • 微内核

大内核就是上图中标注“内核”的那一部分,它将不那么重要的内核功能也划分在了内核中,但在有些操作系统中,他只将最接近硬件的部分划分为内核,这类称之为微内核。

大内核:高性能,但是内核代码庞大,结构混乱,难以维护
微内核:内核功能少,结构清晰,分工明确,易于维护。但有时由于某些工作需要特权指令,所以需要在用户态与核心态之间频繁切换,性能较低。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

操作系统(03)- 操作系统的运行机制和体系结构 的相关文章

  • 6.OS运行机制(补充)

    中断
  • MySQL基础(非常全)

    MySQL基础 一 MySQL概述 1 什么是数据库 答 数据的仓库 如 在ATM的示例中我们创建了一个 db 目录 称其为数据库 2 什么是 MySQL Oracle SQLite Access MS SQL Server等 答 他们均是
  • Minikube 架构及启动流程剖析

    原文作者 wzqnls 编辑 夏天 对于要学习 Kubernetes 或者需要本地开发的开发人员来说 Minikube 是一个不错的选择 通过使用 Minikube 这个工具 我们可以非常快捷地在本地部署一套单节点的 Kubernetes
  • java调优总结

    JVM调优总结 序 几年前写过一篇关于JVM调优的文章 前段时间拿出来看了看 又添加了一些东西 突然发现 基础真的很重要 学习的过程是一个由表及里 再由里及表的过程 呵呵 所谓的 温故而知新 而真正能走完这个轮回的人 也就能称为大牛或专家了
  • Linux系统的安装(在VM虚拟机上安装CentOS 7)

    工具准备 物理计算机一台 配置要求 操作系统 win10 64位 大家基本上都是 硬盘可用容量 20G以上 内存容量 4G以上 虚拟机安装包 VMware workstation full 12 5 下载链接 点我下载 提取码 9gha C
  • unix环境高级编程——文件IO

    本期主题 unix环境高级编程 文件IO 文件IO 0 引言 1 文件描述符 2 IO编程中常用的API接口 1 open函数 2 close函数 3 read函数 4 write函数 5 lseek函数 3 函数sync fsync和fd
  • RTX线程通信之——线程标志

    文章目录 Thread Flags 概念 RTX线程标志API 案例 LED灯同步闪亮 小结 参考资料 Thread Flags In a real application we need to be able to communicate
  • 虚拟机管理程序、虚拟化和云: 深入剖析 PowerVM 虚拟机管理程序

    预备知识 Power 是没有限制的虚拟化 一些企业打算依靠 PowerVM 虚拟化将多个工作负载整合到较少系统上 从而提高服务器利用率 降低成本 Power VM 为基于 Power Systems 平台的高级 RAS 功能和领先性能为 A
  • 操作系统PV操作及读者写者问题

    操作系统PV操作及读者写者问题 目录 1 信号量 2 P V操作原语可描述为以下式子 3 解释 4 互斥模式原理 5 同步模式原理 6 读者写者问题 1 信号量 PV操作与信号量的处理有关 信号量是表示资源的实体 是一个与队列有关的整型变量
  • office2013 excel 打开时提示excel词典xllex.dll文件丢失或损坏

    今天打开Excel时 发现报错 xllex dll文件丢失或损坏 我用的是office2013 网上找了好多都是2007的dll文件 导入不了 于是乎重装office 问题解决 但还是把xllex dll烤出来做个备份吧 参考下面步骤即可
  • 红帽7.9部署telnet服务

    升级ssh 为预防万一提前配置telnet服务 安装软件包 yum install telnet server yum install xinetd xinetd加入开机自启 systemctl enable xinetd service
  • Elasticsearch 日志

    下载并安装 Filebeat 首次使用 Filebeat 请参阅入门指南 复制代码片段 curl L O https artifacts elastic co downloads beats filebeat filebeat 7 2 0
  • Linux学习--CentOS7.5

    CentOS7命令大全 Linux系统简介 Unix Linux发展史 Linux目录结构 树形结构 查看 切换以及创建目录 文本内容操作 grep工具 关机和重启 Linux命令 基本用法 ls list 使用通配符 mkdir 别名 g
  • [架构之路-185]-《软考-系统分析师》-3-操作系统基本原理 - 文件索引表

    目录 一 文件的索引块 二 索引分配表 三 索引表的链接方案 四 多层索引 五 混合索引分配 一 文件的索引块 存放在目录中的文件 并非是文件的真实内容 目录中记录了文件的索引块是几号磁盘块 文件对应的索引表是存放在指定的磁盘块中的 二 索
  • Windows运行常用命令(win+R)

    1 calc 启动计算器 2 notepad 打开记事本 3 write 写字板 4 mspaint 画图板 5 snippingtool 截图工具 支持无规则截图 6 mplayer2 简易widnows media player 7 S
  • 使用inet_ntop转换IPv6地址时在macOS和linux上的行为不一样

    下面这段python代码在macOS和linux时运行的结果是不同的 import socket ip socket inet pton socket AF INET6 1 2 3 0 5 6 7 8 print socket inet n
  • 内存管理——分页分段

    一 分页存储管理 1 页面与页框 1 页面 将一个进程的逻辑地址空间分成若干个大小相等的片 称为页面或页 并为各页加以编号 2 页框 相应于页面 把内存空间分成和页面相同大小的若干个存储块 称为 物理 块或页框 frame 3 页内碎片 在
  • 《深入理解计算机系统》实验四Architecture Lab

    前言 深入理解计算机系统 实验四Architecture Lab下载和官方文档机翻请看 深入理解计算机系统 实验四Architecture Lab下载和官方文档机翻 我觉得这个文档对整个实验很有帮助 如果你的Y86 64环境还没安装好可以看
  • 【操作系统】王道考研 p42 段页式管理方式

    段页式管理方式 知识总览 分段 分页管理方式中最大的优缺点 关于段式管理会产生外部碎片 ps 分段管理中产生的外部碎片也可以用 紧凑 来解决 只是需要付出较大的时间代价 分段 分页 段页式管理 示意图 先分段 后分页 段页式管理的逻辑地址结
  • Linux(13):例行性工作排程

    例行性工程 听谓的排程是将工作安排执行的流程之意 Linux 排程就是透过 crontab 与 at 这两个东西 两种工作排程的方式 一种是例行性的 就是每隔一定的周期要来办的事项 一种是突发性的 就是这次做完以后就没有的那一种 at at

随机推荐

  • X64处理器架构

    X64处理器架构 翻译的windbg帮助文档 X64处理器架构 X64 架构是一个向后兼容的扩展的 x86 提供了和 x86 相同的 32 位模式和一个新的 64 位模式 术语 x64 包括 AMD 64 和 Intel64 他们的指令集基
  • Spring在代码中获取bean的几种方式

    Spring在代码中获取bean的几种方式 方法一 在初始化时保存ApplicationContext对象 方法二 通过Spring提供的utils类获取ApplicationContext对象 方法三 继承自抽象类ApplicationO
  • 黑客一般是如何入侵电脑的?

    1 无论什么站 无论什么语言 我要渗透 第一件事就是扫目录 最好一下扫出个上传点 直接上传 shell 诸位不要笑 有时候你花很久搞一个站 最后发现有个现成的上传点 而且很容易猜到 不过这种情况发生在 asp 居多 2 asp aspx M
  • CV计算机视觉核心07-目标检测yolo v2、v3(yolo初始版本的v0和v1版本代码)

    CV计算机视觉核心07 目标检测 设计检测类算法的output层 可用已知条件有 1 检测问题的输出是什么 怎么用数字来表示 输入是一个矩阵 输出是 x y w h 其中x和y表示目标的左上角坐标 w和h表示目标的长和宽 因此输出是用四个这
  • 【NLP】维基百科中文数据训练word2vec词向量模型——基于gensim库

    前言 本篇主要是基于gensim 库中的 Word2Vec 模型 使用维基百科中文数据训练word2vec 词向量模型 大体步骤如下 数据预处理 模型的训练 模型的测试 准备条件 Windows10 64位 Python3 6 并安装 ge
  • ‘git‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    1 cmd报错内容 C Users 27104 Desktop gt git clone https github com tianyucoder 200826 ajax git 不是内部或外部命令 也不是可运行的程序 或批处理文件 2 原
  • range()函数

    range 函数 创建一个整数列表 一般用于for循环当中 1 语法 range start stop step start 计数从start开始 默认为0 range 9 和range 0 9 是一样的 stop 计数到stop为止 但不
  • 通用智能面临巨大掣肘,国产AIGC还在寻找光明

    无论技术有多先进 符合商业规律才能笑到最后 数科星球 原创 作者丨苑晶 编辑丨十里香 AI GC背后充满了故事 在一家家企业手握巨额融资之时 人们耳边再次响起了警钟 诚然 在新的浪潮之下 符合商业规律的企业才能笑到最后 在国外竞品大踏步前行
  • 关于项目管理的知识点

    转自 http blog joycode com mvm 感觉写的挺好 推荐大家看一下 1 你们的项目组使用源代码管理工具了么 应该用 VSS CVS PVCS ClearCase CCC Harvest FireFly都可以 我的选择是V
  • 【目的:windows下VS2017/2022配置使用opengl - 初探-创建一个空窗口】

    目的 windows下VS2017 2022配置使用opengl 初探 创建一个空窗口 环境 系统 Win10 环境 VS2017 64bit 步骤 windows下visualstudio下使用opengl 搭建配置环境并测试窗口 1 o
  • vue3.0---使用computed来获取vuex里数据

    不再是vue2 0里什么mapGetter mapState那些复杂的获取方式 vue3 0里直接使用computed就可以调用vuex里的数据了 喜大普奔 同时注意 一点 不可以直接使用useStore 方法里的state对象 因为在输出
  • css将文字置于图片上的方法

    我们在开发的时候 有大量的场景需要将文字至于图片之上 如图 以上是将 空山新雨后 天气晚来秋 加在图片之上 对于大多数情况 我们都可以将图片作为背景图引入 但有些时候不能将图片作为背景图引入 这个时候就要用到其他的方法 以下我们提供三种方法
  • MyBatis的lazy-loading是什么?

    MyBatis的lazy loading是什么 MyBatis的lazy loading 延迟加载 是一种数据查询策略 它允许仅在需要时才从数据库中获取相关联的数据 这是通过创建 Java 代理对象来实现的 该代理对象在真正需要相关对象时将
  • linux命令——man

    Shell 也称为终端或壳 用户与 Linux 系统的交互 常见执行Linux命令的格式是这样的 命令名称 命令参数 命令对象 注意 命令名称 命令参数 命令对象之间请用空格键分隔 命令对象一般是指要处理的文件 目录 用户等资源 而命令参数
  • Linux下搭建第一个区块链网络(FISCO BCOS)

    Linux下搭建第一个区块链网络 FISCO BCOS 概述 搭建单群组FISCO BCOS联盟链 配置及使用控制台 部署及调用HelloWorld合约 概述 FISCO BCOS是由国内企业主导研发 对外开源 安全可控的企业级金融联盟链底
  • Error:JAVA_HOME is not set and could not be found 解决般的法

    很多人按照网上的各类教程搭建hadoop 但经常在安装好了后 启动hadoop时出现各类的错误 本文就 Error JAVA HOME is not set and could not be found 这一错误提出解决办法 针对这个错误
  • 10.1~10.3国庆节技术沉淀

    国庆节没怎么学习 玩了一天 宿舍玩游戏两天 一次循环完成百钱白鸡 关键就在于先人工化简一下两个方程式 23456789的各位之和怎么求 现在也不会 好吧 现在会了 不太理解 求整数各位之和 author zlb date 10 3 impo
  • 2020年“金九银十”的面试宝典:腾讯,字节等大厂面试真题汇总

    前言 职场的金九银十跳槽季火热进行中 不同的是 今年的竞争比往年会更加激烈一些 形式更加严峻一些 对于求职者来说 面试是一道坎 很多人会恐惧面试 即使是工作很多年的老鸟 也可能存在面试焦虑 大家多多少少可能都听到或看到一些信息 就是好多公司
  • Spring Boot初识-2

    Spring Boot初识 2 1 整合Redis Spring传统的整合Redis 导入jedis包 利用IoC和DI帮你实现Jedis连接实例的管理 原本 JedisPool JedisPoolConfig 主机地址 数据库索引 密码
  • 操作系统(03)- 操作系统的运行机制和体系结构

    操作系统的运行机制和体系结构 计算机指令系统是计算机硬件的语言系统 也叫机器语言 它是软件和硬件的主要界面 从系统结构的角度看 它是系统程序员看到的计算机的主要属性 我们使用高级语言编写程序 最终都会被编译为机器语言 计算机才能识别 不清楚