进程之舞:操作系统中的启动、状态转换与唤醒艺术

[ZUCC 操作系统]进程概念 问题 1 一个被创建的进程包括( )。 A. PCB B. 程序和数据 C. PCB和数据 D. PCB、程序和数据 问题 2 下面对进程的描述中,错误的是( )。 A. 进程是动态的概念 B. 进程有生命期 C. 进程可并发执行 D. 进程是指令的集合 问题 3 下列选项中可能引起进程从执行状态转变为等待状态的是( )。 A. 请求输入或输出事件 B. 输入或输出事件完成 C. 某个... 阅读详情

 
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭
❤~✨✨

🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。

我是Srlua,在这里我会分享我的知识和经验。🎥

希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮

记得先点赞👍后阅读哦~ 👏👏

📘📚 所属专栏:操作系统

欢迎访问我的主页:Srlua小谢获取更多信息和资源。✨✨🌙🌙

目录

进程队列

1.线性方式

2.链接方式

3.索引方式

进程管理

进程图

进程创建

1.引起创建进程的事件:

2.进程的创建过程(创建原语)

进程终止

1.引起进程终止的事件

2.终止进程的主要操作过程!

进程阻塞

1.引起进程阻塞的事件

2.进程阻塞的过程

进程唤醒

唤醒过程


进程队列

为了便于查找,系统把所有的PCB用适当的方式组织起来,一般有以下三种形式

(1)线性方式

(2)链接方式

(3)索引方式

1.线性方式

​

优点:管理简单,不需要额外的开销,容易实现。

缺点:限定了最大进程数目;降低调度效率,挑选一个适合运行的PCB须对表项扫描,平均要花费查半个PCB表长的时间;不适合频繁进程调度。

早期的UNIX系统就是采用这种方式。


2.链接方式

  • 把处于同一状态的进程按照一定方式链接成一个队列。

>就绪队列

>阻塞队列:根据不同的阻塞原因组织成多个阻塞队列

  等待磁盘I/0队列

  • 等待磁带I/O队列每一个队列有一个专用队列指针指出该队列中第一个进程PCB所在位置。 
  • 现代Unix采用这种方式。

 ​ 

  • 链接方式优点

管理方便,PCB进程数目不受限制,使用灵活,检索速度和内存使用效率可以提高

  • 链接方式缺点

动态分配内存的算法比较复杂;队列的操作(如挂链,摘链)也花费时间


3.索引方式

用索引表记载进程的PCB地址

相同状态的进程在同一索引表中;

不同状态的,分别设置各自的PCB索引表

  • 就绪索引表
  • 阻塞索引表

 ​ 

  • 索引方式优点

索引方式是线性表方式的改进,克服了线性表的缺点,检索速度快

  • 索引方式缺点

通常须采用多张索引表,增加所占内存空间;加大管理难度

  • 由于单CPU的计算机系统中,任何时候只有一个进程处于运行状态。
  • 系统专门设置一个指针指向当前运行进程的PCB。
  • UNIX系统中就有一个CURPRO指针,指向现运行进程的PCB。

进程管理

进程图

进程图(进程家族图)--Process Graph

  • 描述进程家族关系的有向树一棵进程树表示一个家族,根结点是祖先。
  • 一个子进程只有一个父进程
  • A——B: A是B的父进程   B是A的子进程

​

进程创建

1.引起创建进程的事件:

(1)系统初始化:当开机引导OS时,会创建许多进程

(2)派生新进程:应用进程利用系统调用创建一个或多个进程,使新进程以并发方式完成特定任务,

(3)用户请求:为完成用户提出的某些请求

(4)调度新作业:批处理系统中为每个提交的作业创建相应的进程

2.进程的创建过程(创建原语)

        PCB是进程存在的唯一标识,所以创建一个进程的主要任务是为其建立一个PCB。

使用创建原语创建进程的过程

  • 申请一个空闲的PCB
  • 为新进程分配空间
  • 初始化PCB
  • 将新进程插入就绪队列

UNIX/Linux中的fork()系统调用实现进程创建功能。

​

