第四章 操作系统

4.1 操作系统分类及特点

1. 批处理操作系统

1. 单道批操作系统

指一次只有一个作业装入内存执行,当一个结束后,才会调入第二个

2. 多道批操作系统

允许多个作业装入内存执行,在任意时刻作业都处于开始点和终止点之间。每当运行中的一个作业因I / O操作停止时,CPU就会交给另一个等待运行的作业,从而将主机与外设之间的工作由串行改为并行,提高执行效率。

特点:

  • 多道
  • 宏观并行
  • 微观串行

2. 分时操作系统

将CPU划分成很多很短的时间片,轮流为各个终端用户服务,如UNIX

3. 实时操作系统

要求计算机能对外来信息以足够快的速度处理,并且能够在对象允许的时间之内做出反应

分为两类:

  1. 实时控制系统:主要用于生产过程的自动控制
  2. 实时信息处理系统::主要用于实时信息处理

4.2 进程管理

1. 基本概念

1. 进程与程序

进程是程序的一次执行,该程序可以和其他程序并发执行,由程序、数据、PCB(进程控制块)构成

  • PCB是进程存在的唯一标识,包含进程的描述信息和控制信息
  • 程序描述了进程需要完成的功能
  • 数据则是包含了进程所需的数据及工作区

2. 进程的状态及其状态间的切换

1. 三态模型

包含运行、就绪和阻塞状态

  1. 运行
  2. 就绪:该进程获得了除处理机以外的所有资源,一旦得到就可以运行
  3. 阻塞:该进程正在等待某事件的发生,如IO

2. 五态模型

三态模型加上新建和终止模型

  1. 新建:进程刚刚被创建而没有被提交的状态,并等待系统创建进程的所有必要条件。创建分为两个子状态

    1. 为该进程创建必要的管理信息

    2. 让该进程进入就绪状态

      image-20201030171326253

  2. 终止

    1. 等待操作系统进行善后处理
    2. 释放主存
      image-20201030171335392

3. 具有挂起状态的进程状态及转换

  1. 活跃就绪:进程在主存且处于可被调度的状态
  2. 静止就绪:在辅存
  3. 活跃阻塞:在主存,等待事件产生就进入活跃就绪
  4. 静止阻塞:辅存

image-20201030171646878

2. 进程的控制

进程的控制是由操作系统内核中的原语实现的。

  • 内核是计算机系统硬件的首次延伸,它是基于硬件的第一层软件扩充。

  • 原语是若干条机器指令组成的,他是原子操作,要么都做,要么不做

3. 进程的通信

1. 同步与互斥

  1. 同步指一些需要相互合作、协同工作的进程
  2. 互斥指多个进程争抢临界资源而互斥执行

2. 信号量机制

信号量分为:

  • 公用信号量:实现进程间的互斥,初值为1或资源数目
  • 私用信号量:实现进程间的同步,初值为0或某各正整数

P、V操作

  • P操作:S -= 1,若S >= 0 则继续执行,否则将该进程设置为阻塞状态并插入阻塞队列
  • V操作:S += 1,若S > 0 则继续执行,否则从阻塞队列唤醒一个进程,插入就绪队列

利用PV进行互斥:将信号量设置为1,进入P退出V

利用PV进行同步:信号量为0表示信息未产生,非0则是表示该消息已存在

3 进程调度

1. 调度方式

指当有更高优先级的进程到来时应该如何分配CPU

调度分为可剥夺式和不可剥夺式:

  • 可剥夺式:当有更高优先级进程到来时,强行将正在运行的进程所占用的CPU分配给更高优先级
  • 不可剥夺式:当有更高级进程到来时,必须等待正在运行的进程自动释放CPU,才能分配给更高级的进程