【Linux】深入了解冯诺依曼体系结构与操作系统

目录

导读

🌞专栏导读

🌞冯·诺依曼

🌞冯诺依曼体系结构

🌛木桶效应

🌞操作系统(Operator System)

🌛概念

🌛设计OS的目的

🌛系统调用和库函数概念 


导读

六一儿童节快到了,提前祝大家六一儿童节快乐哦!!!

六一儿童节的即将来到,祝愿我家宝🧡,愿你童心未泯,无忧无虑;童真相伴,快乐每天;童言无忌,不要束缚;童话生活,时刻甜蜜;童年依在,幸福永远。祝儿童节快乐!

 

🌞专栏导读

🌟作者简介:日出等日落,在读本科生一枚,致力于 C/C++、Linux 学习。

🌟本文收录于 Linux系列,本专栏主要内容为 C++ 初阶、C++ 进阶、STL 详解等,持续更新!

🌟相关专栏推荐:C语言系列 、Linux系列 、数据结构与算法

🌞冯·诺依曼

计算机的世界有两尊大神,一位是冯·诺依曼,另一位是阿兰·图灵

🔥冯·诺依曼

  • 约翰·冯·诺依曼(John von Neumann)是一位著名的数学家、计算机科学家、物理学家,是20世纪最重要的数学家之一。他还是是现代计算机、博弈论、核武器和生化武器等领域内的科学全才之一,被后人称为“现代计算机之父”、“博弈论之父”。冯诺依曼体系结构便是它的经典理论,从我们经常所能见到的计算机到当前最先进的计算机都采用的是冯诺依曼体系结构。所以冯诺依曼是当之无愧的数字计算机之父。
     

🔥阿兰·图灵

  • 艾伦·麦席森·图灵(Alan Mathison Turing),英国数学家、逻辑学家,被称为计算机科学之父,人工智能之父。图灵对于人工智能的发展有诸多贡献,提出了一种用于判定机器是否具有智能的试验方法,即著名的图灵试验,每年都有试验的比赛。此外,图灵提出的著名的图灵机模型为现代计算机的逻辑工作方式奠定了基础。
     

🌞冯诺依曼体系结构

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

  • 截至目前,我们所认识的计算机,都是有一个个的硬件组件组成
  • 输入设备:键盘、话筒、摄像头、网卡、磁盘
  • 输出设备:显示器、磁盘、网卡、声卡音响
  • 外设一般都会比较慢一些,以磁盘为例
  • 内存还不是最快的,CPU最快

注:

  1. 磁盘并不等同于内存
  2. 输入设备于输出设备都叫作外设
  3. 在数据层面,CPU不直接与外设沟通,而至于内存打交道
  4. 外设也只会与内存进行沟通

那我们为什么还需要内存呢?

因为外设较慢,CPU很快,但是整体的效率以外设的速度为准,这样就不太合适,为了解决这个问题,就出现内存。

💡内存的存在就可以大大缓解外设的效率低的问题,内存的存在可以对数据进行预加载,CPU以后在进行数据计算的时候,根本不需要访问外设,只要访问内存就可以了

🌛木桶效应

对于像【磁盘】这种外设来说虽然它有着大容量的内存,但是读写速度却非常慢,机械硬盘读写速度平均60---80M每秒;固态硬盘不同品牌型号之间,平均大约在150---300M每秒

但是对CPU来说,也就我们上面说到过的运算器 + 控制器,它的运算速度比磁盘不知道要快出多少倍了。一个写入很慢,一个读入很快,真的可以兼容吗?

大家应该都听过木桶效益

什么是木桶效应呢?一桶水最多能装多少水,并不是看竹板中最长的那个,而是取决于最短的那块板

同理,计算机一直追求的是极致的计算速度。我们知道CPU的计算速度是非常快的,但是计算机的速度并不能由CPU决定。

CPU的计算速度飞快,但是如果数据的供应跟不上,那么CPU只能说是徒有一身本领却无处施展。我们要知道,外设(以磁盘为例)的访问速度是非常慢的,因而,尽管磁盘的容量非常大,例如几G或几百G的硬盘也就几十块钱。如果CPU直接从磁盘读取数据,那么它们整体的速度就会很慢。

CPU —— 纳秒(ns) 内存 —— 微秒(us) 外设 —— 毫秒(ms)

我们可以知道CPU和外设差距是非常大的,因此我们需要内存这个东西来进行过渡

我们可能听说过一个概念——一个程序在运行前都会先加载到内存中,为什么呢?内存相对于磁盘来说读取速度非常的快,所以有了内存的存在,我们可以将要读与的程序预加载到内存中,因为内存的读取速度非常快,所以CPU直接从内存中拿数据就好了。

