复习材料|计算机操作系统(第四版)复习材料-第二章 进程的描述与控制

计算机操作系统(第四版)复习材料-完全版
计算机操作系统(第四版)复习材料-第一章 操作系统引论
计算机操作系统(第四版)复习材料-第二章 进程的描述与控制
计算机操作系统(第四版)复习材料-第三章 处理机调度与死锁
计算机操作系统(第四版)复习材料-第四章 存储器管理
计算机操作系统(第四版)复习材料-第五章 虚拟存储器
计算机操作系统(第四版)复习材料-第六章 输入输出系统
计算机操作系统(第四版)复习材料-第七章 文件管理
计算机操作系统(第四版)复习材料-第八章 磁盘存储器的管理
计算机操作系统(第四版)复习材料-简述题

文章目录

  • 第二章 进程的描述与控制
    • 现代OS中进程和线程的概念
    • 前驱图和程序执行
    • 进程的描述
      • 进程的定义
      • 进程的特征
      • 进程和程序的区别
      • 进程的状态模型
      • 如何区分阻塞Or挂起?
      • 进程控制块PCB
    • 进程控制
      • 操作系统内核的功能
      • 进程的层次结构
      • 引起进程创建的事件
      • 进程创建流程
      • 引起进程结束的事件
      • 进程的终止过程
      • 进程的阻塞与唤醒
      • 进程的挂起与激活
    • 线程相关
    • 进程同步
      • 定义
      • 机制
      • 制约关系
      • 临界资源
      • 同步机制规则
      • 硬件机制
      • 信号量机制
      • 管程机制
    • 经典进程同步的同步问题
      • 生产者消费者问题
      • 哲学家进餐问题
      • 读者写者问题
    • 进程通信

第二章 进程的描述与控制 现代OS中进程和线程的概念 进程:是资源分配的和独立运行的基本单位。
线程:是系统调度的基本单位。
前驱图和程序执行
  1. 前驱图
    有向无循环图(DAG )。描述一个程序的各部分(程序段或语句)间的依赖关系,或者是一个大的计算的各个子任务间的因果(前后)
    关系。前趋图中的每个结点可以表示一条语句、一个程序段或一个进程,结点间的有向边表示两个结点之间存在的偏序关系或前趋关系“→ ”。没有前趋的结点称为初始结点,没有后继的结点称为终止结点。此外,每个结点还具有一个权值,用于表示该结点所含有的程序量或结点的执行时间。
  2. 程序顺序执行
  • 顺序性
  • 封闭性
  • 可再现性
  1. 程序并发执行
  • 异步性
  • 失去封闭性
  • 不可再现性
    复习材料|计算机操作系统(第四版)复习材料-第二章 进程的描述与控制
    文章图片
进程的描述 进程的定义
进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。
扩:进程实体:程序段+数据段+PCB
进程的特征
  • 动态性
  • 并发性
  • 独立性
  • 异步性
进程和程序的区别
程序是指令的有序集合,是静态的,其存在是无生命周期的,而进程由程序段、数据段、PCB组成,是动态的,有生命周期的。
进程的状态模型
  1. 二状态模型
    Running
    Not-Running
  2. 三状态模型
    Running
    Ready
    Block
  3. 五状态模型
    Running
    Ready
    Block
    New
    Exit
  4. 七状态模型
    Running
    Ready
    Block
    Ready,Suspend
    Block,Suspend
    New
    Exit
挂起需要用到Swapping技术;
如何区分阻塞Or挂起?
  • 进程是否等待事件,阻塞与否
  • 进程是否被换出内存,挂起与否
进程控制块PCB
  1. 定义:
    是操作系统为了管理和控制进程的运行,而为每一个进程定义的一个数据结构,它记录了系统管理进程所需的全部信息。
  2. 位置:
    常驻内存,存放在操作系统中专门开辟的PCB区内。
  3. 作用:
    a. 作为独立运行基本单位的标志,进程存在的唯一标志,系统根据PCB而感知相关进程的存在。
    b. 能实现间断性运行方式。保护现场
    c. 提供进程管理所需要的信息
    d. 提供进程调度所需要的信息
    e. 实现与其他进程的同步和通信
  4. 内容:
    a. 进程标识符
    b. 处理机状态
    c. 进程调度信息
    d. 进程控制信息
进程控制 操作系统内核的功能
  1. 支撑功能
  • 中断处理
  • 时钟管理
  • 原语1操作
  1. 资源管理功能
  • 进程管理
  • 存储器管理
  • 设备管理
进程的层次结构
  • 子进程可继承父进程的所有资源
  • 子进程撤销时要把资源归还给父进程
  • 父进程撤销时也必须撤销所有子进程
