Linux--系统结构与操作系统

news2024/11/23 9:53:47

文章目录

  • 冯诺依曼体系结构
    • 为什么要有内存?
    • 场景一
  • 操作系统
    • 何为管理?

冯诺依曼体系结构

冯诺依曼体系结构是计算机体系结构的基本原理之一。它将程序和数据都以二进制形式存储,以相同的方式处理和存取
在这里插入图片描述
上图是冯诺依曼体系结构的五大组成部分。

输入设备用于向计算机输入数据和命令的设备。它们使用户与计算机进行交互,并将信息传输到计算机中进行处理
常见的输入设备包括有:鼠标、键盘、话筒、摄像头、磁盘、网卡等。
上面除了磁盘和网卡都很好理解。
磁盘是计算机中常用的外部存储设备,用于存储和检索大量的数据。当存储器向磁盘读取数据时,它就是输入设备;
网卡也称为网络适配器或网络接口卡,是计算机连接到计算机网络的设备。它是负责将计算机中的数据转换成网络可识别的格式,并通过物理连接发送到目标设备或网络。同时,它也负责接收网络的数据,并将其传输到计算机中,这时它就是输入设备。

输出设备用于将计算机处理的数据、图像或其他信息以可读可感知的形式呈现给用户或其他设备
常见的输出设备有:显示器、打印机、扬声器、声卡、显卡、磁盘、网卡等。
磁盘和网卡在都是既作为输出设备,也作为输入设备的。

存储器用于保存和存储数据和指令。它被分为两种类型:主存储器和辅助存储器
主存储器:用于临时存储数据和指令的地方。它是CPU能够直接访问和存储的空间,数据可以快速的读取和写入。通常来说,是随机存取存储器(RAM)的形式。主存储器的容量越大,计算机能够同时存储和处理的数据量就越多。
辅助存储器:用于喜欢长期存储大量的数据和程序。辅助存储器的访问速度比存储器慢,但容量比较大.像我们刚才介绍的磁盘就是属于这类存储器的。它可以永久保存数据,即使在断电后也能保持数据的存储。

运算器运算器也称之为算术逻辑单元。它负责执行各种算术和逻辑运算,是中央处理器的核心部分。像一些加减乘除、与或非这些运算。
通常读取存储器的数据,并将其传递给其他组件进行进一步处理。

控制器负责协调和控制计算机中各个硬件和软件组件的工作。它是中央处理器的一部分,也是单独的逻辑电路和芯片
一般来说,控制器从内存中读取指令,并将其解码,根据指令的要求执行相对应的操作。控制器会通过生成和发送时钟信号来同步各个组件的操作。确保计算机各个部件按照正确的时序进行工作。

那为什么要将计算机分为这五大部分呢

主要是为了模块化和分工的目的。计算机拆分为不同的部分可以使得相对独立的设计、开发和维护,提高系统的可拓展性和维护性。也让每个部分可以根据实际需求进行升级和优化,而不影响其他部分的功能和性能。

而这样也就表示着,这五部分都必须进行相对应的连接,设备之间都有相对应的数据流动。数据之间的流动实质上就是数据之间的来回拷贝。
拷贝的速度,也是决定计算机效率的重要指标(一般是存储器和CPU之间的数据传输)。

为什么要有内存?

通过上面的介绍,存储器是用来存储数据的。那如果CPU速度够快,不就可以省去存储器来直接计算输入的数据了。
在这里插入图片描述

理论来说,可以。但是贵啊!
而有了内存,就可以做出以下的事情:

  1. 数据共享:通过内存,计算机的不同组件(如CPU和外部设备)可以共享数据。CPU可以将处理结果存储在内存中,然后其他组件可以读取这些数据,并在其基础上进行进一步的计算或其他操作

  2. 缓存功能:内存还用于缓存数据。由于内存的读取速度较快,它可用于存储对处理器频繁访问的数据,以加快计算机的整体性能。

  3. 暂时存储:内存还可以用作临时存储,将需要在计算过程中频繁访问的数据暂时保存在内存中。这样可以避免频繁地从外部存储设备读取数据,提高了计算机的运行效率。

  4. 程序执行:计算机的程序和指令需要加载到内存中才能被CPU执行。内存提供了一个临时的工作区域,使得程序能够以更快的速度被读取和执行。

  5. 多任务处理:内存使得计算机可以同时存储和处理多个程序或任务。不同的程序可以被加载到内存的不同位置,并且可以在其中相互切换,从而实现并发执行的能力。

所以,内存的存在,本质上也是为了提高计算机的运行效率,他能让CPU做出更多的事情。最终,引入内存,把效率的问题转化为软件问题计算机的效率主要以内存的效率为主。且让计算机的价格足够便宜。

在这里插入图片描述
而对于存储单元来说,也有自己的等级梯度(寄存器、三级缓存、主存储器、辅助存储器),一般来说,运行效率越高,价格越贵,单体容量越小,反之;CPU会根据数据的存储性质存储到适合的存储单元中,实现高效的数据处理和存储管理

场景一

