操作系统(2):进程管理

考纲内容

(一)进程与线程

  • 进程的概念;进程的状态与转换
  • 进程控制;进程组织
  • 进程通信;线程概念与多线程模型

(二)处理机调度

  • 调度的基本概念;调度时机、切换与过程
  • 调度的基本准则;调度方式;经典调度算法

(三)进程同步

  • 进程同步的基本概念
  • 实现临界区互斥的基本方法
  • 信号量;管程;经典同步问题

(四)死锁

  • 死锁的概念;死锁处理策略
  • 死锁预防;死锁避免;死锁的检测和解除

2.1进程与线程

知识点

  • 进程的定义
    • 进程是程序的一次执行过程。
    • 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
    • 进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
  • 线程的定义:线程是进程中的一个实体,是被系统独立调度和分派的基本单位。
  • 系统发生死锁时有可能进程全部处于阻塞态,或无进程任务,CPU空闲。
  • 进程申请处理器得不到满足时处于就绪态,等待处理器的调度。
  • 并发进程失去封闭性是指:并发进程共享变量,其执行结果与速度有关。
  • 管道实际上是一种固定大小的缓冲区,管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户、单独构成的一种文件系统,并且只存在于内存中。它类似于通信中半双工信道的进程通信机制,一个管道可以实现双向的数据传输这一句有点问题,而同一时刻只能最多有一个方向的传输,不能两个方向同时进行。管道的容量大小通常为内存上的一页,它的大小并不受磁盘容量大小的限制。当管道满时,进程在写管道会被阻塞,而当管道空时,进程在读管道会被阻塞。

错题

4.进程与程序的根本区别是(A)
A.静态和动态特点
B.是不是被调入内存
C.是不是具有就绪、运行和等待三种状态
D.是不是占有处理器
动态性是进程最重要的特性,以此来区分文件形式的静态程序。

20.略

22.系统动态DLL库中的系统线程,被不同的进程所调用,它们是相同的线程。
程序代码经过多次创建可对应不同的进程,而同一个系统的进程(或线程)可以由系统调用的不同方法被不同的进程(或线程)多次使用。

23.PCB是进程存在的唯一标志,下列(B)不属于PCB。
A.进程ID
B.CPU状态
C.堆栈指针
D.全局变量
进程实体主要是代码、数据和PCB。因此,要清楚了解PCB内所含的数据结构内容,主要有四大类:进程标志信息、进程控制信息、进程资源信息、CPU现场信息。由上述可知,全局变量与PCB无关,它只与用户代码有关。

2.2处理机调度

知识架构

  • 调度的概念
    • 调度的基本概念
    • 调度的层次
      • 作业调度(高级调度)
      • 中级调度(内存调度)
      • 进程调度(低级调度)
    • 三级调度的联系
  • 调度的时机、切换与过程
  • 进程调度方式
    • 非剥夺调度方式
    • 剥夺调度方式
  • 调度的基本准则
    • CPU利用率
    • 周转时间
      • 周转时间
      • 平均周转时间
      • 带权周转时间
    • 等待时间
    • 响应时间
  • 典型的调度算法
    • 先来先服务(FCFS)调度算法
    • 短作业优先(SIJ)调度算法
    • 优先级调度算法
      • 非剥夺式优先级调度算法
      • 剥夺式优先级调度算法
      • 静态优先级
      • 动态优先级
    • 高响应比优先调度算法
    • 时间片轮转调度算法
    • 多级反馈队列调度算法

错题

3.(B)有利于CPU繁忙型的作业, 而不利于I/O繁忙型的作业。
A.时间片轮转调度算法
B.先来先服务调度算法
C.短作业(进程)优先算法
D.优先权调度算法
FCFS调度算法比较有利于长作业,而不利于短作业。所谓CPU繁忙型的作业,是指该类作业需要大量的CPU时间进行计算,而很少请求I/O操作。I/O繁忙型的作业是指CPU处理时,需要频繁地请求I/O操作。所以CPU繁忙型作业更接近于长作业。

14.下列调度算法中,(B)调度算法是绝对可抢占的。
A.先来先服务
B.时间片轮转
C.优先级
D.短进程优先
时间片轮转算法是按固定时的时间配额来运行的,时间一到,不管是否完成,当前的进展必须撤下,调度新的进程,因此它是由时间配额决定的、是绝对可抢占的。而优先级算法和短进程优先算法都可分为抢占式和不可抢占式。

28.【2012统考真题】若某单处理机多进程系统中有多个就绪态进程,则下列关于处理机调度的叙述中,错误的是(****)
A.在进程结束时能进行处理机调度
B.创建新进程后能进行处理机调度
C.在进程处于临界区时不能进行处理机调度
D.在系统调用完成并返回用户态时能进行处理机调度
选项A、B、C显然属于可以进行处理机调度的情况。对于选项C,当进程处于临界区时,说明进程正在占用处理机,只要不破坏临界资源的使用规则,就不会影响处理机的调度。

知识点

  • 当前进程的时间片用完后,其状态由执行态变为就绪态。
  • 时钟中断发生后,系统会修改当前进程在时间片内的剩余时间。
先来先服务 短作业优先 高响应比优先 时间片轮转 多级反馈队列
能否是可抢占 队列内算法不一定
能否是不可抢占 队列内算法不一定
优点 公平,实现简单 平均等待时间最少,效率最高 兼顾长短作业 兼顾长短作业 兼顾长短作业,有较好的响应时间,可行性强
缺点 不利于短作业 长作业会饥饿,估计时间不易确定 计算响应比的开销大 平均等待时间较长,上下文切换浪费时间
适用于 作业调度,批处理系统 分时系统 相当通用
默认决策模式 非抢占 非抢占 非抢占 抢占 抢占