​ 

进程终止

1.引起进程终止的事件

(1)正常终止

(2)异常终止

(3)外部干扰:进程应外界的请求而终止运行

2.终止进程的主要操作过程!
  • 找到指定进程的PCB,终止该进程的运行
  • 回收该进程所占用的全部资源
  • 终止其所有子孙进程,回收它们所占用的全部资源。
  • 将被终止进程的PCB从原来队列中摘走,以后由父进程从中获取数据,并释放它

进程阻塞

1.引起进程阻塞的事件

        处于运行状态的进程,在其运行过程中期待某一事件发生,当被等待的事件还没有发生时,由进程自己执行阻塞原语,使自己由运行态变为阻塞态。

  • 等待键盘输入:
  • 等待磁盘的数据传输完成;
  • 等待其它进程发送一个信息

当某进程期待的事件已经到来时,唤醒进程

2.进程阻塞的过程
  • 立即停止当前进程的执行
  • 将现行进程的CPU现场保存
  • 将该进程的现行状态由“运行”改为阻塞
  • 转到进程调度程序

进程唤醒

处于阻塞状态的进程不能唤醒自己,必须由它的合作进程用唤醒原语唤醒它。

唤醒过程

唤醒原语执行过程如下:

  1. 把阻塞进程从相应的阻塞队列中摘下。

  2. 将现行状态改为就绪状态,然后把该进程插入就绪队列中。

  3. 如果被唤醒的进程比当前运行进程的优先级更高则设置重新调度标志。

​​

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

操作系统中的进程三状态转换深入解析 在现代操作系统中,进程是系统进行资源分配和调度的基本单位。理解进程状态对于有效地管理系统资源和进程之间的交互至关重要。一个进程在其生命周期中会经历多种状态,这些状态概括了进程的不同运行阶段。按照操作系统的不同,具体的状态划分可能有所差异,但通常包含以下三种基本状态:在现代操作系统中,许多工具可以帮助开发者和系统管理员监控和分析进程状态。例如,在Windows系统中,资源监视器和任务管理器可以用来监控系统资源使用情况和进程状态。在Linux中,除了前面提到的ps命令,还有top和htop。 阅读详情

相关推荐

中文翻译《ASPICE in practice》之“SUP.8 配置管理”

一般来说,自动化程度越低,负责 CM 的个人就必须花费越多的精力,例如,检查基线的正确性和完整性,或确保在归档系统上正确完成手动版本控制。必须防止未经许可的访问。为了唯一地标识基线,许多 CM 工具提供了一种“标记”基线的机制,即为受影响的 CM 项目的所有版本分配相同的标签,例如“第 3 次交付状态”。此选择必须允许绘制合格的基线(参见 BP5),即确保实际上所有描述特定开发阶段的元素(需求和设计文档、开发环境、变更请求、测试用例、测试文档,也可能是重要的中间工作产品等)都可以在 CM 系统中进行基线。

Smith_Chai的博客 1583

进程的创建终止、阻塞唤醒、挂起激活(操作系统)

一、引起创建进程的事件 二、进程的创建 三、进制的终止 四、进程的阻塞和唤醒 五、进程的挂起和激活

公众号:风景邮递Yuan的博客 4639

宇树G1嵌入式软件架构及技术实现

该架构通过硬件加速(FPGA)+确定性调度(RTX5)的组合,在1ms控制周期内完成从传感器采集到43轴输出的全链路处理,相比波士顿动力系统缩短40%的着地稳定时间。,结合ARM Cortex-R5与FPGA的异构计算能力,实现43自由度1kHz实时控制。

m0_60674045的博客 4311

操作系统实验——进程控制

操作系统实验——进程控制 预习内容: 1.进程的概念 ⑴程序的并发执行 ⑵进程的定义 2.进程的描述 ⑴进程控制块 ⑵进程上下文 ⑶进程上下文切换 ⑷进程空间与大小 3. 进程状态及其转换 ⑴进程状态 ⑵进程状态转换 4.进程控制 ⑴进程创建与撤销 ⑵进程的阻塞与唤醒 实验目的与要求(及主要实验仪器、设备): 1、理解进程的概念,明确进程和程序的区别。 2、理解并发执行的实质。 3、 掌握进程的创建、睡眠、撤销等进程控制方法 要求: (1)一台Windows7以上版本操作系统的计算机。 (2)计算机装有Mi

