Linux基础之冯诺依曼体系结构

发布于:2024-05-10 ⋅ 阅读:(34) ⋅ 点赞:(0)

目录

一、冯诺依曼体系结构的基本介绍

1.1 什么是体系结构

1.2 冯诺依曼体系结构

二、对操作系统的再理解


一、冯诺依曼体系结构的基本介绍

1.1 什么是体系结构

        计算机体系结构是指计算机硬件和软件之间的组织结构和交互方式。它涵盖了计算机系统的各个组成部分以及它们之间的相互作用,包括处理器、存储器、输入输出设备、总线、操作系统和应用软件等。计算机体系结构主要包括以下几个方面:

  • 处理器(CPU)
  • 存储器(Memory)
  • 输入输出设备(I/O Devices)
  • 总线(Bus)
  • 操作系统(Operating System)
  • 应用软件(Application Software)

1.2 冯诺依曼体系结构

        根据上面的描述,那么冯诺依曼是一种怎样的交互方式呢?

截至目前,我们所认识的计算机,都是有一个个的硬件组件组成。
其中输入设备:键盘, 鼠标,扫描仪, 写板等。
中央处理器:含有运算器和控制器等。
输出单元:显示器,打印机等。
存储器:内存

根据以上这些信息,我们来做一张根据自己理解的冯诺依曼的体系结构图。

这里我们引入一张内存分级的图,来帮助大家更好的理解冯诺依曼结构的优势。


       根据这张图我们可以观察到,CPU处理数据的速度是很快的,比磁盘快很多倍,而再冯诺依曼体系结构中,CPU是不允许直接去访问外存的,因为这非常影响计算的效率,CPU主要访问的是内存,为什么要这样呢?
 

       想必大家应该听过木桶效应,一个整体的水平怎么样,主要取决于最弱的那部分,所以如果允许CPU直接去访问我们的外存,那计算机的效率就主要取决于外存的效率,而要是让我们的CPU主要去访问的是内存的话, 那计算机的效率就主要取决于内存的效率,这就大大提高了我们计算机的效率,这就引出了冯诺依曼体系结构的一个优势:可以让老百姓也用上价格不贵,效率不差的电脑(用一个稍微好点的CPU和内存,用低价的外存),这也是其为什么是现在主流的体系结构的原因。

二、对操作系统的再理解

       要好好的理解一个事务,我们首先要知道其是什么,那这里很明显的问题就是操作系统是做什么的。

操作系统的主要工作是对我们的软硬件资源进行管理

       那为什么操作系统要管理好我们的软硬件资源呢?

主要是为了给用户提供一个良好的(稳定、安全、高效)的使用环境

      那么问题又来了,操作系统是怎么去管理好我们的软硬件资源的呢?这里先给大家上张图:

       首先给大家举个例子:在一所学校中,学校的校长很明显是学校的“老大”,他肯定要对学校的人员进行管理,可学校学生有这么多,校长一个搞得定吗,肯定是很困难的。而且在实际生活中我们也很少见到校长,那他是通过什么来了解我们,并对我们进行管理的呢?这里就会有人说了,通过辅导员和各科老师。对也不完全对,像辅导员老师他们是不是会对我们的表现进行汇总形成一张张的表呢?而校长通过这些表就可以了解到我们的状态,进而方便其对我们进行管理。
       操作系统也是如此,他是不是要对硬件做各种的管理呢,那一个个访问也同样是一件麻烦事,其同样需要类似于老师一样的帮手,在操作系统中,这些“驱动”就是帮手,他会帮助我们的操作系统对硬件进行管理,这里同样会生成一张张“表格”,去给我们的操作系统参考。这里就引出一个重要的概念或者说思想。

先描述,再组织

       这句话是什么意思呢,我们要对软硬件管理好,是不是就得先了解他们,是不是就要对他们进行描述,描述是不是就是去解析出他们的各种属性。了解属性之后,为了方便管理,我们要去做各种“表格”,这表格是什么呢?在C语言中,是不是就是结构体,而我们通过软硬件属性去构建出这个结构体(即表格)的过程就是在组织。

这里讲完了我们再来说说系统调用和库:

在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用。


系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发。


网站公告

今日签到

点亮在社区的每一天
去签到