程序运行的时候,都需要将程序加载到内存中
对于程序来说,实际上是存储在磁盘中的,也就是输出设备;
当你要对程序进行运行时,实际上就是指令的执行和数据的运行,而这些执行都是交给CPU来操作的。
而CPU的数据索取,就是要从内存中来的。最终会在显示器上进行显示。
在这里插入图片描述

操作系统

操作系统是计算机系统中的一种软件,它是进行软硬件资源管理的软件
在这里插入图片描述

资源管理:操作系统负责管理计算机的硬件资源,包括处理器、内存、磁盘、输入输出设备等。它通过任务调度算法合理分配处理器时间片、内存空间和其他资源,以便多个程序或用户可以同时运行而不干扰彼此。

进程管理:操作系统通过进程管理来控制程序的执行。它创建和销毁进程,分配和释放进程所需的资源,以及调度和协调进程之间的执行顺序,确保它们正常运行且不发生冲突。

内存管理:操作系统管理计算机的物理内存和虚拟内存。它负责将进程从磁盘加载到内存中,并动态分配和回收内存空间,以便给进程提供足够的内存供其执行。

文件系统管理:操作系统管理计算机的文件系统,它负责文件和目录的创建、删除、读写等操作。文件系统提供了一种结构化的方式来存储和组织数据,使用户和应用程序能够方便地访问和管理文件。

设备驱动程序:操作系统提供设备驱动程序来控制和管理计算机的输入输出设备,如键盘、鼠标、打印机等。它通过驱动程序与硬件进行通信,使应用程序能够与设备进行交互。

用户界面:操作系统为用户提供了一个交互的界面,使用户可以通过命令行、图形界面或其他方式来与计算机进行沟通和操作。用户界面可以让用户轻松地执行各种任务,如启动应用程序、管理文件、设置系统参数等.

何为管理?

在这里插入图片描述
对于系统来说,它就是一个管理者,而硬件部分,就是被管理者;管理者一般都是做决策的人,而被管理者就是做执行的。

以校园生活为背景,校长就是管理者,辅导员是保证管理决策落地,学生是被管理者;
而管理者与被管理者之间是不需要见面的。
因为管理一个人的本质是对于你这个人的数据进行管理的;
管理者的核心工作是决策,根据数据做决策;

而对于怎么取得到你的个人信息,就必须你本人进行上报给辅导员;然后学校会会进行统一管理;对于系统来说,也就是硬件要有对应的驱动程序。

而在一个学校中,学生的数量会非常多,那么就必须将人的管理转化为数据的管理;利用你的个人信息进行不同的分门别类;当要取出你的数据时,只需要匹配上你的信息数据即可。

管理者校长的决策,也就是对你的个人信息的数据进行管理而已。

而在操作系统中,被管理者硬件部分实际上就是先描述你的具体信息,然后才有对应的驱动,管理者系统才能对硬件进行组织管理。
总结就是先描述,再组织!

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

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

相关文章

Neo4j 数据库管理 数据备份与恢复(头歌)

文章目录 第1关:数据备份与恢复任务描述相关知识数据备份数据导入 编程要求测试说明答案测试前准备Cypher 代码数据备份与导入 第1关:数据备份与恢复 任务描述 本关任务:熟练掌握数据备份与恢复。 相关知识 为了完成本关任务,…

Jvm常见问题

1. 为什么用元空间替换永久代 避免OOM异常:永久代中存放了很多JVM需要的类信息,这些数据大多数是不会被清理的,所以Full GC往往无法回收多少空间。但在元空间模型中,由于字符串常量池已移至堆外,且元空间的大小不受JV…

Elasticsearch:使用 ILM 示例运行降采样 (downsampling)

如果你对降采样还不是很熟的话,请阅读之前的文章 “Elasticsearch:对时间序列数据流进行降采样(downsampling)”。这是一个简化的示例,可让你快速了解降采样如何作为 ILM 策略的一部分来减少一组采样指标的存储大小。 该示例使用典…

LeetCode | 二叉树的最大深度

