当前位置: 首页 > news >正文

汉中微信网站建设电商运营公司排名

汉中微信网站建设,电商运营公司排名,计算机培训机构靠谱吗,成都双语网站开发✅<1>主页&#xff1a;我的代码爱吃辣 &#x1f4c3;<2>知识讲解&#xff1a;操作系统 &#x1f4ac;<3>前言&#xff1a;今天来介绍一下冯诺依曼体系结构&#xff0c;和操作系统的理解。 目录 1.冯诺依曼体系结构 冯诺依曼体系的工作原理&#xff1a; 为…

✅<1>主页:我的代码爱吃辣
📃<2>知识讲解:操作系统
💬<3>前言:今天来介绍一下冯诺依曼体系结构,和操作系统的理解。

目录

1.冯诺依曼体系结构

冯诺依曼体系的工作原理:

为什么会有内存

生活中的冯诺依曼体系

 2.操作系统(Operator System)

概念

设计OS的目的

操作系统是如何做管理的

系统调用


1.冯诺依曼体系结构

冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。

数学家冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。

  • 运算器:用于实现算术运算,(如加减乘除)逻辑运算等。
  • 控制器:存储当前的指令,存储下一条指令的地址,分析指令。。(现代的诺伊曼机将运算器控制器集成到了一起,统称为"中央处理器(cpu)")。
  • 存储器:又叫做(内存),用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据
  • 输出设备:用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等,例如我们的显示器,声卡,网卡,磁盘。
  • 输入设备:向计算机输入数据和信息的设备(我们将输入设备和输出设备统称为外围设备,简称外设),例如键盘,鼠标,麦克风,磁盘。

冯诺依曼体系的工作原理:

早期的冯诺依曼机:由输入设备输入数据,经过运算器转移给存储器,当数据需要计算时,在存储器中区取数据,经过运算器和控制器处理的数据,也要通过运算器的传送给存储器,由存储器传送给输出设备,进行输出。

早期的冯诺依曼机,最显著的特点就是:以运算器为中心进行工作。

现代冯诺依曼机器:

 早期的冯诺依曼机,输入输出设备要想与存储器交换数据,都必须经过运算器,这显然就是比较繁琐的了。现在的冯诺依曼机,当输入设备输入后,直接可以加载到存储器中,由cpu去存储器中取数据和程序。将处理好的数据和程序再交给存储器,由存储器输送给输出设备。

现在冯诺依曼机的特点就是:以存储器为中心。

为什么会有内存

我们知道,冯诺依曼机,工作的本质时,将数据通过输入设备进行传输,然后通过cpu进行处理,将处理的数据,通过输出设备输出给用户。

那么既然计算机只要拿到数据处理,再将数据输出就可以了,那么内存的意义又是什么呢?像冯诺依曼机器的那样先将数据和程序加载到内存,cpu在向内存中拿数据和程序,这样不多了一道程序,效率不会变慢吗?难道不可以将输入设备的数据直接给cpu处理,这样不是更直接没更好吗?

可不可以设计成这样呢?

这里我们需要普及一个概念:cpu的处理数据的速度是非常快的,而外设的速度一般是比较慢的。如果像上述一样设计就会出现木桶效应。

 木桶效应:木桶盛水的多少不是取决于最长的那块木板,而是取决于那块最短的木板长度。

 换做在计算机中,如果舍弃内存,将输入输出设备直接与cpu连接,就会引发虽然cpu的速度很快,但是还是整体速度还是会被外设给拉慢下来。

所以冯诺依曼就想着引入内存,将cpu即将处理的数据,提前加载到内存中,这样我们的cpu就不需要每次都向我们的输入设备在要数据和程序了,而且内存和cpu的整体交互速率还是很快的,这样整体的计算机工作速度也就变快了。

一个程序实际上就是一个可执行文件,在windows里面就是一个.exe文件,像这样的文件在我们的电脑里都是存储在磁盘里面的,磁盘也就是我们的外部设备,而我们常说的,我们想将一个程序跑起来为什么说需要先将程序加载到内存,原因正是冯诺依曼体系结构决定的,冯诺依曼体系结构决定cpu从内存中拿数据。所以我们程序跑起来的第一步就是先将程序加载到内存,这就是由物理结构而决定了软件运行的行为。

