【JavaEE】进程

news2024/9/25 7:23:58

目录

一.冯诺依曼体系结构

二.CPU的核心概念

核心数

频率(Clock Speed 或时钟频率)

如何选择合适的CPU

三.指令的执行

1.什么是指令

1.取指令

2.解析指令

3.执行指令

4.访问内存(Memory):

5.写回结果(Write Back):

四.进程

1.进程的概念

2.特点

3.进程的三种基本状态

4.创建与终止

 5.进程通信

6.进程管理

7.进程控制块(PCB)

8.进程调度*

分时复用

总结


一.冯诺依曼体系结构

什么是冯诺依曼体系结构?先来了解一下计算机祖师爷--冯诺依曼

冯·诺依曼(John von Neumann,1903年12月28日-1957年2月8日),美籍匈牙利数学家、计算机科学家、物理学家,是20世纪最重要的数学家之一。冯·诺依曼是布达佩斯大学数学博士,在现代计算机、博弈论、核武器和生化武器等领域内的科学全才之一,被后人称为“现代计算机之父”、“博弈论之父”。

冯诺依曼体系结构,又称为“普林斯顿结构”,是一种计算机体系结构的设计思想,是由冯诺依曼在1945年提出。以下是该结构的核心思想和特点:

核心思想:将程序指令和数据存储在同一个读写存储器中,从而实现程序指令的存储和执行。

特点:

  1. 二进制表示:数据和指令都是使用二进制形式(0和1)表示,这使得计算机内部的数据处理和传输更为简单和高效。
  2. 统一的存储器:数据和侄子存储在同一个存储器上,通过地址来区分。这种设计简化了存储器的管理,并允许程序指令和数据之间的灵活转换。
  3. 顺序执行:计算机按照存储器中的程序指令顺序执行,每条指令执行完毕之后,程序计数器会自动指向下一条指令。
  4. 五大组成部分:冯诺依曼体系结构下的计算有五大基本部分组成。

                 1.中央处理器(CPU)CPU是由控制器和运算器共同构成的

                     控制器:相当于指挥官,根据内存中的指令来指挥完成各种操作。

                     运算器:用来处理算术运算和逻辑运算。

                  2.存储器(memory):用来存储数据和指令。分为主存储器(如RAM)和辅助存储器(如硬盘、u盘、光盘等)。主存储器提供了快速的读写能力,辅助存储器则提供了大容量的存储空间。

                  3.输入设备(Input Devices):输入设备允许用户或其他系统向计算机输入数据。常见的输入设备包括键盘、鼠标、扫描仪、摄像头等。

                  4.输出设备(Ouput Devices):输出设备用于将计算机处理后的数据以人可以理解的形式展示出来。如扬声器、耳机、显示器、打印机等。

5.指令和数据同一存储:在冯诺依曼体系结构中,指令和数据通过同一条总线传输到运算器,这种设计简化了计算机内部的结构。

6.指令的执行是顺序的:除非程序指令中包含跳转指令,否则指令是按照它们在存储器中的顺序执行的。

二.CPU的核心概念

CPU(中央处理单元)是计算机硬件的核心部件,负责执行计算机程序中的指令,处理数据控制其他硬件设备的操作。

  • 指令集:CPU执行指令的基础集合,这些指令定义了CPU可以执行的操作,如算术运算、数据传输、控制操作等。
  • 控制单元(Control Unit,CU):负责指令的解码和执行流程的控制,确保指令按正确的时序执行。
  • 运算单元(Arithmetic Logic Unit,ALU):负责协调和控制CPU内核的操作,包括指令的解码和执行。
  • 缓存:提供快速的数据存取,减少CPU和主内存之间的数据传输延迟。
  • 并行处理:现代CPU通常具有多个核心,每个核心可以独立执行指令。这种多核设计允许CPU并行处理任务,从而提高整体性能。

核心数

定义:核心数是指在CPU中独立的处理单元数量。每个核心都是一个完整的处理单元,能够执行指令、进行计算和处理数据。

在任务管理器中,可以查看计算机的核心数

优势:多核心CPU能够同时处理多个线程或进程,对多任务处理和并行计算非常重要。核心数的增加可以提高CPU的多任务处理能力和并行计算能力,尤其是在运行多线程应用程序时。

