冯·诺依曼体系结构和操作系统

news2024/11/24 20:21:19

目录

一、冯·诺依曼体系结构

1、初见结构

2、对体系结构的理解

3、总结

二、操作系统

1、概念

2、作用


一、冯·诺依曼体系结构

1、初见结构

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

冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置。

如下图就是冯·诺依曼体系结构的基本结构。

我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。

2、对体系结构的理解

冯诺依曼体系结构看起来还是比较简单的。但是,在当时那个年代能够提出这样一个体系结构可是十分厉害的。在冯诺依曼体系结构之后,一些人也提出了其他的一些结构,但是直到现在,绝大多数的计算机制造商任然使用的是冯诺依曼体系结构。

冯诺依曼体系结构为什么能够被人们认可并且直到现在还在使用呢?为什么冯诺依曼体系结构是这样的呢? 下面我们就来一一解答。

~  输入设备、输出设备、运算器和控制器:

首先,计算机的作用就是为了解决问题,而要解决问题,首先需要将数据或是问题输入到计算机当中,所以计算机必须要有输入设备。输入设备:键盘、磁盘、网卡、鼠标、摄像头等。

然后,计算机通过输入设备得到数据,数据在计算机当中进行一系列的算术运算和逻辑运算后,通过输出设备进行输出。当然,光有运算器还是不够的,还需要有控制功能,控制何时从输入设备获取数据,何时输出数据到输出设备等。所以,计算机就必须要有(运算器&&控制器:CPU)。CPU可以响应外部事件。

接着,计算机解决完问题后还需要将计算结果输出显示出来,所以计算机必须要有输出设备。输出设备:显示器、磁盘、网卡、各种打印机等。

上面的输入设备、输出设备、运算器和控制器在结构中的作用我们是能够很好地理解的。但是为什么不让输入设备将数据直接交给CPU,CPU再直接将结构交给输出设备呢?为什么还需要存储器呢?而这也正是冯诺依曼体系结构的精妙之处,它在结构中添加了一个用来过渡的存储器。

~  存储器:

首先,我们要知道:存储器实际上就是内存。

一般来说,各种硬件的存储效率:CPU&&CPU内部的寄存器 > 内存 > 磁盘/SSD > 光盘 > 磁带。且它们之间的存储效率是数量级的差别。所以,即使是相邻的设备,效率的差别也是非常大的。

所以,在计算机的结构中,输入设备和输出设备相对于中央处理器来说是非常慢的,于是在当前这个体系整体呈现出来的就是,输入设备和输出设备很慢,而CPU很快,而且它们之间的差距不是只相差了几十或者几百,而是差了好几个数量级。根据木桶原理,那么最终整个体系所呈现出来的速度将会是很慢的。

所以我们就不能让输入设备和输出设备直接与CPU进行交互,而在这中间加入内存。内存在这个结构中的特点就是:它比输入设备和输出设备要快很多,但是比CPU又要慢。所以内存就处于慢设备和快设备之间的一个状态,是一个不快也不慢的设备,能够在该体系结构当中就起到一个缓冲过渡的作用。

根据木桶原理,现在的短板就是存储器了,但是CPU和存储器之间的交互效率可比CPU直接与输入输出设备交互的效率高了好几个数量级。这就大大提高了计算机的效率。

作用原理:我们可以预先将外设的数据加载到存储器中,这样CPU在读取数据时可以直接从存储器中读取。CPU处理完数据后又写回内存当中,然后内存再将数据输出到输出设备当中,最后由输出设备进行输出显示。

以上就是冯诺依曼体系结构的设计原理了。

3、总结

1、CPU读取数据(数据+代码)都是要从内存中读取。站在数据的角度,CPU不和外设直接交互。

2、CPU要处理数据,需要先将外设中的数据,加载到内存。站在数据的角度,外设只和内存直接交互。

3、不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)。


二、操作系统

1、概念

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。简单来说,操作系统就是一款进行软硬件资源管理的软件。

操作系统一般包括:1、内核(进程管理,内存管理,文件管理,驱动管理)2、其他程序(例如函数库,shell程序等等) 。

2、作用

1、与硬件交互,管理所有的软硬件资源。
2、为用户程序(应用程序)提供一个良好的执行环境。

