【Linux从入门到放弃】冯诺依曼体系机构、操作系统及管理的本质_冯诺依曼机构-程序员宅基地

技术标签: 运维  linux  服务器  LINUX从入门到放弃  

‍作者: @情话0.0
专栏:《Linux从入门到放弃》
个人简介:一名双非编程菜鸟,在这里分享自己的编程学习笔记,欢迎大家的指正与点赞,谢谢!

在这里插入图片描述


前言


  在学习linux的过程中,有一个特别重要的知识点就是关于进程的学习,那么在学习进程之前,首先对硬件做一些了解,然后再学习软件,在软硬件都学完之后再取去了解进程的概念。

一、冯诺依曼体系结构

  我们常见的计算机,如笔记本;或者我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。
在这里插入图片描述

1.1 冯诺依曼体系组成部分

  1. 输入设备:计算机是对数据做处理的,那么前提条件就是要先将数据给到计算机,就要通过输入设备来完成这个操作,而输入设备一般指的是键盘、鼠标、话筒、摄像头、网卡、磁盘等。
  2. 输出设备:计算机本质是给人提供服务的,在将数据计算完毕之后要将结果呈现给用户,这就需要通过输出设备来呈现给用户,输出设备一般指的是显示器、磁盘、网卡、声卡、音响等。

输入设备和输出设备统称为外围设备,简称外设,它们的数据处理速度相对于内存来说是慢一点的,而CPU是整个结构中速度最快的。

  1. 存储器:也成为内存,输入设备先将数据给到内存,然后CPU再与内存沟通拿数据。
  2. CPU(中央处理器):计算机中最核心的功能块,完成数据的处理工作。含运算器和寄存器等。

1.2 若内存不存在

在这里插入图片描述
  我们都知道,计算机是从输入设备处采集数据,在CPU处完成处理工作,然后再将处理结果给到输出设备,那么我们不要这个内存可以不,当然可以。但是,外设的数据处理速度是特别慢的,而CPU的处理速度又特别的快,这就可以提到 “木桶原理” ,表达的意思就是这个桶能乘多少水不取决于最长的木板长度,而是最短的木板长度。也就表明了整个计算机的处理效率就以外设的处理效率为主的。
  所以,这就需要内存来起到一个中间过渡的作用,缓解 “木桶原理” 带来的效率下降的问题。外设,内存,CPU它们三个之间的数据处理速度是不一致的,有一定的差距。但是内存有一个特点:可以临时存数据,并且速度还不慢,那么就可以在CPU处理A任务的时候,将外设中关于B任务的数据搬到内存当中,当A任务被处理完毕之后就可以直接从内存当中拿到B任务进行处理。因为有了内存的存在,可以对数据进行预加载,CPU以后在进行数据计算的时候不需要访问外设了,直接从内存中拿数据即可。

结论1: 在数据层面,一般CPU不和外设直接沟通而是直接只和内存打交道。

1.3 硬件层面,单机与跨主机之间的数据流向

1.3.1 单机

在这里插入图片描述
  比如说:我们打开视频APP要看电视剧,首先要将这个客户端软件加载到内存中,然后这个软件就可以被CPU执行,然后我们就可以看到这个软件的客户端界面,当点击播放的时候它就从网络中将关于这个视频资源的数据先拿到内存中,再进行数据计算,比如该视频是收费的,在免费播放了五分钟之后就强制关闭了,或者在10分钟的时候加一段30s的广告等等最终将计算结果给到内存然后再给到输出设备(显示器)。

1.3.2 跨主机

你和你的朋友微信聊天,你发送一个干啥着呢?那么整个信息是如何在体系结构中流动的?(不考虑网络的情况,即发出去就可以收到)
在这里插入图片描述

  1. 你通过键盘输入“干啥着呢?”到内存中,然后数据要做计算(因为数据在发送时可不止一条或者你的数据很私密,所以要进行加密),然后将计算之后的结果写回到内存中,然后再将该数据显示到输出设备(将数据刷新到本地的显示器中,同时将该数据发送到网卡中,对应你朋友的输入设备)
  2. 同样先从网卡中获取到数据交到内存中,在CPU拿到数据之后进行解密操作,把数据又给到内存,然后再将数据刷新到输出设备中(你朋友的显示器)

