目录
  1. 1. 进程与进程管理
  2. 2. 前驱图的定义
  3. 3. 程序顺序执行的特征
  4. 4. 程序并发执行的特征
  5. 5. 对比顺序执行与并发执行区别
  6. 6. 进程是啥
  7. 7. 进程的功能
  8. 8. 进程的特征
  9. 9. 进程的基本状态
    1. 9.1. 进程状态的转换
    2. 9.2. 图示
  10. 10. 程序、进程、线程区别与联系
    1. 10.1. 进程与程序的区别与联系
      1. 10.1.1. 联系
      2. 10.1.2. 区别
    2. 10.2. 线程与进程的区别与联系
      1. 10.2.1. 联系
      2. 10.2.2. 区别
  11. 11. 进程控制块
    1. 11.1. 概念
    2. 11.2. 作用
    3. 11.3. 作用的过程
  12. 12. 进程控制块中的信息
  13. 13. 操作系统的内核
  14. 14. 操作系统内核的核心功能
  15. 15. 进程的创建
    1. 15.1. 引起创建进程的事件
    2. 15.2. 进程创建的过程
  16. 16. 进程的终止
    1. 16.1. 引进进程终止的事件
    2. 16.2. 进程终止过程
  17. 17. 进程的调度
  18. 18. 进程调度方式
  19. 19. 进程调度算法
  20. 20. 线程的定义
  21. 21. 引入线程的目的
  22. 22. 引入线程的好处
  23. 23. 线程与进程的比较
操作系统复习第三章

进程与进程管理

前驱图的定义

用来描述程序(或进程)之间先后执行顺序的有向无环图 简称DAG

注意:

  • 前驱图中,没有前驱的节点称为初始结点,没有后继的节点称为终止结点
  • 前驱图中不能存在环

程序顺序执行的特征

  • 程序执行的顺序性
  • 程序执行的封闭性
  • 程序执行结果的确定性
  • 程序结果的可再现性

程序并发执行的特征

  • 程序执行的间断性
  • 程序执行失去封闭性
  • 程序执行结果的不可再现性

对比顺序执行与并发执行区别

  • 顺序执行拥有一定顺序,而并发没有,程序执行期间可中途间断
  • 顺序执行具有封闭性,执行结果不受外部影响,而并发执行没有封闭性
  • 由于并发执行失去了封闭性 ,也就失去了可再现性,而顺序执行拥有可再现性

进程是啥

任意选一个自己方便理解好记的

  • 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。——百度
  • 行为的一个规则称为程序,程序在处理机上执行时所发生的活动称为进程。——Dijkstra
  • 进程是可以和别的计算并发执行的计算。——Madinick and Donowan
  • 进程是一个程序及其数据在处理机上顺序执行时发生的活动。——A.C.Shaw
  • 进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。——Peter Denning
  • 进程是具有独立功能的可并发执行的运行过程,是系统进行资源分配和调度的独立单位。——操作系统(第四版)

进程的功能

  • 资源分配
  • 调度

进程的特征

  • 动态性——其动态表现为:由调度而执行,得不到资源而暂停执行,以及撤销而消亡。
  • 并发性
  • 独立性
  • 异步性
  • 结构特征
    • 进程映像/进程实体的组成
      • 程序段
      • 数据段
      • 进程控制块

进程的基本状态

  • 就绪
  • 执行
  • 阻塞

执行中的程序

主动排队>>阻塞

被动排队>>就绪

进程状态的转换

  • 就绪>>执行 (处于就绪的进程分配到资源后)
  • 执行>>阻塞 (执行的进程请求的临界资源正被其他进程访问)
  • 执行>>就绪 (被优先级高的进程抢占了资源)
  • 阻塞>>就绪 (等待等待)

图示

程序、进程、线程区别与联系

进程与程序的区别与联系

联系

进程是把程序作为它的运行实体,没有程序,也就没有进程

进程由程序、数据和进程控制块3部分组成

区别

程序是静态的,进程是动态的

程序可以长期保存,而进程有生命周期,是临时的

进程是系统进行资源分配和调度的一个独立单位;而程序不是

线程与进程的区别与联系

联系

  • 进程和线程都是一个时间段的描述,是CPU工作时间段的描述

  • 进程和线程都是由操作系统所体会的程序运行的基本单元

区别

  • 进程有独立的地址空间 ,线程有自己的PCB,没有独立的地址空间

