重庆网络网站建设,网站开发要源码多少钱,网站推广策划思路的内容,建设网银登录官网文章目录 冯诺依曼体系结构冯诺依曼体系的理解 操作系统操作系统的基本定位操作系统的理解1 操作系统的理解2总结 本篇主要总结的是操作系统的基本认知和一些概念
冯诺依曼体系结构 那么上图表示的就是冯诺依曼体系结构#xff0c;那这个体系结构是什么#xff1f;为什么要先… 文章目录 冯诺依曼体系结构冯诺依曼体系的理解 操作系统操作系统的基本定位操作系统的理解1 操作系统的理解2总结 本篇主要总结的是操作系统的基本认知和一些概念
冯诺依曼体系结构 那么上图表示的就是冯诺依曼体系结构那这个体系结构是什么为什么要先介绍它
截止目前来说常见的计算机都是遵循着冯诺依曼体系组成的可以说有了冯诺依曼体系才能让计算机变得这么普及才有了现在的互联网的概念那么他是如何做到的
在生活中我们遇到的计算机都是由一个一个的硬件拼接而成的从大类上来说一般包括有输入单元输出单元中央处理器三个部分而冯诺依曼体系的基本理解就是让CPU与内存做交互也就是图中的存储器这个区域而不是让CPU与输入单元直接进行交互输入单元给出的内容和信号传到内存后内存将信号传递给CPUCPU进行一些数据处理后再传递回内存内存再传递给输出单元
关于为什么要采用这样的方式的原因要从下图说起 计算机中有很多的存储器而每个存储器对应的存储大小和存储速度也是不一样的比如对于CPU来说它的传递速度相当的快可能是以纳秒为单位进行的计时而对于内存来说可能就是微秒或者纳秒的概念但对于输入单元来说就可能到达毫秒的概念上了那么如果让输入单元直接和CPU进行交互带来的一定是输入单元无法跟得上CPU的速度导致电脑的效率极低甚至无法进行正常的工作
那么上图表示的就是存储器的层次结构说是层次结构不如说是运行速度结构从某种意义上来说也是造价结构寄存器的运行速度相当的快但是它可以存储的内容大小可能只有几十字节造价也特别高但对于Web服务器来说可能只需要几十块或者几百块就可以存储很大的数据了但进行数据交互的速度和寄存器是不可以比的那么如何把计算机中的各个存储器合理的分配才能利益最大化这就成了最大的问题那么这个时候冯诺依曼就提出了这样的体系给未来的计算机的整体设计提供了全新的思路
按照冯诺依曼的体系结构来看就能看出让存储器和CPU进行交互是最合理的在这里可以近似的把内存看成是一个硬件级别的缓存它并不直接存储数据而是作为一个把输入数据和中央处理器进行交互的一个中间单元因此基于冯诺依曼的体系设计出的计算机是最合理的因此这个体系才能被保留至今被大多数计算机进行广泛的应用
因此我们说基于冯诺依曼体系结构的计算机是用最少的钱做出最高效的计算机这样才能让计算机走进普通人的家中才能让互联网开始发展到现在的盛世可以说没有冯诺依曼的体系结构是不会有现在的互联网的
上面只是对冯诺依曼体系的概念理解那么具体来说根据这个体系可以解释下面的一些现象
冯诺依曼体系的理解
通过社交平台发送消息的过程
从上面的概念来解释输入设备比如发送了一个你好的字样现在这个字样要被发送出去首先要传递到存储器中被加载在存储器中这个消息被送到了CPU中进行了处理处理后通过输出设备比如说网卡就能通过网络发送到另外一台电脑上而与此同时在我们的这台电脑上的输出设备比如说显示器会显示出发送成功或者失败的提示
对于另外一个设备作为接受我们消息的设备首先有一个输入设备来接受消息比如说网卡来接收消息然后接收到的消息被传递到了存储器存储器再传递到CPU中CPU进行数据的处理后将数据显示到输出设备上这里就是显示器因此就形成了我发了一个你好远在很远处的人就可以看到这条你好的句子
程序被运行前为什么要加载到内存
程序其实就是代码和数据那么最后都要交给CPU进行处理而CPU需要先读取到这些代码和数据而在CPU和内存之间有一个二进制层次的交互形成了一个可执行程序本质上来说这其实也是一个文件这个文件只能在磁盘中读取而磁盘本质上就是一个外部的输出或者输入设备因此要被加载到内存当中
通过社交平台发送文件的过程
和上面的理解类似只不过区别是在输入输出设备上略有不同文件的存储是在磁盘上的而磁盘就是这里的输入设备经过网络的传递后可以传递到对方的电脑上此时数据就被存储到了输出设备上这里的输出设备也是磁盘
那么到这里就结束了冯诺依曼体系结构的认识下面就要引入正经内容操作系统
操作系统
操作系统的基本定位
操作系统其实并不陌生经常会听说有Windows操作系统Mac操作系统甚至有Linux操作系统但是操作系统到底是什么操作系统是如何运作的它的工作原理和核心目的是什么这些就并没有了解过多那么下面开始对操作系统的概念有一个基础的认知
操作系统是什么
直观的下定义来说操作系统是一款软件它的作用是用来进行软硬件的资源管理也是打开电脑后第一个进行加载的软件
操作系统为什么要存在
如果没有操作系统计算机只是几个比较精美的废铁并没有什么实质性的作用它无法像现在的电脑一样进行运转因此操作系统是十分重要的操作系统将软硬件资源进行管理给用户提供良好的使用环境这里的良好主要体现在要稳定高效安全易用用这个操作系统不会突然挂掉可以合理的使用用这个操作系统处理问题可以很高效的解决帮助人缩小工作量有一定的数据防护性不会被偷取数据
操作系统是如何进行管理的
关于操作系统如何进行管理是一个很宏观的概念这里把操作系统的管理模式放到理解篇进行阐述
操作系统的理解1
讲到操作系统就离不开下面的这张图整个操作系统都将围绕下面这张图进行阐述
那么前面对操作系统进行了一个基本的概念操作系统是一个进行管理的软件那么这个管理具体表现在什么地方如何理解管理这个词呢
管理的本质是管理数据
接触到管理在实际生活运用中有很多和管理挂钩的概念大到管理一个国家小到管理自己的一日安排那么对于管理一词的认知也应该要进行一定的理解
所谓管理管理的是什么管理的是人还是物还是什么实际上看似管理的是人或者是其他性质其实管理的都是一条一条的数据比如银行管理的是你有多少钱就是资金数据学校管理的是你的信息也是数据学校对你的行为做管理其实也是在管理你在什么时候做什么事其实也是管理的范畴而这些管理的内容从计算机的角度来讲其实是事物的属性
那事物的属性如何理解管理的内容通常就是事物的一条条信息也就是属性因此上面的那句话其实可以更变为管理的本质是管理属性
先描述再组织
那现在已经理解了管理的含义那么现在再看编程语言就知道了在写日期类的时候会先定义日期在写顺序表的时候会先定义顺序表的下标容量数组等完成链表前要先定义链表的节点再将节点穿起来等这些都说明当我们需要做一件事的时候会先从属性的角度思考问题因为人其实就是通过属性来认识世界上的各种事物那重要的属性的集合也就代表了要研究的对象因此才会出现C、Java这样的语言它们之所以选择面向对象的编程语言其实本质就是这方面的原因因此本段话要引出的观点是在完成一件事前要先描述再组织当知道了要做的事物的具体属性后才能针对事物做出组织的动作
操作系统的理解2
那么现在就要看下面的这张图来进行操作系统的全面理解 首先这张图的右侧划分出了三个部分分别是用户部分系统软件部分硬件部分那么如何理解这三个部分
用户的访问内容是有限的
从上面的图中可以看出用户其实所拥有的范围是很小的只有最上面的两层用户和用户接口下来是系统软件的部分那么这个部分的意义是什么应该如何理解除了用户部分外的这些部分
其实在电脑中用户可以访问的内容是有限的比如说用户是不可以直接对网卡硬盘进行控制的都是用户向操作系统发出询问操作系统再向我们反馈比如该部分硬件是正常运行的还是非正常运行有没有接入某个驱动用户或者说开发人员是不可以直接进行访问的都是对操作系统发出的指令操作系统再予以反馈因此就引入了系统调用接口的概念用户的操作实际上只能局限于对接口进行调用而当用户发出了这个调用后操作系统才能根据用户的需求进行反馈所需要的信息这其实也是表现了操作系统的安全性如果没有这层保护可以让用户或开发人员直接访问底层的内容或驱动程序等那对于操作系统来说就是不可控的行为由于操作系统是一个用来管理的软件那么它就必定不会让用户的随机访问和随意改动对于整个系统的稳定造成威胁因此操作系统拒绝对于用户的直接访问而是采用操作系统管理后搜索到用户需要的数据后将数据进行一定的反馈
操作系统管理的核心
进程管理内存管理文件以及IO管理驱动管理
上面的内容就是操作系统进行管理的内容当然这些内容也是用户不可以进行直接访问的但是可以借助操作系统的力量完成这些管理使得整个系统变得井井有条这也是操作系统存在的意义和价值那么对于操作系统的初步理解就是上面的理解但是上图中还有一些部分没有阐述 现在已经理解了上图中的绝大部分内容
操作系统是一个纯粹进行管理的内容它可以管理我们电脑中的各个模块并且管理驱动程序和底层硬件操作系统不允许外界进行内部的直接访问如果想要访问内部的数据可以借助接口来实现操作系统可以将需要的内容传递到外界中操作系统进行访问是需要进行逐层访问的一般想要访问到底层的硬件或者驱动程序需要从上到下依次访问到最底层才能访问到内容
那么现在还有一块用户操作接口
这个模块的内容是用来做什么的对于用户来说想要调用系统的接口其实并不容易系统的接口的调用不管从难度还是繁琐度来说都不算一个容易的事但是在实际开发中是需要进行经常调用的因此就有了用户操作接口的内容可以将繁琐的接口进行简化下面举几个例子来理解这个概念
Linux中的bash和shell的概念Linux中bash作为命令行解释器可以帮助我们进行一些命令的调用和解释而bash实际上就是shell的一种shell外壳就是面向用户的将用户的指令翻译成操作系统可以听懂的语言再执行后返回给用户Windows中的图形化界面的概念在Windows中看似是双击了文件夹可以看到文件夹的管理等操作实际上这个过程是很复杂的图形化界面其实就相当于是上面的shell的概念对于用户来说降低了使用成本使得使用变得简单C语言中的很多库函数当使用C语言写的第一个程序就会用到printf函数那么这个函数是如何将我们写的代码中的信息打印到显示器上的其实这个过程说白了也离不开操作系统的因为没有操作系统的支持是不可能访问到底层硬件的函数也就不可能执行后将信息打印到显示器上
那么到这里对于操作系统的基本理解就告一段落这是对操作系统的基本理解后面还有很多的深入理解需要结合其他内容来解释
总结
总结一下操作系统的基本理解吧
为什么会出现用户操作接口因为系统调用起来太麻烦了一般人调用起来的成本太高作为用系统的人的角度借助shell或者图形化界面可以更好地使用系统作为开发的角度可以节约开发成本C和C的标准库实际上一定有系统调用的概念否则就无法在屏幕上显示或在磁盘中的写入和读取先描述再组织先用struct对于事物的属性进行描述再用一些其他的手段将这些内容组织起来那么对于如何组织起来就需要进行后面的学习总结了