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

news/2024/5/20 13:20:53/文章来源:https://blog.csdn.net/qq_50985215/article/details/127521983

文章目录

  • 运行机制
      • 两种指令
      • 两种状态
      • 两种程序
  • 操作系统内核
    • 内核在计算机的系统中的层次结构
    • 内核的功能
      • 时钟管理(基本功能)
      • 中断机制(基本功能)
      • 原语(基本功能)
      • 对资源的进行管理的功能

运行机制

两种指令

指令和代码的区别的联系:我们的高级语言的代码翻译过来可能会对应着多条指令(指令我们的机器语言,是计算机能够直接运行的)image-20221025182729776

  • 特权指令:不允许我们用户直接使用的命令(也就是这些指令的有很高的权限),比如I/O指令,置中断指令,存取用于内存保护的寄存器,送程序状态字道程序状态寄存器,内存清零的指令
  • 非特权指令 :比如加减乘除这些普通的运算指令

两种状态

  • 核心态:特权指令和非特权治理都可执行
  • 用户态:只能执行非特权指令
  • 我们是用程序状态寄存器PSW的某各标志位来标识处理器处于什么状态:0标识用户态,1标识核心态
  • 两个状态的转换 用户态->核心态是通过中断实现的,并且中断是唯一的途径 核心态-》用户态的切换 通过执行一个特权指令,将程序的状态字PSW的标准位设置为“用户态”

两种程序

  • 内核程序 操作系统内核程序是系统管理者,特权指令和非特权指令都可执行,运行在核心态
  • 用户程序 为了保证系统能够安全运行,用户程序只能执行非特权指令,运行在用户态

操作系统内核

内核在计算机的系统中的层次结构

在这里插入图片描述

  • 内核在计算机配置在底层的软件,是操作系统最基本最核心的部分,实现操作系统内核功能的程序是内核程序
  • 大内核:包括资源管理等功能和三个基本功能
  • 微内核:只有三个基本功能在这里插入图片描述

内核的功能

时钟管理(基本功能)

  • 第一功能用于计时
  • 向用户提供标准的系统时间
  • 通过时钟中断管理
  • 可以实现进程的切换
  • 比如分时操作系统中采用时间片轮转制度,实时操作系统张按截至时间控制运行,批处理系统中通过时钟管理来衡量一个作业的运行程度

中断机制(基本功能)

  • 初衷是为了提高多道程序运行环境中汇总CPU的利用率,后来成为操作系统各种操作的基础
  • 比如键盘和鼠标信息的输入,进程的管理和调度,系统功能的调用,设备驱动,文件访问等

原语(基本功能)

  • 系统中的设备驱动,CPU切换,进程通信等功能中的部分操作都可定义为原语
  • 特点
    • 是一种特殊的程序,处于操作系统的最底层,是最接近硬件的部分
    • 这种程序的运行具有原子性,其操作一气呵成(主要从系统安全性和便于管理考虑)
    • 程序运行时间都比较短,调用频繁

对资源的进行管理的功能

  • 进程管理
  • 存储器管理
  • 设备管理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_218376.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python基于PHP旅游网站的设计与开发

在经济高速发展的现在,人们的工作越来越繁重,生活节奏越来越快,生活工作压力也越来越大。反而留给自己休息,享受旅游生活的时间越来越少,缺少对周边旅游信息的了解,无法与兴趣一致的户外旅友进行交流。这则会导致人们会花更多的时间去寻找旅游地点,并进行路线规划,花费的时间在…

彻底理解闭包实现原理

前言 闭包对于一个长期写 Java 的开发者来说估计鲜有耳闻,我在写 Python 和 Go 之前也是没怎么了解,光这名字感觉就有点"神秘莫测",这篇文章的主要目的就是从编译器的角度来分析闭包,彻底搞懂闭包的实现原理。 函数一等公民 一门语言在实现闭包之前首先要具有的特…

工程项目部质量管理体系的控制要点分析

质量管理是施工企业风险控制的重要组成部分。本文从有序的生产过程控制,提高企业质量意识出发,结合贯彻ISO9001标准及50430规范的企业贯标工作,分阶段研究和分析施工企业工程项目部质量管理体系的控制要点。 质量是企业的生命线,…

Android实战——单元测试从吹水到实践

目录1.单元测试到底需要不需要了?开发时间紧张,不需要做单元测试了吧?开发经验丰富,不需要做单元测试了吧?或许存在一种”自动化“的测试,就不需要做单元测试了吧?2.单元测试的好处单元测试可以…

【附源码】计算机毕业设计SSM校园拍卖平台

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

React 状态管理器,我是这样选的