引起进程创建的事件
【复习材料|计算机操作系统(第四版)复习材料-第二章 进程的描述与控制】用户登录、作业调度、提供服务、应用请求
进程创建流程
  • 为进程分配一个唯一标识号
  • 为进程分配空间
  • 初始化PCB
  • 建立链接
  • 建立或扩展其他数据结构
引起进程结束的事件
正常、异常、外界干预
进程的终止过程
  • 根据PID找到PCB,读出该进程的状态
  • 若该进程为执行状态,则终止其执行,调度新进程执行
  • 若该进程有子孙进程,则立即终止其所有子孙进程
  • 将该进程的全部资源,或归还其父进程,或归还系统
  • 将被终止进程的PCB从所在队列中移出,等待其他程序来搜集信息
进程的阻塞与唤醒
阻塞是主动的,唤醒是被动的
进程的挂起与激活
挂起是由进程自己或其父进程调 Suspend 原语完成。激活是由父进程或用户进程请求激活指定进程,系统利用 Active 原语将指定进程激活。
线程相关
  1. 当引入线程后,线程是系统调度的基本单位,进程是资源分配的基本单位,而不再是一个可执行的实体。
  2. 进程与线程的存在方式
    复习材料|计算机操作系统(第四版)复习材料-第二章 进程的描述与控制
    文章图片
  3. 进程与线程的比较
    复习材料|计算机操作系统(第四版)复习材料-第二章 进程的描述与控制
    文章图片
进程同步 定义
是指对多个相关进程在执行次序上进行协调,他的目的是使系统中诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。
机制
硬件机制、信号量机制、管程机制
制约关系
  • 直接制约关系(进程同步)
  • 间接制约关系(进程互斥)
    复习材料|计算机操作系统(第四版)复习材料-第二章 进程的描述与控制
    文章图片
临界资源
临界资源是一次只允许一个进程使用的资源,需要进程采用互斥方式访问;访问临界资源的那一段代码叫做临界区(CS区)。
同步机制规则
  • 空闲让进
  • 忙则等待
  • 有限等待
  • 让权等待
硬件机制
  • 关中断
  • TS指令
  • Swap指令
    不符让权等待(造成了忙等)
信号量机制
操作:P、V操作
原语:wait、signal(必须成对存在)
类别:资源信号量、互斥信号量
资源信号量:申请/归还资源,可以初始化为一个正整数(>=0 表示可用资源数 <0表示被阻塞的进程数)
互斥信号量:申请/释放使用权,常初始化为1
注意事项:两个wait操作相邻的话,顺序很重要!同步wait必须在互斥wait前面!wait,signal成对出现,当为互斥操作时,处于同一进程,否则不在同一进程;使用PV不当,会产生死锁;
管程机制
定义:一个数据结构和在该数据结构上能被并发进程所执行的一组操作,这组操作能使进程同步和改变管程中的数据。
管程规定每次只准许一个进程执行,从而实现了进程互斥,保证了管程共享变量的数据完整性。
经典进程同步的同步问题 生产者消费者问题
资源信号量:full=0、empty=n(分别表示满缓冲区的数目、空缓冲区的数目)
互斥资源量:mutex=1
核心算法表示:
复习材料|计算机操作系统(第四版)复习材料-第二章 进程的描述与控制
文章图片

哲学家进餐问题
互斥资源量:五个
复习材料|计算机操作系统(第四版)复习材料-第二章 进程的描述与控制
文章图片

可能会出现死锁,改进如下:
复习材料|计算机操作系统(第四版)复习材料-第二章 进程的描述与控制
文章图片

读者写者问题
  1. 读者优先:
    共享变量:readcount,当前读者个数,初值为0
    互斥信号量:Rmutex=1(读互斥)、Wmutex=1(写互斥)复习材料|计算机操作系统(第四版)复习材料-第二章 进程的描述与控制
    文章图片

    复习材料|计算机操作系统(第四版)复习材料-第二章 进程的描述与控制
    文章图片
  2. 写者优先
    共享变量:readcount,当前读者个数,初值为0
    互斥信号量:Rmutex=1(读互斥)、Wmutex=1(写互斥)、S=1(读写互斥)
    复习材料|计算机操作系统(第四版)复习材料-第二章 进程的描述与控制
    文章图片
进程通信
  1. 共享存储器系统
  2. 消息传递系统
  • 直接通信方式:消息缓冲通信
  • 间接通信方式:信箱通信方式
  1. 管道通信(共享文件通信)
  2. 客户机-服务器系统
  1. 由若干条指令组成的,用于完成一定功能的一个过程。是一个不可分割的基本单位,执行过程中不许中断。 ??

    推荐阅读