第二章 处理器管理

处理器管理(最核心功能)

处理器及中断

指令分类:数据处理类指令,转移类指令,数据传送类指令,移位与字符串指令,I/O类指令。

中断码:保存程序执行时当前发生的中断事件。

中断屏蔽位:指明程序执行中发生中断事件时,是否响应出现的中断事件。

进程及其实现

进程的定义和性质

进程是可并发执行的程序在某个数据集合上的一次计算活动,也是操作系统进行资源分配和保护的基本单位。

进程是一个既能用来共享资源,又能描述程序并发执行过程的一个基本单位

进程是动态的,程序是静态的;进程是暂时的,程序是永久的

进程:代码+数据+状态,

进程的状态和转换

2.3

image-20260508210510959

挂起状态:无法立即执行,进程进入挂起状态是由于操作系统、父进程或进程本身阻止它的运行,结束进程挂起状态的命令只能通过操作系统或父进程发出。

进程的描述和组成

进程切换与模式切换

进程的控制和管理

线程及其实现


处理器调度

处理器调度的层次

高级调度:多道批处理系统,选择作业进入主存,通常不需要分时系统

中级调度:外存与内存中的进程对换,提高主存的利用率

低级调度:就绪\(\to\)运行,操作系统必备

后备作业队列一般由高级调度负责,将其分配后,挂起就绪队列与挂起等待队列由中级调度负责,而就绪队列由低级调度负责。

2.1

选择调度算法的原则

CPU利用率:\(\displaystyle \frac{\text{CPU有效工作时间}}{\text{CPU总运行时间}}\)

CPU总运行时间=CPU有效工作时间+CPU空闲等待时间

吞吐率:单位时间内CPU处理作业的数目

公平性:避免饥饿

响应时间:交互式进程从提交一个请求到接收到响应之间的时间间隔(实时系统,分时系统的重要指标)

周转时间:批处理用户从作业提交给系统开始,到作业完成为止的时间间隔称作业周转时间(批处理系统的重要指标)

作业周转时间/平均作业周转时间:如果作业\(i\)提交给系统的时刻是\(t_s\),完成时刻是\(t_f\),该作业的周转时间为\(t_i=t_f-t_s\)

带权周转时间/平均带权周转时间:如果作业\(i\)的周转时间为\(t_i\),所需运行时间为\(t_k\),则称\(w_i=\displaystyle \frac{t_i}{t_k}\)为该作业的带权周转时间

2.2

作业和进程的关系

作业的管理与调度


Linux和Windows处理器调度算法

低级调度的功能和类型

调度:实现调度策略:组织和维护就绪进程队列,包括确定调度算法按调度算法组织和维护就绪进程队列。

分派:实现调度机制:当处理机空闲时,从就绪队列队首中移一个PCB,并将该进程投入运行,负责上下文切换等。

类型:剥夺式:高优先级进程/线程可剥夺低优先级进程/线程,当运行进程/线程时间片用完后被剥夺(用户程序)

非剥夺式:一直运行,直到完成或自我放弃(内核关键程序)

作业调度和低级调度算法

先来先服务算法(FCFS)

作业1,2,3同时到达,分别耗时28,9,3。提交顺序为1,2,3时,平均周转时间为35;提交顺序为3,2,1时,平均周转时间为18。

最短作业优先算法(SJF)

以进入系统所要求的CPU时间为标准,总选取估计计算时间最短的作业投入运行。比FCFS好。

缺点:很难估计作业运行时间,容易出现饥饿,非抢占式

最短剩余时间优先算法(SRTF)

将SJF算法改为抢占式的,不但适用于工作调度,同样适用于进程调度。

进程 到达系统时间 所需CPU时间/ms
P1 0 8
P2 1 4
P3 2 9
P4 3 5

SJF算法平均等待时间:7.75ms;SRTF算法平均等待时间:6.5ms

响应比最高者优先算法(HRRF)

FCFS只考虑等待时间,忽略运行时间;SJF只考虑运行时间,忽略等待时间。HRRF是折中方案。

响应比:\(\displaystyle 1+\frac{\text{已等待时间}}{\text{估计运行时间}}\),响应比最大的最先运行.

优点:短作业容易得到较高响应比,长作业等待时间足够长后,也将获得足够高的响应比,不会发生饥饿现象。

静态优先算法

使用外围设备频繁者优先级高,有利于提高效率

重要算题程序的进程优先级高,有利于用户

进入计算机时间长的进行优先级高,有利于缩短作业完成的时间

交互式用户的进程优先级高,有利于终端用户的响应时间

动态优先算法

根据进程占有CPU时间多少来决定:进程占有CPU时间愈长,在它被阻塞之后再次获得调度的优先级就越低。

根据进程等待CPU时间多少来决定:当进程在就绪队列中等待时间愈长,那么,在它被阻塞之后再次获得调度的优先级就越高。

实时调度算法

多处理机调度算法