结论2: 外设只和内存打交道(数据层面)

二、操作系统

2.1 概念

  操作系统是一款进行软硬件资源管理软件

2.2 如何理解操作系统对硬件做管理

  谈到管理,举个简单例子:比如在学校这样的场景下,有三种角色:校长,导员,学生,很明显学生是充当被管理者的角色,而管理者是谁呢?校长还是导员呢?按道理来说作为一个大学生来说,四年下来基本上见不到校长的面,那么导员应该是管理者,对不对呢?
  在日常生活中,我们每一个人既是决策者也是执行者,比如:我今天中午要吃什么饭(决策),然后就去吃了(执行)。而作为管理者,大部分工作是拥有决策的能力,而非执行。
  那么很明显校长是决策者,关于学校的一些指令都是校长下发的,而导员只是按照校长的指令行事。

职业 职能
校长 决策
导员 决策并执行
学生 参与执行

2.3 决策者和执行者的关系

注意:以下所有的场景都是在举例。

  比如说在学校里面,一个学生基本上很难见到校长的面,但是为什么校长能把学生管理的如此之好,不管是每天在那间教室上课,在哪个宿舍睡觉,亦或是哪些学生挂科了等等。由此可以间接说明:作为管理者和被管理者,其实是不需要直接沟通的,当然沟通也是没什么问题的。

  管理者和被管理者没有直接沟通,那么它们之间是如何管理的呢?
  在学校里面校长和学生不直接沟通,但是校长他能够知道你名字是什么,电话号码是什么,学号是多少,专业是哪个,科目已经修了多少等等,亦或是在公司里你为这个公司这一年做了多少贡献,迟到或早退了多少次,加班了多长时间等等。
  在上大学之前,你家长每天都照顾着你的一切,你早都不耐烦了,于是上了大学之后你感觉自己终于挣脱了束缚,但是假设说你家长可以知道你每天干了什么,他们就可以打电话问候你的一切,关心亦或是指责。
  其实根据上面这几个例子就可以说明:管理的本质——管理者对被管理者的数据进行管理。

  那么管理者是如何拿到被管理者的数据呢?根据学校的例子很清晰,通过导员(中间人)

  比如说,校长安排每个导员把自己所管理的每个学生的信息都统计起来发给他,因为校长要对所有人做管理,如果说要是将所有的信息都放在表格里,那就太复杂了,所以校长就按照结构体的形式(下例)将所有学生的信息都统计起来,再按照链表的方式将每个结构体对象链接起来。
  假设某个学生成绩太差要将其退学,难道只让他离校就可以了吗?当然不行,还得在这样的学生链表中将这个学生对象剔除掉;或者学校又转来一个学生,同样也是在链表中将该学生的信息形成一个结构体对象并添在其中,总之来说,校长要对学生做管理,都是在该链表上操作。

struct stu
{
    
	姓名,
	年龄,
	专业,
	成绩,
	电话,
	struct stu* next;
]

总结:上面举的所有例子都是在对管理的动作进行建模(将具体的一些场景转化为计算机语言)。

2.4 管理的本质

  先描述,再组织

  那么在计算机中,校园中的三种角色对应的是什么呢?
  校长——操作系统;导员——硬件驱动;学生——硬件(软件)
  硬件驱动主要负责就是与硬件的交流沟通,拿到硬件的数据后交给操作系统做决策,然后在将决策后的结果交给驱动来执行。操作系统来做决策,驱动来执行。每一个硬件(键盘、鼠标、磁盘、网卡)基本对应一个硬件驱动。

2.5 操作系统为什么对软硬件做管理?

  操作系统对下通过管理好软硬件资源(手段),对上给用户提供良好(安全、高效、稳定、功能丰富等)的执行环境(目的)。

  操作系统目的是为了给用户提供良好的服务,但是操作系统信任用户吗?