适用场景:视频编辑、3D渲染、科学计算等需要大量并行处理的应用。

频率(Clock Speed 或时钟频率)

定义:CPU中的频率通常指的是时钟频率,即CPU的时钟速度,它表示CPU内部的时钟振荡器产生周期性信号的速率,单位是赫兹(Hz)。时钟频率是衡量CPU性能的一个重要指标,它决定了CPU每秒可以执行多少个时钟周期,从而影响CPU执行指令的速度。(1GHz【千兆赫兹】=10^9Hz) 

性能:更高的时钟频率通常意味着更好的性能,因为CPU可以在单位时间内执行更多的操作。

如何选择合适的CPU

在选择CPU时,需要考虑预算、使用场景、性能要求等。

办公或者家庭使用:通常选择中低端的CPU即可;

游戏使用:如果有游戏需求的话,不仅要牢牢CPU,还要考虑GPU,大多数游戏对CPU的要求并不高,但对于一些3A大作,需要比较高的性能。

专业工作负载:如视频编辑、3D渲染、工程模拟等,这些任务通常需要强大的多线程性能。因此,考虑购买具有更多核心和更高线程数的CPU。

三.指令的执行

1.什么是指令

指令(instruction)是指示计算机执行特定操作的命令。它是计算机程序的基本构建块,由计算机的中央处理器(CPU)解释和执行。每条指令都代表了一种操作,比如数据传输、算术运算、逻辑判断、控制转移等。

由编程语言编写的程序,最终都要被翻译成“CPU上执行的二进制指令”

指令执行过程为:

取指令--->分析指令--->执行指令

1.取指令

  • 程序计数器(Program Counter,即PC):计算机中央处理器(CPU)中的一个特殊寄存器,存储着当前正在执行指令的地址或者下一条要执行的指令的内存地址。
  • 内存读取:根据程序计数器PC中的值从程序存储器读取出指令,送到指令寄存器。
  • PC更新:当指令被读取之后,PC会自动递增,执行下一个指令的地址。

2.解析指令

解析指令:指令寄存器中的指令被解码,确定操作码(Opcode)和操作数(Operand)。

 操作数寻址:根据操作数寻找操作的地址。

3.执行指令

  • 读取数据:把操作数的内存数据读取出来,并存放到寄存器中。
  • CPU执行解码阶段确定的操作,这可能包括算术运算、逻辑运算、数据传输或控制操作。
  • 执行阶段可能涉及ALU(算术逻辑单元)进行计算,或者访问寄存器和内存进行数据读取或写入。

4.访问内存(Memory):

  • 如果指令需要访问内存(例如,加载或存储数据),这个阶段会进行内存读写操作。

5.写回结果(Write Back):

  • 执行结果写回到CPU寄存器或内存中,以便后续指令可以使用这些结果。

当完成上述步骤之后,CPU会重复这一过程,开始取下一条指令,直到最后一条指令结束。

遇到跳转指令、电源或硬件故障、遇到异常或错误等,会使CPU停止或中断。

示例:

 

 

四.进程

进程是操作系统中的一个核心概念,用于描述系统中正在运行的程序及其相关状态。操作系统负责进程的创建、调度、同步、通信和终止等任务,以确保系统的高效和稳定运行。

1.进程的概念

进程是程序程序的一次运行,是系统进行资源分配和调度的基本单位。每个进程都有一系列的属性,包括进程ID(Process ID)、状态、程序计数器(Program Counter)、寄存器集合、堆栈、内存限制、打开的文件列表、访问权限和安全属性等。

2.特点

  1. 动态性:进程是程序的一次执行过程,它随着时间的推移而创建、运行和终止。
  2. 并发性:计算机系统允许同时存在多个进程,它们可以并发执行,共享计算机的资源。
  3. 独立性:每个进程都拥有自己的地址空间,一个进程的执行通常不会影响到其他进程。
  4. 异步性:进程的执行顺序和速度可能不同于程序代码的顺序和速度,因为进程可能会被中断和恢复。
  5. 结构特征:进程通常由正文段(代码)、数据段(静态数据)、堆(动态分配的内存)和栈(局部变量和函数调用信息)等组成。

3.进程的三种基本状态

