王道操作系统考研笔记——1.1.4 操作系统的运行机制和体系结构

如果这篇博客对您有用的话,可以给我点个赞吗,这对我很重要,谢谢!❤️

文章目录

      • 1.1.4 操作系统的运行机制和体系结构
        • 1.1.4.1 两种指令、两种处理器状态、两种程序
        • 1.1.4.2 操作系统的内核
        • 1.1.4.3 操作系统的体系结构
        • 1.1.4.4 小结

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

知识总览

image-20220116130006131


预备知识:什么是指令

指令和我们平时所的代码有什么区别呢?

如果拿C语言来说,当我们写好了C语言代码的时候,编译器会对代码进行编译,编译完会生成机器语言指令,且在这个过程中,一条高级语言的代码翻译过来可能会对应多条指令。

所以简单来说,指令就是处理器(CPU)能识别、执行的最基本的命令,例如加法指令就是让处理器执行加法运算。

1.1.4.1 两种指令、两种处理器状态、两种程序

经过上面的介绍后,我们知道了指令是干什么的,但是我们也能发现一些问题:有些指令能让处理器干些比较简单的事,比如加减乘除,这种事情通常无关紧要人畜无害;但是有些指令能让处理器“自毁”呢?系统所有东西都删掉呢?比如内存清零指令,如果用户程序可以使用这个指令,就意味着一个用户可以将其他用户的内存数据随意清零,这样做显然是很危险的。

所以综上所述,我们把指令分为两类:特权指令非特权指令。前面说的加减乘除这类普通的运算指令即为非特权指令,而内存清零指令就是特权指令;特权指令一般不允许普通用户使用。

那么处理器怎么判别当前是否可以执行特权指令呢?

这就要说到两种处理器状态了:用户态(目态)核心态(管态)。如果此时处理器处于目态,那么CPU只能执行非特权指令,而如果处理器处于管态,那么两种指令它都能执行。

根据能执行指令的程度,我们把程序也划分为两类:内核程序应用程序。操作系统的内核程序是系统的管理者,既可以执行特权指令,也可以执行非特权指令,运行在核心态,而应用程序为了保证系统能安全运行,它们运行在用户态。

做一个小结,如图所示:

image-20220116131614666

说完这么多,操作系统中的哪些功能应该由内核程序实现呢?


1.1.4.2 操作系统的内核

我们平常说的内核,实际上指的是计算机的底层软件。结合生活经验来看,我们安装完Windows操作系统后,会发现操作系统提供了多种多样的功能,比如“记事本”、“任务管理器”。然而,操作系统少了这些功能并不会掉一块肉的,顶多是不方便而已。所以结合这些,我们可以回到前面讲的结构图。

image-20220116132243036

在操作系统的结构层次中,实际上包含了内核和非内核,内核中包含了计算机必备的一些组件,比如时钟管理,中断处理,访问原语等,这些都是计算机必不可少的。像进程管理、存储器管理、设备管理等这些和计算机资源管理相关的也是属于内核的一部分。

所以操作系统的内核,指的是:计算机上配置的底层软件,是操作系统最基本、最核心的部分。实现操作系统内核功能的那些程序就是内核程序。

image-20220116132851012

由于我们前面也说过,任务管理器不是必须的,这也侧面说明了管理并不是必须的,因系统而异;所以对于不一样的系统,有的系统认为资源管理这一部分属于内核功能,而有的则不这么认为。所以,我们通常把那些包含了资源管理这一部分的内核叫做大内核,而不包含资源管理这一部分的内核叫做微内核


1.1.4.3 操作系统的体系结构

大内核和微内核共同组成了操作系统的体系结构。整理一下上面说的,我们可以总结如下:

image-20220116133417599

举个例子:我们可以把操作系统的体系结构问题与企业的管理问题很相似。我们可以把内核比作企业的管理层,负责企业内部一些重要的工作。只有管理层才能执行特权指令,普通员工只能执行非特权指令。用户态、核心态之间的切换相当于普通员工和管理层之间的工作交接。