从这里我们就可以总结出两个结论:

  1. 在数据层面,cpu一般不和外设直接沟通,而是直接和内存打交道。
  2. 在数据层面,外设只和内存打交道。

由此我们可以看到,内存对于整个冯诺依曼体系结构的重要性。

我们观察内存的功能,也就可以发现,内存就是一个数据的中转站,既然这样我们内存中转的速度不是越快越好吗?当然是越快越好。我们知道在cpu上还集成了寄存器,寄存器的速度是非常快的,那我们可不可以用寄存器来作为内存的存储单元呢。答案是:不可以。

因为:寄存器的造价非常的昂贵,在整个计算机中,现在的x86_64计算机中一共也就才有16个64bit通用寄存器。算起来才只有0.125kb大小。如果内存采用这样的配置来制造,恐怕全球也就没几个人能使用得起计算机了吧。

生活中的冯诺依曼体系

我们所使用的个人pc,移动端手机,或者是服务器设备,都是一台冯诺依曼机器。

现在我们了解了冯诺依曼体系结构的基本结构,我们通过一个小例子来演示一下,数据是如何在两个冯诺依曼机器上流动的。

假如:你用你的手机给你的女朋友发了一条QQ信息,你的女朋友手机上就能收到你发得信息,这实际上就是两台冯诺依曼机在交互。首先你打开QQ就是将磁盘中QQ的可执行程序加载到内存中,通过键盘等输入设备将数据加载到内存,经过cpu得处理返回给内存,在通过网卡等输出设备,传递给你女朋友的手机,你女朋友同样将QQ打开,将磁盘中QQ的可执行程序加载到内存中,并且将网卡里面你发送的数据加载到内存,通过cpu的处理,传送到内存中,最终内存将他传输给显示器,显示到显示器上。

 2.操作系统(Operator System)

我们在介绍冯诺依曼体系结构里面,花了很多的功夫介绍了内存的重要性,其中一条就是说内存可以将cpu将访问的数据预加载到内存中,那么问题来了,将外设的数据预加载到内存里面是有谁来做的?内存?外设?还是cpu呢?答案都不是,将数据预加载内存,这已经不是由硬件能做的事情了,此时就需要一款软件来完成这件事,这款软件就是操作系统。

概念

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括:

  • 内核(进程管理,内存管理,文件管理,驱动管理)
  • 其他程序(例如函数库,shell程序等等)

设计OS的目的

如果仅仅给我们一台冯诺依曼裸机,仅仅将冯诺依曼组件组装好的情况下,就给我们使用,这显然我们是不会使用的。冯诺依曼体系结构,就相当于是计算机的物理组件,那操作系统就是计算机的灵魂。在整个计算机软硬件架构中,操作系统的定位是:一款纯正的“搞管理”的软件。我们之前也提过这样的一个概念:操作系统是一个款做软硬件资源管理的软件,为了是给用户提供(安全 高效 功能丰富)的体验。

其中有一个非常重要的词就是"管理"。如何理解操作系统对软硬件做管理?

举一个例子:医院是用来给病人治病的,避免不了有很多的非常先进的医疗器具,但是仅仅有这些医疗器具就可以给病人治病了吗?显然是不可以的,想要给病人治病还得需要医生来对医疗机器进行使用和操作才可以,这其中有很多的问题是考光靠机器解决不了的,比如科室的划分,医生的人员调配,等等。而现在的医院能解决这些问题,是因为他们有自己的一套管理机制。

这个时候也就说明了管理的重要性。

操作系统是如何做管理的

既然谈到管理必然由管理者和被管理者,我们以学校为例:

假如某一天我们学校的校长做了一个决定,要求每一个学生必需写一份学期总结,这个决定下发给校长手下的每一个辅导员,再有辅导员来收取自己班级的每一个班级的学期总结。这里的校长就是决策者,而辅导员是传达校长决策的人,最终决策的执行者是我们学生。

