进程的描述与 PCB1.0

本文详细介绍了进程的概念,包括进程的引入原因、进程控制块(PCB)、进程的三大特征、进程与程序的区别、进程的五种基本状态以及PCB在操作系统中的作用和信息组成。通过理解这些内容,读者可以深入理解操作系统如何管理和控制并发执行的进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.0进程引入的原因:
为了可以使程序能够并发执行,加粗样式并且可以对并发执行的程序加以描述与控制,人们引入进程这一概念。
进程控制块(PCB):
为了使并发参与执行的每个进程都能够独立运行,在操作系统中必须为之匹配一个专门的数据结构,称为进程控制块,系统利用PCB来描述进程的基本情况和活动过程。
进程实体:
由程序段,相关数据段和PCB三部分组成进程实体(进程映像),一般把进程实体称为进程。
创建进程:创建进程实体中的PCB;撤销进程:撤销进程实体中PCB。
1.1进程的经典定义
(1)进程是程序的一次执行;
(2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
(3)进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
OS中进程定义:
进程是进程实体的运行过程,是系统进行资源分配和调度的一个单位。
1.2进程的特征
动态性:
由创建而产生,由调度而执行,由撤销而消亡。进程实体有生命周期。
**并发性:
**多个进程实体同存于内存中,且能在一段时间内同时运行。
独立性:
进程实体是一个独立运行、独立获得资源和独立接受调度的基本单位。
异步性;
各自独立的、不可预知的速度向前推进。
异步性导致传统意义上的程序若参与并发执行,会产生其后果的不可在线性。
1.3进程与程序的区别
(1)进程是程序的一次执行,属于动态概念,程序是一组有序的指令,属于静态概念。但进程离开了程序也将失去存在的意义。
(2)一个进程可以执行一个或多个程序,同一个程序也可能由多个进程同时执行。
(3)程序可以作为软件资源长期保留,而进程是程序的一次执行过程,是暂时的。进程有生命周期。
(4)进程具有并发性,能与其他进程并发运行,而程序不具备这一特性。
(5)进程是一个独立的运行单位,也是系统进行资源分配和调度的一个独立单位。进程具有独立性,有时也就有相互制约性。
1.4进程的三种基本状态
(1)就绪(Ready)状态:
进程已处于准备好运行的状态,进程已分配到除CPU以外的所有必须资源,只要在获得CPU就可以立即执行。
(2)执行(Running)状态:
进程已获得CPU,其程序正在执行的状态。
(3)堵塞(Block)状态:
正在执行的进程由于发生某事件暂时无法继续执行的状态。进程的执行受到堵塞。
(4)创建状态:
●目的:保证进程的调度必须在创建工作完成后进行,确保进程控制操作的完整性,同时增加管理的灵活性。
●创建进程步骤:首先由进程申请一个空白的PCB,并向PCB中填入用于控制和管理进程的信息,然后为该进程分配运行所必须的资源。最后把该进程转入就绪状态,并插入就绪队列。
●创建状态:如果此时所需要的资源尚不能得到满足,此时创建工作尚未完成,进程不能被调度运行。
(5)终止状态:
●终止进程的步骤:首先等待操作系统进行善后处理,最后将其PCB清零,并将PCB返回空间。
●终止状态:进程结束,或出现错误,或被系统终止,进入终止状态。
1.5挂起状态:
目的:为了系统和用户观察和分析进程的需要。
作用于某个进程时,该进程将被挂起,意味着此进程处于静止状态。
如果进程正在执行,它将被暂停执行。若原本处于就绪状态,则该进程则暂时不接受调度。挂起操作对应的是激活操作。
挂起操作的引入:
(1)终端客户需要:当终端用户在自己的程序运行期间发现又可疑问题时,希望暂停自己的程序运行,使其停止下来,以便用户研究其执行情况或者对程序进行修改。
(2)父进程请求:父进程希望挂起自己某个子程序,以便考查和修改该子进程或者协调各子进程间的活动。
(3)负荷调节的需要:当实时系统中的工作负荷较重,可能出现影响到对实时任务的控制时,可由系统统一将一些不重要的进程挂起,以保证系统能正常运行。
(4)操作系统的需要:操作系统有时希望挂起某些进程,以便检查运行中资源使用情况或进行记账。
(5)对换的需要:为了缓和内存紧张的情况,将内存中处于堵塞状态的进程换至内存外。
1.6挂起状态引入后的转化
挂起操作原语(Suspend) 激活原语(Active)
活动就绪到静止就绪、活动阻塞到静止阻塞、静止就绪到活动就、静止阻塞到活动阻塞。
OS中进程控制块(Process Control Block)PCB:
概论:
为了便于系统描述和管理进程的运行,在OS的核心为进程专门定义一个数据结构——进程控制块。作用是使一个程序称为一个能够独立运行的基本单位,并且可以并发执行的进程,能够实现间断性运行,提供进程管理和调度所需要的信息,实现与其他进程同步与通信。
进程控制块中的信息(4个)
1)进程标识符:
(1)外部标识符:由创建者提供,通常有字母、数字组成。为了描述进程的家族关系,还应设置父进程标识符及子进程标识符。还可设置用户标识符以指示拥有该进程的用户。
(2)内部标识符;操作系统为每一个进程赋予的唯一标识符,系统使用。
2)处理机状态;主要由处理机的各种寄存器中的内容组成。包括
①通用寄存器、指令寄存器、程序状态字PSW、用户栈指针。
处理机被中断时,所欲这些信息都必须保存在PCB中,以便在该进程重新执行时,能重断点继续执行。
3)进程调度信息:
●进程状态
●进程优先级
●进程调度所需要的其它信息,与所采用的进程调度算法有关。有进程已等待CPU的时间总和、进程已执行的时间总和。
●事件:进程由执行状态转变为阻塞状态所等待发生的时间,即阻塞原因。
4)进程控制信息;
●程序和数据地址
●进程同步和通信机制
●资源清单
●链接指针
进程控制块的组织方式
1)线性方式:将所有的PCB都组织在一张线性表中,将该表的首址存放在内存中某个专用区域。实现简单、开销小,但每次查找需要扫描整张表。适用于进程数目不多的系统。
2)链接方式:链接子链接成一个队列。
3)索引方式:系统根据所有进程状态的不同,建立几张索引表;就绪索引表、阻塞索引表等。并把各索引表在内存的首地址记录在内存的一些专用单元中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值