【Linux】冯诺依曼与操作系统

news2024/11/15 7:12:36

目录

  • 一、冯诺依曼结构体系
    • 1、冯诺依曼结构体系简介
    • 2、为什么要有内存呢?
  • 二、操作系统
    • 1、操作系统如何对硬件进行管理?
    • 2、操作系统为什么要对软硬件进行管理?

一、冯诺依曼结构体系

1、冯诺依曼结构体系简介

在现实生活中,我们常见的计算机,如笔记本,不常见的计算机,如服务器,大部分都循序冯诺依曼体系结构。
在这里插入图片描述
对于我们现在所认识的计算机,都是由一个个硬件组件组成

  • 输入设备:键盘、鼠标、摄像头、网卡、磁盘
  • 输出设备:显示器、磁盘、网卡、声卡、音响
  • 中央处理器(CPU):含有运算器和控制器

2、为什么要有内存呢?

为什么要有存储器(内存)呢?我们将输入设备的数据直接交给CPU,不是更快吗,那么可以这样做吗?
当然,是一定可以的,但是有代价的。我们首先要知道输入、输出设备都称为外设,而外设一般是比较慢的CPU却非常快,他们整体效率就会以外设为主,这与木桶效应是一个道理
在这里插入图片描述
那么,因为有了内存的存在,我们就可以对数据做预加载,CPU以后在进行数据计算的时候,根本就不需要访问外设了,而只需要直接从内存里面那数据进行计算。

从而得知:在数据层面,一般CPU不和外设直接沟通,而是直接和内存打交道。

那么,在硬件层面,单机和跨主机之间的数据流是如何流向的呢?
这里我们举一个例子,我们在QQ与朋友聊天,发送一条消息,整个信息是如何在体系结构中流动的呢?
我们从键盘输入数据,预加载到内存,然后,数据通过CPU计算,计算后,把结果写回到内存,然后把一份结果显示到本地显示器上,另一份结果通过网卡传输到网络,再传输到对方输入设备上,也就是对方的网卡,再预加载到内存,通过CPU计算,再写回内存,再把数据刷新到输出设备,也就是对方的显示器中。
在这里插入图片描述

二、操作系统

对于数据我们都知道它会预加载到内存中,那么数据有很多怎么办呢?我们应该预加载哪一部分的数据呢?在预加载时,内存不够了,应该怎么办呢?CUP又是如何找到这些预加载的数据呢?这些都是硬件无法完成的。

此时,我们就需要一款软件来进行管理了,这个软件就是操作系统(0S)

1、操作系统如何对硬件进行管理?

对于操作系统对硬件做管理的理解,我们举一个例子,我们把学校简化为三类人:校长、辅导员、学生。
在日常生活中,我们知道校长才是真正的管理者,而学生是被管理者。但是,对于管理者的校长并没有直接与学生进行沟通,有可能学生都没在学校见过校长。那么,校长是如何进行管理的呢?

校长只需要向下传达指令给辅导员,辅导员再向下传达指令,再交由我们的学生去执行。而校长只需要辅导员把他所管的学生的数据上交给校长,然后校长拿到你的数据,对你进行管理。
管理的本质:对被管理者对象的数据进行管理

那么,校长又是如何对这些数据进行管理的呢?

对于辅导员上交的学生数据,都有一样的属性,都有学号、姓名、成绩等信息,这时候我们就可以先把学生看成一个结构体,再以链表或其他高效的数据结构的方式对学生数据进行组织管理。

结论:校长在计算机内充当操作系统,辅导员充当硬件驱动,学生充当硬件。

由上面例子,可知,计算机管理的本质:先描述,再组织。

在这里插入图片描述

2、操作系统为什么要对软硬件进行管理?

上面我们知道了操作系统对硬件的管理,那操作系统为什么要对软硬件资源进行管理呢?

因为操作系统通过对软硬件资源的管理,需要给用户提供一个良好的执行环境。
也就是对下管理好软硬件资源,对上给用户提供良好的执行环境。

但是,操作系统给用户提供良好的环境,他会真正的相信我们吗?
当然,不会!!

