(计算机操作系统)第二章:进程的描述与控制

程序执行

前趋图

用于描述进程之间执行的先后顺序。
结点间的有向边表示两个结点之间存在的偏序或者前趋关系。

程序的顺序执行特征

  1. 顺序性:处理及严格按照程序所规定的顺序执行,每一操作必须在下一个操作开始之前结束。
  2. 封闭性:程序在封闭状态下执行,运行时独占处理器资源,资源的状态只能本程序才能改变它,程序一旦执行,外界因素无法改变。
  3. 可再现性:只要程序执行时环境和初始条件相同,当程序重复执行时,无论怎样执行,都可获得相同的执行结果。

程序并发执行

多个程序之间不存在前趋关系,则可进行并发执行。
并发执行的特征:

  1. 间断性:共享系统资源,完成同一项任务相互合作,在这些并发执行程序之间形成了相互制约的关系,致使一些数据无法立刻输出,导致后续程序只能暂停运行。
  2. 失去封闭性:系统中的各种资源将被多个程序共享,这些资源的状态也由这些程序改变,其中一项程序在执行的过程中,一定会收到其他程序的影响。
  3. 不可再现性:失去封闭性,一定不可再现。

进程的描述

进程的定义

  1. 进程是程序的一次执行
  2. 进程是一个程序及其数据在处理机上顺序执行时所发生的活动
  3. 进程是具有独立功能的程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个基本独立单位

为了使参与并发执行的每个程序都能独立运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块(PCB)

进程的特征

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

进程的基本状态及转换

进程的三种基本状态:
【1】就绪状态:进程已经分配到所需资源,只需要得到CPU就可以开始执行。
【2】执行状态:进程已经获得了CPU,正在进行执行状态。
【3】阻塞状态:正在执行的进程由于发生了某些事件暂时无法继续执行的状态。
进程之间的转换问题:P37

挂起操作和进程的状态转换

P38

进程管理中的数据结构

对于每个资源和每个进程都设置了一个数据结构,用来表征其实体,我们称之为资源信息表或者进程信息表。
其中包含了资源或进程的标识,描述,状态以及一批指针。
OS管理的数据结构一般分为:内存表,设备表,文件表和用于进程管理的进程表。

进程控制块PCB的作用

PCB作为进程实体的一部分,记录了操作系统所需的,用于描述进程的当前情况以及管理进程的全部信息,是操作系统中最重要的记录型数据结构。

  1. 作为独立运行基本单位的标志
  2. 能实现间断性运行方式
  3. 提供进程管理所需要的信息
  4. 提供进程调度所需要的信息
  5. 实现与其他进程的同步以及通信

进程控制块中的信息

  1. 进程标识符:【1】外部标识符,方便用户对进程的访问,通常由字母,数字组成。【2】内部标识符:方便系统对进程的使用,通常是一个进程的序号。
  2. 处理机状态:【1】通用寄存器【2】指令寄存器【3】程序状态【4】用户栈指针
  3. 进程调度信息:【1】进程状态【2】进程优先级【3】进程调度所需的其他信息【4】事件
  4. 进程控制信息:【1】程序和数据的地址【2】进程同步和通信机制【3】资源清单【4】链接指针
    进程控制块的组织方式:【1】线性方式【2】链接方式【3】索引方式

进程控制

进程控制是进程管理中最基本的功能。
处理机的执行状态分为系统态和用户态:【1】系统态:又称为管态,内核态。具有较高的特权,能执行一切命令,访问所有寄存器和存储区。【2】用户态:称为目态,具有较低特权执行状态,仅能执行规定的指令,访问特定的寄存器和存储区。

OS内核包含以下功能:

  1. 支撑功能:【1】中断处理【2】时钟管理【3】原语操作
  2. 资源管理功能:【1】进程管理【2】存储器管理【3】设备管理

进程的创建

引起创建进程的事件:用户登录,作业调度,提供服务,应用请求

  1. 申请空白PCB,为新进程申请获得唯一的数字标识符
  2. 为新进程分配其所需的资源,包括物理和逻辑资源
  3. 初始化进程控制块,【1】初始化标识信息【2】初始化处理及状态信息【3】初始化处理机控制信息
  4. 如果进程就绪队列能够接纳新进程,将进程加入队列。

进程的终止

引起进程终止的事件:正常结束,异常结束,外界干预

  1. 根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,读出其中的状态
  2. 被终止进程正处于执行状态,立即终止执行,并置调度标志为真,用于指示该进程被终止后应重新调度
  3. 若该进程还有子孙进程,应该将所有子孙进程全部终止
  4. 将被终止进程所有资源归还给父进程,归还给系统
  5. 将被终止进程从PCB表中移除。

进程的阻塞与唤醒

引起进程的阻塞和被唤醒的事件:像系统请求资源失败,等待某种操作完成,新数据尚未到达,等待新任务到达
进程阻塞过程:调用block原语,首先立即停止执行进程,进程控制块中改为阻塞状态,PCB加入阻塞队列,转调度程序重新调度,将处理机分配给另一个就绪进程
进程唤醒过程:调用唤醒语句wakeup,首先把被阻塞的进程从等待事件的阻塞队列中移除,将其PCB中的状态由现行状态由阻塞转换为就绪,将该PCB插入到就绪队列中。

进程的挂起与激活P47

进程同步P48

  1. 间接相互制约关系
  2. 直接相互制约关系

信号量机制

  1. 整型信号量
  2. 记录型信号量
  3. AND信号量
  4. 信号量集

经典进程的同步问题

  1. 生产者消费者问题
  2. 哲学家进餐问题
  3. 读者写者问题

进程通信

  1. 共享存储器系统
  2. 管道通信系统
  3. 消息传递系统
  4. 客户机-服务器系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

TY是只ITMonkey

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

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

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

打赏作者

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

抵扣说明:

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

余额充值