【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操作)等状态,最终因完成任务或发生错误而终止。在进程终止时,操作系统会回收其占用的资源。

了解进程的概念和特性对于理解操作系统的运行原理、进行程序设计和系统调优等方面都非常重要。通过合理地管理进程,操作系统可以确保系统的稳定性、安全性和性能。

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

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

相关文章

动态规划-最长回文子串

动态规划-最长回文子串 原题描述解答中心移动思想代码实现复杂度分析时间复杂度空间复杂度 动态规划思想代码实现复杂度分析时间复杂度空间复杂度 突然觉得很有必要将学过的内容记录下来,这样后续在需要用到的时候就可以避免从头进行学习,而去看自己之前…

鸿蒙OS开发实例:【ArkTS类库多线程I/O密集型任务开发】

使用异步并发可以解决单次I/O任务阻塞的问题,但是如果遇到I/O密集型任务,同样会阻塞线程中其它任务的执行,这时需要使用多线程并发能力来进行解决。 I/O密集型任务的性能重点通常不在于CPU的处理能力,而在于I/O操作的速度和效率。…

ESP8266 WiFi物联网智能插座—上位机软件实现

1、软件架构 上位机主要作为下位机数据上传服务端以及节点调试的控制端,可以等效认为是专属版本调试工具。针对智能插座协议,对于下位机进行可视化监测和管理。 软件技术架构如下,主要为针对 Windows 的PC 端应用程序,采用WPF以及…

HCIA复习

OSI --开放式系统互联参考模型 --- 7层参考模型 TCP/IP协议栈道 --- 4层或5层 OSI: 应用层 抽象语言 -->编码 表示层 编码-->二进制 表示层以下都是二进制-----data(数据) 会话层 提供应用程序的会话地址 上三层为应用…

七、函数的使用方法

函数的调用 nameinput()#输入参数并赋值name print(name)#d打印name 格式:返回值函数名(参数) def get_sum(n):#形式参数计算累加和:param n::return: sumsum0for i in range(1,n1):sumiprint…

echarts 图表/SVG 图片指定位置截取

echarts 图表/SVG 图片指定位置截取 1.前期准备2.图片截取3.关于drawImage参数 需求&#xff1a;如下图所示&#xff0c;需要固定头部legend信息 1.前期准备 echarts dom渲染容器 <div :id"barchart id" class"charts" ref"barchart">&…

深入探索位图技术:原理及应用

文章目录 一、引言二、位图&#xff08;Bitset&#xff09;基础知识1、位图的概念2、位图的表示3、位图操作 三、位图的应用场景1、数据查找与存储2、数据去重与排序 四、位图的实现 一、引言 位图&#xff0c;以其高效、简洁的特性在数据处理、存储和检索等多个领域发挥着举足…

React Hooks的出现解决了什么问题?

React Hooks是React 16.8版本引入的一个革命性新特性&#xff0c;它极大地改变了我们编写React组件的方式&#xff0c;并解决了许多长期存在的问题。Hooks的引入不仅简化了状态逻辑的管理&#xff0c;还提高了代码的可读性和可维护性。 一、React Hooks解决了什么问题&#xf…

Mybatis常见面试题

1&#xff1a;Mybatis执行流程 回答&#xff1a; 读取Mybatis配置文件&#xff1a;mybatis-config.xml加载运行环境和映射文件构造会话工厂SqlSessionFactory会话工厂创建SqlSession对象&#xff08;包含了执行SQL语句的所有方法&#xff09;操作数据库的接口&#xff0c;Exec…

简单的链接中心软件yal

什么是 yal &#xff1f; yal(Yet Another Landingpage) 是一个简单的链接中心&#xff0c;用于显示和搜索链接。允许轻松打造品牌&#xff0c;以最少的权限运行并且易于使用。可以设置吉祥物和徽标&#xff08;目前是强制性的&#xff09;。 软件特点 静态生成的站点单个静态…

