操作系统--进程的 概念、 组成、特征

进程:【概念】【进程标识符】【进程状态】 简单讲解了什么是进程、什么是PCB。介绍了进程标识符和如何查看进程标识符,最后列举出了Linux下的进程状态有哪些。 阅读详情

进程的 概念、 组成、特征

进程
概念
理解进程与程序的区别
组成
一个进程由那些部分构成
特征
进程有那些重要的特点

进程的概念

程序: 是静态的, 就是个存放在磁盘里的可执行文件, 就是一系列的指令集合。

进程(Process) : 是动态的, 是程序的一次执行过程

同一个程序多次执行会对应多个进程

PCB

当进程被创建时, 操作系统会为该进程分配一个唯一的、 不重复的“ 身份证号 ” —— PID(Process ID, 进程ID)

操作系统要记录 PID、 进程所属 用户ID(UID),基本的进程描述信息, 可以让操作系统区分各个进程

还要记录给进程分配了哪些资源(如: 分配了多少内存、 正在使用哪些I/O设备、 正在使用哪些文件),可用于实现操作系统对资源的管理

还要记录进程的运行情况(如: CPU使用时间、 磁盘使用情况、 网络流量使用情况等),可用于实现操作系统对
进程的控制、 调度

这些信息都被保存在一个数据结构PCB ( Process Control Block ) 中, 即进程控制块

操作系统需要对各个并发运行的进程进行管理, 但凡管理时所需要的信息, 都会被放在PCB中

PCB是进程存在的唯一标志, 当进程被创建时, 操作系统为其创建PCB, 当进程结束时, 会回收其PCB

操作系统对进程进行管理工作所需的信息都存在PCB中

进程控制块_PCB___
进程描述信息
进程标识符PID
用户标识符UID
进程控制和管理信息
CPU\磁盘\流量使用情况统计
进程当前状态:就绪态/阻塞态/运行态
资源分配清单
正在使用那些文件
正在使用那些内存区域
正在使用那些IO设备
处理机相关信息
如PSW/PC等各种寄存器的值_用于实现进程切换_

程序段、 数据段

PCB 是给操作系统用的

程序段、 数据段是给进程自己用的

进程的组成
PCB
进程描述信息
进程控制和管理信息
资源分配清单
处理机相关信息
程序段
程序代码_指令序列_
数据段
运行过程中产生的各种数据_如:程序中定义的变量_

一个进程实体(进程映像) 由PCB、 程序段、 数据段组成

进程是动态的, 进程实体(进程映像) 是静态的

进程实体反应了进程在某一时刻的状态(如: x++后, x=2)

程序段、 数据段、 PCB三部分组成了进程实体(进程映像)

引入进程实体的概念后, 可把进程定义为:

​ 进程是进程实体的运行过程, 是系统进行资源分配和调度的一个独立单位。 一个进程被“ 调度 ” , 就是指操作系统决定让这个进程上CPU运行

注意: PCB是进程存在的唯一标志!

进程的特征

动态性是进程最基本的特征

异步性会导致并发程序执行结果的不确定性。

程序是静态的, 进程是动态的, 相比于程序, 进程拥有以下特征:

进程的特征
动态性
进程是程序一次执行过程,是动态生成/变化/灭亡
并发性
内存中有多个进程实体,各进程可并发执行
独立性
进程是独立运行/独立获取资源/独立接受调度的基本单位
异步性
各进程按各自独立的/不可预知的速度向前推进
结构性
执行过

进程组织

在一个系统中, 通常有数十、 数百乃至数千个PCB。 为了能对他们加以有效的管理, 应该用适当的方式
把这些PCB组织起来

链接方式

执行指针 指向当前处于运行态(执行态) 的进程

单CPU计算机中, 同一时刻只会有一个进程处于运行态

就绪队列指针 指向当前处于就绪态的进程

杜塞队列指针 指向当前处于阻塞态的进程,很多操作系统还会根据阻塞原因不同, 再分为多个阻塞队列

通常会把优先级高的进程放在队头