进程在其运行的过程中会经历多种状态,以下是进程的三种基本状态:

  • 就绪状态(Ready):进程已经准备好执行,等待CPU调用。
  • 运行状态(Running):进程正在CPU中执行。
  • 阻塞状态(Blocked或Waiting):当进程因为等待某些事件(如I/O完成、获取特定的资源或信号量)而无法执行时,它处于阻塞状态。在等待的事件发生之前,进程不会被执行。

4.创建与终止

除了上述的三种基本状态,进程还有另外的两种状态:

  • 创建(Created或New)当进程正在被创建,还没有准备好执行时,它处于创建状态。在这个状态下,操作系统正在为进程分配所需的资源,初始化进程控制块(PCB)。
  • 终止(Terminated或Exit)当进程已经完成执行或被强制终止时,它处于终止状态。在这个状态下,操作系统会释放进程占用的资源,并从系统中移除进程。

 5.进程通信

进程通信(Inter-Process Communication,简称IPC)是指在不同进程之间传送数据或信号的一些技术和方法。以下是几种常见的进程通信方式:

  1. 管道(Pipes):半双工(即双方可以相互通信,但一方传送时另一方不能传送)的通信方式。可以在父子进程间或兄弟进程间建立通信,分为匿名管道和命名管道
  2. 消息队列(Message Queues):允许一个或多个进程向队列中写入消息,其他进程则可以读取队列中的消息。提供了一种异步的通信机制。
  3. 共享内存(Shared Memory):允许多个进程访问同一块内存空间,是最快的IPC方式,因为它不需要数据复制。但是,需要同步机制来防止多个进程同时写入同一内存区域。
  4. 信息量(Semaphores):用于控制对共享资源的访问,可以实现进程的同步或互斥。
  5. 套接字(Sockets):用于不同主机上的进程进行网络通信,也可以用于同一主机上的进行间的通信。
  6. 文件:进程可以读取文件来交换数据,是一种简单但并不是最高效的IPC。

6.进程管理

一个操作系统上的进程比较多,所以需要管理

1.描述:通过结构体或类(主流系统c/c++实现的),把进程的各种属性表示出来。对于Linux操作系统,使用"PCB“这样的结构体来描述进程信息,PCB称为进程控制块。

2.组织:通过数据结构把上面的多个结果体串起来,并进一步进行各种增删查改。

创建新的进程(双击exe,运行起程序),就相当于创建了一个PCB结构体,并且插入链表中。当结束进程时,就是把PCB从链表上删除掉,并且释放这个PCB结构体。在查看进程列表时,就是在遍历这个链表,依次显示出对应的信息。

7.进程控制块(PCB)

