【linux】冯诺依曼体系+操作系统

简介: 我们使用的计算机都是由一个个硬件所组成的,那么如何有条不紊的运行呢?那是因为有冯诺依曼体系约束着硬件,而操作系统来管理着他们,从而使得计算机的硬件和软件完美结合。

一、冯诺依曼体系

       首先我们得了解什么是冯诺依曼体系结构,其实笼统来说就是对硬件按一套规定的标准来执行的规则。具体我们看下面:

这里我们说的是数据流(数据信号)的理解:


       存储器:存储器就是内存,内存的特性是掉电易失(只要关闭电源,内存中存储的数据就立马消失,不会保存)


       外存:那么外存就是除了内存之外的,比如:磁盘等等,它的特性是永久存储性。它也叫外设(外设是相对于cpu和内存来说),外设分为输入设备(键盘等)和输出设备(显示器等),但是磁盘和网卡是既属于输入设备也属于输出设备。(我们写文件读文件,从网上读取信息和上传信息)


       cpu=运算器+控制器+其他:就如上图所示。运算器包括逻辑运算和数学运算。我们可能认为cpu很聪明,但是其实它很笨!为什么?cpu只会被动的接受别人的指令、别人的数据,从而执行别人的指令,计算别人的数据。那么cpu一定要先识别出指令和数据,识别是依据cpu自己的指令集,cpu中的指令集是预先就会在磁盘中加载好,所以我们写的代码编译的本质其实就是将代码转化为二进制可执行成程序(转化为cpu中的指令集的形式),从而cpu才会识别完成,并且无脑的去执行你的指令和计算数据。


       现在我们了解了冯诺依曼体系结构中的各个部分,那么他们之间是如何进行数据流的传输呢?我们来看下图:

 我们知道cpu需要得到数据再去执行,但是数据是从哪里来呢?我们可以看到cpu如果从外设直接读数据,那完了!很慢很慢,若从内存中读取数据,那相比于外设,还是快多了。所以我们就会知道,cpu读取数据只会从内存中读取数据。而内存中的数据是提前从磁盘中加载到内存中的(这个内存和外设的数据交互称为IO过程),然后cpu再从内存中读取数据从而执行。那相应的cpu内执行以后的数据要更新后加载到磁盘中,也是先到内存中,再从内存中加载到磁盘中。


       所得的出结论是:cpu不和外设直接打交道,只和内存打交道!


       那我们上面所说的这一过程,是如何加载数据?什么时候加载?都是由操作系统来完成的,所以这才是硬件和软件的完美结合!那么操作系统又是什么呢?我们来看。


二、操作系统

       操作系统是一个管理软、硬件的软件。为什么要管理呢?对下管理软硬件的资源,对上给用户提供良好的,安全的,稳定的,高效的执行环境。


1.对下

       那怎么管理呢?我们来看:(举个例子)

   首先管理分为做决策和做执行,管理者会更偏向决策。


      我们知道,校长来管理学生是怎么样管理呢?他会把你每一个学生都记住,如何一个一个管理吗?当然不会。其实校长管理我们它只需要拿到我们的数据就行,通过管理数据来管理我们。校长拿到我们的学号、成绩信息,等等就可以连面都不见,把我们管理的很好。


所以我们可以得到:所谓管理,本质是通过数据来管理被管理者


       那么校长怎么拿到数据呢?当然是通过中间的辅导员(也就是中间的执行者,执行者不仅向上提交数据信息,而且也会向下执行管理者的决策),得到数据以后,校长是如何对这些数据进行管理的呢?我们总结六个字:先描述,再组织!


       对于收集的数据,校长会先考虑这些数据的共性,先对学过C语言的校长来说,他会创建一个结构体,结构体包括:

struct student
{
  //学生名字
  //学生性别
  //学号
  //成绩
  //...
  struct student * next;
}

所以很巧妙的把学生个体建模为一个一个的结构体变量,但是如果统一管理呢?再组织,学过数据结构的校长就会通过链表的方式,一个一个把结构体变量链接起来,对链表进行增删查改的操作就可以了:

       等再新增学生,只需把收集好的数据创建结构体变量以后,和之前的链表节点链接起来,若想查找,只需要按照key值遍历链表,找到想要找的学生。


       所以我们继续总结:管理数据的方式:先描述,再组织!  

     再回到操作系统,以硬件为基础,现在我们就明白操作系统是如何管理硬件了:

       操作系统管理硬件是通过管理数据,那么操作系统和硬件之间的驱动就是负责向上提交硬件的数据,并且向下执行操作系统的决策,至于怎么管理数据:先描述,再组织。操作系统会把信息先汇总成一个结构体,里面包括类型,状态等等,之后再组织,把结构体变量利用数据结构算法等联系起来,就可以实现操作系统对硬件的管理了。


       我们现在已经清楚,管理软硬件其实就是管理数据!管理方式就是先描述,在组织!