执行指针
PCB1
就绪队列指针
PCB2
PCB4
杜塞队列指针
PCB5
PCB3
索引方式:
执行指针
PCB1
就绪队列指针
就绪索引表
PCB2
PCB4
杜塞队列指针
堵塞索引表
PCB5
PCB3
进程的组织方式
链接方式
按照进程状态将PCB分为多个队列
操作系统持有指向各个队列的指针
索引方式
根据进程状态的不同,建立几张索引表
操作系统持有指向各个索引表的指针

进程的状态与转换

三种基本状态:运行态、就绪态、堵塞态

进程的状态与转换
状态
运行态
就绪态
堵塞态
创建态
终止态
状态间的转换
就绪态to运行态
运行态to就绪态
运行态to堵塞态
阻塞态to就绪态
进程的组织方式_各个进程PCB的组织方式

进程的状态——创建态、 就绪态

进程正在被创建时, 它的状态是“创建态” , 在这个阶段操作系统会为进程分配资源、 初始化PCB

当进程创建完成后, 便进入“就绪态” ,处于就绪态的进程已经具备运行条件,但由于没有空闲CPU, 就暂时不能运行

进程的状态——运行态

系统中可能会有很多个进程都处于就绪态

当CPU空闲时, 操作系统就会选择一个就绪进程,让它上处理机运行

在获得所需资源之前, 进程无法再往下执行

如果一个进程此时在CPU上运行, 那么这个进程处于“ 运行态 ” 。CPU会执行该进程对应的程序(执行指令序列)

进程的状态——阻塞态

当等待的事件发生时, 进程从“阻塞态” 回到 “就绪态”

在进程运行的过程中, 可能会请求等待某个事件的发生(如等待某种系统资源的分配, 或者等待其他进程的响应) 。在这个事件发生之前, 进程无法继续往下执行, 此时操作系统会让这个进程下CPU, 并让它进入“阻塞态”当CPU空闲时, 又会选择另一个“就绪态” 进程上CPU运行

进程的状态——终止态

一个进程可以执行 exit 系统调用, 请求操作系统终止该进程。此时该进程会进入“ 终止态 ” , 操作系统会让该进程下CPU,并回收内存空间等资源, 最后还要回收该进程的PCB。当终止进程的工作完成之后, 这个进程就彻底消失了

进程状态的转换

注意: 不能由阻塞态直接转换为运行态,也不能由就绪态直接转换为阻塞态(因为进入阻塞态是进程主动请求的, 必然需要进程在运行时才能发出这种请求)

进程的状态

进程的整个生命周期中,大部分时间都处于三种基本状态

单CPU情况下,同一时刻只会有个进程处于运行态,多核CPU情况下,可能有多个进程处于运行态

三种基本状态
运行态_Running
占有CPU,并在CPU上运行
就绪态_Ready
已经具备运行条件,但由于没有空闲CPU,而暂时不能运行
阻塞态_Waiting/Blocked_反称:等待态
因等待某一事件而暂时不能运行
另外两种状态
创建态_new_又称新建态
进程正在被创建,操作系统为进程分配资源\初始化PCB
终止态_Terminated_又称结束态
进程正在从系统中撒销,操作系统会回收进程拥有的资源\撤销PCB

进程PCB中,会有一个变量 state 来表示进程的当前状态。如:1表示创建态、2表示就绪态、3表示运行态

为了对同一个状态下的各个进程进行统一的管理,操作系统会将各个进程的PCB组织起来

进程的组织

进程的组织方式
链接方式
按照进程状态将PCB分为多个队列
操作系统持有指向各个队列的指针
索引方式
根据进程状态的不同,建立几张索引表
操作系统持有指向各个索引表的指针

进程的状态——三种基本状态

进程是程序的一次执行。在这个执行过程中,有时进程正在被CPU处理,有时又需要等待CPU服务,可见进程的状态是会有各种变化。为了方便对各个进程的管理,操作系统需要将进程合理地划分为几种状态

进程的三种基本状态:

三种基本状态
运行态_Running
占有CPU,并在CPU上运行
就绪态_Rsy
已经具备运行条件,但由于没有空闲CPU,而暂时不能运行
阻塞态_Waiting/Blocked_又称:等待态
因等待某一事件而暂时不能运行