而大内核就好比企业创立之初,大事小事管理层的人都会经手,虽然做事效率快,管理层不需要和其他人交接工作,直接就可以行使重要权限干重要的事,但是由于分工不明确,人数过少,所以组织结构混乱,难以维护。难以维护可以体现在管理层两个大老板。两个大老板都有采购功能,但是两个人同时采购,一旦出了采购问题就不知道把问题归在谁身上了。

而微内核就好比成熟的企业,管理层只负责一些最核心的工作,组织结构清晰,方便维护,但是这样的话普通员工一有重要的事就要汇报上级审批,效率低下。


1.1.4.4 小结

  • 大内核和微内核的优缺点可能作为选择题考查
  • 核心态比较重要

image-20220116134343386

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

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

相关文章

How to remove replication in SyteLine V2

以前曾经写了一篇《How to remove replication in Syteline》http://www.cnblogs.com/insus/archive/2011/12/20/2294831.html 过于简单。 由于SyteLine采用共享License的授技术,如果你从一个正式的数据库复制一个备份,恢复至另外一个站点上&#xff0c…

【Keras】基于SegNet和U-Net的遥感图像语义分割

上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰“天空之眼”。这两周数据挖掘课期末project我们组选的课题也是遥感图像的语义分割,所以刚好又把前段时间做的成果重新整理和加强了一下,故写了这篇文章&#xff0c…

每日一题——剑指 Offer24反转链表

如果您是第一次看我写的博客,可以给我点个赞并关注我吗,我会持续分享更多有意思的干货。 文章目录1 题目2 思路3 代码4 小结1 题目 剑指 Offer 24. 反转链表 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头…

手把手教你写专利申请书/怎样申请专利

手把手教你写专利申请书怎样申请专利摘要小前言(一)申请前的准备工作 1、申请前查询 2、其它方面的考虑 3、申请文件准备(二)填写专利申请系列文档 1、实际操作步骤 2、详细操作 3、经验分享、注意事项&#xf…

计算机无法更新正在撤销更改,win7系统无法完成更新正在撤销更改的解决办法...

win7系统无法完成更新正在撤销更改的解决办法?如果我们在使用win7更新系统的时候,出现了win7无法完成更新正在撤销更改请不要关闭你的计算机这样的提示,而且不关闭提醒就会一直收到提示。小编觉得可以在win7设置中的更新和安全里面进行高级选…

王道操作系统考研笔记——1.1.6 系统调用

如果这篇博客对您有用的话,可以给我点个赞吗,这对我很重要,谢谢!❤️ 文章目录1.1.6 系统调用1.1.6.1 系统调用和作用1.1.6.2 系统调用和库函数1.1.6.3 系统调用背后的过程1.1.6.4 小结1.1.6 系统调用 知识总览 1.1.6.1 系统调用…

计算机设备行业特征,自动装配机在自动化设备行业具有的特点

伴随着社会经济的不断发展,工业生产的市场规模越来越大,人们的需求也越来越大。自动装配机在自动化设备行业具有哪些特点?鲁工自动化小编对自动装配机的特点进行了分析。1.自动装配机需要由多台工作台进行扩展和分级。上层控制器,用来控制二…

Netty实例-简单的服务端-client实现,凝视具体

书籍推荐&#xff1a; 实例代码 &#xff1a; http://download.csdn.net/detail/jiangtao_st/7677503Netty Server端实现/*** * <p>* Netty Server Simple* </p>* * author 卓轩* 创建时间&#xff1a;2014年7月7日* versi…

数据结构杂谈(四)

本文的所有代码均由C编写 4 双链表、循环链表和静态链表 文章目录4 双链表、循环链表和静态链表4.1 双链表4.1.1 双链表的定义4.1.2 双链表的初始化4.1.2 双链表的后插操作4.1.3 双链表的后删操作4.1.4 双链表的销毁操作4.2 循环链表4.2.1 循环链表的概念4.2.2 循环单链表4.2.2…