在这里插入图片描述

  就拿银行的例子来讲,它有着一些底层的硬件设施:电脑、服务器;桌椅板凳;金库;员工宿舍。再往上看分别有不同的部门角色管理下面的设施。同时在银行里有着不同的员工给用户提供不同的服务,当然也有行长这样的角色。作为一个行长,他肯定要将整个银行系统合理的管理起来, 他不仅要把这些员工管理好(根据表现奖惩),而且也要管理好底层硬件设施,但是行长不可能亲自去管理那些硬件,而是就通过驱动这样的角色去管理。
  因此,这也就说明了行长其实就是担当着操作系统这样的角色,即管理好下层硬件设施,也管理好每一位员工。行长和员工都是人,人可以管理硬件设施,也可以管理人。而操作系统是软件,它既管理软件,同时也管理硬件。

  行长对下将员工和硬件管理的如此之好,目的就是为了对上给用户提供良好的服务。但是,银行它相信你吗?

  很明显,你是信任银行的,要不然你不会去银行办业务,但是银行是不信任你的,在现实生活中你要存一万元,银行柜员不可能给你说你怎么怎么走到了金库把钱放到那里,然后出来填个表即可。对应的是操作系统给我们提供良好的服务,并不代表这操作系统会相信我们,反而操作系统不相信任何人,害怕群众中有坏人对自己造成伤害。就像是在银行里给你提供服务,但是为了保证自己(银行)的安全,它给用户提供窗口式的服务。

在这里插入图片描述
  这也就说明了在计算机硬件体系结构中,用户是不可能直接进到操作系统里面对操作系统里面的内容数据进行访问和修改呢?当然不是。操作系统为了保护自己和给用户提供服务,于是将自己的特定功能以接口的方式给用户提供出来,而这些接口在操作系统层面被称为系统调用(操作系统设计的C函数)。
  但是有时候操作系统调用接口使用成本特别高,因为一些操作你是得懂操作系统的。就一些大佬基于这些接口做了二次软件开发,于是就有了图形化界面、shell和工具集、部分指令。

在这里插入图片描述


总结

  以上就是在学习进程之前该了解的一些知识,主要明白操作系统管理的本质,而这个本质也是始终贯穿于Linux的整个学习。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_47648037/article/details/131378814

智能推荐

稀疏编码的数学基础与理论分析-程序员宅基地

文章浏览阅读290次,点赞8次,收藏10次。1.背景介绍稀疏编码是一种用于处理稀疏数据的编码技术,其主要应用于信息传输、存储和处理等领域。稀疏数据是指数据中大部分元素为零或近似于零的数据,例如文本、图像、音频、视频等。稀疏编码的核心思想是将稀疏数据表示为非零元素和它们对应的位置信息,从而减少存储空间和计算复杂度。稀疏编码的研究起源于1990年代,随着大数据时代的到来,稀疏编码技术的应用范围和影响力不断扩大。目前,稀疏编码已经成为计算...

EasyGBS国标流媒体服务器GB28181国标方案安装使用文档-程序员宅基地

文章浏览阅读217次。EasyGBS - GB28181 国标方案安装使用文档下载安装包下载,正式使用需商业授权, 功能一致在线演示在线API架构图EasySIPCMSSIP 中心信令服务, 单节点, 自带一个 Redis Server, 随 EasySIPCMS 自启动, 不需要手动运行EasySIPSMSSIP 流媒体服务, 根..._easygbs-windows-2.6.0-23042316使用文档

【Web】记录巅峰极客2023 BabyURL题目复现——Jackson原生链_原生jackson 反序列化链子-程序员宅基地

文章浏览阅读1.2k次,点赞27次,收藏7次。2023巅峰极客 BabyURL之前AliyunCTF Bypassit I这题考查了这样一条链子:其实就是Jackson的原生反序列化利用今天复现的这题也是大同小异,一起来整一下。_原生jackson 反序列化链子

一文搞懂SpringCloud,详解干货,做好笔记_spring cloud-程序员宅基地

文章浏览阅读734次,点赞9次,收藏7次。微服务架构简单的说就是将单体应用进一步拆分,拆分成更小的服务,每个服务都是一个可以独立运行的项目。这么多小服务,如何管理他们?(服务治理 注册中心[服务注册 发现 剔除])这么多小服务,他们之间如何通讯?这么多小服务,客户端怎么访问他们?(网关)这么多小服务,一旦出现问题了,应该如何自处理?(容错)这么多小服务,一旦出现问题了,应该如何排错?(链路追踪)对于上面的问题,是任何一个微服务设计者都不能绕过去的,因此大部分的微服务产品都针对每一个问题提供了相应的组件来解决它们。_spring cloud

