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

news2024/11/26 4:28:24

目录

导读

🌞专栏导读

🌞冯·诺依曼

🌞冯诺依曼体系结构

🌛木桶效应

🌞操作系统(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++等语言都有自己的库。库就是对具有某些相似功能的函数作封装方便用户直接调用,从而提高开发的效率。

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

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

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

相关文章

Envoy 物联网模块开发---串口服务器 (一)

一、背景 最近业余时间想基于Envoy 开发一个串口网关,主要是想把一些 modbus、bacnet 以及 mqtt 等物联网协议接入Envoy中,当读到串口数据后可以转发成对应的网络协议 二、Envoy的优势 选择Envoy的话主要是因为Envoy的代码已经十分健全了,零…

(数字图像处理MATLAB+Python)第九章图像形态学运算-第三节:二值图像的形态学处理

文章目录 一:形态滤波(1)概述(2)程序 二:图像的平滑处理(1)概述(2)程序 三:图像的边缘提取(1)概述(2&#xff…

redux与react-redux状态集中管理

一、redux:可用于react、Vue等中 redux应用:状态的管理,共享状态,Redux用一个单独的常量状态树(state对象)保存这一整个应用(如tab选项卡的状态、城市等需要应用在整个页面的信息)的状态。其本…

算法|13.贪心

1.字典序最小的字符串连接方案 题意&#xff1a;给定一个由字符串组成的数组strs&#xff0c;必须把所有的字符串拼接起来&#xff0c;返回所有可能的拼接结果中字典序最小的结果。 public static class MyCom implements Comparator<String>{Overridepublic int compa…

@程序员【提升代码质量,快走出学习迷茫的状态吧】

思路清晰&#xff0c;能上钻一 思路清晰&#xff0c;能上钻一写代码如同打游戏上分。写代码如同中医治病。 思路清晰&#xff0c;能上钻一 ⭐⭐想成为一名优秀的电玩高手&#xff0c;你需要有清晰的思路;想成为一名顶级的电玩高手&#xff0c;你需要的是顶级的思路和异于常人的…

裁员后投递了300次简历,面试22家,终于上岸!

这是一位群友的励志故事&#xff0c;生活虽然很苦&#xff0c;但是朝着自己想要的方向去努力很值得&#xff01; 求职109天&#xff0c;沟通2212次&#xff0c;投简历355次&#xff0c;面试22家&#xff0c;涨薪10%&#xff0c;终于上岸&#xff0c;在这里复盘下我的经历&#…

[创业之路-72] :创业公司发展模式的选择:技工贸还是贸工技?

目录 前言&#xff1a; 一、什么是技、工、贸&#xff1f; 二、概述 2.1 推动力不同 2.2 适合领域不同 2.3 经营模式的主导地位不同 三、技、工、贸详解 3.1 常见的七种营销模式 3.2 常见的三种生产模式 3.3 常见的三种研发模式 四、经营模式的战略选择与影响因素 …

短视频矩阵源码如何做应用编程?

短视频矩阵源码&#xff0c; 短视频矩阵系统技术文档&#xff1a; 可以采用电子文档或者纸质文档的形式交付&#xff0c;具体取决于需求方的要求。电子文档可以通过电子邮件、远程指导交付云存储等方式进行传输、 短视频矩阵{seo}源码是指将抖音平台上的视频资源进行筛选、排…

C++ Primer Plus 第一,二章笔记

目录 第一章笔记 1、C简介 2、C简史 3、可移植性和标准 第二章笔记 1. 进入C 1.3、预处理器和头文件 1.4、名称空间&#xff08;namespace&#xff09; 1.5、使用cout进行C的输出 2. C语句 3. 其他C语句 4. 函数 第一章笔记 1、C简介 C融合了3种不同的编程方式&a…

vsdx文件怎么打开,安装什么软件打开这种后缀名(教程)

目录 简介 安装配置 其他 总结 简介 VSDX 文件是 Microsoft Visio 文件格式&#xff0c;它是一种二进制文件&#xff0c;用于保存 Visio 中的绘图和图表。如果你想要打开 VSDX 文件&#xff0c;可以考虑以下几种方法&#xff1a; 方法一&#xff1a;使用 Microsoft Visio …

C++IO流(详解)

C语言的输入与输出 在C语言当中&#xff0c;我们使用最频繁的输入输出方式就是scanf与printf&#xff1a; scanf&#xff1a; 从标准输入设备&#xff08;键盘&#xff09;读取数据&#xff0c;并将读取到的值存放到某一指定变量当中。 printf&#xff1a; 将指定的数据输出到…

Vivado综合属性系列之十三 FSM_ENCODING

目录 一、前言 二、FSM_ENCODING ​2.1 属性介绍 ​2.2 工程代码 2.3 结果 ​2.4 参考资料 一、前言 ​状态机的实现有很多方式&#xff0c;如auto&#xff0c;one_hot&#xff0c;sequential&#xff0c;如下图中Synthesis中-fsm_extraction的配置项&#xff0c;但此处作用范…

【AI面试】降低过拟合的方式方法横评探究

对于一个“训练调参工程师”来说&#xff0c;在训练过程遇到过拟合现象&#xff0c;是常事。当然&#xff0c;如何降低过拟合&#xff0c;也是在面试过程中&#xff0c;经常被面试官问到的问题&#xff08;没啥可问的&#xff0c;就只能这样问了&#xff09;。以下是我们会常考…

HEVC中,mvd怎么写进码流的?

文章目录 Motion vector difference syntax 标准文档描述语义解释设计意义 Motion vector difference syntax 标准文档描述 语义解释 MvdL1[ x0 ][ y0 ][ compIdx ] L1列表的mvd x0,y0 表示亮度快左上角坐标 compIdx 0表示水平 compIdx 0表示垂直 mvd_l1_zero_flag&#xff1a…

DRF之JWT认证

一、JWT认证 在用户注册或登录后&#xff0c;我们想记录用户的登录状态&#xff0c;或者为用户创建身份认证的凭证。我们不再使用Session认证机制&#xff0c;而使用Json Web Token&#xff08;本质就是token&#xff09;认证机制。 Json web token (JWT), 是为了在网络应用环…

给osg::Geometry(自己绘制的几何体)添加纹理(二)

目录 1. 前言 2. 自会集合体贴纹理 2.1. 一张图贴到整个几何体 2.2. 几何体每个面贴不同的图片纹理 3. 说明 1. 前言 前文讲述了如何给osg自带的几何体&#xff0c;如&#xff1a;BOX等&#xff0c;添加纹理&#xff0c;文章参考链接如下&#xff1a; osg给osg::Geometry&…

动态规划专题一(动态规划的基本模型)

先上例题1 1258&#xff1a;【例9.2】数字金字塔 信息学奥赛一本通&#xff08;C版&#xff09;在线评测系统 (ssoier.cn) 1258&#xff1a;【例9.2】数字金字塔 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 36341 通过数: 21547 【题目描述】 观察下面的数字…

HotSpot虚拟机OutOfMemoryError异常

目录 一、JVM内存区域 二、堆中对象 1. 对象的创建 2. 对象的内存布局 3. 对象的访问定位 三、OOM异常 1. 堆OOM异常测试 2. 栈SOF异常测试 1)&#xff1a;栈容量过小 2)&#xff1a;大量本地变量 3. 常量池OOM异常测试 4. 方法区测试 5. 堆外内存测试 四、参考资料…

详解FreeRTOS:嵌入式多任务系统的任务互斥和优先级反转(理论篇—9)

在嵌入式多任务系统中,有些资源必须是独占使用的,多个任务对这样的资源的并发访问将导致错误的发生。一般来说,对需要独占使用的资源必须使用互斥方法将对其的并发访问串行化。 在优先级多任务系统中引入互斥方案,会导致任务优先级反转的问题:假如某时低优先级的任务占有…

Zabbix之2023 Zabbix6.4最新高级特性、优缺点及其实现原理总结

目录 Zabbix高级特性1. 自动发现 Zabbix高级特性2. 分布式监控 Zabbix高级特性3. 高级报警 Zabbix高级特性4. 可视化 Zabbix高级特性5. API Zabbix高级特性6. 高可用性 Zabbix高级特性7. 安全性 Zabbix高级特性8. 无代理监控 SNMP IPMI JMX Zabbix高级特性9. Agent…