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

举报
ArimaMisaki 发表于 2022/08/09 01:11:31 2022/08/09
【摘要】 如果这篇博客对您有用的话,可以给我点个赞吗,这对我很重要,谢谢!❤️ 文章目录 1.1.4 操作系统的运行机制和体系结构1.1.4.1 两种指令、两种处理器状态、两种程序1.1.4.2...

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

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

文章来源: blog.csdn.net,作者:ArimaMisaki,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/chengyuhaomei520/article/details/122913753

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。