『Linux升级路』冯诺依曼体系结构与操作系统

news2024/11/15 14:03:51

🔥博客主页:小王又困了

📚系列专栏:Linux

🌟人之为学,不日近则日退

❤️感谢大家点赞👍收藏⭐评论✍️

目录

一、冯诺依曼体系结构

📒1.1为什么要有体系结构

📒1.2硬件介绍

📝1.2.1中央处理器

📝1.2.2输入、输出设备 

📝1.2.3存储器 

📝1.24.总线概念 

📒1.3内存的重要性 

二、操作系统

📒2.1操作系统的概念

📒2.2设计操作系统的目的

📒2.3计算机的底层结构


一、冯诺依曼体系结构

📒1.1为什么要有体系结构

     我们现在常见的计算机,如笔记本,它们本质都是一堆硬件(如:cpu、内存、网卡、磁盘等)的集合。并不是把这些硬件毫无章法的放在一起就能够组成计算机,而是要让各个硬件和软件之间建立协同能力,让它们具有逻辑结构,这就要求硬件与硬件之间要组织好,构建成一个系统,这样才能对外提供计算输出服务,所以就要有体系结构将它们连接。计算机体系结构是计算机系统中的核心。

我们常见的计算机,大部分都遵守冯诺依曼体系。

📒1.2硬件介绍

📝1.2.1中央处理器

     中央处理器简称CPU,它由运算器和控制器共同组成。在不考虑缓存的情况下,CPU只能对存储器(内存)进行读写,不能访问外设(输入、输出设备)。它的主要功能就是解释计算机指令以及处理计算机软件中的数据。这意味着,电脑中所有操作都由CPU负责读取指令并进行处理。

  • 运算器是对用户输入的数据执行计算任务,分为算数运算逻辑运算,前者就是加减乘除,后者就是真假判断。
  • 控制器是对计算过程,即硬件流程进行控制,它控制着指令的执行和数据的传输,协调各组件与各单元间的工作。

📝1.2.2输入、输出设备 

     输入、输出设备,也被称为IO设备,是计算机的关键外部设备之一,它允许与计算机本体进行交互使用。这类设备使得用户可以向计算机输入数据和信息,同时也能从计算机获取处理结果。常见的输入设备包括键盘、鼠标、麦克风、摄像头、磁盘、网卡等。例如:键盘是字符输入设备,可以将文字信息输入到计算机中;而鼠标则是一种图形输入设备,用户可以通过移动鼠标来控制光标的移动,并与屏幕上的对象进行交互。 常见的输出设备包括:显示器、打印机、音响、磁盘、网卡等。例如:显示器,它可以将计算机处理后的信息以图像或文字的形式展示给用户。无论是输入还是输出设备,它们都对计算机系统的运行至关重要,并且极大地方便了用户的使用。

注意:磁盘、网卡等设备既时输入设备,也是输出设备。

📝1.2.3存储器 

      存储器是计算机系统中的记忆设备,主要用于存放程序和数据。它可以分为内存储器和外存储器两大类,这里的存储器指的是内存。在冯诺依曼体系结构中占据核心地位。

📝1.24.总线概念 

     总线是计算机中设备与设备之间传输信息的公共通道。它是一条由导线组成的传输线束,用于连接计算机硬件系统内的各种设备,实现它们之间的信息交换和通信。总线作为一种内部结构,是CPU与主存、I/O设备(输入、输出设备)各大部件之间进行信息交换的关键通道。它极大的方便了设备的连接和使用,提升了计算机整体的运行效率。

📒1.3内存的重要性 

     我们要先了解计算机中的存储数据的硬件,硬件有很多种,例如:寄存器、缓存、内存、硬盘、网盘等,它们按照访问速度的快慢形成了一个存储金字塔,如下图所示:

寄存器的读取速度更快,为什么体系结构不是下面这种情况呢?

     在我们的人之中,CPU直接与输入设备和输出设备直接进行交互,这样的效率更高。 但事实情况并不是这样,由于木桶原理:一只木桶能装多少水,并不取决于桶壁上最高的那块木块,而恰恰取决于桶壁上最短的那块。这样计算机的效率并没有提高,反而效率降低了。

     这时我们引入一种速度快于外设,慢于CPU的存储设备——内存。它起着第三方中转站的作用,我们可以把数据从输入设备先预加载到内存,CPU完成计算后存放到缓存中,当需要输出时,直接从缓存中读取。CPU的运算和内存从外设读取数据是可以同时进行的。合理利用预加载和缓存可以大大提高效率,引入内存也节省了成本。

总结:一个程序想要运行,就必须先加载到内存。 