前言 我们的前端团队在一直深度使用 React ,从最早的 CRA ,到后来切换到 umijs ,从 1.x、2.x、3.x 再到现在的 4.x,其中有一点不变的,就是我们一直在使用基于 react-redux 思想的 dva 作为状态管理工具。 在状态共享这…

(附源码)计算机毕业设计SSM跨移动平台的新闻阅读应用

(附源码)计算机毕业设计SSM跨移动平台的新闻阅读应用 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目…

DM-DM DBLINK使用配置

简单介绍 DM-DM DBLINK支持3种连接方式创建,分别是:dmmal、dpi、odbc。 其中dpi、odbc属于第三方接口,dmmal属于原生接口。dpi类型dblink为新版本新添加支持,以前版本中不支持。 环境说明 (1)数据库版本…

2023届C/C++软件开发工程师校招面试常问知识点复盘Part 7

目录46、C类的成员变量初始化顺序及拓展47、强制转换类型操作符号48、const 成员函数–常成员函数与常量对象49、volatile关键字50、赫夫曼树51、前缀树46、C类的成员变量初始化顺序及拓展 注意: 1、const成员或者引用必须在成员变量初始化列表中初始化,…

git的基础指令操作

git的下载地址:https://git-scm.com/download 安装好git后 在桌面上右键即可以看到两个git的快捷方式。 需要先对git进行基本的配置,即需要配置用户名和用户邮箱 1. 打开Git Bash 2. 设置用户信息 git confifig --global user.name “zqy” git confi…

权限项目 1_搭建环境

硅谷通用权限系统:搭建环境 一、项目介绍 1、介绍 权限管理是所有后台系统都会涉及的一个重要组成部分,而权限管理的核心流程是相似的,如果每个后台单独开发一套权限管理系统,就是重复造轮子,是人力的极大浪费&…

第 1 章之:二叉树特性

声明:文章为博主原创,转载请联系博主。文章若有错误和疏漏之处,还望大家不吝赐教! 第一章:数据结构与算法基础--------------------------- 本章重点内容为&#xff1…

基于麻雀算法二维oust图像分割算法研究附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

期刊|认知科学领域期刊《Trends in Cognitive Sciences》

Hello,大家好! 这里是壹脑云科研圈,我是Ns~ 今天我们介绍的是爱思维尔(Elsevier)旗下细胞出版社(cell press)发行的关于认知科学领域的期刊:Trends in Cognitive Sciences。 1 期刊简介 基本…

mysql之给字符串加索引

文章目录前言长字段加索引前缀索引对覆盖索引的影响合理的使用前缀索引总结前言 之前的文章介绍了主键索引和唯一索引的区别,也介绍了主键索引和唯一索引在不同业务场景下的区别。今天我们继续介绍,普通索引怎么合理的使用。 长字段加索引 这里我们就…

Spring6.0全新发布,快来看看

Spring6.0全新发布,快来看看 Spring Framework 6.0 发布了首个 RC 版本。 翻译后页面(有点好笑): On behalf of the team and everyone who has contributed, I am pleased to announce that Spring Framework is available now.6.0.0-RC2 Spring Frame…

零信任如何给为企业的数字资源保驾护航?

零信任安全最早由著名研究机构Forrester的首席分析师约翰.金德维格在2010年提出。 零信任安全针对传统边界安全架构思想进行了重新评估和审视,并对安全架构思路给出了新的建议。 零信任模型是什么 零信任是一种基于严格身份验证的网络安全架构。、 在该架构下&am…

【SpringBoot笔记12】SpringBoot框架实现文件上传和文件下载

这篇文章,主要介绍如何使用SpringBoot框架实现文件上传和文件下载。 目录 一、SpringBoot文件上传 1.1、引入依赖 1.2、编写文件上传页面 1.3、编写文件上传代码 (1)MultipartFile对象 (2)ResourceUtils工具类 …

音频拼接在一起怎么做?这篇文章来告诉你

随着互联网的发展,很多优质歌曲都纷纷地呈现在大家眼前,而将不同的音乐合并在一起,并且放入视频里,也是别有一番风味,那么许多人会好奇音频如何拼接在一起呢?下面就为大家分享两个好用的方法,只要一点时间…

【C++】使用对象自动管理指针(用到运算符重载)

文章目录1. 首先设计整型类&#xff1a;class Int普通指针2. 设计一个Object类&#xff0c;并设计Int类型的指针。那如何获取Int类型的值呢&#xff1f;1. 首先设计整型类&#xff1a;class Int class Int { private:int value; public:Int(int x 0) :value(x){cout <<…