门源县电子商务网站建设公司,网站备案资料申请,wordpress个人模板,云南建设注册考试中心网站前言#xff1a; 在本片文章#xff0c;小编将带大家理解冯诺依曼体系以及简单理解操作喜欢#xff0c;并且本篇文章将围绕什么以及为什么两个话题进行展开说明。
冯诺依曼体系#xff1a; 是什么#xff1a; 冯诺依曼体系#xff08;Von Neumann architecture#xff…前言 在本片文章小编将带大家理解冯诺依曼体系以及简单理解操作喜欢并且本篇文章将围绕什么以及为什么两个话题进行展开说明。
冯诺依曼体系 是什么 冯诺依曼体系Von Neumann architecture是一种计算机体系结构模型由数学家约翰·冯·诺依曼提出。该模型是现代计算机设计的基础。 在理解冯诺依曼前我们先认识一下上图冯诺依曼体系的结构分别是什么。 输入设备 键盘鼠标网卡磁盘摄像头.... 输出设备: 显示器磁盘打印机... CPU: 首先CPU运算器控制器。CPU简而言之就是对数据进行计算控制等操作的设备。而CPU的获取、写入数据等操作必须依赖于存储器。 存储器 存储器就是内存。 为什么 一个软件运行的时候是需要先将软件加载到内存的。为什么呢因为体系结构规定。而在运行之前我们的软件是存储在磁盘的。 当我们点击一个程序比如qq首先qq在磁盘中需要将qq文件拷贝到内存再通过CPU对qq执行代码来访问我们的数据接着再拷贝输出到我们的显示器上。 由此我们可以得出结论数据的输出本质是从一个设备 拷贝 到另一个设备上而拷贝的效率是由设备进行决定。并且CPU在数据层面上之和内存打交道而外设只和内存打交道。 而这时候可能有同学问那么我们是否可以不要存储器只需要CPU进行运算这样效率是不是会快很多。 答案是可以的但这样效率其实也快不了多少并且造价会非常高。输入设备以及输出设备的拷贝速率是毫秒级别而cpu的拷贝速率是微秒级别。参考上图我们知道越靠近cpu计算速度越快但存储容量更小而且更贵。而越远离cpu计算速度就越慢存储空间就越大价格就耕地。 这里会提到一个木桶原理。 一个木桶所能存储的容量不是由最高的那个木板决定而是由最低的那个木板决定。 那么在冯诺依曼体系中也是如此如果不要存储器效率也不会提高多少因为在你拷贝数据的时候CPU就在处理了而可能CPU都将现有的数据处理完成后你输入设备都还没拷贝完CPU还得在那么等着数据流入。 有了内存那么文件中的数据就可以提前先存储到内存再由cpu进行处理。 所以当代计算机其实是性价比的产物。虽然冯诺依曼体系看着简单但是其意义是非常重大的这会让计算机的价格更加亲民也就有更多的网民。才会大大推动互联网的发展以及创新。 简单理解操作系统 是什么 操作系统Operating System简称OS是管理计算机硬件与软件资源的系统软件它为计算机上的各种应用程序提供支持和服务。 操作系统包括内核(进程/线程/任务管理,文件管理以及内存管理等等)与其他程序(函数库shell程序等)。 就比如我们以前经常听说安卓的底层用的就是Linux那么其实意思是安卓系统的内核用的是Linux的内核。只是在外壳上做了相关的改变。 为什么 上图简单展示了计算机系统从用户操作到硬件控制的整个流程每个层次都有其特定的功能和责任共同协作以实现系统的正常运行。 假设我在编写代码正在输出一个print函数那么这个print函数是怎么调用的呢 首先print函数是C语言的库函数我们会先进入到用户操作接口层去调用print函数接着print函数里面封装了系统调用函数接口(write)而write就会调用操作系统的驱动管理在通过分类去找是显示器的驱动接着由驱动去调用硬件显示器去写入我们需要向显示器写入的语句。 print的本质就是将数据写入到硬件显示器中。 那么通过上图以及例子我们可以得出一些结论 1.软硬件体系结构采用层状结构这体现了计算机系统具有高内聚、低耦合的特性。这样大大提高了操作系统的健壮性以及可维护性。 高内聚指的是同一层内部的功能高度相关层内的组件紧密协作彼此之间的依赖性强从而提高了每一层的独立性和功能专注性。 低耦合则意味着各层之间的依赖性较弱。每一层通过标准化的接口与其他层进行交互而不直接依赖于其他层的具体实现。 2.访问操作系统必须使用系统调用而系统调用其实就是函数基本上是用C语言封装的。而不让用户直接访问操作系统也是为了确保系统数据以及自身的安全性。比起用户操作系统更相信自己。 3.我们的程序只要你判断出它访问了硬件比如print那么它就必须贯穿整个操作系统。 4.设计操作系统的目的对上层为用户或程序提高良好的执行环境。对下层与硬件交互管理所有软硬件。 再次重谈是什么 在整个计算机结构体系中操作系统的定位就是做管理。对于一件事情的管理我们又分为决策以及执行。比如我要吃饭这是决策。我正在吃饭这是执行。 理解管理 现在将场景切换到校园我们假设操作系统是校长驱动程序是辅导员硬件是学生。 校长对学生做管理需不需要校长与学生进行见面如果需要见面那学生有几千几万个的时候等校长见完所有学生都猴年马月了。所以管理者和被管理者见面不是必要条件。 那么校长与学生不见面应该如何管理其实是根据数据进行管理。我们学生都有学号身高体重成绩等信息都拥有共同条件只是数据不同那么在系统中我们将这些数据想要进行整合应该怎么整合答案是struct(结构体). 此时每一个学生都是一个节点而学生节点中有next指针指向下一个学生(节点)那么此时就将对学生的管理转化成对链表的管理。 如果需要筛选出排名前10名的学生就通过算法进行获取而如果要劝退一名成绩最差的学生就将尾节点进行删除刚开学要录入新生信息就新增节点。所以校长对学生的管理工作本质上就转化为对链表的增删查改。而这中间做的工作比如什么提交信息获取信息就是驱动程序做的工作。 那么本篇文章到这里就结束了感谢各位观看