因为内存的读取速度很快,所以价格较为昂贵。尽管它能存储的数据很少,但却非常的重要。

  • 在数据层面,CPU不直接与外设沟通,而至于内存打交道。

🌞操作系统(Operator System)

🌛概念

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

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

 他是一款进行软硬件资源管理的软件

🌛设计OS的目的

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

 ⭐如何理解 "管理"

就像校长管理学生,先对每个学生对象都先作描述,在意某种数据结构将学生对象的信息保存起来。

例如:

当校长想要开除某个学生时,他并不会直接找到学生本人说“你现在被开除啦,赶紧回家去吧!”,而是删除了该学生信息所对应的结点,然后将通知该学生的任务下达给辅导员。

辅导员也不会问为什么,你给我任务,我就执行。于是辅导员便找到学生并通知他,你被开除了。

操作系统扮演的角色就如同校长,它只负责作决策。而决策由谁来执行呢?

答案是硬件驱动,如同辅导员,所以硬件驱动的角色是一位决策执行者。而软硬件资源就如同学生,是被管理者


管理者和被管理者,是不需要直接沟通的!

 

❓管理者和被管理者都没有直接沟通,他如何管理我呢?

💡管理的本质:对被管理对象的数据做管理!!!

那么管理者是如何拿到被管理者的数据呢?

管理的本质:先描述,再组织

我们可以把学生理解为硬件(软件也可以),校长就是操作系统,辅导员就为硬件驱动

 ⭐总结

计算机管理硬件

  • 先描述
  • 再组织

🌛系统调用和库函数概念 

⭐系统调用

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

那么我们之前有没有使用过系统调用呢?答案是肯定是有的。当我们写下printf("hello world")这样的代码,运行起来之后就会在屏幕上显示hello world的字符。其实你以为你写下这句代码,计算机就会在屏幕上打印内容是你的功劳,但其实,这是编译器在底层做了系统调用,你确实没有直接使用系统调用,因为这是编译器帮你完成的。

⭐库函数

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


我们对库已经不是第一次认识了,C语言、C++等语言都有自己的库。库就是对具有某些相似功能的函数作封装方便用户直接调用,从而提高开发的效率。

文章的最后,祝大家六一快来哦!!!
 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

杜绝开源依赖风险,许可证扫描让高效合规「两不误」

目录 开源许可证及其常见类型 开源许可证扫描是软件研发过程中,不可或缺的工具 极狐GitLab 开源许可证扫描的优势与应用 Step 1:启用及设置许可证策略 Step 2:自动创建策略文件存放项目 Step 3:查看许可证合规情况 Step 4&…

实训可视化项目小结 --- 开启Python初始之旅

Python初试感悟 语言之间是相通的,大多数时候,百分之八十的问题,都可以用常用的容器以及内置函数来辅助解决。之前从未认真接触过Python,但此次学校实训要求使用Python做一个可视化,东西不难,我个人负责爬…

Hadoop学习---8、Hadoop数据压缩

1、Hadoop数据压缩 1.1 概述 1、压缩的好处和坏处 (1)优点:减少磁盘IO、减少磁盘储存空间 (2)缺点:增加CPU开销 2、压缩原则 (1)运算密集型的Job,少用压缩 &#xff08…

【2023 · CANN训练营第一季】应用开发(初级)第四章——模型推理

