博客
关于我
计算机操作系统之第二章 进程的描述与控制(1)
阅读量:571 次
发布时间:2019-03-11

本文共 1643 字,大约阅读时间需要 5 分钟。

操作系统基础知识点解读

1. 前驱图及其意义

前驱图(Predecessor Graph)是一种有向无环图(DAG,Directed Acyclic Graph),用于描述程序之间的执行顺序。其核心思想是通过定义程序的前驱(Predecessor)和后继(Successor)关系,帮助理解程序的执行逻辑。

  • 前驱与后继:如果一个程序 Pi 的执行必然导致另一个程序 Pj 的执行,那么 Pi 是 Pj 的直接前驱,Pj 是 Pi 的直接后继。

  • 重量(Weight):用于衡量程序的运行量或执行时间,通常以指令数或时间单元为单位。重量可帮助评估程序的执行复杂度。

  • 终止结点:没有前驱的程序被视为终止结点。这些程序无需其他程序的执行即可独立运行。

  • 2. 程序的两种执行方式

    程序的执行方式主要有顺序执行和并发执行两种。

    顺序执行

    • 特点
      • 执行当前程序必须完成后,才能执行下一程序。
      • 该执行方式具有封闭性和可再现性,且能保证高效利用系统资源。

    并发执行

    • 特点
      • 可能存在多个程序同时运行。
      • 该执行方式支持资源共享,但存在间断性(如进程被阻塞)、失去封闭性和不可再现性。

    3. 进程的概念与特征

    • 进程是程序的一次执行,用于描述程序在操作系统中的独立运行。

    • 进程与程序的区别:进程包含程序及一个PCB(进程控制块)。

    • 进程特征

      • 动态性:进程的状态可动态变化。
      • 并发性:多个进程可同时运行。
      • 独立性:进程间独立,不影响其他进程的执行(除相互调用的情况)。
      • 异步性:进程间没有严格的先后顺序。
    • 进程状态

      • 就绪(Ready):能够立即运行。
      • 执行(Running):正在处理单个指令。
      • 阻塞(Blocked):等待资源或事件的发生。
      • 终止(Terminated):完成执行或异常终止。

    4. 挂起操作及其状态转换

    挂起的引入原因

    • 用户请求:如终端用户要求暂停当前程序。
    • 父进程请求:如父进程希望暂停子进程。
    • 负荷调节:系统为了减轻负载可能挂起部分进程。

    状态转换图

  • 就绪 → 挂起 → 活跃
  • 活跃 → 挂起 → 就绪
  • 阻塞 → 唤醒 → 就绪
  • 5. OS管理的数据结构与PC作用

    四类数据结构

  • 内存表:记录内存块的状态及分配信息。
  • 设备表:记录外设类型及状态。
  • 文件表:记录文件的存储位置及访问权限。
  • 进程表(PCB):管理进程运行状态和资源分配。
  • PC的作用

    • 标识进程独立运行的基本单位。
    • 支持进程间断运行(如中断服务)。
    • 提供进程管理和调度所需的信息。
    • 支持进程间的同步与通信。

    6. 进程控制块的信息与组织方式

    PCB信息

  • 进程标识符:包括外部ID(如进程号)和内部ID。
  • 处理机状态:通用寄存器、指令计数器、PSW、用户栈指针。
  • 进程调度信息:进程状态、优先级、事件(阻塞原因)。
  • 进程控制信息:程序地址、资源清单、同步机制、链接指针。
  • PCB组织方式

    • 线性方式:PCB按顺序存储于一张表中。
    • 链接方式:同态进程PCB以链接字链接成队列。
    • 索引方式:根据进程状态建立多张索引表。

    7. OS内核的组成与功能

    内核组成

    • 与硬件紧密相关的驱动程序和中断处理模块常驻内存。

    内核目的

    • 提供系统保护机制,防止破坏。
    • 提高系统运行效率。

    内核功能

  • 支撑功能:中断处理、时钟管理、原语操作。
  • 资源管理:进程管理、存储器管理、设备管理。
  • 8. 进程创建与终止

    进程创建的原因

    • 用户登录或注册成功。
    • 作业调度或者系统服务启动。
    • 应用程序请求。

    进程创建过程

  • 分配空白PCB。
  • 为进程分配资源。
  • 初始化PCB。
  • 将新进程插入就绪队列。
  • 进程终止

    • 正常结束:程序自然结束。
    • 异常结束:如分割错误或 trap 启发。
    • 外界干预:如终止进程或超时等待。

    进程阻塞情况

  • 资源竞争失败。
  • 等待事件或数据完成。
  • 等待新任务或数据到达。
  • 唤醒机制

    • 与阻塞成对使用,唤醒进程恢复就绪状态。

    总结

    以上知识点全面涵盖了操作系统的基础概念,涵盖了从基础图表到进程管理的核心内容。理解这些概念对掌握操作系统内核和进程管理至关重要。

    转载地址:http://htlvz.baihongyu.com/

    你可能感兴趣的文章
    包装类
    查看>>
    JDK9-15新特性
    查看>>
    集合继承结构
    查看>>
    ArrayList 实现类
    查看>>
    LinkedList 实现类
    查看>>
    Vector 实现类
    查看>>
    HashMap类、HashSet
    查看>>
    HashTable类
    查看>>
    TreeSet、TreeMap
    查看>>
    PrintStream
    查看>>
    ObjectInputStream、ObjectOutputStream
    查看>>
    读取properties文件信息
    查看>>
    多线程
    查看>>