二、操作系统

     操作系统是管理和控制计算机系统中各种硬件和软件资源、合理地组织计算机工作流程的系统软件,也是用户与计算机之间的接口。

 操作系统是一款纯正的“搞管理”的软件 

📒2.1操作系统的概念

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

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

📒2.2设计操作系统的目的

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

📒2.3计算机的底层结构

📝什么是驱动程序?

     驱动程序是一种特殊的程序,它的主要功能是让计算机和设备进行相互通信。我们可以将驱动程序视为硬件的接口,只有通过这个接口,操作系统才能控制硬件设备的工作。例如:当我们插入一个打印机到电脑上时,电脑并不能直接理解这个硬件是什么以及它能做什么,而只有在安装了驱动程序后,电脑才能理解这个硬件设备,因为驱动程序中包含了配置信息和描述。

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

     操作系统是计算机系统的内核与基石,其关键作用之一就是管理计算机的硬件和软件资源。它的主要任务包括管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络以及管理文件系统等。操作系统位于底层硬件与用户之间,作为两者沟通的桥梁,它提供了一种让用户与系统交互的操作界面,如命令行或图形用户界面。这使得用户可以通过操作系统的用户界面,输入所需的命令。对计算机的软硬件资源进行管理对于提高计算机系统的效率和可用性至关重要。

📝操作系统是怎样进行管理的?

      我们以学校为例,校长作为学校的管理者,学生作为被管理对象,那校长是如何管理学生的呢?每个学校的教务系统中存储了学生的各种信息,如姓名、学号、年龄、考试成绩、挂科情况等等。要评选奖学金的时候,校长只需要在教务系统中依据每个学生的成绩排个名,根据排名就可以把奖学金发给对应的学生。因此我们可以得出下面的结论:

  • 管理者和被管理者并不需要见面。

  • 管理本质上是对信息(数据)进行维护。

那这些信息是哪里来的呢?这些信息就是我们入学时,辅导员让我们填写的个人信息,然后汇总在一起。辅导员也是执行者。

管理者和执行者的本质区别在于,管理者拥有决策权,而执行者是没有决策权的,执行者只能按照管理者的要求去执行任务。回到计算机,操作系统就相当于是校长,属于管理者;驱动程序就相当于是辅导员,属于执行者;硬件就相当于学生,属于被管理者。

计算机管理硬件:(先描述,在组织

  1.  描述起来,用struct结构体
  2.  组织起来,用链表或其他高效的数据结构

操作系统对硬件设备的管理最终都会转换成对某种数据结构的增删查改。这种管理方式就决定了操作系统中含有大量的数据结构。


🎁结语: 

     本次的内容到这里就结束啦。希望大家阅读完可以有所收获,同时也感谢各位读者三连支持。文章有问题可以在评论区留言,博主一定认真认真修改,以后写出更好的文章。你们的支持就是博主最大的动力。

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

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

相关文章

23款奔驰GLC260L升级原厂540全景影像 高清环绕的视野

嗨 今天给大家介绍一台奔驰GLC260L升级原厂360全景影像 新款GLC升级原厂360全景影像 也只需要安装前面 左右三个摄像头 后面的那个还是正常用的,不过不一样的是 升级完成之后会有多了个功能 那就是新款透明底盘,星骏汇小许 Xjh15863 左右两边只需要更换…

Next Station of Flink CDC

摘要:本文整理自阿里云智能 Flink SQL、Flink CDC 负责人伍翀(花名:云邪),在 Flink Forward Asia 2023 主会场的分享。Flink CDC 是一款基于 Flink 打造一系列数据库的连接器。本次分享主要介绍 Flink CDC 开源社区在过…

【TensorFlow 精简版】TensorFlow Lite

目录 一 TensorFlow Lite简介 二 开发 三 开始使用 一 TensorFlow Lite简介 TensorFlow Lite 是一组工具,可帮助开发者在移动设备、嵌入式设备和 loT 设备上运行模型,以便实现设备端机器学习。 针对设备端的机器学习进行的优化: ① 延时&…

NLP 自然语言处理实战

自然语言处理 ( Natural Language Processing, NLP) 是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法,用于分析理解机器与人之间的交互,常用的领域有:实体识别、文本纠错…

STM32 IIC开发学习

1IIC总线时序图 ① 起始信号 当 SCL 为高电平期间,SDA 由高到低的跳变。起始信号是一种电平跳变时序信号,而不是 一个电平信号。该信号由主机发出,在起始信号产生后,总线就会处于被占用状态,准备数据 传输。 ② 停止信…

深度!把握这三点,即可选出适合能源行业的数据摆渡解决方案

在能源行业中,网络隔离通常采用物理隔离方式,即将能源行业网络与外部网络进行物理隔离,避免外部网络对能源行业网络的攻击和入侵。 同时,网络隔离也可以采用逻辑隔离方式,即在能源行业网络和外部网络之间设置防火墙、入…

【ES6】Class继承-super关键字

目录 一、前言二、ES6与ES5继承机制区别三、super作为函数1、构造函数this1)、首先要明确this指向①、普通函数②、箭头函数③、注意事项 2)、其次要明确new操作符做了哪些事情 2、super()的用法及注意点1)、用法2)、注意点 四、s…