xuanyuanchun的博客 5816

高通平台Android稳定性调试笔记:手把手教你用T32、Crash Utility分析Kernel Panic与RAM Dump

本文详细介绍了高通平台Android内核崩溃的分析方法,包括使用T32 Simulator和Crash Utility工具链解析Kernel Panic与RAM Dump。从环境配置、dump文件预处理到高级调试技巧,手把手教你如何定位和解决Android系统崩溃问题,特别适用于MSM/SA8155平台的开发者。

weixin_42543046的博客 529

代码实现 —— 基于 STM32 的可见光通信系统课程设计

基于STM32F103ZET6,源码如需移植,需要修改定时器捕获通道引脚,及定时器,如果你也有这个课设任务,希望对你有所帮助。

不善挽留 1万+

进程控制:进程的创建、终止、阻塞、唤醒和切换

进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。在操作系统中,一般把进程控制用的程序段称为原语,原语的特点是执行期间不允许中断,它是一个不可分割的基本单位。 进程的创建 允许一个进程创建另一个进程。此时创建者称为父进程,被创建的进程称为子进程。子进程可以继承父进程所拥有的资源。当子进程被撤销时,应将其从父进程那里获得的资源归还给父进

轻锋的专栏 6744

量化爬虫第一步:手把手教你搞定同花顺问财的hexin-v参数(附JS逆向实战)

本文详细介绍了如何通过JS逆向技术破解同花顺问财数据接口的核心加密参数hexin-v,构建稳定可靠的量化数据采集方案。从抓包分析到Cookie Hook技术应用,再到环境补全与参数生成实现,手把手教你完成量化爬虫的第一步。文章还提供了实战注意事项与优化建议,帮助开发者规避常见问题。

weixin_42620202的博客 306

2.1 操作系统进程与线程(概念、组成、状态转换)

进程是具有独立功能的程序在某个数据集合上的一次运行活动,也是操作系统进行资源分配和保护的基本单位。

m0_62536353的博客 1179

Topas——基于Geant4的放射治疗蒙特卡罗算法模拟工具

本文内容参考Joseph Perl 的线上会议,视频详情可见于,该视频会议内容主要介绍Topas功能、软件架构、工作流程、参数设定、物理模型、具体案例等,对TOPAS的基本入门使用方法以及使用规定作出阐述。

fy方的博客 7606

OpenClaw与大语言模型(Claude/GPT/MiniMax)的集成架构与最优配置策略

摘要 本文探讨了OpenClaw框架与大语言模型(Claude/GPT/MiniMax)的集成架构与优化策略。大语言模型具有强大的自然语言处理能力,但集成面临API成本、响应延迟、上下文管理等挑战。OpenClaw采用分层架构设计,包括用户界面层、对话管理层、提示工程层、模型适配层和API调用层,支持多模型切换、智能对话管理和成本控制。系统通过模型适配层实现不同API的统一调用,并提供缓存、监控等优化机制。该集成方案能够充分发挥大语言模型的优势,为本地AI助理提供更智能的服务。

一键难忘的博客 1696

操作系统——进程管理

文章目录1 进程与线程1.1 进程的概念和特征1.1.1 进程的概念1.1.2 进程的特征1.2 进程的状态与转换1.3 进程控制1.3.1 进程的创建1.3.2 进程的终止1.3.3 进程的阻塞和唤醒1.3.4 进程切换1.4 进程的通信1.5 线程概念和多线程模型1.5.1 线程的概念1.5.2 线程与进程的比较1.5.3 线程的属性1.5.4 线程的实现方式1.5.5 多线程模型2. 处理机调度2.1 调度的概念2.1.1 调度的基本概念2.1.2 调度的层次2.1.3 三级调度的联系与对比2.2 调

weixin_43765321的博客 9706