注意:单核处理机环境下,每一时刻最多只有一个进程处于运行

进程已经拥有了除处理机之外所时刻有需要的资源,一旦获得处理机,即可立即进入运行态开始运行,即: 万事俱备, 只欠CPU

如:等待操作系统分配打印机、等待读磁盘操作的结果。CPU是最昂贵的部件, 为了提高CPU的利用率, 需要先将其他进程需要的资源分配到位, 才能得到CPU的服务

进程的状态——另外两种状态

进程运行结束(或者由于bug导致进程无法继续执行下去, 比如数组越界错误) , 需要撤销进程。

操作系统需要完成创建进程。 操作系统为该进程分配所需的内存空间等系统资源, 并为其创建、初始化PCB(如: 为进程分配 PID)

另外俩种状态
创建态_New_新建态_
进程正在被创建,操作系统为进程分配资源,初始化PCB
终止态_Terminated_结束态_
进程正在从系统中撤销,操作系统会回收进程拥有的资源,撤销PCB
进程的状态
运行态
就绪态
阻塞态
创建态
终止态

进程控制

进程控制的主要功能是对系统中的所有进程实施有效的管理, 它具有创建新进程、 撤销已有进程、 实现进程状态转换等功能。

进程控制就是要实现进程状态转换

创建态
就绪态
运行态
终止态
阻塞态
【自然语言处理】【聚类】TELL:可解释神经聚类 超越分类的XAI:可解释神经聚类 《XAI Beyond Classification: Interpretable Neural Clustering》 论文地址:https://www.jmlr.org/papers/volume23/19-497/19-497.pdf 一、简介 ​ 本文研究了可解释AI(XAI\text{XAI}XAI)和数据聚类这两个挑战性问题。第一个问题是如何设计一种具有固定可解释性的神经网络,而不是给出一个黑盒模型的事后解释。第二个问题是,使用可微分神经网络来实现离散的k-me 阅读详情

相关推荐

Simulink模块库介绍(一)——信号源模块

Simulink模块库介绍(一)——信号源模块库目录Clock模块Digital Clock模块Band-Limited White Noise模块 目录 simulink模块库中提供了丰富的信号源模块组。逐一介绍,算是对之前做个总结吧 Clock模块 通过时钟模块,输出的时间作为判断呢,如下图,前2s之前为高斯白噪声,后2s为正弦曲线,共计10s。 Digital Clock模块 数字时钟模块主要用于离散系统的计时,sample time表示采用时间,如下图:分别是1s和0.5s的采样时间 Band-

5万+

进程概念(详细版)

超全的进程概念总结

xbhinsterest11的博客 3644

DeepSpeed Zero3 Offload实战:从GCC版本检查到环境配置的完整避坑指南

本文是一份针对DeepSpeed Zero3 Offload部署的完整避坑指南。针对训练中常见的`AttributeError: ‘DeepSpeedCPUAdam‘ object has no attribute ‘ds_opt_adam`报错,文章深入剖析了其根源在于GCC编译器版本过低。指南提供了从系统GCC版本深度探查、安全启用高版本GCC环境,到DeepSpeed一致性安装验证的全链路实战方案,旨在帮助用户构建稳定的大模型训练环境。

weixin_29070721的博客 474

什么是进程?什么是线程?

什么是进程?什么是线程?介绍了基于Linux系统下,进程与线程的定义与组成、资源、开销、通信、创建与销毁及其优缺点,接着对进程与线程进行主要区别的总结,最后介绍了实际应用的场景

janet110617的博客 3046

FunASR与FreeSWITCH融合实战:从零构建高精度语音质检系统

本文详细介绍了如何将FunASR与FreeSWITCH融合,构建高精度语音质检系统。通过实时语音听写技术,结合热词定制和多模型切换,实现客服中心等场景的自动化质检,显著提升识别准确率和效率。系统架构涵盖音频采集、识别处理和业务应用三层,支持负载均衡和性能优化,适用于工业级部署。

weixin_29198045的博客 980

跟着Cell学单细胞转录组分析(五):单细胞转录组marker基因鉴定及细胞群注释

