『Linux从入门到精通』第 ⑫ 期 -深入了解冯诺依曼体系结构与操作系统(Operator System)

news2024/11/23 15:41:43

在这里插入图片描述

文章目录

  • 💐专栏导读
  • 💐文章导读
  • 🌷计算机之父——冯·诺依曼
  • 🌷冯诺依曼体系结构
    • 🌺木桶效应
  • 🌷操作系统(Operator System)
    • 🌺如何理解操作系统
    • 🌺系统调用和库函数概念

💐专栏导读

🌸作者简介:花想云 ,在读本科生一枚,致力于 C/C++、Linux 学习。

🌸专栏简介:本文收录于 C语言初阶专栏,本专栏主要内容为本专栏主要内容为Linux的系统性学习,专为小白打造的文章专栏。

🌸相关专栏推荐:C语言初阶系列C语言进阶系列C++系列数据结构与算法

💐文章导读

从本章开始,我们将进入Linux进程的学习。但是在进程学习之前,我们必须得对计算机的底层知识以及操作系统做一些了解,方便我们之后更好的学习。本章我们将认识什么是冯诺依曼体系结构操作系统相关概念。

在这里插入图片描述

🌷计算机之父——冯·诺依曼

计算机的世界有两尊大神,一位是冯·诺依曼,另一位是阿兰·图灵。作为计算机的受用者,我想我们有必要认识一下这两位前辈。

🍁冯·诺依曼

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

🍁阿兰·图灵

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

🌷冯诺依曼体系结构

我想你一定在某时某刻某地见过这样一幅图片:

在这里插入图片描述

要想理解这幅图片的含义,首先我们的清楚几个概念:

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

接下来我们谈谈为什么。

🌺木桶效应

在这里插入图片描述
什么是木桶效应?一桶水最多能装多少水,并不是看竹板中最长的那个,而是取决于最短的那块板

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

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

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

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

🍁总结——

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

🌷操作系统(Operator System)

🌺如何理解操作系统

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。 那么什么操作系统是什么?又有什么用呢?

🍁OS是什么

首先,操作系统是一款软件,是一款搞管理的软件。管理的对象是所有的软硬件资源

🍁为什么要管理

上一小节我们谈到了冯诺依曼体系结构,它反映的是硬件与硬件之间的交互方式。计算机包含各种各样的硬件设施,它们之间进行各种的交互。用户使用计算机是要完成某一项任务的,于是需要对这些硬件做指挥来完成这个任务。但是,我们用户不能直接和硬件沟通,因为语种都不同。所以,我们需要某种工具,将这些硬件管理或组织起来进行运作从而完成某件事,这个工具就叫做操作系统。它做管理的目的就是为用户提供(或用户所写的程序)提供一个良好的执行环境

🍁如何做管理

一句话——先描述,再组织。就像校长管理学生,先对每个学生对象都先作描述,在意某种数据结构将学生对象的信息保存起来。例如:

生成一个包含学生相关信息的结构体

struct student
{
	int code; // 学号
	char* name; // 名字
	char* sge // 年龄
	//...

再将每个学生所对应的结构体作为一个结点进行链接,生成链表一样的数据结构;
在这里插入图片描述
校长想要开除某个学生时,他并不会直接找到学生本人说“你现在被开除啦,赶紧回家去吧!”,而是删除了该学生信息所对应的结点,然后将通知该学生的任务下达给辅导员

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

操作系统扮演的角色就如同校长,它只负责作决策。而决策由谁来执行呢?答案是硬件驱动,如同辅导员,所以硬件驱动的角色是一位决策执行者。而软硬件资源就如同学生,是被管理者

在这里插入图片描述

🍁总结——

计算机管理硬件

