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

news2024/9/20 15:02:13

什么是冯诺依曼体系结构?

如图即为冯诺依曼大致的体系结构图,  我们知道这些都是由我们的计算机硬件组成

输入设备:键盘, 鼠标, 摄像头, 话筒, 磁盘, 网卡...

输出设备:显示器, 声卡, 磁盘, 网卡...

CPU:运算器和控制器

存储器:内存

在上图冯诺依曼体系结构图中我们可以看到红色箭头都代表的是数据的流动,那我们就要研究数据在我们的计算机的冯诺依曼体系结构中是怎么流动的呢?

这里给出结论:数据流动从一个设备到另一个设备,本质是一种拷贝!!!

而CPU处理数据是非常快的,那我们又可以得出一个结论:设备间的拷贝效率决定了计算机整机的效率。

 在我们的冯诺依曼结构中我们的输入输出设备是不能直接与CPU打交道的, 原因在于CPU的速度实在是太快了, 而输入输出设备又相对比较慢,这样与CPU打交道,就像木桶效应版,会拖慢整机速度。

所以我们的祖师爷冯诺依曼就想出了这么个解决办法,这就引出了内存, 让内存与CPU直接打交道,这样输入输出设备都无需与CPU交互,直接面向内存就可完成任务。

如何理解冯诺依曼的体系结构带来的意义?

 

 上图为存储金字塔。

存储:距离CPU越近,效率越高, 容量越小, 成本越高。

故冯诺依曼体系的结构不就是能够使现在的我们,家家户户都可买得起电脑。这不是大大的使计算机得到了大范围的普及,所以冯诺依曼体系结构对于我们的社会现实意义确实是重大的!

也就是说, 没有祖师爷冯诺依曼就没有现在的我们!!!

 在硬件数据流动角度, 在数据层面:

  1. CPU不和外设直接打交道,只和内存打交道
  2. 外设(输入和输出)不是直接把数据给CPU的,而是先要放入内存中

 能干什么?

1.程序运行为什么要加载到内存?

程序 = 代码 + 数据 程序“数据”都需要被CPU访问      -》CPU只会在内存中读取代码和数据

程序没有被加载到内存时, 是什么?答案是:磁盘中的二进制文件,即在外设中。

-》CPU只会在内存中读取代码和数据

这些都是冯诺依曼体系结构决定的!!!

 一种场景

 假设我通过qq这款应用程序要给小明发个消息为“你好”,数据是怎么传输的呢?

我们按照冯诺依曼体系结构来说, 即我们将通过输入设备即键盘输入数据,然后再写入内存,内存交给CPU进行加密操作, CPU还给内存, 内存再把加密后的数据交给输出设备即网卡,原因我们是在网络中传输数据, 所以需要网卡, 然后中间是一系列网络传输,由于尚未学习,略去, 经过网络传输的数据就来到接收方小明的输入设备即网卡, 然后写入到内存中, 内存交给CPU进行解密, 解密完成, 返还给内存, 内存把 数据再交给输出设备即显示器,显示到屏幕上, 这样一个在冯诺依曼体系结构下的数据传输的过程就完成了!!!

 操作系统

1.概念

操作系统本质是一款软件。

进行软硬件 资源 管理的软件

广义的理解:操作系统的内核 + 操作系统的外壳周边程序(给用户提供使用操作系统的方式)

狭义:操作系统的内核

2.结构示意图(不完整)

 如上图为体系结构的层状划分结构

操作系统的内核实质上就是操作系统,进行着各种资源的管理。

 为什么要有操作系统?

对软硬件资源进行管理(手段)。

为用户提供一个良好(稳定的,高效的,安全的)的运行环境(目的)。

3.尝试理解操作系统

 理解操作系统之前我们先要理解

什么是“管理”?

我们生活中的所有事情都要经过两步:1.决策 2.执行

那么举个栗子:我们学校的校长要管理这个学校的学生,他要怎么做?

我们是不是到了大学,我们可能就开学,毕业见过两次,但平常是完全没有接触的。

校长要想管理一个学校这么多人,不可能一个一个去接触吧,人这么多,怎么管理的过来呢?

假如校长是个程序员!!!

可以写个结构体将我们的各项属性写入结构体中去。

但校长是如何进行管理,然后进行资源分配呢?

所以说,校长管理我们不需要与我们直接接触!!!

即管理者与被管理者无需直接接触!!!