基于CAN FD总线的ECU软件刷写全流程实战:报文详解、应用案例与代码实现

CAN FD(Controller Area Network Flexible Data Rate)总线作为传统CAN总线的升级版本,核心优势在于突破了传统CAN 8字节数据长度限制(最大支持64字节),同时提升了传输速率(仲裁段500kbps,数据段最高10Mbps),完美适配汽车ECU软件镜像体积不断增大的需求,已广泛应用于新一代汽车电子控制系统中。

getusushu的博客 203

操作系统中的进程

文章目录一、操作系统的基本定位二、操作系统中的进程2.1 进程管理2.2 进程属性2.3 并行和并发2.4 进程的独立性2.5 进程间通信 操作系统是计算机中最重要的软件,常见的操作系统有 Windows ,Linux ,iOS,Android等等 一、操作系统的基本定位 基本功能 : 管理计算机中的各种硬件设备 给计算机上的各种软件资源提供稳定的运行环境 在计算机中操作系统处于的位置如下图: 比如,写一个简单的 Java 代码 System.out.println(“hello world”);

weixin_46103589的博客 2680

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

操作系统 ---- 【2.3】进程控制

进程控制是进程管理中最基本的功能,主要包括创建新进程、终止已完成的进程、将因发生异常情况而无法继续运行的进程置于阻塞状态、负责进程运行中的状态转换等功能。如当一个正在执行的进程因等待某事件而暂时不能继续执行时,将其转变为阻塞状态,而在该进程所期待的事件出现后,又将该进程转换为就绪状态等。进程控制一般是由OS的内核中的原语来实现的。简化:进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。进程控制就是要实现进程状态转换。

xinxin的博客 1957

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

操作系统-进程

进程是程序的一次执行进程是一个程序及其数据在处理机上顺序执行时所发生的活动进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位进程使得作业的并发执行得以实现。

2303_76262050的博客 967

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

操作系统(OS)进程与调度

一、进程的定义、组成、组织方式、特征 1.1 进程的定义 1、程序:一个指令序列 2、PCB:进程控制块,用来描述进程的各种信息 3、进程实体:由PCB、程序段、数据段三部分组成,又称为进程映像 4、进程:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位 5、PCB与进程的关系:PCB是进程存在的唯一标志。创建进程即创建进程实体中的PCB;撤销进程即撤销进程实体中的PCB 1.2 进程的组成 1、PCB:包括进程描述信息、进程控制和管理信息、资源分配清单、处理机相关信息 2、程序段:存放要执

Cristiano_san的博客 8163

Linux内核:进程管理——进程的阻塞、唤醒、挂起、激活

故在某进程中调用了阻塞原语,则必须在与之相合作的另一进程中或其他相关的进程中安排唤醒原语,以能唤醒阻塞进程;假如采用的是抢占调度策略,则每当有新进程进入就绪队列时,检查是否要进行重新调度,即比较被激活进程与当前进程的优先级,决定处理机归属。(保留被阻塞进程的处理机状态(在PCB中),再按新进程的PCB中的处理机状态设置CPU的环境)。当出现了引起进程挂起的事件时(比如,用户进程请求将自己挂起,或父进程请求挂起某子进程)。• 为便于用户或父进程考查该进程的运行情况,把该进程的PCB复制到某指定的内存区域。

m0_74282605的博客 1250

计算机操作系统(六) 进程控制与进程通信 (附带图谱更好对比理解)

在上一篇博客中,我们深入探讨了前趋图和程序执行以及进程的描述,了解了前趋图如何展示程序操作的先后顺序,程序顺序执行与并发执行的特点,以及进程的定义、特征、基本状态和相关数据结构。了解这些知识后,我们对操作系统中程序的执行方式和进程的基本概念有了更清晰的认识,为进一步学习进程的控制和通信奠定了基础。本篇博客将继续深入操作系统的世界,聚焦于进程控制与进程通信这两个关键方面。

2402_83322742的博客 1550

进程管理笔记-进程的阻塞、唤醒、挂起、激活