  • 先描述起来,用struct结构体;
  • 再组织起来,用链表或其他高效的数据结构

从用户到硬件的管理通常是层状的:

在这里插入图片描述

🌺系统调用和库函数概念

🍁系统调用

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

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

🍁库函数

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

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

本章的内容就到这里了,下一章我们就将进入进程的学习,本章的内容是为下一章的学习做铺垫,当我们对底层做了足够的了解,才能更好的明白上层开发所做的某些事的意义。

在这里插入图片描述

点击下方个人名片,可添加博主的个人QQ,交流会更方便哦~
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

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

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

相关文章

论文结构商讨

论文查重 pass软件 提出问题 1、由于选取的算法太多了,不知道是简单介绍,还是深入介绍 希望找到一个具体的模板 2、数据库要是用一个就在前面介绍,用不一样的就在每章里面分别介绍 4、数据集介绍放在那个具体位置? 如果可以画出…

蓝精灵事件来袭: 深受喜爱的蓝色角色来 Web3 啦!

起源于漫画并成为国际知名的卡通和电影明星的蓝色x小家伙正在进入 NFT 舞台。 作者:Coindesk——Toby Bochan 因漫画、卡通片和电影而闻名的热门动画系列“蓝精灵”正在展开新的冒险,由蓝精灵协会推出一系列新的非同质化通证(NFT)…

汽车ECU的内部构成与功能模块

摘要: ECU作为与外部通信的接口,为了通过微控制器运算实现符合实际状态的最佳控制,需要检测外部状态的输入手段及实际控制驱动的输出手段。 1. 常规功能模块 ① 电源:向ECU内的各模块提供稳定的电压(5V、3V等&#xf…

sequelize + Nodejs + MySQL 的简单用法

How to Use Sequelize ORM in NodeJS - Tutorial 1 Sequlize 简介 Sequelize 是最流行的可以与 Nodejs 一起使用的一种关系数据库 ORM (Object-relational mapping 对象关系映射),Mongoose 是 MongoDB 的 ORM. Sequelize 的作用,简单地说,就…

Netty编解码器,Netty自定义编解码器解决粘包拆包问题,Netty编解码器的执行过程详解

文章目录 一、编解码器概述1、编解码器概述2、编码器类关系图3、解码器类关系图 二、以编解码器为例理解入站出站1、Server端2、Client端3、编解码器3、执行查看结果4、注意事项 三、Netty其他内置编解码器1、ReplayingDecoder2、其他编码器3、内置编解码器处理粘包拆包问题 四…

[LeetCode复盘] LCCUP‘23春季赛 20230422

[LeetCode复盘] LCCUP23春季赛 20230422 一、总结二、 1. 补给马车1. 题目描述2. 思路分析3. 代码实现 三、2. 探险营地1. 题目描述2. 思路分析3. 代码实现 四、 3. 最强祝福力场1. 题目描述2. 思路分析3. 代码实现 五、 4. 传送卷轴1. 题目描述2. 思路分析3. 代码实现 六、 5…

REDIS03_AOF概述、工作流程、写回策略、正常异常流程、重写机制、配置文件详解

文章目录 ①. AOF - 概述作用②. AOF - 工作流程③. 缓冲区 - 写回策略④. 配置文件说明(6 VS 7)⑤. 正常、异常恢复⑥. AOF - 优劣势⑦. AOF - 重写机制⑧. AOF优化配置项详解⑨. RBD和AOF共存模式 ①. AOF - 概述作用 ①. 官网介绍 ②. 以日志的形式来记录每个写操作,将Red…

解决RabbitMQ的The channelMax limit is reached. Try later.

The channelMax limit is reached. Try later.顾名思义就是channel达到数量限制 查看源码得出 大概意思就是: 默认最大通道数;2047,因为它在服务器端是第2048个,每个连接用于协商和错误通信。 也可以在rabbitmq的管控台看出 总结…

单页面与路由

目录 (一)什么是SPA应用? (二)路由 (1)什么是路由? (2)路由的分类 (3)路由的安装和使用 (三)、路由的使…

微服务 - 搭建Consul集群服务,Consul配置中心

传统配置文件的弊端 静态化配置,例如env文件配置文件无法区分环境配置文件过于分散历史版本无法查看 配置中心如何解决的呢?配置中心的思路是把项目中的配置参数全部放在一个集中的地方来管理,并提供一套标准的接口,当各个服务需要获取配置…

d2l 使用attention的seq2seq

这一章节与前面写好的function关联太大,建议看书P291. 这章节主要讲述了添加attention的seq2seq,且只在decoder里面添加,所以全文都在讲这个decoter 目录 1.训练 2.预测 1.训练 #save class AttentionDecoder(d2l.Decoder):"""带有注…

HTTP与HTTPS相关介绍(详细)

HTTP与HTTPS相关介绍 HTTP与HTTPS简述HTTPS和HTTP的区别主要如下HTTPS的工作原理前言工作步骤总结 HTTPS的缺点SSL与TLSSSL:TLS:TLS和SSL的关系 对称加密与非对称加密对称加密非对称加密 HTTP与HTTPS简述 超文本传输协议(Hyper Text [Transf…

如何无侵入地引入第三方组件?

做java开发的小伙伴都知道,java的生态比较繁荣,有各种各样的第三方组件来满足我们日常的开发需求。很多常用的中间件(redis,kafka等)都提供java的开发接口,而且这些接口通常会被封装成比较好用的组件来满足我们使用这些中间件的场…

SpringBoot集成MyBatis-yml自动化配置原理详解

SpringBoot集成MyBatis-yml自动化配置原理详解 简介:spring boot整合mybatis开发web系统目前来说是市面上主流的框架,每个Java程序和springboot mybatis相处的时间可谓是比和自己女朋友相处的时间都多,但是springboot mybatis并没有得到你的真…

RabbitMQ--详情概述

一、消息队列(Rabbit Message Queue) 1、概念 消息队列是一种应用之间的通信方式,消息发送之后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只发布消息到MQ,消息使用者值从MQ中拿消息,两者不知道对方的存在。 简…

Sentinel——限流规则

目录 快速入门 簇点链路 案例 流控模式 流控模式——关联 流控模式——链路 案例 流控效果 流控效果——warm-up 流控效果——排队等待 热点参数限流 快速入门 簇点链路 簇点链路:就是项目内的调用链路,链路中被监控的每个接口就是一个资源。…

【故障检测】基于 KPCA 的故障检测【T2 和 Q 统计指数的可视化】(Matlab代码实现)

💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥 🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 …

[前端基础]异步操作(还没写完)

1.写在前面 这篇是因为最近再写异步操作,需要点总结 因为还在学习前端的过程中嘛,所以有些东西可能会慢慢补充上来,也可能会有很多个人理解不是很到位的地方,还望各位评论区佬能帮忙指出.阿里嘎多捏 2.异步操作的概念和举例 异步操作和同步操作在408的三门课程中,都有所提及…

基于php的校园垃圾分类网站的设计与实现

摘要 近年来,随着民众环保意识的增强和资源有效利用问题的重视,全国各地市不断推进垃圾分类工作。教育部,也已于去年发布通知在全国各学校推进垃圾分类工作,以鼓励垃圾分类的有效实施。但现阶段我国校园的垃圾分类践行情况依旧问…

STATS 782 - Control Flow and Functions

文章目录 一、Control Flow1. If-Then-Else2. Loops 二、Functions1. Defining Functions2. 使用函数计算数学公式 总结 一、Control Flow 1. If-Then-Else > if (x > 0) y sqrt(x) else y -sqrt(-x)或 > y if (x > 0) sqrt(x) else -sqrt(-x)2. Loops ① fo…