2.对上

       对下我们已经了解清楚了,那操作系统是如何对上提供良好的执行环境呢?

       举个例子:

       在银行这个体系结构中:

     行长要管理银行的硬件(仓库里的钱、桌椅板凳、电脑设备等等),也要管理人(部门经理、具有业务能力的员工等等),那么行长也是通过安保、后勤等等来收集数据,然后对这些数据进行先描述,再组织的数据管理。


       行长对上(即用户)也要提供良好的服务,但是银行是不信任任何人的,不会说让用户自己进仓库去存取钱等等。所以行长提供了小窗口(那种玻璃板下面掏了一个小洞),对需要服务的用户,提供服务!这样既保护了自己,也提供了服务!


       那么为了让用户体验到更好的服务,比如对于年纪大的老年人,可能不是太懂办理业务,所以银行大厅就会有一个大堂经理,来专门服务,办理业务只需要把信息告诉大堂经理,之后大堂经理帮你去窗口办理。


        回到操作系统的对上:


       操作系统同样不信任任何人,为了保护自己和提供服务,就会提供用户能看懂的接口。比如我们经常敲得命令行,都是有对应的接口去通过操作系统和底层的硬件来交互的。

相关实践学习
CentOS 8迁移Anolis OS 8
Anolis OS 8在做出差异性开发同时,在生态上和依赖管理上保持跟CentOS 8.x兼容,本文为您介绍如何通过AOMS迁移工具实现CentOS 8.x到Anolis OS 8的迁移。
目录
相关文章
|
5天前
|
运维 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot 是阿里云推出的一款操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行和系统运维调优等功能。通过简单的命令行操作,用户可以快速获取所需信息并执行任务,极大提升了Linux系统的使用效率。安装步骤简单,只需在阿里云服务器上运行几条命令即可完成部署。使用过程中,OS Copilot不仅能帮助查找命令,还能处理文件和复杂场景,显著节省了查找资料的时间。体验中发现,部分输出格式和偶尔出现的英文提示有待优化,但整体非常实用,特别适合Linux初学者。
50 10
|
5天前
|
Linux
Linux 操作系统
在 Linux 中,UID(用户 ID)是标识用户身份的重要概念。UID 唯一标识每个用户,通过 UID 可区分不同用户类别:UID 0 为超级用户,1-999 为系统用户,1000 及以上为普通用户。因此,正确选项为:UID 标识用户、可区分用户类别、普通用户 UID 大于 1000。
|
2月前
|
算法 Linux 调度
深入理解Linux操作系统的进程管理
本文旨在探讨Linux操作系统中的进程管理机制,包括进程的创建、执行、调度和终止等环节。通过对Linux内核中相关模块的分析,揭示其高效的进程管理策略,为开发者提供优化程序性能和资源利用率的参考。
110 1
|
1月前
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
111 23
|
1月前
|
弹性计算 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot是由阿里云推出的操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行等功能,极大提升了Linux系统的使用效率。用户只需通过简单的命令或自然语言描述问题,OS Copilot即可快速提供解决方案并执行相应操作。例如,查询磁盘使用量等常见任务变得轻松快捷。此外,它还支持从文件读取复杂任务定义,进一步简化了操作流程。虽然在某些模式下可能存在小问题,但总体上大大节省了学习和操作时间,提高了工作效率。
134 2
OS Copilot-操作系统智能助手-Linux新手小白的福音
|
1月前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
75 7
|
1月前
|
存储 运维 安全
深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功能和优势。
67 6
|
1月前
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
|
2月前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
2月前
|
存储 缓存 网络协议
Linux操作系统的内核优化与性能调优####
本文深入探讨了Linux操作系统内核的优化策略与性能调优方法,旨在为系统管理员和高级用户提供一套实用的指南。通过分析内核参数调整、文件系统选择、内存管理及网络配置等关键方面,本文揭示了如何有效提升Linux系统的稳定性和运行效率。不同于常规摘要仅概述内容的做法,本摘要直接指出文章的核心价值——提供具体可行的优化措施,助力读者实现系统性能的飞跃。 ####