公式

  • 周转时间 = 作业完成事件 - 作业提交时间
  • 带权周转时间 = 作业周转时间 / 作业实际运行时间
  • 响应比Rp = (等待时间 + 要求服务时间)/ 要求服务时间

2.3进程同步

知识框架

  • 进程同步的基本概念
    • 临界资源
      • 进入区
      • 临界区
      • 退出区
      • 剩余区
    • 同步(直接制约关系)
    • 互斥(间接制约关系)
      • 空闲让进
      • 忙则等待
      • 有限等待
      • 让权等待
  • 实现临界区互斥的基本方法
    • 软件实现方法
      • 单标志法
      • 双标志法先检查
      • 双标志法后检查
      • Peterson’s Algorithm算法。
    • 硬件实现方法
      • 中断屏蔽方法
      • 硬件指令方法
        • TestAndSet方法
        • Swap指令
  • 信号量
    • 整型信号量
    • 记录型信号量
    • 利用信号量实现同步
    • 利用信号量实现进程互斥
    • 利用信号量实现前驱关系
    • 分析进程同步和互斥问题的方法步骤
  • 管程
    • 管程的定义
    • 管程的组成
      • 局部与管程的共享结构数据说明
      • 对该数据结构进行操作的一组过程
      • 对局部于管程的共享数据设置初始值的语句
    • 管程的基本特性
      • 局部与改成的数据只能被局部与管程内的过程所访问
      • 一个进程只有通过调用管程内的过程才能进入管程访问共享数据
      • 每次仅允许一个进程在管程内执行某个内部过程
  • 经典同步问题
    • 生产者-消费者问题
      • 互斥信号量mutex = 1
      • “满”缓冲区数信号量full = 0
      • "空"缓冲区数信号量empty = n
    • 读者-写者问题
      • 读者计数器信号量count = 0
      • 互斥信号量mutex = 1 保护count
      • 互斥信号量rw = 1,保证读者和写者的互斥访问
    • 哲学家进餐问题
      • 互斥信号量数组chopstick[5],哲学家i左边的编号为i,哲学家右边筷子的编号为(i+1)%5
    • 吸烟者问题
      • 信号量offer1、offer2、offer3分别表示烟草和纸组合的资源、烟草和胶水组合的资源、纸和胶水组合的资源。信号量finish用于互斥进行抽烟动作

知识点

错题

21.一个进程映像由程序、数据及PCB组成,其中(D)必须用可重入编码编写。
A.PCB
B.程序
C.数据
D.共享数据段
共享程序段可能同时被多个进程使用,所以必须用可重入编码,否则无法实现共享功能。

29.以下关于管程的叙述中,错误的是(C)
A.管程是进程同步工具,解决信号量机制大量同步操作分散的问题
B.管程每次只允许一个进程进入管程
C.管程中signal操作的作用和信号量机制中的V操作相同
D.管程是被进程调用的,管程是语法范围,无法创建和撤销
管程的signal操作与信号量机制中的V操作不同,信号量机制中的V操作一定会改变信号量的值S=S+1。而管程中的signal操作是针对某个条件变量的,若不存在因该条件而阻塞的进程,则signal不会产生任何影响。

48.在下列同步机制中,可以实现让权等待的是(C)
A.Peterson方法
B.swap指令
C.信号量方法
D.TestAndSet指令
硬件方法实现进程同步时不能实现让权等待,故B、D错误,Peterson算法满足有限等待但不满足让权等待,故A错误;记录型信号量由于引入阻塞机制,消除了不让权等待的情况,故C正确。

2.4死锁

知识架构

  • 死锁的概念
    • 死锁的定义
    • 死锁产生的原因
      • 系统资源的竞争
      • 进程推进顺序非法
      • 死锁产生的必要条件
        • 互斥条件
        • 不剥夺条件
        • 请求并保持条件
        • 循环等待条件
  • 死锁的处理策略
    • 死锁预防
    • 避免死锁
    • 死锁的检测及解除
  • 死锁预防
    • 破坏互斥条件
    • 破坏不剥夺条件
    • 破坏请求并保持条件
    • 破坏循环等待条件
  • 死锁避免
    • 系统安全状态
    • 银行家算法
  • 死锁检测和解除
    • 资源分配图
    • 死锁定理
    • 死锁解除
      • 资源剥夺法
      • 撤销进程法
      • 进程回退法

知识点

资源分配策略 各种可能模式 主要优点 主要缺点
死锁预防 保守,宁可资源闲置 一次请求所有资源,资源剥夺,资源按序分配 适用于突发式处理的进程,不必进行剥夺 效率低,进程初始化时间延长;剥夺次数过多;不便灵活申请新资源
死锁避免 是“预防”和“检测”的折中(在运行时判断是否可能死锁) 寻找可能的安全允许顺序 不必进行剥夺 必须知道将来的资源需求;进程不能被长时间阻塞
死锁检测 宽松,只要允许就分配资源 定期检查死锁是否已经发生 不延长进程初始化时间,允许对死锁进行现场处理 通过剥夺解除死锁,造成损失
  • 资源分配图是一个有向图,用于表示某时刻系统资源与进程之间的状态。

错题

9.【2009统考真题】某计算机系统中有8台打印机,由K个进程竞争使用,每个进程最多需要3台打印机,该系统可能会发生死锁的K的最小值是(B)
A.2
B.3
C.4
D.5
考虑极端情况。

猜你喜欢

转载自blog.csdn.net/a617976080/article/details/88894833