进 程 控 制 2.21、2.22 一些概念:   进程控制是进程管理中最基本的功能。创建、终止、可负责进程运行中的状态转换。   进程控制一般是由OS的内核中的原语来实现的。   原语(Primitive)是由若干条指令组成的,用于完成一定功能的一个过程。   它与一般过程的区别在于:它们是“原子操作(Action Operation)”。即不可分割、不允

shuiyang22的专栏 5206

编程与数学 03-003 计算机操作系统 04_进程管理(二):进程控制

本文深入探讨了操作系统中的进程控制,包括进程的创建、撤销、阻塞与唤醒等操作。进程创建涉及分配PCB、初始化、资源分配及加入就绪队列。撤销则包括终止进程、回收资源、删除PCB并通知父进程。阻塞与唤醒原语用于控制进程状态,阻塞条件包括等待I/O操作、用户输入等,而唤醒条件则是相应事件完成。通过这些机制,操作系统能够高效地管理进程生命周期,确保系统资源合理利用和系统性能优化。

明月看潮生的博客 1015

ZUCC操作系统原理习题 进程概念

1.在操作系统中用户进程本身启动的唯一状态转换是()。 编号 选项 A 调度 B 阻塞 C 时间片到 D 唤醒 2.在分时系统中,导致创建进程的典型事件是()。 编号 选项 A 用户查询 B 用户输入 C 用户登录 D 用户注册 3.如果两个进程不相同,则两个进程执行的代码也不相同。 编号 选项 A True B ...

nonlinearthink的博客 5328

操作系统---(16)进程状态转换控制原语

创建原语 撤销原语 挂起原语 激活原语 阻塞原语 唤醒原语 进程调度原语 1.何时调用阻塞原语? 当正在运行的进程需要等待某一事 件而发生运行受阻时,它通过中断请求系统服务。 系统按照进程的需求进行适当处理后,启动“进程阻塞原语”将该进程阻塞起来。 引起进程阻塞(运行受阻)的原因 等待I/O 请求资源得不到满足 进程同步约束 服务进程无事可做 阻塞原语Block() 合时调用唤醒原语...

Fan的博客 3674

计算机操作系统:进程控制

进程控制是操作系统实现“多任务并发”的核心能力,其本质是通过“原子性原语”,对进程的生命周期(创建→执行→终止)和状态(运行→就绪→阻塞)进行精准管理。资源的高效分配与回收:创建进程时分配资源,终止进程时回收资源,阻塞进程时释放CPU,确保系统资源(CPU、内存、I/O)不被浪费;进程的有序执行:通过状态转换规则(如只有运行态可阻塞、阻塞态只能唤醒为就绪态),避免进程无序执行导致的结果错误;系统的稳定与可靠:通过预防僵尸进程、孤儿进程、死锁等机制,确保多进程并发时系统不崩溃、资源不泄露。早期OS。

梁辰兴的博客 1129

现代操作系统 进程

操作系统中最核心的概念是进程 一、进程模型 1.在进程模型中,计算机上所有可运行的软件,通常也包括操作系统,被组织成若干个顺序进程,简称进程。 2.一个进程就是一个正在执行程序的实例。 二、程序的顺序执行和并发执行 1.程序顺序执行时的特征: 顺序性 封闭性 可再现性 2.并发执行的特征: 间断性 失去封闭性 不可再现性 3.并发执行是增加计算机系统的处理能力和提高资源利用率...

Ritannn的博客 779

多个活动要安排(下):如何实现进程的等待与唤醒机制?

请注意,这个最后的选择一定要有,现在几乎所有的操作系统,都有一个或者几个空转进程(多CPU的情况下,每个CPU一个空转进程)。我们的Cosmos虽然是简单了些,但也必须要有空转进程,而且这是我们Cosmos上的第一个进程。

qq_33240556的博客 940
上一篇: 进程的奥德赛:并发世界中的核心概念与动态管理
下一篇: 智引未来:2024年科技革新引领工业界变革与机遇
Srlua小谢
Srlua小谢 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域
博客等级 码龄4年 8963粉丝 332原创
评论 70
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值