下面,我们举个例子来解释这个问题:

对于银行体系,银行有电脑、座椅等硬件,分别由多个部门进行管理,行长只需要对各个部门的领导进行管理,各个部门的领导再向下管理自己的硬件,这就是行长对银行的硬件进行管理,他只需要做决策。但是,当我们去银行取钱的时候,银行会给我们提供良好的服务环境,但是行长并不信任我们,工作人员会直接带我们去仓库取钱吗?我们又是如何取钱的呢?

当然,不会!!银行设置了一个个服务式窗口,而这些窗口就由相对应的工作人员进行执行,这里工作人员就相当于软件,行长就需要对这些软件进行管理。行长管理好这些部门及工作人员,我们就能得到良好的服务环境。

在这里插入图片描述

而这些通过窗口来完成特定功能的,就相当于计算机的系统调用接口。

在这里插入图片描述

那么,什么是系统调用呢?
在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用。
系统调用在使用上,功能是比较基础的,对于用户的要求也是相对比较高,所以,有心的开发者对部分系统调用进行适度封装,从而形成了库,有了库,就更利于更上层用户或者开发者进行二次开发。
在这里插入图片描述

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

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

相关文章

KEYSIGHT MSOS204A 2GHZ 4通道DSOS204A高清晰度示波器

KEYSIGHT是德DSOS204A/MSOS204A高清晰度示波器 附加功能: 2 GHz 带宽(可升级) 4 个模拟通道和 16 个数字通道 最大存储深度:800 Mpts(2 通道),400 Mpts(4 通道) 最大…

菱形继承、菱形虚拟继承、以及菱形虚拟继承的模型结构内部。

1. 单继承:一个子类只有一个直接父类。 多继承:一个子类有两个或以上直接父类。 菱形继承:菱形继承是多继承的一种特殊情况。 下面是代码和对象模型结构,可以看出菱形结构存在哪些问题,如下: #define _CR…

学习经验分享【30】Pycharm插件chatgpt,用来辅助编写代码

在Pycharm中发现ChatGPT插件,很好用,免费安全,大家可以作为编代码的辅助工作,也可用来玩GPT的接口。具体方法如下 实现效果如下: 更多精彩内容敬请持续关注。如果本博文对你有帮助的话,欢迎点赞、评论区留言…

BUUCTF-一叶障目 解析

打开文件发现一张png图片,里面没有内容,使用tweakpng打开 tweakpng报错 ,说明crc校验值对不上 有两种可能,一是crc值被修改,二是图片的宽高被修改(在ctf中多半是后者) 先尝试修改crc值为55900…

【王道·计算机网络】第五章 传输层

