进程的基本概念

进程的基本概念


进程的定义和相关概念:

  • 进程是程序的一次执行
  • 进程是一个程序及其数据在处理机上顺序执行时所发生的活动.
  • 进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位.
  • 进程实体由程序段,相关的数据段和PCB三部分构成,简称进程
  • PCB(Process Control Block)称为进程控制块,系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程.
  • 传统OS中的进程定义为"进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位".进程的实质是进程实体的执行过程.

进程的特征:

  • 动态性:进程的实质是进程实体的执行过程,动态性是进程的最基本的特征.进程由创建而产生,由调度而执行,由撤销而消亡.
  • 并发性:是指多个进曾实体同时存在于内存中,且能在一段时间内同时运行.引入进程的目的就是为了使其进程实体能和其他进程实体并发执行.
  • 独立性:独立性是指进程实体是一个能独立运行,独立获得资源和独立接受调度的基本单位.
  • 异步性:是指进程是按异步方式运行的,即按各自独立的,不可预知的速度向前推进.

进程和程序的区别

  • 程序不具备进程独有的PCB
  • 进程实体是动态的,具有一定的生命周期,而程序只是一组有序指令的集合,其本身不具有活动的含义,是静态的.
  • 进程可以并发执行,而程序(没有PCB)不能并发执行
  • 程序不能作为独立的单位参与运行
  • 传统意义上的程序异步执行会导致执行结果的不可再现性,而进程的同步机制可以确保进程异步执行的结果是可再现的.

进程的三种基本状态

  • 就绪状态(Ready):进程已分配到除CPU以为所有必要资源后,进入准备好运行的状态,只要再获得CPU,便可立即执行.
  • 执行状态(Running):进程已获得CPU,其程序正在执行的状态.
  • 阻塞状态(Block):正在执行的进程由于发生某事件暂时无法继续执行时的状态,即程序的执行受到了阻塞.

三种基本状态的转换

  • 处于就绪状态的进程,在调度程序为其分配处理机之后,就转变为执行状态进行进程的执行.
  • 正在执行的进程如果由于分配的CPU时间片已经用完而被剥夺处理及暂停执行时,其状态由执行状态转变为就绪状态.
  • 因某事件的发生,致使当前进程的执行受阻,则该进程状态由执行状态变为阻塞状态,如发生IO请求时或访问的临界资源正在被其他进程使用时.而当该事件得到解决时,进程又从阻塞状态转变为就绪状态.

进程的创建状态和终止状态

  • 创建状态:在进程的创建过程中,如果进程所需的资源尚不能得到满足,比如系统尚无足够的内存使进程无法装入其中,此时创建工作尚未完成,进程不能被调度运行,于是把此时进程所处的状态称为创建状态。对于处于创建状态的进程,当其获得了所需的资源以及对PCB的初始化工作完成后,便可由创建状态转入就绪状态。
  • 终止状态:当一个进程到达了自然结束点,或者出现了无法克服的错误,或者被操作系统所终结,或是被其他有终止权的进程所终结,它将进入终止状态。进入终止状态的进程以后不能再执行,但在操作系统中依然保留了一个记录,其中保存状态码和一些计时统计数据,供其他进程收集。一旦其他进程完成了对其信息的提取之后,操作系统将该删除该进程,即将其PCB清零,并将空白PCB返还系统。

挂起操作

当挂起操作作用于某个进程时,该进程将被挂起,意味着此时该进程处于静止状态。如果该程序正在执行,它将暂停执行。若原本处于就绪状态,则该进程此时暂时不接受调度。与挂起操作对应的操作是激活操作。

挂起操作和激活操作的原语:Suspend:挂起;Active:激活。

  • 活动就绪:当进程处于未被挂起的就绪状态时被称为活动就绪状态。表示为Readya,此时进程可以接受调度。
  • 静止就绪:当用挂起原语将处于活动就绪的进程挂起后,该进程便转变为静止就绪状态。表示为Readys,此时进程不能被调度执行。
  • 活动阻塞:当进曾处于未被挂起的阻塞状态时被称为活动阻塞状态。表示为Blockeda。
  • 静止阻塞:用挂起原语将处于活动阻塞的进程挂起后,该进程便转变为静止阻塞状态。表示为Blocks

引入挂起操作后进程状态的转换:

  • 活动就绪——>静止就绪/活动阻塞——>静止阻塞:Suspend原语挂起后
  • 静止就绪——>活动就绪/静止阻塞——>活动阻塞:Active原语激活后
  • 静止阻塞——> 静止就绪/活动阻塞——> 活动就绪:该进程所期待的事件出现后。

进程控制块PCB

定义:
为了便于系统描述和管理进程的运行,在OS的核心为每个进程专门定义了一个数据结构——进程控制块PCB(process control block)。PCB作为进程实体的一部分,记录了操作系统所需要的,用于描述进程的当前情况以及管理进程运行的全部信息,是操作系统重要的记录型数据结构。

作用:
PCB的作用是使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。具体作用如下:

  • 1)作为独立运行基本单位的标志:系统是通过PCB感知进程存在的,PCB已成为进程存在于系统的唯一标志。
  • 2)能实现间断性运行方式:系统将CPU现场信息保存在被中断进程的PCB中。
  • 3)提供进程管理所需要的信息
  • 4)提供进程调度所需要的信息
  • 5)实现与其它进程的同步通信:在PCB中设置有用于实现进程通信的区域和通信队列指针等。

PCB中的信息构成

1.进程标识符
进程标识符用于唯一地标识一个进程,一个进程通常有两种标识符:(1)外部标识符:用于用户访问(2)内部标识符:用于系统访问

2.处理机状态(上下文)
(1)通用寄存器
(2)指令计数器PC:存放下一条指令的地址
(3)程序状态字PSW:存放CPU状态信息
(4)用户栈指针:用于存放过程调用和系统调用参数及调用地址。

3.进程调度信息
(1)进程状态:指明进程的当前状态,作为进程调度和对换时的依据。
(2)进程优先级:用于描述进程使用处理机的优先级别的一个整数。
(3)其他信息:进程已等待CPU时间总和,进程已执行的时间总和等。
(4)事件:进程由执行状态转换为阻塞状态所等待发生的事件,即阻塞原因。

4.进程控制信息
(1)程序和数据的地址:进程实体中程序和数据在内存或外存中的首地址。
(2)进程同步和通信机制:如消息队列指针,信号量等。
(3)资源清单:在该清单中列出了进程在运行期间所需的全部资源,除CPU外。
(4)链接指针:它给出了本进程PCB所在队列的下一个进程的PCB首地址。

PCB的组织方式(1)线性方式(2)链接方式(3)索引方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值