算法的四大思想之一:动态规划

一、动态规划 什么是动态规划? 动态规划(Dynamic Programming,简称DP)是一种解决问题的算法思想,它将一个大问题拆分成多个相互重叠的子问题,并且通过解决这些子问题来求解原始问题 核心思想 拆分大问题…

vue3+luckyexcel+php在线编辑excel文件

开发过程中,需要开发一个在线编辑excel文档的功能,找到了这个合适的组件 Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。 可以导入文档,预览、编辑、保存、导出等功能,可以满…

RabbitMQ 和 Kafka 对比

本文对RabbitMQ 和 Kafka 进行下比较 文章目录 前言RabbitMQ架构队列消费队列生产 Kafka本文小结 前言 开源社区有好多优秀的队列中间件,比如RabbitMQ和Kafka,每个队列都貌似有其特性,在进行工程选择时,往往眼花缭乱,不…

【MATLAB】PSO粒子群优化BiLSTM(PSO_BiLSTM)的时间序列预测

有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 基于PSO粒子群优化的BiLSTM的时间序列预测算法的基本原理如下: 「双向长短时记忆(BiLSTM)模型」:这是一种深度学习模型,特别适用…

从现场到远程:PLC网关设备售后服务升级换代

问题 作为自动化企业,以前在调试PLC程序时,不得不在现场调试,遇到软件维护和售后服务时,甚至给公司带来一定的经营成本和维护成本的压力,PLC网关正好解决了这一难题。 PLC工业网关是可以让工业PLC设备轻松接入互联网…

GPT分区格式

GPT分区格式 [rootlocalhost ~]# gdisk /dev/sdb -bash: gdisk: 未找到命令 [rootlocalhost ~]# yum -y install gdisk- gdisk命令用于查看磁盘使用情况和磁盘分区(GPT分区格式) - 命令格式:gdisk [选项...] [设备路径] - 常用选项&…

linux 网络工具(二)

linux 网络工具 1. ip命令簇4.1 address4.2 link4.3 route4.4 rule 2. 其他常用命令2.1 ifup/ifdown2.2 配置主机名2.3 设置DNS服务器指向2.4 配置域名解析2.5 ss2.6 路由相关配置文件2.7 查看机器可用端口2.8 traceroute2.9 dhclient 1. ip命令簇 Linux的ip命令和ifconfig类似…

案例189:基于微信小程序的高校教务管理系统设计与实现

文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder …

Three.js基础入门介绍——Three.js学习三【借助控制器操作相机】

在Three.js基础入门介绍——Three.js学习二【极简入门】中介绍了如何搭建Three.js开发环境并实现一个包含旋转立方体的场景示例,以此为前提,本篇将引进一个控制器的概念并使用”轨道控制器”(OrbitControls)来达到从不同方向展示场…

使用 SSH 方式实现 Git 远程连接GitHub

git是目前世界上最先进的分布式版本控制系统,相比于SVN,分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作!当有网络的时候,再把本地提交推送一下就完成了同步&…

【信息安全原理】——入侵检测与网络欺骗(学习笔记)

📖 前言:在网络安全防护领域,防火墙是保护网络安全的一种最常用的设备。网络管理员希望通过在网络边界合理使用防火墙,屏蔽源于外网的各类网络攻击。但是,防火墙由于自身的种种限制,并不能阻止所有攻击行为…

open_vins 安装(ubuntu18.04 opencv3.2.0)

openvins官网 Getting Started Installation Guide (ROS1 and ROS2) | OpenVINS Ubuntu 18.04 ROS 1 Melodic (uses OpenCV 3.2) 这里他指的是ros1 melodic,他们用的opencv3.2测试过。 open_vins 官方给的组合Ubuntu 18.04 ROS 1 Melodic (uses OpenCV 3.2) Ub…

k8s二进制部署2

部署 Worker Node 组件 //在所有 node 节点上操作 #创建kubernetes工作目录 mkdir -p /opt/kubernetes/{bin,cfg,ssl,logs} #上传 node.zip 到 /opt 目录中,解压 node.zip 压缩包,获得kubelet.sh、proxy.sh cd /opt/ unzip node.zip chmod x kubelet.…