AscendCL运行资源管理 申请运行管理资源时,需按顺序依次申请: Device、Context、Stream,然后根据实际需求调用aclrtGetRunMode接口获取软件栈的运行模型(当同一个应用既支持在Host运行,也支持在Device运行时,在编程时需要就需要根…

Shap-E:3D资产的生成式AI大模型

OpenAI 刚刚发布了 Shap-E,这是一种基于文本提示和图像创建 3D 资产的生成模型,能够生成带纹理的网格和神经辐射场 ,从而实现各种 3D 输出。 推荐:用 NSDT设计器 快速搭建可编程3D场景。 在本教程中,我们将引导你在 Go…

嵌入式软件测试笔记2 |TEmb方法概述

2 |TEmb方法概述 1 TEmb简介2 TEmb工作原理3 系统特性4 TEmb通用元素4.1 生命周期4.2 技术4.3 基础设施4.3.1 测试环境4.3.2 工具和测试自动化4.3.3 办公环境 4.4 组织 5 组合专用测试方法的机制5.1 常用系统特性5.2 特定方法5.3 LITO矩阵 1 TEmb简介 TEmb是一种方法&#xff…

Rocksdb相关学习

1 Basic Operations 先介绍一些 RocksDB 的基本操作和基本架构。 1.1 LSM 与 WriteBatch 参考文档5提到RocksDB 是一个快速存储系统,它会充分挖掘 Flash or RAM 硬件的读写特性,支持单个 KV 的读写以及批量读写。RocksDB 自身采用的一些数据结构如 LSM/…

picoctf_2018_rop chain

小白垃圾笔记,不建议阅读。 这道题目其实我是瞎做的. 本地调试需要写一个文件名为flag.txt的文件。 先检查下保护:(我把文件名改成pwn了),32位仅仅开启了nx 然后放到32位ida里: main函数如下&#xff1a…

全网最火爆,从接口测试到接口自动化测试总结,卷王进阶高级...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Python接口自动化测…

element-ui菜单el-menu的使用

效果演示 先给大家看一下效果吧 el-menu详解 Menu Attributes# 属性名说明类型可选值默认值mode菜单展示模式stringhorizontal / verticalverticalcollapse是否水平折叠收起菜单(仅在 mode 为 vertical 时可用)boolean—falseellipsis是否省略多余的子项…

软件测试之自动化测试详解

文章目录 一.前言二.selenium介绍三.selenium的组成部分四.Selenium的环境搭建下载浏览器配置环境变量验证环境是否搭建成功 五.Selenium的API打开浏览器元素的定位操作测试对象等待操作信息获取鼠标操作键盘操作选项操作浏览器操作 六.需要用到的包 一.前言 自动化测试指软件…

SQL面试必备:100道高频考题解析

前言 在众多IT职场中,SQL技术一直是一个非常重要的技能点。如果你正在准备SQL相关的面试,那么这份“SQL面试 100 问”绝对是你不能错过的宝藏! 这份清单涵盖了100道高频考题,从基础知识到复杂应用都有所涉及,帮助你全…

树莓派485转USB串口调试教程

步骤1:接线方式:485转USB 注意接线口是否对应:A1B1 步骤2:查看串口配置—映射关系是否正确 命令:ls -l /dev serial0即GPIO映射的串口,默认是ttyS0,即mini串口 serial1即板载蓝牙映射的串口&am…

关于原生feign发起请求时,参数注解的相关问题

先说结论: POST请求必须指定请求头,body参数用RequestBody或者Param(需要一个一个写)。 GET请求,传参只能用QueryMap,后边变量是Map形式,哪怕是一个参数也必须放到map里边。如果是路径变量&…

Java 集合中 ArrayList 的扩容机制原理(面试+读源码)

在 Java 中,ArrayList 内部是通过一个数组来存储元素的,是一个数组结构的存储容器。当向一个 ArrayList 中添加元素时,如果当前数组已经满了,就需要扩容。 集合的继承关系图 一、面试回答 ( ArrayList 的扩容机制原理 ) 面试…

Solidity基础六

生活本来就是平凡琐碎的,哪有那么多惊天动地的大事,快乐的秘诀就是不管对大事小事都要保持热情 目录 一、Solidity的特殊变量(全局) 二、Solidity的不可变量 immutable的赋值方式 三、Solidity的事件与日志 事件和日志加深理解 四、Solidity的异常…

ChatGPT1论文解读《Improving Language Understanding by Generative Pre-Training》

论文总结 以下是我阅读完整篇论文做的个人总结,基本包含了chatGPT1设计的完整框架思路,可以仅看【论文总结】章节。 在GPT1实现的核心架构中,包含两个阶段。 第一阶段 在第一阶段基于一个包含7000本书籍内容的海量未标注文本数据集进行无…

注解-反射-XML配置原理

java刚开始原本是直接在方法中创建对象执行程序等,部分代码重复率高,后来就发展成方法封装调用,再后来出现的像spring框架等,引入了XML配置,使得程序更加简洁,方便等,其中XML配置也是基于java反…

java+iClientOpenlayers实现污水排放扩散模拟(湖库污染排放扩散模拟)

软件实现效果 一、应用背景 湖库污染是一个日益严峻的环境问题。随着城市化和工业化的加速发展,越来越多的有害物质被排放入湖库中,导致湖库污染加剧并扩散到周围地区。本文将探讨湖库污染扩散的原因、影响和解决方法。 首先,湖库污染扩散的…

堆排序之——TopK问题

思维导图: 一,TopK算法的运用 TopK的算法在我们的日常生活中可谓是大有用处,比如你在点外卖时外卖榜单上的销量前几名的筛选,富豪排行榜的榜单人物的筛选,游戏排位……等等领域都会有TopK算法的涉及。TopK问题的用处可…