python通过shapely 的 valid 判断aoi图形是否有效

测试aoi坐标&#xff1a; 116.527712,39.924304;116.527123,39.924353;116.52707,39.923985;116.527685,39.92397;116.527712,39.924304 如图所示是一个有效的坐标&#xff0c;使用python代码判断是否有效&#xff1a; 代码&#xff1a; from shapely.geometry import Polyg…

CAJViewer7.3 下载地址及安装教程

CAJViewer是中国学术期刊&#xff08;CAJ&#xff09;全文数据库的专用阅读软件。CAJViewer是中国知识资源总库&#xff08;CNKI&#xff09;开发的一款软件&#xff0c;旨在方便用户在线阅读和下载CAJ数据库中的学术论文、期刊和会议论文等文献资源。 CAJViewer具有直观的界面…

GNSS数据下载网址大全

ftp://cddis.gsfc.nasa.gov/pub/gps/products/mgex/&#xff08;下载精密星历&#xff09; http://saegnss2.curtin.edu.au/ldc/rinex3/daily/&#xff08;下载短基线数据&#xff09; ftp://cddis.gsfc.nasa.gov/pub/gnss/data/daily/&#xff08;下载广播星历&#xff09; ft…

2024年腾讯云服务器99元一年_老用户优惠续费不涨价

腾讯云99元一年服务器配置为轻量2核2G4M、50GB SSD盘、300GB月流量、4M带宽&#xff0c;新用户和老用户都可以购买&#xff0c;续费不涨价&#xff0c;续费价格也是99元一年。以往腾讯云优惠服务器都是新用户专享的&#xff0c;这款99元服务器老用户也可以购买&#xff0c;这是…

Spring Boot 使用 Redis

1&#xff0c;Spring 是如何集成Redis的&#xff1f; 首先我们要使用jar包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><gro…

2024最新华为OD机试试题库全 -【员工派遣】- C卷

1. 🌈题目详情 1.1 ⚠️题目 某公司部门需要派遣员工去国外做项目。 现在,代号为 x 的国家和代号为 y 的国家分别需要 cntx 名和 cnty 名员工。 部门每个员工有一个员工号(1,2,3,…),工号连续,从1开始。 部长派遣员工的规则: 规则1:从 [1, k] 中选择员工派遣出去…

ROS中IMU惯性测量单元

一、IMU惯性测量单元消息包 IMU 是安装在机器人内部的一种传感器模块&#xff0c;用于测量机器人的空间姿态。 IMU的消息包定义在sensor_msgs包中的Imu中。头部是header&#xff0c;记录了消息发送的时间戳和坐标系ID。第二个是角速度。第三个是矢量加速度。三个数据成员都各…

从姿态估计到3D动画

在本文中&#xff0c;我们将尝试通过跟踪 2D 视频中的动作来渲染人物的 3D 动画。 在 3D 图形中制作人物动画需要大量的运动跟踪器来跟踪人物的动作&#xff0c;并且还需要时间手动制作每个肢体的动画。 我们的目标是提供一种节省时间的方法来完成同样的任务。 我们对这个问题…

C++数据类型(一):一文看懂引用的本质

一.引言 函数的参数传递方式主要有传值和传指针。 1.传值 在函数域中为参数分配内存&#xff0c;而把实参的数值传递到新分配的内存中。它的优点是有效避免函数的副作用。 例如&#xff1a; #include <iostream>void swap_val(int x,int y) {int tmp;tmp x;x y;y …

P6学习:Oracle Primavera P6 OBS/责任人解析

前言 Primavera P6 EPPM 责任人用于管理 P6 企业项目组合管理 (EPPM) 系统中的项目所有权和权限。 Primavera P6 EPPM 中的所有项目都至少围绕三个结构进行组织&#xff1a;称为企业项目结构 (EPS) 的用于组织项目的结构、称为工作分解结构 (WBS) 的用于组织项目内活动的结构…