那么如果校长想管理我们的每一个学生,需要跟在每一个学生的后面,去管理吗?显然不是的。校长想管理我们只需要,拿到我们每一个学生的数据就可以了,如果这个校长编程,就可以用一个结构体来描述一个学生,然后将每一个学生的结构体用顺序表存起来,我们想将每一个学生的成绩从小到大排序,就可以直接将顺序表排序,如果我们想将成绩最差的开除了,可以直接将顺序表里面,成绩最小的那个人,从顺序表里面删除。这样校长对学生的管理就变成了对数据结构的管理了。而管理的本质就是对被管理者的数据做管理。对学生用结构体进行描述,实际上就是一个建模的过程,所以为了更好的管理,需要的前提就是,先对对象描述,再做组织。

对对象的描述,就是我们学习编程语言的目的,使用面向对象的思想将对象进行描述,在使用合适的数据结构对数据进行组织。

那么校长,辅导员和学生在我们计算机中,有匹配什么样的角色呢?

所以操作系统对下通过对软硬件资源的管理,对上为用户提供安全,稳定高效的功能丰富的执行环境,让用户有一个更好的使用体验。

系统调用

上面我们说了,操作系统通过对软硬件的资源管理,给上层用户提供良好的环境体验。那么有一个问题就是,操作系统对我们用户充分信任吗?答案是不信任。

举个例子:

银行为了让更多的人去存钱,而提供各种优质的服务,但是银行对我们确实不信任的,当我们想存钱的时候,银行不会让我们直接进入金库将钱放进去,因为银行不信任我们。但是银行又必须为我们提供这样的服务,怎么办呢?很简单就是银行不直接为我们见到金库存钱,而是提供了可以存钱的窗口服务。那么取钱,贷款,办理理财也是如此,银行会提供,相应的窗口服务,既能提供服务,又能保证安全。

换做是操作系统,操作系统也是不信任我们,那么操作系统又想给用户提供好的服务,但是又相信任何人,如果操作系统为你提供服务但是,又不想让你接触操作系统的核心。操作系统也会加上一层封装,并且为你提供窗口试的服务,对于操作系统而言这个窗口式的服务,就是"系统调用"。你想调用什么操作功能就可以直接调用,操作系统提供给你的系统调用接口。

但是,系统调用的使用成本非常高,所以在此之上又开发出来了一些适合普通普通用户使用的开发层应用,比如:shell程序,图形化界面,函数库等。

 虽然我们是第一次说这个系统调用,但是其实我们已经使用过非常多了,就比如我们梦开始的地方:

printf("hello world");

 为什么一个printf函数就可以使得字符串打印到我们的显示器上,实际上在printf'的底层实现也是调用了显示器相关的系统调用。

 

http://www.tj-hxxt.cn/news/81852.html

相关文章:

  • 做网站如何配置自己的电脑贴吧引流推广
  • 系统与网站的区别seo培训教程视频
  • wordpress无法保存pages南昌seo全网营销
  • 天猫alexa的排名广州市口碑seo推广外包
  • 找别人做网站要注意什么软件营销计划怎么写
  • 用什么网站做头像深圳今日头条新闻
  • 蒲城网站建设wzjseo佛山网站建设
  • 怎么做冒牌网站seo案例
  • 青岛网站营销推广线上营销平台有哪些
  • 网站建设做网站软文营销实施背景
  • 重庆网站建设 观音桥代运营
  • 我市精神文明建设的门户网站武汉大学人民医院院长
  • 怎么利用网站做外链接网络优化工程师有多累
  • 品网站建设公司排名新产品推广方案范文
  • wordpress sitmap长春网站优化团队
  • 网站做外国生意长尾关键词挖掘词工具
  • 如何安全的做黄色网站网销怎么做才能做好
  • 济阳住房建设委员会网站精准营销平台
  • 自建网站系统深圳网络推广团队
  • 网站名词排名怎么做优化网站的目的
  • 网站建设推广怎样找客户竞价软件哪个好
  • 网络网站推广优化成都网络推广哪家好
  • 公司建设网站的通知查排名官网
  • 保定市共青团下属网站浙江企业网站建设
  • 哪些公司做网站好以图搜图
  • 网站如何去分析今日热搜榜官网
  • 如何做的网站排第一手机百度如何发布作品
  • wordpress 时光捕手seo网站优化论文
  • 给网站平台做推广叫什么长沙seo男团
  • 江苏省建设厅网站公示服装品牌营销策划方案