校长管理我们实际上是拿取我们的各项数据进行管理的。

而我们的数据哪里来的呢?

这些数据是由辅导员来与我们进行统计打包发给校长,校长再进行数据的管理。

这样校长对于学生的管理就变为对链表的增删查改!!!

这里我们就可以认为校长是操作系统, 辅导员即是驱动程序, 学生与学校的各种设施就是各种软硬件资源。

这样就进行了我们的一个完整的管理流程。

结论就是  管理:先描述,在组织

描述就是封装为一个一个对象,即用一个类或者对象进行封装,而组织就是在操作系统中用我们的各种数据结构进行组织。

完整结构示意图

 如上图为一个完整的结构示意图

我们知道操作系统是一个对下进行软硬件资源管理(手段),对上提供一个良好(稳定的,高效的,安全的)的运行环境(目的)。

但我们用户需要使用操作系统来管理软硬件,我们能直接接触操作系统吗?

答案是,不能,操作系统不允许你这样做,我们应该都去过银行取钱吧,我们去银行取钱,我们能自行到仓库去取钱吗?不能吧,那不是全乱套了,想取多少就取多少!!!

所以就有前台服务,只开一个小窗口与内部交互。

这在操作系统就叫做系统调用接口,操作系统为我们提供了一系列系统调用接口,

我们可以拿来用,但又有个问题发生了!!!

操作系统是由不同厂商进行生产的,系统调用接口就会有一些不同,那怎么办,这样就出现了跨平台问题,这就为上层又出现了一个外壳,各种库,即一些c/c++标准库的内容,这些库能够很好的解决跨平台问题!!!

所以我们在下载编译器实际是下载的什么? 对应的标准库和编译器

如我们之前学习的c语言就有printf/scanf都与硬件进行了交互,这些都是标准库提供的函数接口用到调用系统调用接口,因为不同厂商他们提供的操作系统的接口不同!!!

所以总的来说:还是下面两句话!!!

对软硬件资源进行管理(手段)。

为用户提供一个良好(稳定的,高效的,安全的)的运行环境(目的)。

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

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

相关文章

[HGAME 2023 week2]Designer

