操作系统概述

3.1 多道程序设计

吞吐率 = 作业道数 / 全部处理时间

  • 效率与系统资源利用率密切相关
  • 设计处理机、存储器、设备
  • 提高吞吐量需要提高资源利用率

多道程序通过利用 IO等待时间 提高系统效率

  • 程序道数过多的不利后果
    • 影响系统响应速度
    • 产生过多的(切换)系统开销

3.2 进程的概念

现代操作系统的特征:

  • 并发
  • 资源共享
  • 用户随机使用资源

进程是 计算机程序执行过程和资源分配的基本单位

前驱图:程序执行的 顺序依赖 关系

指令之间是顺序关系,执行过程由 IR PC 寄存器控制

  • loop
    • IR <= M[PC]
    • PC++
  • until halt

顺序执行 的特点:

  • 顺序性
  • 封闭性
  • 可再现性

多道执行 的特点:

  • 独立性
  • 随机性
  • 资源共享

并行与并发

  • 并行 同一时间片 IO 与 计算同时进行

  • 并发 多个程序同时执行

  • 语句的读写不冲突,没有共享变量,可以并行执行

并发执行 的特点

  • 间断性
  • 失去封闭性
  • 不可再现性

两个程序共享变量,导致最终结果不可再现

进程是 程序的一次执行,是 资源调度和分配 的单位。

进程的特征:

  • 结构特征(进程控制块)
  • 动态性
  • 并发性
  • 独立性
  • 异步特征

进程是临时的动态实体,程序是永久的静态实体

进程由代码、数据、资源组成,程序仅仅是代码

一个程序可以被多个进程执行

进程的组成

  • PCB
  • 程序代码
  • 数据集合

3.3 进程控制块和状态转换

进程控制块 PCB 进程存在的唯一标志

  • 通用寄存器
  • 指令计数器
  • 程序状态字
  • 用户栈指针
  • 进程控制信息
    • 程序和数据地址
    • 进程同步和通信机制
    • 资源清单
    • 链接指针
    • 访问权限
    • 文件描述符
  • 进程状态
  • 进程优先级
  • 等待原因
  • 调度算法参数

进程状态

  • 运行
    • 系统态
    • 用户态
  • 就绪
  • 阻塞

进程状态

  • 新建
  • 就绪
  • 运行
  • 阻塞
  • 完成

  • (静止就绪 静止阻塞) 挂起和激活

3.4 进程控制

存储器对应内存表

设备对应IO表

文件对应文件表

进程对应基本进程表

  • 每一个项目指向一个进程映像(上下文)

进程映像是程序、数据、栈和进程控制块的集合

  • 用户数据:用户控件中的可修改部分
  • 用户程序:代码序列
  • 系统栈:每个进程一个或多个,用于保存参数、过程调用地址、系统调用地址
  • PCB:控制进程所需的数据

操作系统内核:

  • 强内核与微内核
  • 原子操作(进程创建)关闭中断

3.5 线程