【Linux的进程篇章 - 冯诺依曼的体系结构】
Linux学习笔记---005
- Linux冯诺依曼体系结构理解
- 1、冯诺依曼体系结构
- 1.1、冯诺依曼体系结构
- 1.2、硬件层面
- 1.3、数据层面
- 1.4、那么冯诺依曼体系能干什么呢?
- 2、操作系统(Operastor System)
- 2.1、概念
- 2.2、操作系统层的核心功能
- 3、进程的初步理解
Linux冯诺依曼体系结构理解
前言:
前篇开始进行了解学习Linux的基础知识,这篇介绍开始学习LInux的进程概念、冯诺依曼和操作系统的激烈等相关内容,深入地了解这个强大的开源操作系统。
/知识点汇总/
1、冯诺依曼体系结构
前言:
冯诺依曼体系结构,也称为普林斯顿结构,是计算机系统设计的基本概念之一。
我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。
截至目前,我们所认识的计算机,都是有一个个的硬件组件组成。
输入单元:包括键盘, 鼠标,扫描仪, 写字板等
中央处理器(CPU):含有运算器和控制器等
输出单元:显示器,打印机等
关于冯诺依曼,必须强调几点:
这里的存储器指的是内存。
不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备),
外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。
一句话,所有设备都只能直接和内存打交道。
对冯诺依曼的理解,不能停留在概念上,要深入到对软件数据流理解上。
1.1、冯诺依曼体系结构
1.输入设备:包括键盘, 鼠标,扫描仪, 写字板等
2.输出设备:显示器、声卡、网卡…
3.存储器:内存
4.中央处理器(运算器+控制器):提供计算和指令控制
1.2、硬件层面
1.硬件设备都有电路连接(主板电路),相互连接。
2.数据是在计算机体系结构中是进行流动的,设备间的数据流动,数据处理,加工等,本质是从一个设备到另一个设备的“拷贝”。
3.其次,中央处理器的运算是很快的,那么设备间数据的传输效率的快慢,就决定了计算机整个体系的基本效率。
然后,计算机的效率问题,就追究于那部分的设备导致数据的拷贝效率低,拖后腿?
1.存储金字塔,距离CPU越近(寄存器),效率越高,成本也高。
2.所以,提出木桶原理,从这个就角度出发,可知CPU很多时候在等,等待其它设备的工作。
那么为什么家庭电脑不统一使用最快的寄存器制造呢?而是使用一个存储器(内存)来相对提高效率呢?
答:考虑成本、受众人群、性价比,从而才能推动互联网等经济效益。性价比。
1.3、数据层面
在硬件数据流动角度,在数据层面:
1.CPU不和外设直接打交道,CPU只和内存打交道;
2.外设输入和输出的数据,不是直接给CPU的,而是先要放入内存中。
1.4、那么冯诺依曼体系能干什么呢?
1.程序的运行,为什么需要加载到内存中?
程序 = 代码 + 数据 —> 程序的数据,都要被CPU执行和访问
2.程序还没有被加载到内存时,存储在哪里呢?
磁盘等存储器
知识点:
关键在于因为冯诺依曼体系结构规定,CPU只会从内存中读取/处理“数据”。所以会先加载到内存。
另外,那么数据会被加载到内存的哪里,然后怎么继续处理,都是交给了操作系统软件决定的,不归硬件管理了。
在实际应用场景中,两个人通过交友软件互相发送信息的场景中,整个消息的数据流动过程是怎么样的?
答:本质是通过冯诺依曼体系。所以数据的流动,硬件层面本质都是通过的冯诺依曼体系结构完成数据的“拷贝”。
2、操作系统(Operastor System)
2.1、概念
是一款软件,是一款软硬件资源 管理 的软件。
广义的角度:操作系统的内核 + 操作系统的外壳程序(用户自开发等应用软件,给用户提供使用操作系统的方式)
狭义的角度:只是操作系统的内核
2.2、操作系统层的核心功能
1.进程管理 :
1.进程管理是指操作系统对正在执行的程序实例的管理。
2.每个进程都有自己的地址空间、代码、数据和执行状态,可以独立运行或与其他进程进行通信。
3.进程管理包括进程的创建、调度、同步与通信以及终止等操作。
4.操作系统根据用户的请求或系统的需要创建新进程,并为其分配资源。
5.调度算法决定哪个进程可以占用CPU并执行,目标是提高系统的吞吐量、响应时间和公平性。
6.为了保证数据的一致性和避免竞态条件,操作系统提供同步机制和通信方式。
2.内存管理 :
1.内存管理涉及对计算机内存资源的分配、保护和共享。
2.操作系统需要确保每个程序都能获得足够的内存空间来执行,同时防止程序之间的内存冲突。
3.内存管理通常包括内存的分配与回收、内存的保护与隔离以及内存的共享与交换等功能。
4.此外,内存管理还涉及虚拟内存技术,通过该技术,操作系统可以将一部分硬盘空间作为内存使用,从而扩展了系统的可用内存。
3.文件系统:
1.文件系统是操作系统用于组织和管理存储设备(如磁盘)上的文件和数据的方法和数据结构。
2.它负责为文件分配存储空间、建立文件索引、维护文件属性以及提供文件访问接口。
3.文件系统使得用户可以方便地创建、读取、修改和删除文件,同时还提供数据保护和恢复机制,确保文件的安全性和完整性。
4.驱动管理:
1.驱动管理涉及对计算机硬件设备的驱动程序的安装、配置和管理。
2.驱动程序是操作系统与硬件设备之间的接口,它使得操作系统能够识别和控制硬件设备。
3.驱动管理包括驱动程序的加载与卸载、硬件设备的识别与配置以及设备错误的处理等功能。
4.通过有效的驱动管理,操作系统可以确保硬件设备的正常运行,提高系统的稳定性和性能。
但是操作系统不会直接与硬件进行访问和交互,因为当硬件层面发生改变,那么操作系统就得跟着改变。
所以,在操作系统与硬件层之间还有一个,由开发人员、厂商等开发的,驱动层.
驱动层目的不是管理,而是为每个硬件提供其与操作系统的驱动接口,使得操作系统能访问硬件层。
最底层为硬件层,组织的方式就是冯诺依曼体系结构,有键盘、显示器、网卡、内存、磁盘…等硬件设备。
3、进程的初步理解
进程是操作系统中的一个核心概念,它是对正在运行的程序的一个抽象描述。
简单来说,进程是程序执行的一个实例,它包含了程序执行所需的代码、数据和系统资源,以及程序执行的状态信息。
以下是关于进程的一些初步理解:
1.动态性:进程是程序的一次执行过程,它是动态的。与程序(静态的、存储在磁盘上的指令和数据集合)不同,进程是程序在计算机上的一次运行活动。每次运行程序时,都会创建一个新的进程。
2.独立性:每个进程都有其独立的地址空间,这意味着一个进程不能直接访问另一个进程的变量和数据结构。这种独立性确保了进程之间的隔离,防止了不同进程之间的数据冲突。
3.并发性:多个进程可以在操作系统中同时运行,它们之间可以并发执行。操作系统通过时间片轮转、优先级调度等方式来管理这些并发进程,确保它们能够公平地共享系统资源。
4.状态性:进程具有多种状态,如新建、就绪、运行、阻塞和终止等。这些状态描述了进程在其生命周期中的不同阶段。操作系统通过维护进程的状态信息来管理进程的执行。
5.资源分配:进程是系统资源分配的基本单位。操作系统根据进程的需求为其分配CPU时间、内存空间、I/O设备等资源。进程通过系统调用与操作系统进行交互,请求和释放资源。
6.通信与同步:进程之间可以通过各种方式进行通信和同步,如管道、消息队列、共享内存等。这些机制使得进程能够协同工作,完成复杂的任务。
7.生命周期:进程从创建开始,经历运行、等待(如I/O操作)等状态,最终因完成任务或发生错误而终止。在进程终止时,操作系统会回收其占用的资源。
了解进程的概念和特性对于理解操作系统的运行原理、进行程序设计和系统调优等方面都非常重要。通过合理地管理进程,操作系统可以确保系统的稳定性、安全性和性能。
相关文章:
【Linux的进程篇章 - 冯诺依曼的体系结构】
Linux学习笔记---005 Linux冯诺依曼体系结构理解1、冯诺依曼体系结构1.1、冯诺依曼体系结构1.2、硬件层面1.3、数据层面1.4、那么冯诺依曼体系能干什么呢? 2、操作系统(Operastor System)2.1、概念2.2、操作系统层的核心功能 3、进程的初步理解 Linux冯诺依曼体系结…...
flask-(数据连接池的使用,定制命令,信号的使用,表关系的建立和查询)
文章目录 连接池实例flask定制命令flask 缓存的使用flask信号的使用sqlalchemy原生操作sqlalchemy操作表flask orm操作表一对多的增加和跨表查询 (一对一只需要关联字段加上 ,uniqueTrue)多对多关系的增加和查询多对多基本的增删改查 连接池 import pymy…...
设计模式学习笔记 - 设计模式与范式 -行为型:2.观察者模式(下):实现一个异步非阻塞的EventBus框架
概述 《1.观察者模式(上)》我们学习了观察者模式的原理、实现、应用场景,重点节介绍了不同应用场景下,几种不同的实现方式,包括:同步阻塞、异步非阻塞、进程内、进程间的实现方式。 同步阻塞最经典的实现…...
数据挖掘|贝叶斯分类器及其Python实现
分类分析|贝叶斯分类器及其Python实现 0. 分类分析概述1. Logistics回归模型2. 贝叶斯分类器2.1 贝叶斯定理2.2 朴素贝叶斯分类器2.2.1 高斯朴素贝叶斯分类器2.2.2 多项式朴素贝叶斯分类器 2.3 朴素贝叶斯分类的主要优点2.4 朴素贝叶斯分类的主要缺点 3. 贝叶斯分类器在生产中的…...
Linux文件(系统)IO(含动静态库的链接操作)
文章目录 Linux文件(系统)IO(含动静态库的链接操作)1、C语言文件IO操作2、三个数据流stdin、stdout、stderr3、系统文件IO3.1、相关系统调用接口的使用3.2、文件描述符fd3.3、文件描述符的分配规则3.3、重定向3.4、自制shell加入重…...
CI/CD实战-jenkins结合ansible 7
配置主机环境 在jenkins上断开并删除docker1节点 重新给master添加构建任务 将server3,server4作为测试主机,停掉其上后面的docker 在server2(jenkins)主机上安装ansible 设置jenkins用户到目标主机的免密 给测试主机创建用户并…...
内网渗透-(黄金票据和白银票据)详解(一)
目录 一、Kerberos协议 二、下面我们来具体分析Kerberos认证流程的每个步骤: 1、KRB_AS-REQ请求包分析 PA-ENC-TIMESTAMP PA_PAC_REQUEST 2、 KRB_AS_REP回复包分析: TGT认购权证 Logon Session Key ticket 3、然后继续来讲相关的TGS的认证过程…...
学习transformer模型-Dropout的简明介绍
Dropout的定义和目的: Dropout 是一种神经网络正则化技术,它在训练时以指定的概率丢弃一个单元(以及连接)p。 这个想法是为了防止神经网络变得过于依赖特定连接的共同适应,因为这可能是过度拟合的症状。直观上&#…...
游戏引擎中的大气和云的渲染
一、大气 首先和光线追踪类似,大气渲染也有类似的渲染公式,在实际处理中也有类似 Blinn-Phong的拟合模型。关键参数是当前点到天顶的角度和到太阳的角度 二、大气散射理论 光和介质的接触: Absorption 吸收Out-scattering 散射Emission …...
华为鲲鹏云认证考试内容有哪些?华为鲲鹏云认证考试报名条件
华为鲲鹏云认证考试是华为公司为了验证IT专业人士在鲲鹏计算及云计算领域的专业能力而设立的一项认证考试。以下是关于华为鲲鹏云认证考试的一些详细信息: 考试内容:华为鲲鹏云认证考试的内容主要包括理论考核和实践考核两大部分。理论考核涉及云计算、…...
v3-admin-vite 改造自动路由,view页面自解释Meta
需求 v3-admin-vite是一款不错的后端管理模板,主要是pany一直都在维护,最近将后台管理也进行了升级,顺便完成一直没时间解决的小痛痒: 在不使用后端动态管理的情况下。我不希望单独维护一份路由定义,我希望页面是自解…...
FIFO存储器选型参数,结构原理,工艺与注意问题总结
🏡《总目录》 目录 1,概述2.1,写入操作2.2,读取操作2.3,指针移动与循环2.4,状态检测3,结构特点3.1,双口RAM结构3.2,无外部读写地址线3.3,内部读写指针自动递增3.4,固定深度的缓冲区4,工艺流程4.1,硅晶圆准备...
jvm高级面试题-2024
说下对JVM内存模型的理解 JVM内存模型主要是指Java虚拟机在运行时所使用的内存结构。它主要包括堆、栈、方法区和程序计数器等部分。 堆是JVM中最大的一块内存区域,用于存储对象实例。一般通过new关键字创建的对象都存放在堆中,堆的大小可以通过启动参数…...
DeepL Pro3.1 下载地址及安装教程
DeepL Pro是DeepL公司推出的专业翻译服务。DeepL是一家专注于机器翻译和自然语言处理技术的公司,其翻译引擎被认为在质量和准确性方面表现优秀.DeepL Pro提供了一系列高级功能和服务,以满足专业用户的翻译需求。其中包括: 高质量翻译…...
第十一届 “MathorCup“- B题:基于机器学习的团簇能量预测及结构全局寻优方法
目录 摘 要 第 1 章 问题重述 1.1 问题背景 1.2 问题描述 第 2 章 思路分析...
云计算探索-如何在服务器上配置RAID(附模拟器)
一,引言 RAID(Redundant Array of Independent Disks)是一种将多个物理硬盘组合成一个逻辑单元的技术,旨在提升数据存取速度、增大存储容量以及提高数据可靠性。在服务器环境中配置RAID尤其重要,它不仅能够应对高并发访…...
LeetCode226:反转二叉树
题目描述 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 解题思想 使用前序遍历和后序遍历比较方便 代码 class Solution { public:TreeNode* invertTree(TreeNode* root) {if (root nullptr) return root;swap(root->left, root…...
特征融合篇 | 利用RT-DETR的AIFI去替换YOLOv8中的SPPF(附2种改进方法)
前言:Hello大家好,我是小哥谈。RT-DETR模型是一种用于目标检测的深度学习模型,它基于transformer架构,特别适用于实时处理序列数据。在RT-DETR模型中,AIFI(基于注意力的内部尺度特征交互)模块是一个关键组件,它通过引入注意力机制来增强模型对局部和全局信息的处理能力…...
MVCC多版本并发控制
1.什么是MVCC MVCC (Multiversion Concurrency Control),多版本并发控制。MySQL通过MVCC来实现隔离性。隔离性本质上是因为同时存在多个并发事务可能会导致脏读、幻读等情况。要解决并发问题只有一种方案就是加锁。当然,锁不可避免…...
图片转换成base64如何在html文件中使用呢
在HTML文件中使用Base64编码的图片非常简单。Base64编码是一种将二进制数据转换为ASCII字符串的方法,这使得可以直接在网页上嵌入图片数据,而无需引用外部图片文件。以下是如何在HTML中使用Base64编码的图片的步骤: 步骤 1: 将图片转换为Bas…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