[HGAME 2023 week2]Designer 考点:XSS跨站脚本攻击,模板注入 代码审计 function auth(req, res, next) {const token req.headers["authorization"]if (!token) {return res.redirect("/")}try {const decoded jwt.verify(token,…

你在测试金字塔的哪一层(下)

​在《你在测试金字塔的哪一层(上)》中介绍了自动化测试的重要性以及测试金字塔。测试金字塔分为单元测试、服务测试、UI测试,它们分别是什么呢?本期文章让我们一起详细看看测试金字塔的不同层次。 一、单元测试 单元测试是指对程…

蓝桥杯练习07小兔子爬楼梯

小兔子爬楼梯 介绍 小兔子想去月球上旅行,假设小兔子拥有一个阶梯子,当你爬完层就可以到达月球,小兔子每次可以跳1或者2个台阶,小兔子有多少种跳法可以到达月球呢? 给定n是一个正整数,代表梯子的阶数&…

apisix创建https

总结了下apisix 使用https 的问题和方法 1、apisix 默认https 端口是9443 2、apisix 需要上传证书后才可以使用https 否二curl测试会报错 SSL routines:CONNECT_CR_SRVR_HELLO 3、apisix 上传证书方法 我是使用的自签名证书,注意自签名证书的Common Name 要写你…

【教程】高效数据加密混淆方法及实现简介

背景 在需要对数据进行传输或者表达时,通常要求数据加密的安全级别不高,但希望加解密时间复杂度尽可能低。这时使用传统的对称加密(如3DES、AES)或非对称加密(如RSA、ECC)显然不太适合。因为加密的安全级别…

基于深度学习的海洋鱼类识别算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 ............................................................ % 对测试集进行分类预测 [Pr…

深入理解 TreeMap

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE相关知识点了,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好…

厨余垃圾处理设备工业监控PLC连接APP小程序智能软硬件开发之功能结构篇

厨余垃圾处理设备工业监控PLC连接APP小程序智能软硬件开发之功能结构篇 好几年前,应朋友之邀,为其工厂的厨余垃圾处理设备研发一套用于对现场的生产及维护进行远程查看、管理和质量监控的厨余垃圾处理设备工业监控PLC连接APP小程序智能软硬件系统。 因为…

STM32之HAL开发——Keil调试工具介绍

Debug介绍 在Keil工具中有许多常用的小工具,下面将会依次为大家介绍每个工具的用途。 命令行窗口 在窗口内可以输入一些指令,来进行断点设置以及删除,一般不常用 反汇编窗口 可以查看当前C代码的汇编指令 标志窗口 寄存器窗口 可以用来查看C…

【Linux】信号量与信号

目录 先导知识 信号量 信号 信号概念及产生信号的一般方式 进程递达、阻塞和捕捉 信号集操作函数 信号的捕捉 可重入函数 先导知识 信号量与信号没有任何关系,它们是两个完全不同的概念! 操作系统的本质,就是一个死循环;…

Cookie在网络爬虫中的重要作用

在互联网的海量数据中,网络爬虫如同一只勤劳的小蜜蜂,不断采集着网页上的信息。而在这过程中,Cookie扮演了不可或缺的角色,它就像是爬虫手中的“通行证”,帮助其顺利获取所需数据。本文将深入探讨Cookie在网络爬虫中的…

LLM2LLM: Boosting LLMs with Novel Iterative Data Enhancement

LLM2LLM: Boosting LLMs with Novel Iterative Data Enhancement 相关链接:arXiv GitHub 关键字:LLM、Data Augmentation、Fine-tuning、NLP、Low-data Regime 摘要 预训练的大型语言模型(LLMs)目前是解决绝大多数自然语言处理任…

axios+springboot上传图片到本地(vue)

结果&#xff1a; 前端文件&#xff1a; <template> <div> <input type"file" id"file" ref"file" v-on:change"handleFileUpload()"/> <button click"submitFile">上传</button> </div&g…

centos7 的redis的安装

文章目录 查看本机redis⾸先安装 scl 源, 再安装 redis 基本配置启动redis停止redis 查看本机redis ⾸先安装 scl 源, 再安装 redis 安装scl源 yum install centos-release-scl-rh安装redis5 yum install rh-redis5-redis安装成功 基本配置 修改etc/redis/redis.conf 文件…

javaWeb网上订餐管理系统

一、简介 在当今社会&#xff0c;随着互联网的普及&#xff0c;网上订餐已经成为了人们生活中不可或缺的一部分。为了方便用户点餐&#xff0c;同时也方便商家管理订单&#xff0c;我设计了一个基于JavaWeb的网上订餐管理系统。该系统分为前台和后台两部分&#xff0c;前台包括…

解决多线程场景下ThreadLocal的变量传递问题

问题描述&#xff1a; ThreadLocal可以用于存储线程独享的变量。可以方便的存储上下文信息&#xff0c;提升代码的简洁性。 然而&#xff0c;ThreadLocal的一个不足之处在于&#xff0c;它不支持在线程嵌套过程中自动地将数据从父线程传递到子线程。这意味着&#xff0c;即使…

面试笔记——框架篇Spring系列(Spring、SpringMVC、SpringBoot)

Spring 线程安全 singleton : bean在每个Spring IOC容器中只有一个实例。 prototype&#xff1a;一个bean的定义可以有多个实例。 问题一&#xff1a; Spring中的单例bean是否是线程安全的&#xff1f; ControllerRequestMapping("/user")public class UserContro…

Springboot+vue的旅游信息推荐系统设计与实现+数据库+论文+数据库表结构文档+免费远程调试

项目介绍: Springbootvue的旅游信息推荐系统设计与实现。Javaee项目&#xff0c;springboot vue前后端分离项目 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring SpringBoot Mybati…

为何ChatGPT日耗电超50万度?

看新闻说&#xff0c;ChatGPT每天的耗电量是50万度&#xff0c;国内每个家庭日均的耗电量不到10度&#xff0c;ChatGPT耗电相当于国内5万个家庭用量。 网上流传&#xff0c;英伟达创始人黄仁勋说&#xff1a;“AI的尽头是光伏和储能”&#xff0c;大佬的眼光就是毒辣&#xff…

【云能耗管理系统在某大型商场的应用】安科瑞Acrel-EIOT能源物联网平台方案

摘要&#xff1a;依据对上海市某大型商场现场考察的结果&#xff0c;提出通过建设云能耗管理系统的方案来改善商场能耗的管理现状。首先充分搜集建筑信息和设备运行工况&#xff0c;合理设计系统实施方案&#xff0c;解决现场数据采集和传输障碍&#xff0c;完成云能耗管理系统…