Skip to content

高级调度和低级调度

  • 高级:从外存向内存调入作业(作业调度)
  • 中级:存储器管理中的对换调度(内存调度) 主要是管理内存,将某些进程或者数据从主存RAM中,转移到辅助存储中; 从而允许主存处理其他进程;

就是将不能运行的内存,暂时转移到外存,它们随时可以被加载到内存中继续执行;

  • 低级:调度CPU上的进程

Process Control Block,进程控制块,简称 PCB

是一种数据结构,管理进程的,包含了与进程相关的所有信息;os通过pcb来跟踪和管理进程的状态;

  • 进程标识符(PID):编号

  • 进程状态:就绪、运行、等待

  • 调度信息:优先级、调度队列指针等等

  • CPU寄存器:寄存器状态,通用寄存器,栈指针等等(这些都是啥啊)

  • 内存管理信息:页表、段表

  • I/O 状态信息:主要用于管理进程的 I/O 请求和资源分配;

I/O 状态:

  • 文件列表
  • 设备信息
  • I/O 请求队列
  • 权限
  • 中断信息

对换调度

其主要目的是在主存空间不足时,将暂时不需要运行的进程移到辅存中,以腾出主存空间给其他需要运行的进程;

属于中级调度,上面有;

作业:

作业通常包含需要执行的程序、所需的数据以及执行这些程序的控制信息。作业是操作系统进行资源分配和调度的基本单位。

  • 批处理作业: 由批处理系统控制的作业,通常不需要用户的交互。 这些作业可以在后台运行,处理大量数据或执行复杂计算。 例如:数据处理、报表生成、批量文件转换等。

  • 可变分区分配策略处理作业: 可变分区分配策略处理作业是指在操作系统中,根据作业的实际内存需求动态地分配内存空间的过程。 当一个作业(程序)需要运行时,操作系统会根据该作业的大小和当前内存的使用情况,从内存中划分出一块合适大小的区域分配给该作业。 作业执行结束后,所占的内存空间会被回收,以便其他作业使用。 这种策略有效地克服了固定分区方式中由于分区内部剩余内存空置造成浪费的问题,提高了内存空间的利用率

时间片轮转(Round Robin, RR)调度算法

分时系统使用这个算法:

每个进程都会分配一个时间片,该进程只被允许在这个时间片内运行;

  • 时间片如果先用完,会停止进程
  • 如果进程

什么是分时系统?

分时系统(Time Sharing System)是一种操作系统的工作方式,它允许多个用户同时使用计算机系统,每个用户都感觉自己在独占计算机资源。

PCB (Process Control Block) 空白进程控制块

当需要创建新进程时,系统从空白PCB池中获取一个PCB 用于初始化新进程的各种信息 确保系统能够动态创建新的进程

多级反馈队列(Multilevel Feedback Queue)调度算法

顾名思义: •「多级」表示有多个队列,每个队列优先级从高到低,同时优先级越高时间片越短。 •「反馈」表示如果有新的进程加入优先级高的队列时,立刻停止当前正在运行的进程,转而去运行优先 级高的队列;

批处理系统定义

批处理系统(Batch Processing System)是一种操作系统的工作方式,它将多个程序打包成一批,然后依次自动执行,无需人工干预。

死锁

条件:

  • 互斥 (Mutual Exclusion):一个资源只能被一个进程使用
  • 请求和保持条件 (Hold and Wait):请求新的不释放旧的
  • 不剥夺条件 (No Preemption):只能释放,不能抢占
  • 环路条件 (Circular Wait):多个进程形成一个循环等待的关系

死锁避免

主动避免死锁

  • 提前预判是否会导致死锁,仅允许不会导致系统进入不安全状态的资源请求;
  • 比如银行家算法,会限制用户申请资源的顺序;

死锁检测

允许系统死锁,周期性检查发现死锁;

  • 使用资源分配图(Resource Allocation Graph)或算法检测循环等待条件。
  • 不需要预先知道进程的资源需求。

其他名词

设备独立性软件

I/O 软件层次中的一个重要组成部分, 它的主要目的是实现应用程序与具体硬件设备的解耦, 为了让应用程序能够以统一的方式访问不同设备;

  • 应用程序无需关心具体硬件细节(如不同厂商的打印机差异
  • 典型实现包括:文件系统抽象、通用设备操作接口等

缓冲管理:

缓冲管理通过生产者-消费者模型实现:
- 生产者:产生数据的实体(如用户进程、网络接收模块)
- 消费者:处理数据的实体(如打印机驱动、磁盘写入模块)
- 缓冲区:作为中间存储的共享队列

通过缓冲区协调生产者和消费者的速度差异;

寄存器

  • 寄存器是CPU内部的高速存储单元,用于暂存指令、数据和地址。

  • 根据用途不同,可以分为通用寄存器、指令寄存器、状态寄存器等。 • 通用寄存器(EAX/EBX等):存储运算数据 • 指令寄存器(IR):存储当前执行指令 • 状态寄存器(FLAGS):存储溢出/进位等状态

  • 地址寄存器的空间 = 虚拟地址空间

虚拟地址空间由CPU架构决定(22位地址线 → 4MB逻辑空间)

2^22 = 4MB

虚拟存储

虚拟存储实际内容 = min( 2 ^ 地址字长 , 物理内存+外存交换空间 )

若物理内存 4GB + 外存交换分区 16GB → 虚存最多 20GB

本站访客数 人次 本站总访问量