《操作系统——精髓与设计原理》学习笔记 第三章


系列文章目录

《操作系统——精髓与设计原理》学习笔记 第一章
《操作系统——精髓与设计原理》学习笔记 第二章
《操作系统——精髓与设计原理》学习笔记 第三章


写在前面

多道程序操作系统都是围绕进程这一概念创建的,因此操作系统需要满足的多数需求都涉及进程:

  • 操作系统与普通计算机软件相同,也是有处理器执行的一段或一组程序
  • 操作系统必须交替执行多个进程,使处理器的利用率最大
  • 操作系统必须按照特定的策略给进程分配资源,同时避免死锁
  • 操作系统须为有助于构建应用的进程间通信和用户进程创建提供支持

本章主要介绍了

  1. 操作系统表示和控制进程的方式
  2. 进程的状态如何描述进程的行为特征
  3. 表示进程状态所需的数据结构和其他特征
  4. 使用这些数据结构控制进程执行的方式
  5. UNIX SVR4中的进程管理

3.1 什么是进程

3.1.1 背景

3.1.2 进程和进程控制块

进程定义:

  • 一个正在执行的程序
  • 一个正在计算机上执行的程序实例
  • 能分配给处理器并由处理去执行的实体
  • 由一组执行的指令、一个当前状态和一组相关的系统资源表征的活动单元

进程的两个基本元素是程序代码和与代码关联的数据集
处理器执行程序代码的执行实体称为进程,任意时刻可由如下元素表示

  • 标识符
  • 状态
  • 优先级
  • 程序计数器
  • 内存指针
  • 上下文数据
  • I/O状态信息
  • 记账信息

上述信息都放在进程控制块中,由操作系统创建和管理,它在中断和进程切换中起到了很大的作用

3.2 进程状态

列出进程执行的指令序列,可描述单个进程的行为,这种序列称为轨迹
给出各个轨迹的交替方式,可描述处理器的行为

栗子(待更新

3.2.1 两状态进程模型

由于在任何时刻,进程要么正在执行,要么未执行,因此可以构建简单的模型。
进程可处于一下两种状态:运行态和未运行态,由操作系统中的分派器简单调度。在这里插入图片描述 从这个简单的模型中我们可以意识到操作系统的一些设计元素:必须要表示每个进程使得操作系统可以跟踪到它,即必须有一些进程相关的信息,包括进程的状态和位置,即进程控制块。