量子计算机怎么储存,什么是量子计算机_量子计算机原理_量子计算的两种有效方法...

量子计算机是一种可以实现量子计算的机器&#xff0c;是一种通过量子力学规律以实现数学和逻辑运算&#xff0c;处理和储存信息能力的系统。它以量子态为记忆单元和信息储存形式&#xff0c;以量子动力学演化为信息传递与加工基础的量子通讯与量子计算&#xff0c;在量子计算机…

Spring注解依赖注入的三种方式的优缺点以及优先选择

当我们在使用依赖注入的时候&#xff0c;通常有三种方式&#xff1a; 1.通过构造器来注入&#xff1b; 2.通过setter方法来注入&#xff1b; 3.通过filed变量来注入&#xff1b; 那么他们有什么区别吗&#xff1f;应该选择哪种方式更好&#xff1f; 代码示例&#xff1a; Const…

seo超强外部链接、内部链接技巧

轮链-混链对做内外链都是非常有效果的&#xff01; 外连&#xff0c;之于大家并不陌生&#xff0c;增加外链的方法也海了去&#xff0c;如软文推广、博客推广、友情链接等等等等&#xff0c;在这里我就不再累述&#xff0c;最近在一些文章里看到轮链和混链的SEO优化技巧&#x…

王道操作系统考研笔记——1.1.5 中断和异常

如果这篇博客对您有用的话&#xff0c;可以给我点个赞吗&#xff0c;这对我很重要&#xff0c;谢谢&#xff01;❤️ 文章目录1.1.5 中断和异常1.1.5.1 中断机制的诞生1.1.5.2 中断的概念和作用1.1.5.3 中断的分类1.1.5.4 小结1.1.5 中断和异常 知识总览 1.1.5.1 中断机制的诞…

LR+Jenkins实践思路

思路&#xff1a;在Loadrunner的安装bin目录下有Loadrunner Control模块的启动程序 “Wlrun.exe”&#xff0c;想利用Jenkin的 windows的batch命令持续构建一个任务&#xff0c;自动启动运行场景&#xff0c;且把结果发给analysis 通过Batch来调用LR场景&#xff1a; Loadrunne…

王道操作系统考研笔记——2.1.1 进程的定义、组成、组织方式和特征

如果这篇博客对您有用的话&#xff0c;可以给我点个赞吗&#xff0c;这对我很重要&#xff0c;谢谢&#xff01;❤️ 文章目录2.1.1 进程的定义、组成、组织方式和特征2.1.1.1 进程的定义2.1.1.2 进程的定义2.1.1.3 进程的组成2.1.1.4 进程的组织2.1.1.5 链接方式2.1.1.6 索引方…

服务器换账号登陆不了怎么办,怎么切换账号 更换账号 注册新的账号小技巧分享给你...

很多玩家喜欢多尝试几种玩法&#xff0c;那么万国觉醒怎么切换账号&#xff1f;切换账号后玩家如何再重新登入游戏&#xff1f;如何在多个账号中快速切换&#xff1f;今天小编就跟大家说说万国觉醒快速切换账号登入游戏的技巧。一、切换账号介绍我们常说的切换账号有两种意思&a…

vue基本介绍

https://cn.vuejs.org/v2/guide/ Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是&#xff0c;Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第三方库或既…

android控件的隐藏与显示

2019独角兽企业重金招聘Python工程师标准>>> visibility&#xff1a;显示 invisibility&#xff1a;不显示&#xff0c;不可见但是仍然占据空间 gone&#xff1a;不显示&#xff0c;不可见不占用空间 view.setVisibility();----设置值&#xff1a;0代表visibility&a…

《BI那点儿事》Microsoft 线性回归算法

Microsoft 线性回归算法是 Microsoft 决策树算法的一种变体&#xff0c;有助于计算依赖变量和独立变量之间的线性关系&#xff0c;然后使用该关系进行预测。该关系采用的表示形式是最能代表数据序列的线的公式。例如&#xff0c;以下关系图中的线是数据最可能的线性表示形式。 …