冯诺依曼体系结构与操作系统的概念及理解

news2024/11/18 7:35:42

  • 一、 冯诺依曼体系结构
    • 1、概念
    • 2、内存的作用
    • 3、硬件原理解释软件行为
  • 二、操作系统的概念及基本作用
    • 1、概念
    • 2、设计操作系统的目的
    • 3、操作系统的主要作用
    • 4、什么是管理
    • 5、管理的目的
    • 6、操作系统如何为我们服务

一、 冯诺依曼体系结构

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

1、概念

冯诺依曼体系结构基本组成部分
1:输入设备:如鼠标,键盘,磁盘,网卡等
2:输出设备:显示屏,磁盘,网卡音响等
3:主存:注意主存就是我们常说的内存条
4:CPU: 我们常说的处理器,现代处理器为提高效率都会在CPU中内置高速缓存
在这里插入图片描述
输入设备简单理解就是给计算机提供数据的设备,如磁盘中的数据可以被读取,鼠标可以提供选择指令等

输出设备简单理解就是接收计算机输出的信息,如我们从网上下载了一个文件,文件最终是下载到磁盘中的(即计算机将网上内容下载解码后输出到了磁盘中)。

注意
1、这里的内存指的是我们常说的内存条
2、不考虑缓存情况,这里的CPU能且只能对内存进行读写,不访问外设(输入或输出设备)
3、外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。
总结:所有外设只能和内存打交道,内存是cpu和外设的传输中介。

2、内存的作用

首先咱要知道,计算机不同组成部分性能并不一致

列如过去几十年中处理器性能都是持续且高速增长的,而硬盘的性能基本没有大的改变(本文先抛开固态硬盘,谈普通机械硬盘)

尽管CPU是计算机的核心,但计算机的性能既取决于CPU,也取决于其子系统的性能。如果不能高效的进行数据传输,仅仅提高CPU的性能是毫无意义的。这就和木桶效应一样
在这里插入图片描述
当人们意识到这一问题后便有了内存
内存的作用:
1、先将要执行的数据都存储在内存中(包括外设的),相当于给要执行的数据排好了队,CPU直接到内存中取数据即可
2、计算机处理完数据后直接输出给内存,内存再将数据输出给输出设备

总结:由于内存速度介于硬盘和CPU之间,且内存相较于CPU其能储存的数据量是很大的,能源源不断的给CPU提供或接收数据。能有效缓解木桶效应,提高计算机整体效率。

但是:既然内存能提高效率我们为啥不用内存直接替代磁盘呢?
答:因为“贵”,内存相较于磁盘要贵得多,以ddr4内存为列8G需要150元,但150元却能买到1TB的磁盘;

3、硬件原理解释软件行为

在我们写好c代码后,编译的可执行文件会存放在文件中(也就是磁盘中)

当我们要执行该程序时,由上文所述可知。程序要执行应该先将程序加载到内存中,等待CPU将其执行。

而程序加载到内存的方式 windows 上是双击,在 linux 上则是 ./ 运行。

二、操作系统的概念及基本作用

首先咱先从下图中基本了解一下操作系统所扮演的角色
在这里插入图片描述

1、概念

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

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

2、设计操作系统的目的

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

就比如国家一样,不能没有自己的管理系统和政策,要搞好外交及内部资源的合理分配,提供一个良好的社会环境。

而计算机是为用户程序提供需要良好的执行环境,所以设计出了操作系统

3、操作系统的主要作用

在整个计算机软硬件架构中,操作系统的定位是: 一款纯正的“搞管理”的软件

管理对象:直接或间接管理计算机中的软硬件

4、什么是管理

这里指的是操作系统的管理

首先得清楚,管理的本质是做决策

先用一个抽象的列子

举个列子刚开学市领导要来学校检查,校长觉得为了展示学校最好的一面决定搞
一个全校的大扫除,随后校长将任务传达给了各班主任,班主任又传给班上的学
生们。紧接着学生开始了大扫除。

在上述例子中班主任并不是管理者而是对校长决策的执行者,学生也是对校长决策的执行。他们都是决策的执行者只是扮演的角色不一样。

校长作为管理只是将自己的想法落地即可,校长只是做了一个决策。

在这一次活动中校长并没有直接向学生下达命令,学生接收到的是班主任的信息。