LeetCode | 二叉树的最大深度 OJ链接 这里需要注意的一点是每次有返回值,需要定义变量来保存上一次的值最后取最高的一方加1 int maxDepth(struct TreeNode* root) {if(root NULL)return NULL;int left maxDepth(root->left);int right maxDepth(root->r…

C语言中一些有关字符串的常见函数的使用及模拟实现(1)

在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了 ⼀系列库函数,接下来我们就学习⼀下这些函数。 文章目录 strlen函数的使用及模拟实现strcmp函数的使用及模拟实现strcpy函数的使用及代…

《C++PrimerPlus》第9章 内存模型和名称空间

9.1 单独编译 Visual Studio中新建头文件和源代码 通过解决方案资源管理器,如图所示: 分成三部分的程序(直角坐标转换为极坐标) 头文件coordin.h #ifndef __COORDIN_H__ // 如果没有被定义过 #define __COORDIN_H__struct pola…

阅读文献总结2023

阅读文献基于卷积神经网络多源融合的网络安全态势感知模型 阅读文献 基于卷积神经网络多源融合的网络安全态势感知模型 题目基于卷积神经网络多源融合的网络安全态势感知模型文章信息:年份2023发文单位山西财经大学收录刊会计算机科学 (北大核心&#…

和鲸科技与国科环宇建立战略合作伙伴关系,以软硬件一体化解决方案促进科技创新

近日,在国科环宇土星云算力服务器产品发布会暨合作伙伴年度会上,和鲸科技与国科环宇正式完成战略伙伴签约仪式,宣布达成战略合作伙伴关系。未来,双方将深化合作,充分发挥在产品和市场方面的互补优势,为企事…

el-table实现动态表头

1.1el-table渲染 <el-tableref"refreshTable":data"tableData"highlight-current-row><el-table-columnfixedwidth"170px"label"测点"align"center"prop"测站名称"/><el-table-column label"…

echarts实现3D柱状图

效果如图 let setData function(data, constData, showData) {data.filter(function(item) {if (item) {constData.push(1);showData.push(item);} else {constData.push(0);showData.push({value: 1,itemStyle: {normal: {borderColor: "rgba(0,0,0,0)",borderWidt…

中信建投在金融电于化期刊发布 DataOps 实践

文 ‖ 中信建投证券股份有限公司 马丽霞 高宇航 李可 许哲 李海伟 近年来&#xff0c;数据的分析和应用对各行各工业的业务模式和竞争形态进行重塑&#xff0c;而积极应对挑战和顺应时代变化是各个市场参与者的必选项。作为资本市场数字化转型的领航者&#xff0c;中信建投证券…

react-flip-move结合array-move实现前端列表置顶效果

你有没有遇到这样的需求&#xff1f;点击左侧列表项&#xff0c;则像聊天会话窗口一样将被点击的列表项置顶。 如果只是单纯的置顶的话&#xff0c;直接使用array-move就可以实现了&#xff0c;但置顶效果多少有点突兀~ 先上代码&#xff0c;直接使用array-move的情况&#xf…

11-30 SpringBoot2

热部署 开发过程中,修改代码,不需要重启,自动更新 项目上线,一定要关闭 SpringBoot热部署的实现&#xff1f;&#xff1f; ideal默认阻止class类更新 2&#xff0e;需要手动构建项目&#xff0c;可以使用快捷键激活此功能ctrl F9 / build project 自动构建项目 允许程序运行…

rabbitMQ镜像队列的使用

在rabbitMQ集群中&#xff0c;默认发送消息时&#xff0c;队列默认时在一个节点上存在的。 我们以node01 node02 node03三节点集群为例&#xff0c;在node01声明队列发送消息后&#xff0c;发现&#xff1a; 测试队列只在节点node01上出现。 我们手动停止node01后&#xff0c…

Vue大屏自适应终极解决方案

v-scale-screenv-scale-screen是一个大屏自适应组件&#xff0c;在实际业务中&#xff0c;我们常用图表来做数据统计&#xff0c;数据展示&#xff0c;数据可视化等比较直观的方式来达到一目了然的数据查看&#xff0c;但在大屏开发过程中&#xff0c;常会因为适配不同屏幕而感…

Redis7--基础篇4(Redis事务)

Redis事务是什么 可以一次执行多个命令&#xff0c;本质是一组命令的集合&#xff0c;一个事务中的所有命令都会序列化&#xff0c;按顺序串行&#xff0c;而不会被其他命令插入。 其作用就是在一个队列中&#xff0c;一次性、顺序、排他的执行一系列命令。 Redis事务 VS 数据…

华为云cce负载配置时间同步

华为云cce将负载配置好之后&#xff0c;发现里面的时间与真实时间不同步&#xff0c;差了12小时&#xff0c;怎么办&#xff1f; 这时候就需要配置时间同步了。 华为云cce里面通过配置数据存储的路径来解决这个问题的&#xff0c;配置后&#xff0c;需要重启负载。 新建负载…

Java中的synchronized关键字

目录 1、synchronized是什么 2、synchronized的用法 synchronized可以用在方法或者代码块上&#xff0c;分别称为同步方法和同步代码块。 用法理解 3、synchronized的实现原理 ⭐synchronized锁的对比 4、synchronized的优缺点 ⭐扩展&#xff1a;synchronized 和 vola…

JAVA全栈开发 day15_集合(Set接口、增强For循环、Map体系)

一、增加for遍历集合 语法&#xff1a; for(数据类型 变量名: 数组名或集合){​ }//集合遍历 &#xff0c;推荐使用增加for 1.静态导入 注意事项&#xff1a; 方法必须是静态注意不要和本类的方法同名&#xff0c;如果同名&#xff0c;记得加前缀&#xff0c;由此可…

vue中.sync修饰符与$emit(update:xxx)双向数据绑定

文章目录 一、单向数据流二、props父子传值2.1、父组件2.2、子组件2.3、优缺点2.3.1、优点2.3.2、缺点 三、.sync修饰符双向绑定3.1、父组件3.2、子组件3.3、优缺点3.3.1、优点3.3.2、缺点 3.4、[文档](https://v2.cn.vuejs.org/v2/guide/components-custom-events.html#sync-%…