操作系统复习----第四章(进程与进程管理)

一、进程的定义

进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。

  • 进程是程序的一次执行过程,是对CPU的抽象,是正在运行的程序的抽象
  • 每个进程具有独立的地址空间
  • 操作系统通过调度将CPU的控制权交给某个进程

二、进程的组成

进程实体是由PCB、程序段、数据段组成的

  • PCB:操作系统通过PCB来管理进程,因此PCB中应该包含操作系统对其进行管理所需的各种信息
  • 程序段:存放的是程序的代码本身,即一系列的指令
  • 数据段:存放的是程序运行中使用、产生的运算数据。例如全局变量、局部变量、宏定义的常量等都是存放在数据段内

三、进程的状态与转换

进程的状态

  • 运行状态: 进程正在处理机上运行。在单处理机环境下,每一时刻最多只有一个进程处于运行状态;
  • 就绪状态: 进程已处于准备运行的状态,获得了除处理机之外的一切所需资源,一旦得到处理机即可运行。
  • 阻塞状态: 又称等待状态:进程正在等待某一事件而暂停运行,如等待某资源为可用(不包括处理机)或等待输入/输出完成。即使处理机空闲,该进程也不能运行。
  • 创建状态: 进程正在被创建,尚未转到就绪状态。创建步骤包括:申请空白的 PCB,向 PCB 中填写一些控制和管理信息,系统向进程分配运行时所需的资源。
  • 结束状态: 进程正常结束、发生错误或者系统中断退出运行。系统必须首先将进程置为结束状态,再进一步处理资源释放及回收工作。

进程状态的转换

在这里插入图片描述

  • 就绪状态–>运行状态: 处于就绪状态的进程被调度后,获得处理机资源(分派处理机时间片),进程由就绪状态转换为运行状态。
  • 运行状态–>就绪状态: 处于运行状态的进程在时间片用完后,不得不让出处理机,进程由运行状态转换为就绪状态。此外,在可剥夺的操作系统中,当有更高优先级的进程就绪时,调度程度将正执行的进程转换为就绪状态,让更高优先级的进程执行。
  • 运行状态–>阻塞状态: 当进程请求某一资源(如外设)的使用和分配或等待某一事件的发生(如I/O操作的完成)时,它就从运行状态转换为阻塞状态。进程以系统调用的形式请求操作系统提供服务,这是一种特殊的、由运行用户态程序调用操作系统内核过程的形式。
  • 阻塞状态–>就绪状态: 当进程等待的事件到来时,如I/O操作结束或中断结束时,中断处理程序必须把相应进程的状态由阻塞状态转换为就绪状态。

四、进程控制块的组成与作用

1)进程标识符:

  • 内部标识符: 操作系统为每一个进程赋予的唯一数字标识符,系统使用
  • 外部标识符:由创建者提供,通常由字母与数字组成,往往是由用户(进程)在访问该进程时使用。描述进程的家族关系,设置父进程标识及子进程标识,还可设置用户标识,以指示拥有该进程的用户。

2)进程状态
有就绪、运行、挂起、停止等状态。

3)当前队列指针
该项登记了处于同一状态的下一个PCB的地址,以此将处于同一状态的所有进程勾链起来。每一个队列有一个队列头,其内容为队列第一个元素的地址。

4)进程优先级
进程的优先级反映了进程要求CPU的紧迫程度,它通常由用户预先提出或系统指定。进程将依据其优先级的高低去争夺使用CPU的权利。
5)CPU现场保护区
当进程由于某种原因释放处理机时,CPU现场信息被保存在PCB的该区域中,以便进程重新获得处理机后能继续执行。通常被保护的信息有工作寄存器、指令计数器以及程序状态字等 。

五、互斥与同步的概念

进程互斥的概念

由于进程具有独立性和异步性等并发特征,计算机的资源有限,导致了进程之间的资源竞争和共享,也导致了对进程执行过程的制约。
在并发进程中,一个或多个进程要对公用资源进行访问时,必须确保该资源处于空闲状态,也就是说,在并发进程中,临界区只允许一个进程进入,而其他进程阻塞,等待该共享临界资源释放。

进程同步

1)同步机制的引入目的:
在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。为了协调进程之间的相互制约关系,引入了进程同步的概念。
2)临界资源
虽然多个进程可以共享系统中的各种资源,但其中许多资源一次只能为一个进程所使用,我们把一次仅允许一个进程使用的资源称为临界资源。许多物理设备都属于临界资源,如打印机等。此外,如果变量、数据等都可以被若干进程共享,也属于临界资源。
3)临界区
对临界资源的访问,必须互斥地进行,在每个进程中,访问临界资源的那段代码称为临界区。
我们可以进入访问临界资源的代码分为4个区:

  • 进入区。为了进入临界区使用临界资源,在进入区要检查可否进入临界区,如果可以进入临界区,则应设置正在访问临界区的标志,以阻止其他进程同时进入临界区。
  • 临界区。进程中访问临界资源的那段代码,又称临界段。
  • 退出区。将正在访问临界区的标志清除。
  • 剩余区。代码中的其余部分。

4)同步机制应遵循的规则

  • 空闲让进:临界区空闲时,应允许一个进程访问
  • 忙则等待:临界区正在被访问时,其他要访问的进程需要等待
  • 有限等待:要在有限时间内进入临界区,保证不会饥饿
  • 让权等待:进不了临界区的进程,要释放处理机,防止忙等

六、采用信号量、wait、signal实现的进程同步与互斥

信号量及wait、signal操作的注意事项

在这里插入图片描述

wait、signal操作的优缺点

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值