进程控制块

  • PCB——进程控制块
  • TCB——线程控制块

概念

进程控制块PCB是进程实体的一部分,是操作系统中最重要的数据结构。

作用

对进程的控制与管理

作用的过程

系统创建一个新进程时就为它建立了一个进程控制块PCB;进程结束时又回收其PCB,进程也随之消亡。

也可总结为

  • 创建新进程>>创建PCB

  • 进程结束>>回收PCB

进程控制块中的信息

  • 进程标识符的信息
    • 外部标识符
    • 内部标识符
  • 处理机状态信息
    • 通用寄存器
    • 指令计数器
    • 程序状态字PSW
    • 用户栈指针
  • 进程调度信息
    • 进程状态
    • 进程优先级
    • 进程调度所需的其他信息
    • 事件
  • 进程控制信息
    • 程序和数据的地址
    • 进程同步和通信机制
    • 资源清单
    • 链接指针

操作系统的内核

操作系统内核是指大多数操作系统的核心部分

操作系统内核的核心功能

  • 中断处理
  • 进程管理
    • 进程的建立和撤销
    • 进程状态的转换
    • 进程调度
    • 控制进程的并发执行
  • 资源管理中的基本操作

进程的创建

创建原语 create()

记住一句:子死父不一定死,父死子必死

引起创建进程的事件

  • 用户登录
  • 作业调度
  • 提供服务
  • 应用请求

进程创建的过程

  1. 申请空白进程控制块
  2. 为新进程分配资源
  3. 初始化进程控制块
  4. 将新进程插入就绪队列

进程的终止

终止原语 destroy()

引进进程终止的事件

  • 正常结束
  • 异常结束
  • 外界干预

进程终止过程

  1. 根据被终止进程的标识符从进程控制块PCB集合中检索出该进程的PCB,从中读出该进程的状态
  2. 若被终止进程正处于执行状态,应立即终止该进程的执行并设置调度标志为真,用于指示该进程被终止后应重新进行调度,选择一新进程,把处理机分配给它
  3. 若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防它们成为不可控的
  4. 将该进程所拥有的全部资源或者归还其父进程或者归还给系统
  5. 将被终止进程的PCB从所在队列中移除,等待其他程序来搜集信息

简述

  1. 从标识符中读出当前进程的状态
  2. 若处于执行,则终止该进程,将处理机资源分配给其他新进程
  3. 若进程包含子孙进程,则终止所有子孙进程
  4. 将该进程所有资源释放回收
  5. 将该进程的PCB回收

进程的调度

  • 高级调度(作业调度)——从外存接纳一个作业,为它创建进程且分配必要的资源,并挂到就绪队列上
  • 低级调度(进程调度)——决定就绪队列哪个进程将获得处理机资源
  • 中级调度

进程调度方式

  • 非剥夺方式
    • 优点:简单,系统开销小
    • 缺点:短进程周转时间长,紧急任务无法立即投入运行
  • 剥夺方式
    • 剥夺原则
      • 优先权原则
      • 短进程优先原则
      • 时间片原则

进程调度算法

  • 先进先出算法
  • 短作业优先调度算法(最短处理机运行期优先调度算法)

Tn+1=αtn+(1-α)Tn

α用于预测值,通常在0.5左右

tn是第n个实际的处理机执行期

Tn是其预测值

线程的定义

引入线程的操作系统中,线程是进程的一个实体,是被系统独立调度和分派的基本单位

引入线程的目的

为了减少程序并发执行时所付出的时空开销,使操作系统具有更好的并发性

引入线程的好处

  • 创建与终止一个线程花费时间少

  • 线程之间切换花费时间少

  • 同一进程内线程共享内存与文件,无须调用系统内核

  • 线程能够独立执行

线程与进程的比较

  • 调度——把线程作为调度和分配的基本单位
  • 并发性——使系统具有更好的并发性,从而更加高效地使用系统资源和提高系统吞吐量
  • 拥有资源——进程可以拥有独立资源,线程是共享资源
  • 系统开销——线程的切换、同步和通信都无须操作系统内核的干预
文章作者: Jachie Xie
文章链接: https://xjc5772.github.io/2019-12/22/%E5%AD%A6%E4%B9%A0/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%A4%8D%E4%B9%A003/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XJC&Blog
打赏
  • 微信
  • 支付宝

评论