操作系统对下通过合理的管理软硬件资源,对上为用户提供稳定的、高效的、安全的、的执行环境。

如下图,计算机体系结构图:

那操作系统是怎么进行管理的呢?

管理的本质是对被管理对象的数据做管理,操作系统并不是直接对计算机中的各种硬件进行决策管理,而是通过数据进行分析,最终做出决策,再由驱动执行,从而达到管理的效果。 

所有的管理,本质是对数据做管理,管理的方法是先描述再组织

说明:1、描述:如用struct、class对对象进行描述。2、组织:利用链表等数据结构将数据组织起来,统一管理。

那操作系统究竟管理些什么呢?操作系统主要进行以下四项管理:

1、内存管理:内存分配、内存共享、内存保护以及内存扩张等等。
2、驱动管理:对计算机设备驱动驱动程序的分类、更新、删除等操作。
3、文件管理:文件存储空间的管理、目录管理、文件操作管理以及文件保护等等。
4、进程管理:其工作主要是进程的调度。

而操作系统再往上就是我们所处的位置,在这里我们就可以用命令行或是图形化界面进行各种操作,这一层被称为用户层。但操作系统为了保护自己,对上只暴露了一些接口,而不会让用户直接访问操作系统,这一系列接口被称为系统调用接口。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1258518.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C语言】优化通讯录管理系统2

本篇博客是基于上一篇博客写出来的,了解上一篇博客 大家好,我是苏貝,本篇博客带大家再次优化上一篇的通讯录,实现将录入的数据在程序退出后存储到文件中,在下一次程序开始时打开文件获取数据,如果你觉得我写…

耶鲁博弈论笔记

编辑记录: 1126:开个新坑,耶鲁大学的博弈论课程, 和专业相关不大,纯兴趣,尽量写好一点吧 1. 首先指出博弈论是一种研究策略形式的方法,对于经济学中,完全竞争市场只能被动接受均衡…

浏览器中实现可视化的方式有哪几种?带你盘点一下

前言 📫 大家好,我是南木元元,热衷分享有趣实用的文章,希望大家多多支持,一起进步! 🍅 个人主页:南木元元 目录 可视化的含义 浏览器中实现可视化的4种方式 1. HTMLCSS 2. SVG …

鱼哥赠书活动第④期:从0到1Python进阶《利用Python进行数据分析》让你学完成为Python大神!!!

鱼哥赠书活动第④期: 《利用Python进行数据分析》、作译者简介:主要变动:购书链接: 适合阅读对象:赠书抽奖规则:往期赠书福利: 《利用Python进行数据分析》、 Python 语言极具吸引力。自从 1991 年诞生以来…

Linux中Netstat命令最常用的五个用法

当涉及到网络故障排除和网络连接监控时,netstat命令是Linux系统中一个非常常用的工具。netstat命令用于显示与网络相关的统计数据以及网络连接信息。无论是检查网络连接状态、监视网络接口还是查找网络服务的使用情况,netstat命令都能提供有用的信息。在…

视频后期效果制作工具Mocha Pro 2022 Plugins mac中文版软件介绍

Mocha Pro 2022 mac是一款专业的三维摄像机反求摩卡跟踪插件,同时也是一款视频后期效果制作工具,Mocha Pro 2022下载能够给数字媒体艺术家提供强大的、直观的和创新的追踪解决方案用简化的界面、加速的工作流程以及轻松追踪和操作镜头的强大性&#xff0…

conda环境下module ‘PIL.Image‘ has no attribute ‘ANTIALIAS‘

1 问题描述 在训练语音模型时&#xff0c;出现如下错误&#xff1a; Traceback (most recent call last):File "/opt/Bert-VITS2-2.0.2.1/train_ms.py", line 660, in <module>run()File "/opt/Bert-VITS2-2.0.2.1/train_ms.py", line 282, in run…

2023-11-27 事业-代号s-独立站选品工具-记录

摘要: 2023-11-27 事业-代号s-独立站选品工具-记录 选品工具 1. Amazon best seller ‍ 当我们最开始接触选品的时候&#xff0c;最基础也是最重要的选品方法就是Best Seller选品法。 ‍ Best Sellers榜单是每位亚马逊卖家都十分熟悉的&#xff0c;这个榜单是亚马逊基于li…

