上海城市建设官方网站,网站开发按前端后端分解,烟台开发区网站,网站推广的措施和手段有哪些文章目录 前言冯诺依曼体系结构#xff08;硬件#xff09;操作系统#xff08;软件#xff09;总结 前言
冯诺依曼体系结构#xff08;硬件#xff09; 上图就是冯诺依曼体系结构图#xff0c;主要包括输入设备#xff0c;输出设备#xff0c;存储器#xff0c;运算… 文章目录 前言冯诺依曼体系结构硬件操作系统软件总结 前言
冯诺依曼体系结构硬件 上图就是冯诺依曼体系结构图主要包括输入设备输出设备存储器运算器控制器。 每一个模块都是独立的。
我们分别详细介绍一下这几个模块 CPU运算器和控制器组成。 存储器本质就是内存。 输入设备主要用于输入包括键盘鼠标等等 输出设备主要用于输出包括显示器话筒声卡等等。 对于这些硬件设备来说有的只做输入有得只做输出有得二者兼顾。
这几个模块是通过一个叫做总线的东西连接起来的 我们连接起来有什么用呢 主要是为了数据的流动也就是数据之间的来回拷贝。 数据之间拷贝的效率就成为计算机效率的一大指标 内存 我们详细看一下内存。 如果我们没有内存是否可以呢 输入输出设备直接与CPU进行联系在早期的时候就是这么做的。 我们都知道CPU运行是非常快的但是输入输出输出设备是比较慢的根据木桶效用。 这相关的速度就是按照输入输出的速度来的。
我们介绍一下CPU的缓存。
距离CPU越近单体容量越小造价越高效率越高。 距离CPU越远单体容量越大造价越低效率越低。
如果我们把电脑上配件都设计成寄存器的那不就非常快了 但是这样造价确实十分贵的。
如果我们在二者之间加入一个内存呢 输入输出设备与内存相连内存与CPU相连。 内存的速度介于二者之间使二者尽量达到一种平衡。 最终的效率就以内存的效率为主了。 一切设备都只和内存打交道
内存可以把输入的一些资源加载到内存进行预先加载。CPU如果要用就直接从内存读取就可以。 CPU将读取的数据放在内存中进行缓存最后交给输出设备。 内存可以看作一个非常大的缓存介于设备和CPU之间
操作系统软件
我们在打开电脑的时候首先需要进行加载一段时间这个加载的软件就叫做操作系统。 操作系统是一款进行软硬件资源管理的软件。
我们首先理解一下管理。 管理的人叫做决策者被管理的人叫做执行者
我们通过这张图片来理解一下相关概念。
我们首先看一下操作系统以及一下部分。 底层硬件就是我们上面介绍的冯诺依曼体系。
每一款硬件都包括对应的驱动程序驱动程序是控制底层硬件的我们通过驱动程序就可以知道这个硬件是读的还是写的还有相关状态信息等等。驱动程序都是需要被安装到计算机上的比如我们的鼠标需要先插入到电脑上等待几秒钟才可以被使用。 电脑上很多驱动程序都已经进行内置了比如显示器键盘等等。
相关系统会将驱动程序和底层硬件进行打包交给操作系统方便操作系统对硬件进行管理。
我们可以通过一个例子进一步理解一下这三层。 操作系统就是做决策的学生就是进行执行的人。 我们在学校上学我们几乎没有见过校长但是校长却把我的大学生活安排的明明白白的。 校长并不是对你这个人进行管理而是对相关的数据做管理比如你是几年级的学号是什么上那些课程等等。 在相关计算机上也是同样的操作系统和底层硬件不需要见面操作系统只需要知道相关硬件的相关数据就可以对硬件进行管理。
驱动程序就相当于辅导员辅导员的任务就是保证校长的任务顺利的执行。 但是学校有很多学生就相当于计算机有很多硬件校长如何快速高效的管理好这些学生呢 每个学生都有基本的属性信息建立一个结构体把相关的数据填充上用链表进行连接我们之后就方便对这些学生进行管理了。在新增一些关于链表增删查改的操作我们对学生的管理就变成了对链表的增删查改。 对于相关的硬件也要有一个结构体里面存放着这个硬件的信息等等还包括一个指向下一个硬件的指针方便操作系统就行管理。
我们把上面的过程称为先描述在组织
我们这种原理放到语言层面也是适用的比如c. c是面向对象的语言每一个对象我们就要先进行描述它再通过相关的STL容器进行管理。 先描述struct结构体 在组织相关的数据结构 我们再来看一下操作系统及以上
我们为什么要有操作系统呢 操作系统要对软硬件资源做管理这样就是为了向上提供良好的运行环境。 这个良好如何理解呢高效安全稳定。
我们先看一下系统调用接口我们为什么会存在这个呢用户为什么不能对操作系统的数据直接进行访问呢 我们出于安全的角度不能让用户直接对操作系统数据进行访问这很不安全。这就像在银行取钱要取多少钱直接去金库拿就行谁知道这个人会不会多拿呢这个系统调用接口就相当于银行的柜台要取钱通过银行柜台再通过相关人员进行取钱。 系统调用接口是操作系统提供的如何设计也是有操作系统进行设置的。这个本质就是相关的函数。
用户操作接口 系统调用接口是不方便普通人进行使用的所以为了方便用户。把系统调用接口进行再一次封装方便使用这也就是相关的库。这就相当于老年人去银行办业务用户操作接口就相当于大堂经理专门为这些人服务。我们可以认为每个人都是这个老年人都不太熟悉流程。
我们也不能用户直接绕过操作系统去访问硬件资源这样操作系统的管理工作就会很难受。
我们使用这个用户操作接口也可以屏蔽库函数底层差异。 只要涉及相关硬件的使用必须经过系统调用比如scanf,printf。 我们使用printf在linux和wins等等各种平台下都可以正常使用这是因为在库层面就屏蔽了底层差异这也就是我们常说的语言的跨平台性可移植性。 总结
以上就是今天要讲的内容本文仅仅详细介绍了冯诺依曼体系结构以及操作系统相关的知识。希望对大家的学习有所帮助仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~