操作系统复习03

进程与进程管理

前驱图的定义

用来描述程序(或进程)之间先后执行顺序的有向无环图 简称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回收

进程的调度

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

进程调度方式

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

进程调度算法

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

线程的定义

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

引入线程的目的

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

引入线程的好处

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

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

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

  • 线程能够独立执行

线程与进程的比较

  • 调度——把线程作为调度和分配的基本单位
  • 并发性——使系统具有更好的并发性,从而更加高效地使用系统资源和提高系统吞吐量
  • 拥有资源——进程可以拥有独立资源,线程是共享资源
  • 系统开销——线程的切换、同步和通信都无须操作系统内核的干预
发布了61 篇原创文章 · 获赞 5 · 访问量 5082

猜你喜欢

转载自blog.csdn.net/qq_38496329/article/details/103685603