【【Linux下的Petallinux 以及其他的配置】】

Linux下的Petallinux 以及其他的配置 sudo apt-get install iproute2 gawk python3 python build-essential gcc git make net-tools libncurses5-dev tftpd zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget git-core diffstat chrpath socat xterm autoconf libtoo…

可信区块链运行监测服务平台(TBM)发展研讨会在北京召开

2023年11月23日&#xff0c;由中国信息通信研究院、中国移动通信集团设计院有限公司、区块链服务网络&#xff08;BSN&#xff09;发展联盟共同主办的“可信区块链运行监测服务平台&#xff08;TBM&#xff09;发展研讨会”在北京成功举行。会议围绕区块链的监测与治理&#xf…

【全栈开发】Next.js与RedwoodJS——比较js框架

Next.js和RedwoodJS是两个广泛用于构建web应用程序的JavaScript框架。这两个框架都提供了一系列功能和好处&#xff0c;但它们在方法和理念上有所不同。在本文中&#xff0c;我们将仔细研究Next.js和RedwoodJS&#xff0c;并对它们进行比较&#xff0c;以帮助您为项目选择正确的…

Jupyter Notebook本地部署并实现公网远程访问内网Jupyter服务器【内网穿透】

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;…

心智成熟要经过的三个阶段

美国管理学者史蒂芬柯维有一本代表作品《高效能人士的七个习惯》&#xff0c;书中提出了成熟模式图&#xff0c;意思是人需要通过7个习惯&#xff0c;推动心智成熟。 柯维将心智成熟过程分成三个阶段&#xff0c;依赖期、独立期和互赖期。 依赖期是围绕着你&#xff0c;有事情…

C#常见的设计模式-行为型模式

前言 行为型模式是面向对象设计中的一类设计模式&#xff0c;它关注对象之间的通信和相互作用&#xff0c;以实现特定的行为或功能。在C#中&#xff0c;有许多常见的行为型模式&#xff0c;下面将对其中10种行为型模式进行介绍&#xff0c;并给出相应的代码示例。 目录 前言1.…

使用elementPlus去除下拉框蓝色边框

// 下拉框去除蓝色边框 .el-select {--el-select-input-focus-border-color: none !important; }

每日一练2023.11.26——打印沙漏【PTA】

题目要求&#xff1a; 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”&#xff0c;要求按下列格式打印 ************ *****所谓“沙漏形状”&#xff0c;是指每行输出奇数个符号&#xff1b;各行符号中心对齐&#xff1b;相邻两行符号数差2&#xff1b;…

从青铜到王者,小白也能写出高级自动化代码

写代码就像建房子&#xff0c;一砖一瓦大家都知道&#xff0c;难点是在你如何盖的更高级。对于写代码来说&#xff0c;基础语法无非就那几个&#xff0c;很多人都会&#xff0c;关键是如何将代码写得健壮、写得条理清楚。 在学习自动化开发语言过程中&#xff0c;很多人都会有…

ThinkPHP6学生选课管理系统

有需要请加文章底部Q哦 可远程调试 ThinkPHP6学生选课管理系统 一 介绍 此学生选课管理系统基于ThinkPHP6框架开发&#xff0c;数据库mysql8&#xff0c;前端bootstrap。系统角色分为学生&#xff0c;教师和管理员。学生登录后可进行选课&#xff0c;教师登录后可查看选课情况…

「直播预告」替代 Oracle,我们还有多长的路要走?

数字经济浪潮席卷全球&#xff0c;我国数字经济也进入快速发展阶段&#xff0c;作为数字化重要载体&#xff0c;国产软件的重要性不言而喻。近年来&#xff0c;国际局势复杂多变&#xff0c;在客观要求和主观需求的双重驱动下&#xff0c;核心技术自主可控的紧迫性也愈加凸显。…

Gradle更新失败(Error:Connection timed out: connect...)解决方法

一. 发现问题 当我们Copy一个项目或者在不同的机器打开AndroidStudio项目时&#xff0c;可能会遇到这样的问题&#xff1a;Gradle一直在转啊转&#xff0c;然后报错 Error:Connection timed out: connect. If you are behind an HTTP proxy, please configure the proxy setti…