书接上回(跟着Cell学单细胞转录组分析(四):单细胞转录组测序UMAP降维聚类)。完成数据降维和细胞聚类后,最主要的环节和工作就是确定各个细胞群,明确是什么类型的细胞,正群的细胞定群很关键,涉及到整个研究,所以这一步宁愿多费时间,也不要出错。当然,这也不是一蹴而就的,需要反复的确认。 要确定各个群是什么细胞,首先需要了解细胞群的marker基因,因为不同类型的细胞突出 表达的基因也是不同的。这里使用FindAllMarkers鉴定各个细胞群的高表达基因。 DefaultAssay(scedata)

qq_42090739的博客 1万+

进程相关概念(一文搞懂)

操作系统入门级知识,进程相关

日常记录,挨打要立正! 9614

我用GPT-5.5十分钟就搞定了论文创新点!全靠这三个提示词

各位同仁好,我是七哥。一个在高校里从事人工智能 相关领域研究,钻研用大模型AI实操的学术人。可以和七哥交流学术写作或Gemini、GPT、Claude 等大模型 学术实操相关问题,多多交流,相互成就,共同进步。多数研究者一写创新点就总觉得只有提出了全新的理论、颠覆了整个领域,才算真正的创新。但学术研究里的创新,有一半不是从零创造的,是在前人工作的基础上,准确找到还没人解决、或者没解决好的问题,而且真正能立住的创新通常都离不开以下这三个问题。第一,前人到底缺了什么。

智能AI让学术科研更容易 709

进程的四个特征

1、并发性:指多个进程实体同存于内存中,且在一段时间内同时运行。并发性是进程的重要特征,同时也成为操作系统的重要特征。 2、动态性:进程的实质是进程实体的一次执行过程,因此,动态性是进程最基本的特征。 3、独立性:进程实体是一个独立运行、独立分配资源和独立接受调度的基本单位。 4、异步性:指进程按各自独立的、不可预知的速度向前推进,或者说实体按异步方式运行 ...

we_opkn的博客 1万+

GRCNN抓取网络学习3【自制Jacquard数据集模型调优】

请先完成,这样有利于下面操作的理解!然后第二步是,有了自己的数据集输入到GRCNN中是三种文件,那么可以GRCNN抓取网络学习2【自制Jacquard数据集训练】!既然学会训练,那么开展下一步计划模型调优。GRCNN源码:https://github.com/skumra/robotic-grasping。

vor234的博客 2502

PointNet++改进策略目录

后续我将如何使用文章中创新点加入的PointNet++中代码实现部分进行更新。

u012901740的博客 2198

操作系统(七)进程的概念、组成、特征

2.1.1 进程的概念、组成、特征 2.1.1.1 进程的概念 在第一章的是时候我们曾经提到过进程的概念,要想理解进程,首先要了解程序的概念。 程序:静态的,存放在磁盘里的可执行文件,是一系列指令的集合。如QQ.exe等 进程(progress):动态的,是程序的一次执行过程,一个程序可以产生多个进程。 既然一个程序可以产生多个进程,那么操作系统是如何区分这些看似相同...

qq_40608137的博客 2005

利用dddd_trainer训练通用验证码识别模型

博文介绍了使用dddd_trainer工具训练自定义验证码识别模型的过程,详细展示了从环境搭建、数据集准备到模型训练的全流程。

九月镇灵将的博客 1033

操作系统 ---- 进程的概念、组成、特征

来自百度:狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)。广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的。

xinxin的博客 1759

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

操作系统——4.操作系统之进程的概念组成特征思维导向图

操作系统之进程的概念组成特征 思维导向图:

钟灵毓秀的博客 896

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

操作系统——进程的概念,特征,组成

还要记录进程的运行情况(如:CPU使用时间,磁盘使用情况,网络流量使用情况等),这些信息可以用于实现操作系统对进程的控制,调度。我们可以把进程实体理解成这个进程在动态执行过程中,某个时刻的一个快照,一个照片,进程实体能够反映这个进程在某一个时刻的状态。操作系统要记录PID,进程所属用户ID(UID),这是基本的进程描述信息,可以让操作系统区分各个进程。PCB中存放的都是操作系统在对进程进程管理的时候,需需要的信息。,而但凡它管理这些进程的时候,所需要用到的信息,,当一个进程被创建的时候,操作系统也会为它。