一、传输层概述 传输层为应用层提供通信服务,使用网络层服务传输层的功能: 提供进程和进程之间的逻辑通信(网络层提供主机之间的逻辑通信)复用(发送发不同的应用进程)和分用(接收方正确的数据传…

【网络协议详解】——PPP协议(学习笔记)

目录 🕒 1. 数据链路层协议概述🕒 2. PPP协议分析🕘 2.1 概述🕘 2.2 工作流程🕘 2.3 帧格式 🕒 3. LCP协议🕘 3.1 概述🕘 3.2 报文格式🕘 3.3 报文种类🕤 3.3…

3年经验,面试测试岗只会功能测试开口要求18K,令我陷入沉思

由于朋友临时有事, 所以今天我代替朋友进行一次面试,公司需要招聘一位自动化测试工程师,我以很认真负责的态度完成这个过程, 大概近30分钟。 主要是技术面试, 在近30分钟内, 我与被面试者是以交流学习的方式…

STM32F407+LWIP+DP83848以太网驱动移植

最近有个项目上需要用到网络功能,于是开始移植网络相关代码。在移植的过程中感觉好难,网上找各种资料都没有和自己项目符合的,移植废了废了好的大劲。不过现在回头看看,其实移植很简单,主要是当时刚开始接触网络&#…

【数据分享】2020年我国地级市医疗资源空间分布数据(Shp格式/Excel格式)

医疗资源的配置情况直接反映了一个城市的发展水平,医疗资源相关数据也是经常使用到的数据! 我们发现学者刘海猛在科学数据银行(ScienceDB)平台上分享了2020年我国341个城市(地区、州、盟)的基础医疗资源数…

电脑安装软件时,如何避免捆绑安装?

在网络上非正规网站下载安装软件时,经常会遇到捆绑安装的情况。你明明下载了一个软件,电脑上却多出好几个。那么我们在安装软件时,如何才能避免捆绑安装呢? 什么是捆绑安装? 捆绑安装是指用户安装一个软件时&#xff…

Spring boot框架 JWT实现用户账户密码登录验证

目录 1、JWT定义 1、1 JWT工作流程 1、2 JWT优点 2、添加依赖项到pom.xml 3、创建用户实体类 4、实现认证服务 5、登录请求处理 6、生成JWT 1、JWT定义 JWT(JSON Web Token)是一种用于在网络应用间传递信息的安全传输方式。它是一种紧凑且自包含…

tolua源码分析(五)lua使用C#的enum

tolua源码分析(五)lua使用C#的enum 上一节我们讨论了C#类是如何注册到lua的过程,以及lua调用C#函数时底层所做的事情。在此基础之上,本节我们来看看C#的enum是如何注册到lua的,它和一般类的注册有哪些区别。 老规矩&a…

互联网医院资质代办|互联网医院牌照的申请流程

随着互联网技术的不断发展,互联网医疗已经逐渐成为人们关注的热点话题。而互联网医院作为互联网医疗的一种重要形式,也越来越受到社会各界的关注。若想开展互联网医院业务,则需要具备互联网医院牌照。那么互联网医院牌照的申请流程和需要的资…

算法——归并排序和计数排序

Ⅰ. 归并排序 1. 基本思想 归并排序( MERGE-SORT )是建立在归并操作上的一种有效的排序算法 , 该算法是采用分治法( Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;…

Python爬虫| 一文掌握XPath

本文概要 本篇文章主要介绍利用Python爬虫爬取付费文章,适合练习爬虫基础同学,文中描述和代码示例很详细,干货满满,感兴趣的小伙伴快来一起学习吧! 🌟🌟🌟个人简介🌟&…

公司来了个00后,我愿称之为卷王之王,卷的让人崩溃...

前几天我们公司一下子来了几个新人,看样子好像都是一些00后,这些年轻人是真能熬啊,本来我们几个老油子都是每天稍微加会班就打算下班走了,这几个新人一直不走,搞得我们也不好提前走。 2023年春招已经过去了&#xff0…

网络安全前景怎么样?怎么自学?看这一篇就够了

一、网络安全前景 网络安全行业细分岗位比较多,目前需求量比较大的几类网络安全岗位有渗透测试、安全运维、等保测评等,在岗位需求量和薪资待遇方面都比较可观。 这时很多人就会问,网络安全人才需求量这么大,进入行业的人就会越来…

【redis】案例--迷你版微信抢红包

系列文章目录 文章目录 系列文章目录前言在这里插入图片描述 一、业务描述二、需求分析三、架构设计关键点拆红包算法 二倍均值算法 图解 四、编码实现 RedPackageController整体思路:发红包代码进入拆分红包算法抢红包代码 五、多学一手 前言 一、业务描述 二、需求…

鲁棒优化入门(四)——超详细讲解:两阶段鲁棒优化以及列与约束生成算法(CCG)的matlab+yalmip代码实现

本文的主要参考文献: Zeng B , Zhao L . Solving Two-stage Robust Optimization Problems by A Constraint-and-Column Generation Method[J]. Operations Research Letters, 2013, 41(5):457-461. 1.两阶段鲁棒优化问题的引入 鲁棒优化是应对数据不确定性的一种优…

从零玩转设计模式之单例模式-danlimos

title: 从零玩转设计模式之单例模式 date: 2022-12-12 12:41:03.604 updated: 2022-12-23 15:35:29.0 url: https://www.yby6.com/archives/danlimos categories: - 单例模式 - 设计模式 tags: - Java模式 - 单例模式 - 设计模式 前言 单例设计模式是23种设计模式中最常用的设…