综上所述得出第一个结论:管理者不需要于被管理者直接接触或沟通

第二个列子:

最近学校组织了一次全校体检,体检结束后班主任拿到了全校学生的体检
报告,经筛选后将异常的报告整理给了校长,校长拿到异常报告后统一安
排这批学进行了复检

在这个案列中校长(管理者)并没有与学习直接接触,但依旧对学生进行了管理

得出第二个结论:管理是对被管理对象的数据做管理

在上述例子中校长,班主任,学生分别对应电脑的那个角色呢

校长对应的是:操作系统
班主任对应的是:硬件驱动
学生对应的是:硬件或软件程序

在这里插入图片描述
总结:
1、管理的本质是做决策
2、管理者不需要于被管理者直接接触或沟通
3、管理是对被管理对象的数据做管理

5、管理的目的

让计算机有安全,稳定、高效 的执行环境,提高用户体验感!

6、操作系统如何为我们服务

操作系统除了管理计算机外,他还能为我们提供服务对没错就是服务

例如 printf 是 C 语言通过头文件调用了系统接口,从而在屏幕中打印出
了程序结果

但为啥是调用接口呢?而不是我直接调用底层驱动想输出啥就输出啥,难道是不相信咱?
举个列子
我去银行取钱,银行要我提供卡还要密码才会从“小窗口”把钱递给我,绝对不会打开金库门说先生:进门左转有一个开着的保险贵,你自己清点好3000拿走就好了。注意别多拿哦!

上述列子说明银行虽然给我门提供服务,但他本质是不信任咱或任何人甚至会有安保措施

操作系统也是一样的,他虽然会给我们良好的用户体验及服务,但是他不信任任何人,他只会封装好后提供一些标准接口供大家使用,以保证系统的安全,稳定且高效运行。

而我们对这些接口的访问,就被称为操作系统的系统调用。

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

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

相关文章

只需四步,手把手教你打造专属数字人

伴随ChatGPT的问世,在技术与商业运作上都日渐发展成熟的数字人产业正持续升温。去年9月,北京市发布了国内首个数字人产业专项支持政策,提出将依托国家文化专网将数字人纳入文化数据服务平台。以数字人、ChatGPT为代表的互联网3.0创新应用产业…

【2023】OAK智能深度相机用户实际应用项目(附开源代码)

编辑:OAK中国 首发:oakchina.cn 喜欢的话,请多多👍⭐️✍ 内容可能会不定期更新,官网内容都是最新的,请查看首发地址链接。 ▌前言 Hello,大家好,这里是OAK中国,我是助手…

Linux环境内存管理——分配内存和释放内存

我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来重新审视一下Windows程序员如何学习Linux环境内存管理。由于很多程序在Windows环境下开发好后,还要部署到Linux服务器上去,所以作为Windows程序员有必要学习Linux环境的内存…

IntelliJ IDEA 实用插件推荐(包含使用教程)