PCB是操作系统用于管理进程的一种数据结构。PCB通常由操作系统内核维护,用于存储和管理进程的状态信息、资源信息和其他与进程相关的信息。PCB通常会包含以下几种信息:

  1. 进程标识符(PID)唯一的标识一个进程。同一时刻,一个机器上的多个进程之间的PID是唯一的,不会重复,系统内部许多操作都是通过PID找到对应的进程的。
  2. 内存指针(一组):用来描述进程依赖度指令和数据在内存的哪个区域内。在操作系统运行exe时,就会读取exe中的指令和数据,加载到内存中。(说明进程的执行需要一定的内存资源
  3. 文件描述符表:描述进程打开了哪些文件,对应硬盘上的数据,在进程中,打开了某个文件,就会在顺序表中添加一项。(说明进程的执行也需要一定的硬盘资源)

8.进程调度*

定义:进程调度是操作系统中的核心功能之一,它负责决定哪个进程将获得CPU时间以及它们将获得多长时间。进程调度的目标是在多任务环境中实现高效和公平的CPU时间分配,以提高系统的吞吐量、响应时间、资源利用率和用户体验

在操作系统中,进程调度的关键就是:分时复用

分时复用

定义:分时复用是进程调度的一种重要的特性,允许多个用户或任务共享同一台计算机的资源,每个用户或任务都感觉像是独占整个计算机系统,通过快速切换CPU在多个用户或任务之前进行分配,给每个用户或任务分配一小段连续的时间片,从而实现分时复用。

并发/并行都是由系统内核统一调度的,统称为“并发” 

在进程调度,主要与以下几个属性有关:

进程状态、进程的优先级、进程的上下文、进程的记账信息

在前面,已经把进程的状态详细说明,这里就不展开写。

进程的优先级:优先级高的进程先执行,低的后执行。

进程的上下文:一般CPU会同时执行多个进程,即分时复用,一个进行执行一会就要从CPU上调走,过一段时间之后还会调度到CPU上沿着上次执行的结果,继续往后执行

进程的记账信息:能记录和跟踪进程使用系统资源的情况,以便于操作系统能过进行资源管理和性能评估。还可以用于实施公平的资源分配策略,合理的利用系统资源。

总结

冯诺依曼体系结构:现代计算机的基础,定义了计算机的基本组成部分(输入设备、输出设备、控制器、运算器、存储器)和它们的交互方式。

CPU的两个重要指标核心数、频率

CPU执行命令的流程:取指令-->解析指令-->执行指令

进程控制块(PCB):是管理进程的一种数据结构,用于存储进程的各种信息。

进程管理:当运行exe程序时,相当于创建了一个PCB结构体,并且将这个结构体串到链表中。

进程调度:决定了哪个线程获得CPU的时间以及时长,能够合理地分配系统资源,进程调度与进程的状态、进程的上下文、进程的优先级以及进程的记账信息有关

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

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

相关文章

回收站删除了是不是彻底删除了 回收站删除了怎么找回 回收站删除了还能找回来吗

电脑删除的数据文件一般不会直接被彻底删除掉,而是会暂存在回收站中,这样设计主要是为了防止误删除等操作,如果不小心删除了很重要的文件,只需要在回收站对文件进行还原即可。为了让大家更了解回收站,下面给大家详细讲…

在生产环境中打印堆栈信息以排查错误

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

我们以后坐出租车,是不是都是没司机了?

今天看到一篇帖子 说是广州出现了一种无人驾驶的出租车 确实比较新奇 萝卜快跑 自动驾驶,不是一个新概念了 其实技术已经很成熟了 但是可能因为法律的一些原因 一直没有全面推 在加上现在AI大模型这块,很火 AI自动驾驶 从打车 到接客 再到送到目的地 一…

亚马逊erp跟卖采集之关键词采集

大家好,今天讲这款erp的跟卖采集关键词采集。 打开erp跟卖功能采集任务,点新增任务站点美国,有5种采集方式:关键词、店铺链接、类目ASIN。 选择关键词采集,这里我选择女童装,选择女童板鞋复制粘贴。页数我…

在2018.3没有找到对应的器件库,需要

图中的器件在vivado中没有找到 一、添加器件 发现所有的2018.3的所有器件库,其实都已经安装了,那么意味着2018.3没有办法对该器件进行综合。 二、安装更新版本的vivado 重新安装的2022.2,在选择器件的时候,把所有的器件全部勾选…

关于string的‘\0‘与string,vector构造特点,反迭代器与迭代器类等的讨论

目录 问题一:关于string的\0问题讨论 问题二:C标准库中的string内存是分配在堆上面吗? 问题三:string与vector的capacity大小设计的特点 问题四:string的流提取问题 问题五:迭代器失效 问题六&#xf…

最后纪元Last Epoch可以通过什么搬砖 游戏搬砖教程

来喽来喽,最后纪元,一款《最后纪元》是一款以获得战利品为基础的暗黑风格动作RPG游戏,玩家将从2281年的毁灭时代追溯到由女神Eterra创造的世界,通过多个时代与黑暗的命运对抗,找到拯救世界的方式。游戏有五种职业&…

AI赛道成功的“小”AI平台,都在做什么?

在深入了解30多家跨界拓展AI赛道业务的企业后,我们发现大家对目前的AI市场存在一定程度的误解:即认为在AI领域想要分一杯羹,只需要搞几个API,把大语言模型、绘画、视频、数字人等功能都放上去,可能就有机会占一席之地了…

20240711 每日AI必读资讯

🎨Runway Gen-3 Alpha 详细使用教程以及提示词指南大全 - 7月9日,著名生成式AI平台Runway在官网公布了,最新发布的文生视频模型Gen-3 Alpha的文本提示教程。 - 从技术层面来说,输入的文本提示会被转换成“向量”,这些…

数据开源 | Magic Data大模型高质量十万轮对话数据集

能够自然的与人类进行聊天交谈,是现今的大语言模型 (LLM) 区别于传统语言模型的重要能力之一,近日OpenAI推出的GPT-4o给我们展示了这样的可能性。 对话于人类来说是与生俱来的,但构建具备对话能力的大模型是一项不小的挑战,收集高…

Python实现的深度学习技术在水文水质领域应用

当前,深度学习作为人工智能的热门技术发展迅速,以其强大的非线性和不确定性处理能力在图像识别、语音识别、自然语言处理等领域取得了显著的成效。它是一种端到端的处理方法,在训练算法的指导下,深层神经网络自发地从原始数据中进…

JAVASE进阶day08(Map双列集合)

HashMap 1.HashMap基本使用 package com.lu.day08.map;import java.util.HashMap; import java.util.Map; import java.util.Set;public class MapDome {public static void main(String[] args) {HashMap<String , String> map new HashMap<>();//添加后者修改-…

Data Guard高级玩法:failover备库后,通过闪回恢复DG备库

作者介绍&#xff1a;老苏&#xff0c;10余年DBA工作运维经验&#xff0c;擅长Oracle、MySQL、PG、Mongodb数据库运维&#xff08;如安装迁移&#xff0c;性能优化、故障应急处理等&#xff09; 公众号&#xff1a;老苏畅谈运维 欢迎关注本人公众号&#xff0c;更多精彩与您分享…

动手学深度学习(Pytorch版)代码实践 -循环神经网络-57长短期记忆网络(LSTM)

57长短期记忆网络&#xff08;LSTM&#xff09; 1.LSTM原理 LSTM是专为解决标准RNN的长时依赖问题而设计的。标准RNN在训练过程中&#xff0c;随着时间步的增加&#xff0c;梯度可能会消失或爆炸&#xff0c;导致模型难以学习和记忆长时间间隔的信息。LSTM通过引入一组称为门…

rk3588s 定制版 tc358775 调试 lvds 屏幕 (第一部分)

硬件: 3588s 没有 lvds 接口 , 所以使用的 东芝的 tc358774 (mipi ---> lvds芯片), 这个芯片是参考 3399 的 官方设计得来的,3399 的官方demo 板上应该是 使用到了 这颗芯片 参考资料: 1 网上的 GM8775C 转换芯片。 2 瑞芯微的 3588s 的资料 总体的逻辑: 1 3588s…

25届近5年中国民航大学自动化考研院校分析

中国民航大学 目录 一、学校学院专业简介 二、考试科目指定教材 三、近5年考研分数情况 四、近5年招生录取情况 五、最新一年分数段图表 六、初试大纲复试大纲 七、学费&奖学金&就业方向 一、学校学院专业简介 二、考试科目指定教材 1、考试科目介绍 2、指定教…

centos系统查找mysql的配置文件位置

执行命令查找mysql的安装目录&#xff1a; which mysql cd进入mysql的安装目录 cd /usr/bin 查找配置文件位置 ./mysql --help | grep "my.cnf" 定位配置文件 cd /etc 查找命令还可以用find命令 find / -name "my.cnf"

Docker 部署 ShardingSphere-Proxy 数据库中间件

文章目录 Github官网文档ShardingSphere-Proxymysql-connector-java 驱动下载conf 配置global.yamldatabase-sharding.yamldockerdocker-compose.yml Apache ShardingSphere 是一款分布式的数据库生态系统&#xff0c; 可以将任意数据库转换为分布式数据库&#xff0c;并通过数…

绿盟培训入侵排查

一、webshell 排查 1、文件特征 2、windows 3、linux 4、内存马 二、web 日志排查 1、日志排查 2、中间件报错排查 三、服务器失陷处置

Linux常用选项和指令

目录 Linux指令使用注意 用户创建与删除 ls指令 ls指令介绍 ls常见选项 ls选项组合使用 pwd指令 Linux文件系统结构 多叉树结构文件系统介绍 多叉树结构文件系统的特点 cd指令 绝对路径 相对路径 cd指令介绍 家户目录 最近访问的目录 touch指令 ​编辑mkdir指…