Js实现图片点击切换与轮播-程序员宅基地

文章浏览阅读5.9k次,点赞6次,收藏20次。Js实现图片点击切换与轮播图片点击切换<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/ja..._点击图片进行轮播图切换

tensorflow-gpu版本安装教程(过程详细)_tensorflow gpu版本安装-程序员宅基地

文章浏览阅读10w+次,点赞245次,收藏1.5k次。在开始安装前,如果你的电脑装过tensorflow,请先把他们卸载干净,包括依赖的包(tensorflow-estimator、tensorboard、tensorflow、keras-applications、keras-preprocessing),不然后续安装了tensorflow-gpu可能会出现找不到cuda的问题。cuda、cudnn。..._tensorflow gpu版本安装

随便推点

物联网时代 权限滥用漏洞的攻击及防御-程序员宅基地

文章浏览阅读243次。0x00 简介权限滥用漏洞一般归类于逻辑问题,是指服务端功能开放过多或权限限制不严格,导致攻击者可以通过直接或间接调用的方式达到攻击效果。随着物联网时代的到来,这种漏洞已经屡见不鲜,各种漏洞组合利用也是千奇百怪、五花八门,这里总结漏洞是为了更好地应对和预防,如有不妥之处还请业内人士多多指教。0x01 背景2014年4月,在比特币飞涨的时代某网站曾经..._使用物联网漏洞的使用者

Visual Odometry and Depth Calculation--Epipolar Geometry--Direct Method--PnP_normalized plane coordinates-程序员宅基地

文章浏览阅读786次。A. Epipolar geometry and triangulationThe epipolar geometry mainly adopts the feature point method, such as SIFT, SURF and ORB, etc. to obtain the feature points corresponding to two frames of images. As shown in Figure 1, let the first image be ​ and th_normalized plane coordinates

开放信息抽取(OIE)系统(三)-- 第二代开放信息抽取系统(人工规则, rule-based, 先抽取关系)_语义角色增强的关系抽取-程序员宅基地

文章浏览阅读708次,点赞2次,收藏3次。开放信息抽取(OIE)系统(三)-- 第二代开放信息抽取系统(人工规则, rule-based, 先关系再实体)一.第二代开放信息抽取系统背景​ 第一代开放信息抽取系统(Open Information Extraction, OIE, learning-based, 自学习, 先抽取实体)通常抽取大量冗余信息,为了消除这些冗余信息,诞生了第二代开放信息抽取系统。二.第二代开放信息抽取系统历史第二代开放信息抽取系统着眼于解决第一代系统的三大问题: 大量非信息性提取(即省略关键信息的提取)、_语义角色增强的关系抽取

10个顶尖响应式HTML5网页_html欢迎页面-程序员宅基地

文章浏览阅读1.1w次,点赞6次,收藏51次。快速完成网页设计,10个顶尖响应式HTML5网页模板助你一臂之力为了寻找一个优质的网页模板,网页设计师和开发者往往可能会花上大半天的时间。不过幸运的是,现在的网页设计师和开发人员已经开始共享HTML5,Bootstrap和CSS3中的免费网页模板资源。鉴于网站模板的灵活性和强大的功能,现在广大设计师和开发者对html5网站的实际需求日益增长。为了造福大众,Mockplus的小伙伴整理了2018年最..._html欢迎页面

计算机二级 考试科目,2018全国计算机等级考试调整,一、二级都增加了考试科目...-程序员宅基地

文章浏览阅读282次。原标题:2018全国计算机等级考试调整,一、二级都增加了考试科目全国计算机等级考试将于9月15-17日举行。在备考的最后冲刺阶段,小编为大家整理了今年新公布的全国计算机等级考试调整方案,希望对备考的小伙伴有所帮助,快随小编往下看吧!从2018年3月开始,全国计算机等级考试实施2018版考试大纲,并按新体系开考各个考试级别。具体调整内容如下:一、考试级别及科目1.一级新增“网络安全素质教育”科目(代..._计算机二级增报科目什么意思

conan简单使用_apt install conan-程序员宅基地

文章浏览阅读240次。conan简单使用。_apt install conan