IntelliJ IDEA 实用插件推荐 背景:电脑重装了,重新下载了最新版的IntelliJ IDEA,感觉默认模式有点枯燥,于是决定从网上下载一些实用美观的插件优化自己以后吃饭的工具,现在推荐的都是目前还能用的(亲身实践…

【java】Java 内存模型

文章目录前言什么是 Java 内存模型为什么需要 Java 内存模型顺序一致性内存模型Happens-Before 规则总结前言 在并发编程中,当多个线程同时访问同一个共享的可变变量时,会产生不确定的结果,所以要编写线程安全的代码,其本质上是对…

C语言青蛙跳台阶【图文详解】

青蛙跳台阶前言1. 题目介绍2. 解题思路3. 利用图片来演示青蛙跳台阶的原理4. 如何用C语言实现青蛙跳台阶前言 在本文,我们要与一只活泼可爱的小青蛙合作,带领着它跳上台阶,这个小家伙精力充沛,特别擅长于跳跃。我们要让它做我们的…

一个诡异的 Pulsar InterruptedException 异常

背景 今天收到业务团队反馈线上有个应用往 Pulsar 中发送消息失败了,经过日志查看得知是发送消息时候抛出了 java.lang.InterruptedException 异常。 和业务沟通后得知是在一个 gRPC 接口中触发的消息发送,大约持续了半个小时的异常后便恢复正常了&…

MySQL数据库中的函数怎样使用?

函数 是指一段可以直接被另一段程序调用的程序或代码。 也就意味着,这一段程序或代码在MySQL中已经给我们提供了,我们要做的就是在合适的业务场景调用对应的函数完成对应的业务需求即可。 那么,函数到底在哪儿使用呢?我们先来看两个场景&…

前端开发:JS的节流与防抖

前言 在前端实际开发中,有关JS原生的节流和防抖处理也是很重要的点,关于底层和原理的掌握使用,尤其是在性能优化方面甚为重要。作为前端开发的进阶内容,在实际开发过程中节流和防抖通常都是项目优化的必要手段,而且也是…

【Project】项目管理软件学习笔记

一、前言使用Project制定项目计划步骤大致如下:以Project2013为例,按照上图步骤指定项目计划。二、实施2.1 创建空白项目点击文件——新建——空白项目,即完成了空白项目的创建,在此我把该项目保存为60mm项目管理.mpp,…

深入浅出1588v2(PTP)里的时间同步原理

1.时间同步1.1 单步同步(OneStep)单步同步最为简单,master向slave发送一个sync的同步包,同步包里带有这条信息发送时master的当前时间t1,假如这条信息从master传输到slave需要的传输时间是D,那么slave收到信息时,maste…

芯驰(E3-gateway)开发板环境搭建

1-Windows下环境配置 可以在Windows上使用命令行或者IAR IDE编译SSDK项目。Windows编译依赖的工具已经包含在 prebuilts/windows 目录中,包括编译器、Python和命令行工具。 1.1.1 CMD SSDK集成 msys 工具,可以在Windows命令行中完成SDK的配置、编译和…

嵌入式系统硬件设计与实践(第一步下载eda软件)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 现实生活中,我们经常发现有的人定了很多的目标,但是到最后一个都没有实现。这听上去有点奇怪,但确实是实实在在…

Mysql数据库总结

一.MySQL 的基础1.架构图Mysql逻辑架构图主要分三层:(1)第一层负责连接处理,授权认证,安全等等 (2)第二层负责编译并优化SQL (3)第三层是存储引擎。Mysql 服务器的默认端…

Welcome to TryHackMe --- 我在TryHackMe学习的第90天

我在TryHackMe学习的第90天 自发的thm玩家交流企鹅群:751273347 TryHackMe是一个及其优秀的道德嗨客学习平台 这三个月里,我在TryHackMe都学了什么 TryHackMe的几个路径我觉得是按照oscp出的,所以理论上讲我应该差不多有oscp水准&#xff…

ElasticSearch修改索引字段类型

一、Es报MapperParsingException异常 线上功能报错,一看日志是往es中添加数据报错,错误日志如下: org.elasticsearch.index.mapper.MapperParsingException: failed to parse field [categoryId] of type [integer] in document with id 16…

软件技术知识库必备的功能清单及注意事项!

文档是一个迭代过程。它可能需要根据客户反馈进行改进,或者可能需要折射文档中已包含的某些内容。知识库可以包括客户的常见问题或对解决方案的更多参考,这些解决方案可能需要包括这些解决方案,以提高效率、生产力并降低公司成本,…

百趣代谢组学分享—揭示水稻“生长-防御”平衡调控机制!

湖南农业大学科研团队揭示水稻“生长—防御”平衡调控机制! 文章标题:Rice cellulose synthase-like protein OsCSLD4 coordinates the trade-off between plant growth and defense 发表期刊:Frontiers in Plant Science 影响因子&#x…

【个人总结】超详细Neo4j安装下载

【个人总结】超详细Neo4j安装下载一、下载1.1 Jdk下载1.2 Neo4j下载:二、安装配置2.1 解压2.2 配置三、启动Neo4j一、下载 1.1 Jdk下载 下载neo4j之前,需要下载jdk,这里默认已经下载过jdk,,若未下载可参考之前文章:h…

17.标准库特殊设施

文章目录标准库特殊设施17.1tuple类型17.1.1定义和初始化tuple访问tuple的成员关系和相等运算符17.1.2使用tuple返回多个值17.2bitset类型(后续需要时再详细了解)17.3正则表达式17.4随机数bernoulli_distribution类17.5IO库再探标准库特殊设施 17.1tuple类型 tuple(定义在tupl…