计算机操作系统教程:进程、线程、与作业-期末复习大纲

本文探讨了多道程序设计的效率提升方法,强调了吞吐量作为衡量标准,分析了单道程序设计的不足。文章深入解析了处理器、内存和设备资源管理,讨论了进程控制块(PCB)、上下文切换、线程结构及其在操作系统中的角色,以及作业的概念和不同类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 多道程序设计

    1. 目标
      1. 提高效率:用吞吐量(作业数/总时间)衡量。资源利用率高,意味着吞吐量大。

    2. 单道程序设计的缺点
      1. 设备资源(I/O)利用率低

      2. 内存资源利用率低

      3. 处理器资源利用率低:处理器与外围设备的速度不匹配

      4. 系统中的资源数量多,资源使用者数量少

      5. 程序数量越多并不一定越好。(P30)

    3. 多道程序设计的问题
      1. 处理器资源管理问题

      2. 内存资源管理问题

      3. 设备资源管理问题

  2. 进程

    1. 执行中的程序(包括代码,数据,堆栈;进程的躯体;进程影像)。
      1. 运行期间不会修改自身。

      2. 不采用绝对地址。

      3. 数据一般私用,代码可以共享。

      4. 数据包括静态数据、动态堆(保存动态变量)和动态栈(保存用户程序调用的参数,局部变量,返回值等)。

    2. 进程控制块。(PCB;进程的灵魂)
      1. 是进程存在的标志,由一系列信息构成。

      2. 存在于系统空间。

      3. 保存断点现场信息区域,包含系统对进程进行管理所需要的全部信息(P33)。

      4. 建立进程→建立PCB

      5. 撤销PCB→撤销进程

    3. 进程上下文
      1. 与进程相关的运行环境。

      2. 当一个程序执行时,地址映射寄存器,CPU中通用寄存器的状态,SP,PSW,PC,进程状态以及堆栈中的内容等。

      3. 进程切换过程也就是进程上下文切换过程。

    4. 进程切换
      1. 处理器分派程序进行调度。

        1. 保存下降进程的核心现场。

          1. 系统初次启动时不执行,下降进程为终止进程时,直接转善后处理(收回资源,撤销PCB等)。

        2. 选择要运行的进程。

          1. 闲逛进程:永远进行不完,调度级别最低,时刻就绪。使得CPU不会总忙于做事,导致电脑死机。

        3. 恢复上升进程现场。

          1. 恢复地址映射寄存器,通用寄存器及SP,PSW,PC的内容(PCB处理);最后恢复PSW和PC(系统栈)。

    5. 具有动态特性

    6. 不同进程之间的切换点不固定,但中断是固定的

    7. 状态
      1. 运行态:正在运行。

      2. 就绪态:等待处理器资源。

      3. 等待态:不具备运行条件。

      4. 多次状态转换,体现了程序的动态性和并发性。

      5. 转换规则。(P32)

    8. 操作系统是若干个独立运行的程序,和管理他们的核心组成。

    9. 系统开销。

  3. 进程队列

    1. 进程控制块构成的队列。可能单向,可能双向。

      1. 作业队列
        1. 存于二级存储器。

        2. 被调度策略选中的进程进入就绪队列。

      2. 就绪队列
        1. 一般只有一个就绪队列。(由调度算法确定)

        2. 进程初创后进入就绪队列。

        3. 运行的进程时间片用完后进入就绪队列。

        4. 进程入队列和出队列的次序和处理器调度算法(有策略地)有关。

      3. 等待队列
        1. 运行的进程受阻后进入等待队列。

        2. 每个等待事件有一个等待队列,即一个事件可能有多个进程。

      4. 运行队列
        1. 单处理器只有一个运行队列,多处理器有多个运行队列。

        2. 每个队列中只有一个进程。

        3. 指向头部的指针称为运行指示字。

  4. 进程的类型和特性

    1. unix系统
      1. 0号sched初始进程产生1号imit祖先进程。

    2. 系统进程(守护进程)
      1. 运行操作系统程序,完成操作系统的功能。

      2. 通常对应一个无限循环程序,没有中断,没用调用也可执行。

      3. 优先级高。

    3. 用户进程
      1. 运行用户程序,直接为用户服务。

      2. 在操作系统之上运行的所有应用程序。

    4. 特性
      1. 并发性

      2. 动态性

      3. 独立性:进程是调度的基本单位

      4. 交互性:直接或间接的相互作用

      5. 异步性:相对独立,运行速度不可预知

      6. 结构性:都具有进程控制块

  5. 相互联系和相互作用

    1. 相关进程
      1. 具有某种联系的进程。

        1. 如父进程和子进程,父进程监视子进程的运行。

      2. 可发生直接相互作用和间接相互作用。

    2. 无关进程
      1. 逻辑上没用任何联系。

      2. 可发生间接相互作用。

    3. 并发进程之间有相互制约关系,即相互作用
      1. 直接相互作用

        1. 进程之间不需要媒介而发生相互作用。

        2. 需要媒介而发生作用。

  6. 进程的创建,撤销与汇聚

    1. 用户进程由系统调用创建和撤销。

    2. 进程的创建
      1. 建立进程控制块

      2. 分配资源

      3. 初始化进程控制块

      4. 加载程序

      5. 送入就绪队列

    3. 进程的撤销
      1. 原因

        1. 正常结束

        2. 异常结束

        3. 外界干预

      2. 善后处理

      3. 收回资源

      4. 撤销进程控制块

      5. 通知父进程等

    4. 进程汇聚
      1.     P37,图2-8

  7. 进程和程序的联系与差别

    1. 程序是进程的组成部分之一,进程的目的是执行程序。

    2. 程序是静态的,进程是动态的。

    3. 进程有生命周期。

    4. 一个程序可对应多个进程,一个进程只能对应一个程序。

  8. 线程引入

    1. 早期的进程
      1. 是处理器调度的基本单位

      2. 系统开销大,耦合度差

    2. 早期进程特点
      1. 一些执行流有内在的逻辑关系,有相同的代码或数据

    3. 线程(轻进程,LWP)
      1. 一个进程至少有一个线程,可为单线程进程。

      2. 一个相对独立的执行流,线程可并发执行,是CPU的调度单位。

      3. 进程是资源的分配单位,进程的多个线程共享代码、数据段(静态变量和全局变量)和堆

      4. 同一进程的多个线程可执行同一代码段,响应多个请求;

      5. 也能执行不同的代码段,逻辑上合作,合作线程利用共享的数据交往。

      6. 优点

        1. 上下文切换快:只需改变寄存器和栈。

          1. 实际上,每个线程拥有一个逻辑寄存器,实际上是共享同一个寄存器;

          2. 但每个线程实际拥有一个独立的栈(因为涉及函数的调用和返回,调用可以嵌套)来保存函数调用的信息。

        2. 系统开销小

        3. 通信容易:多个线程地址共享。

  9. 线程的结构

    1. 图2-10

    2. 线程控制块TCB
      1. 用于保存现场信息,控制线程堆栈线程代码

      2. 是标志线程存在的数据结构,包含系统对线程进行管理的全部信息。

      3. 内容少;PSW,PC,进程ID,父进程ID,地址空间由PCB共享。

      4. 图2-11

    3. 用户级别线程(ULT)
      1. TCB存在于目态空间,由运行系统维护。

      2. 通过用户手动切换,独立于操作系统。

      3. 优点

        1. 可选择和具体问题相关的调度策略,灵活性好。

        2. 线程切换不通过操作系统,效率高。

      4. 缺点

        1. 无法真正并行:若一个线程执行,则该进程中其他线程不能执行。

        2. 调度在进程级别,若其中一个线程进入操作系统受阻,其他线程不能运行。

      5. 和进程关联

        1. 在系统空间中,存在n个核心栈,和控制n个进程的进程表,来管理n个进程。

        2. 在用户空间中,一个进程的代码,数据,堆由线程共享,有k个线程就有k个用户栈,一个进程还包含一个控制k个线程的线程表。

    4. 核心级别线程(KLT)
      1. 线程状态转换由操作系统完成,线程是CPU调度的基本单位。

      2. 和进程关联

        1. 在系统空间中,存在n个核心栈,和控制n个线程的线程表,来管理n个线程。不存在对应进程的核心栈,但存在对应进程的进程表

        2. 在用户空间中,一个进程的代码,数据,堆由线程共享,有k个线程就有k个用户栈。

      3. 优点

        1. 并发性好,多处理器可以并行执行。

      4. 缺点

        1. 系统开销大。

    5. 混合线程
      1. 用户级别线程:是用户程序并发或并行执行的基本单位。每个任务至少一个ULT。

      2. 核心级别线程:操作系统调度执行的基本单位。

      3. 轻进程(LWP):每个进程至少包含一个轻进程,与KLT是一一对应关系。

        1. 哪个ULT和轻进程绑定,哪个ULT可执行。LWP可并行执行。

  10. 作业

    1. 用户要求的计算机任务的集合,分时系统用户在一次登录后进行的交互序列。

    2. 作业>进程,作业的每一个处理步骤称为一个作业步,一个作业步通常由一个进程完成。

    3. 批处理作业

      1. 作业控制块(JCB)保存相关的作业信息。

      2. 标志作业存在的数据结构。

      3. 作业由假脱机输入程序(SPOOL)控制进入输入井,经操作系统的作业调度程序选择进入内存,并为其建立作业控制进程。

  11. 交互式作业

    1. 对分时系统来说,每一次登录为一个作业。

    2. 口令文件。P44

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值