2303_79136949的博客 768

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【操作系统】2.1.1 进程的概念、组成、特征

进程的概念、组成、特征

小新的博客 382

【操作系统】408操作系统核心考点精讲:第二章——进程的概念、组成与特征​

【操作系统】408操作系统核心考点精讲:第二章——进程的概念、组成与特征​ 详细介绍【操作系统——第二章——进程与线程】中进程的基本概念、组成与特征的重要知识点……

蒙奇D索大的博客 1017

王道操作系统2.1.1进程的概念、组成、特征

zxlzxl66的博客 150

【操作系统】进程的概念、组成、特征

的放在磁盘里的可执行文件(代码)作业:代码+数据+申请(JCB)(外存)进程:程序的一次执行。程序段(代码指令)+数据段(运行过程中产生到数据)+资源(PCB)(内存中进程ID(PID):进程被创建时,操作系统为该进程分配的号码。进程控制块(PCB):里面保存进程描述信息。如:PID、UID,进程运行情况,被资源分配清单、处理机相关信息。进程是进程实体的运行过程,是系统进行和的最小单位。

lxylxylxy的博客 565

操作系统第二章 进程的概念,组成,特征

期末复习自已用来复习用的

2201_75880772的博客 937

操作系统进程的概念、组成和特征

详解进程的概念、组成、特征以及进程实体的概念

2301_76197086的博客 302

【操作系统】进程管理——进程的概念、组成和特征(个人笔记)

程序是静态的,是存放在磁盘里的可执行文件,就是一系列的指令集合(Process),而进程是动态的,是程序的一次执行过程。

weixin_62679382的博客 1605

操作系统第五讲——进程的概念、组成与特征

4、异步性 各进程按各自独立的、不可预知的速度向前推进,操作系统要提供“进程同步机制”来解决异步问题(会导致并发程序执行结果的不确定性)操作系统需要对各个并发进行的进程进行管理,但凡管理时所需要的信息,都会被放在进程控制块PCB中。结构上看,进程由PCB、程序段、数据段组成。1、动态性 进程是程序的一次执行过程,是动态地产生、变化和消亡的(进程。进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。进程是动态的,进程实体(进程映像)是静态的。进程:是动态的,是程序的一次执行过程。

战士小小白的博客 559

操作系统-进程与线程(进程的概念、组成、特征、进程的状态与转化)

当进程运行结束后,会执行exit系统调用结束进程,此时进程的状态为终止状态,CPU负责回收进程申请的系统资源和PCB。PID操作系统为了区分不同的进程,当进程创建时,操作系统会给进程创建一个唯一、不重复的编号。当进程创建完成后就会进入就绪状态,就绪状态的进程已经具备运行的条件了,只是此时CPU没有运行这个进程。进入阻塞态的进程当等待的系统资源就绪的时候,会从阻塞态进入就绪态重新等待CPU调度。结构每个进程都会配置一个PCB。此时进程正在等待CPU调度,如果进程被CPU调度,此时进程的状态运行态。......

dodamce的博客 1405

操作系统-进程的概念,组成,特征(PCB 程序如何运行)

进程是一个程序的执行过程,进程实体是执行某个时刻在内存的进程的所属部分。引入线程后,接受调度最小单位为线程,但进程依然是独立获得资源的最小单位。进程实体理解为进程运行时在内存中属于进程的部分。独立性:不依赖别的进程来运行或者获得资源等。操作系统以进程来分配为单位分配对应的资源。注意进程存在的唯一标志以及进程最基本特性。动态的,因为一直在执行,一直变化。任务管理器:显示运行的进程。打开三个qq,有三个进程。PCB包含进程的很多信息。各个进程的PID不同,注意进程存在的唯一标志。

llovewuzhengzi的博客 538
上一篇: 操作系统概述
下一篇: 单片机复习资料-课程导论和预备知识、内部结构及工作原理等
onnx
博客等级 码龄5年 1万+粉丝 416原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

onnx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值