操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · •...

35
操作系统作业讲解 赵俊峰 2015.12.21

Upload: others

Post on 18-Mar-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

操作系统作业讲解

赵俊峰

2015.12.21

Page 2: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

进程管理

• 一家快餐店招有4种雇员(1)开票者,取顾客的订单;(2)厨师,准备饭菜;(3)包装员,把食品塞入袋子;(4)出纳,一手收钱一手交货。每位雇

员看作一个在通信的顺序进程。他们采用什么形式的进程间通信

• 开票者和厨师之间是管道通信– 开票者源源不断的把订单给厨师,一次可能给一张也可能给多

张,厨师一次可能拿走一张订单去做也可能拿走多张去做。但不能反向。

• 厨师和包装员之间是信箱通信– 他们之间有个信箱,可能就是一个小平台,厨师做好就把菜放

上去,相当于放进信箱 ,而包装员可以在任何时候取走那个菜。

• 包装员和出纳之间是消息缓冲通信– 包装员包好了就给出纳发消息,出纳得到消息就取走包好的饭

菜然后出售。

Page 3: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

P,V操作实现

开票者 厨师

包装员 出纳

Page 4: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

进程管理

• 有五个进程P1、P2、P3、P4、P5,它们同时依次进入就绪队列,它们的优先数和需要的处理器时间如下表– 忽略进行调度等所花费的时间,回答下列问题

– 写出采用“先来先服务”,“非抢占式的优先数”调度算法选中进程执行的次序

– 分别计算上述两种算法使各进程在就绪队列中的等待时间以及两种算法下的平均等待时间

25P5

41P4

32P3

11P2

310P1

优先数处理器时间进程

Page 5: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

• 采用“先来先服务”的调度算法,执行次序为:P1、P2、P3、P4、P5。

• 采用“非抢占式的优先数”调度算法,执行次序为:P4、P1、P3、P5、P2。

• 采用“先来先服务”的调度算法,各进程在就绪队列中等待时间为:

进程: P1 P2 P3 P4 P5

等待时间 0 10 11 13 14

• 计算得平均等待时间为:T1=(0+10+11+13+14) / 5 = 9.6 (机器时间)

Page 6: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

• 采用“非抢占式的优先数”调度算法,各进程在就绪队列中的等待时间为:

进程: P4 P1 P3 P5 P2

等待时间 0 1 11 13 18

• 计算得平均等待时间为:T2 = (0+1+11+13+18) / 5 = 43/5 = 8.6 (机器时间)

• 比较两种算法:– 从执行顺序上看,“先来先服务”调度算法更注重公平性,先来的进程先

进行操作;“非抢占式的优先数”调度算法则在进程优先级较大时,先执行。

– 从各进程等待时间上看,“先来先服务”调度算法的各进程的等待时间较为平均;“非抢占式的优先数”调度算法则是优先级高的等待短,优先级低的等待长。这样容易使得优先级低的进程饥饿。

– 从平均等待时间上看,“先来先服务”调度算法比“非抢占式的优先数”调度算法的平均等待时间长。说明“非抢占式的优先数”调度算法在节省运行时间上有优势。可以让运行时间短的进程优先级高一些,这样短的先执行,则平均运行时间会减小。

Page 7: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

存储管理

• 用可变分区方式管理主存时,假定主存中按地址顺序依次有五个空闲区,空闲区的大小依次为32K,10K,5K,228K,100K。现有五个程序J1,J2,J3,J4和J5。它们各需主存1K,10K,108K,28K,115K。若采用最先适应分配法能把这五个程序按照J1~J5的次序全部装入主存吗?按照什么次序可以使主存空间利用率最高?

Page 8: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

• (1)不行。

• 以下模拟J1~J5( 1K,10K,108K,28K,115K )进入内存情况如下:

初始空闲分区状态

J1进入后空闲分区的状态

J2进入后空闲分区的状态

J3进入后空闲分区的状态

J4进入后空闲分区的状态

没有满足J5运行条件的空闲分区

32K 31K 21K 21K 21K

10K 10K 10K 10K 10K

5K 5K 5K 5K 5K

228K 228K 228K 120K 92K

100K 100K 100K 100K 100K

• 以J1,J2,J3,J5,J4的次序装入这五个作业可使主存空间利用率最高,这样可以将五个作业全部装入内存,使得内存利用率最高

初始空闲分区状态

J1进入后空闲分区的状态

J2进入后空闲分区的状态

J3进入后空闲分区的状态

J5进入后空闲分区的状态

J4进入后空闲分区的状态

32K 31K 21K 21K 21K 21K

10K 10K 10K 10K 10K 10K

5K 5K 5K 5K 5K 5K

228K 228K 228K 120K 5K 5K

100K 100K 100K 100K 100K 72K

Page 9: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

• 有一操作系统采用段式存储管理方案,用户区内存为512k,分配时截取空闲块的前半部分(小地

址部分)。初始使内存全部空闲。系统执行如下申请,释放操作序列。

– 申请300k,申请100k,释放300k,申请150k,申请50k,释放100k

– 若采用首先适应算法,空闲块表中有哪些空块?(指出大小,地址)

– 若采用首佳适应算法,空闲块表中有哪些空块?(指出大小,地址)

– 若随后又申请80k,空闲块表中有哪些空块?指出大小,地址

存储管理

Page 10: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

存储管理

• 首先适应算法(找到符合要求的第一个分区)申请300k,申请100k 释放300k,申请150k 申请50k,释放100k 又申请80k

300K

100K

112K

100K

112K

150K

150K

150K

50K

312K

150K

50K

80K

232K

Page 11: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

存储管理

• 首佳适应算法(找到其大小与要求相差最小的分区)申请300k,申请100k 释放300k,申请150k 申请50k,释放100k 又申请80k

300K

100K

112K

100K

112K

150K

150K

150K

250K

62K

150K

80K

170K

50K 50K

62K

Page 12: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

存储管理

• 有一个虚拟存储系统。分配给某进程3页内存,开始时内存为空,页面访问序列如下:

– 6,5,4,3,2,1,5,4,3,6,5,4,3,2,1,6,5

– 若采用FIFO、LRU、OPT、LFU,缺页次

数为多少?

Page 13: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

存储管理

• FIFO(先进先出算法)

• 缺页次数17次

FIFO

6 5 4 3 2 1 5 4 3 6 5 4 3 2 1 6 5

链尾 6 5 4 3 2 1 5 4 3 6 5 4 3 2 1 6 5

6 5 4 3 2 1 5 4 3 6 5 4 3 2 1 6

链首 6 5 4 3 2 1 5 4 3 6 5 4 3 2 1

缺页 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y

Page 14: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

存储管理

• LRU (最近最久未使用算法)

• 缺页次数17次

LRU 6 5 4 3 2 1 5 4 3 6 5 4 3 2 1 6 5

链尾 6 6 6 5 4 3 2 1 5 4 3 6 5 4 3 2 1

5 5 4 3 2 1 5 4 3 6 5 4 3 2 1 6

链首 4 3 2 1 5 4 3 6 5 4 3 2 1 6 5

缺页 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y

Page 15: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

存储管理

• LFU (最不常用算法)

• 缺页次数17次

LFU 6 5 4 3 2 1 5 4 3 6 5 4 3 2 1 6 5

链尾 6 5 4 3 2 1 5 4 3 6 5 4 3 2 1 6 5

6 5 4 3 2 1 5 4 3 6 5 4 3 2 1 6

链首 6 5 4 3 2 1 5 4 3 6 5 4 3 2 1

缺页 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y

Page 16: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

存储管理

• OPT (最佳算法)

• 缺页次数11次

OPT 6 5 4 3 2 1 5 4 3 6 5 4 3 2 1 6 5

链尾 6 6 6 3 2 1 1 1 3 6 6 6 6 6 6 6 6

5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5

链首 4 4 4 4 4 4 4 4 4 4 3 2 1 1 1

缺页 Y Y Y Y Y Y N N Y Y N N Y Y Y N N

Page 17: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

• 比较各种存储管理方式的特征(包括主存空间的分配方式、是否要有硬件的地址转换机构作支撑、适合单道或多道系统等)、重定位方式、地址转换的实现(操作系统和硬件怎样配合)、存储保护的实现(操作系统和硬件各自做些什么工作)。

存储管理

Page 18: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

存储管理特征 重定位方式

地址转换过程 存储保护

主存分配方式 硬件地址转换 适合系统

其他

单一用户存储 一次性全部连续 不必需 单道 利用率低,不灵活 动态或静态

根据基地址生成物理地址。

静态由软件完成;动态可由硬件提供基地址寄存器帮助转换

分区管理

固定分区管理

按照程序提供的内存需求最大值从已划分好的固定区域中分配

不必需 多道 不能充分利用内存,碎片问题严重,程序大小受到限制

动态或静态

根据基地址生成物理地址。

静态由软件完成;动态可由硬件提供基地址寄存器帮助转换

通过界限寄存器[硬件]或保护键[软件]的相应判断,

产生越界中断或者保护性中断[硬件]。

可变分区管理

在装入程序时从空闲区域中划分

不必需 多道 简单易行,利用率较高。缺乏扩充性

动态(拼接时)

根据基地址生成物理地址。可由硬件提供基地址寄存器帮助转换

页式存储管理 以页面为单位,按用户程序需求的页数分配,分配空间不一定连续

需要页表始址寄存器和长度寄存器,也可以增加快表

多道 有效解决碎片问题,但有时也会造成空间浪费。

动态 把逻辑地址分为页号和页内地址,与页表长度寄存器比较,检查越界,根据页表始址寄存器得到页表首地址,根据逻辑页号找到内存块号,并且与页内地址拼成物理地址。可以用快表来实现加速。[硬件]

保护键[软件]或扩

充页表,增加存取控制项[硬件]

段式存储管理 以段为单位,为每一个逻辑段分配连续的内存空间

需要段表始址寄存器和长度寄存器,也可以增加快表

多道 便于动态分配内存,管理和申请统一化,便于共享,动态链接,会有碎片问题

动态 把逻辑地址分为段号和段内地址,与段表长度寄存器比较,检查越界,根据段表始址寄存器得到段表首地址,根据逻辑段号找到该段起始地址,并且与段内地址拼成物理地址。可以用快表来实现加速[硬件]

越界检查[硬件]保护键[软件]或扩充

段表,增加存取控制项[硬件]

段页式存储管理 以段为单位,为每一个逻辑段按用户程序需求的页数分配,分配空间不一定连续

需要段表始址寄存器、长度寄存器和快表

多道 方便用户提高利用率,结合段式与页式的优点

动态 根据段号查找快表,如果找到则直接获得物理地址,否则通过段表始址寄存器查找段表,根据段号查找页表位置,根据页号在页表中查找内存块号,和页内地址拼接成物理地址,并更新快表[硬件]

越界检查[硬件]保

护键或扩充段表,增加存取控制项[硬件]

虚拟存储管理

虚拟页式存储

程序运行时不装入全部页面,根据需求动态装入,使用页面置换算法来调换内存中的页面

需要在页式基础上增加页号、驻留位、内存块号、外存地址、访问位、修改位

多道 把内存与外存有机结合起来,扩充了内存的容量,有可能产生抖动

动态 在地址映射过程中如果访问页面不存在则产生缺页中断[硬件],并根据一定的算

法将页面调入内存,如果内存已满,需要将某些页面暂时移出内存。[软件]

越界检查[硬件]保护键[软件]或扩充

段表,增加存取控制项[硬件]

虚拟段式存储

程序运行时不全部装入,根据需求动态装入,以段为单位进行内外村的交换。

需要在段式基础上增加特征位、存取权限位、标志位、扩充位

多道 把内存与外存有机结合起来,扩充了内存的容量,有可能产生抖动

动态 在地址映射过程中如果访问段不存在则产生缺段中断[硬件],检察系统是否有足

够连续空间,如有则直接装入,否则尝试使用紧缩技术获得足够连续空间,如果还不足则考虑淘汰一些内存中的不常用段。[软件]

Page 19: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

文件管理

• 文件系统采用三级索引结构。假设一个物理块放10个目录项,一个目录下最多放40个文件。如果下级文件

是目录文件,则上级目录项指向该目录文件的首地址;

如果下级文件是普通文件,则上级目录项指向该文件的

文件控制块。又假设索引表放在FCB中,如果要读取K的第一块或最后一块,需要启动硬盘最少几次,最多几

次?

– 假设:普通文件采用UNIX的三级索引结构,即文件控制块中

给出13个磁盘地址,前10个磁盘地址指出文件前10块的物理地

址,第11个磁盘地址指向一级索引表,一级索引表给出256个磁盘地址,即指出该文件第11块至第266块的物理地址;第12个磁盘地址指向二级索引表,二级索引表中指出256个一级索

引表的地址;第13个磁盘地址指向三级索引表,三级索引表中

指出256个二级索引表的地址。

Page 20: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

ROOT

A B C

D E

F G

H I

J K

...

...

...

...

\A\D\G\H\K

Page 21: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

• 如果要找\A\D\G\H\K中的某一块,首先要找到其FCB– 最好的情况是:每次读取目录描述信息的时候都在第一块找到下级目录或文件,所以要找到该文件至少要读取A、D、G、H四个目录项的第一块,读取K的FCB,总共5次启动硬盘;

– 最坏情况是:每次读取目录描述信息的时候都在最后一个块找到下级的目录或文件,所以要找到该文件,所以要找到该文件至少要读取A,D、G、H四个目录项的所有四个块,在读取K的FCB,总共要4*4+1=17次启动硬盘。

– 找到FCB后在读取某一块,如果这一块在前10块之列,那么在启动一次硬盘就可以找到这一块,如果这一块在最后一块,则可能需要通过三级索引找到这一块,这总共需要读取三级索引和最后一块共3+1次读取硬盘。综上,最好情况下只需要启动5+1次硬盘,最坏情况需要启动17+3+1=21次硬盘

Page 22: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

死锁• 在银行家算法中,若出现下面的资源分配情况:

• Process allocation need available

• P0 0032 0012 1622

• P1 1000 1750

• P2 1354 2356

• P3 0332 0652

• P4 0014 0656

• 1)该状态是否安全?

• 2)若进程P2提出请求request(1,2,2,2)后,系统能否将资源分配给它

Page 23: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

进程 Work Need AllocationWork+

AllocationFinish

Process Allocation Need Available

P0 0 0 3 2 0 0 1 2 1 6 2 2

P1 1 0 0 0 1 7 5 0

P2 1 3 5 4 2 3 5 6

P3 0 3 3 2 0 6 5 2

P4 0 0 1 4 0 6 5 6

1 6 2 2P0 0 0 1 2 0 0 3 2 1 6 5 4 True

1 6 5 4P3 0 6 5 2 0 3 3 2 1 9 8 6 True

1 9 8 6P1 1 7 5 0 1 0 0 0 2 9 8 6 True

2 9 8 6P2 2 3 5 6 1 3 5 4 3 12 13 10 True3 12 13 10P4 0 6 5 6 0 0 1 4 3 12 14 14 True

系统是安全的

Page 24: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

Process Allocation Need Available

P0 0 0 3 2 0 0 1 2 0 4 0 0

P1 1 0 0 0 1 7 5 0

P2 2 5 7 6 1 1 3 4

P3 0 3 3 2 0 6 5 2

P4 0 0 1 4 0 6 5 6

若进程P2提出请求Request(1,2,2,2)

∵Request2(1,2,2,2)≤Need2(2,3,5,6)

∵Request2(1,2,2,2)≤Available(1,6,2,2)

假定系统将资源分配给它,则系统进入不安全状态,故不能分配资源

Page 25: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高
Page 26: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

• 一个操作系统有20个进程,竞争使用65个同

类资源,申请方式是逐个进行的,一旦某进程

获得它所需要的全部数量,立即归还所有资源。每个进程最多使用3个资源。若仅考虑这类资

源,该系统有无可能全部死锁,为什么?

死锁

• 对于此系统,若只考虑一个资源的分配,则不会产生死锁,因为

它不足产生死锁的原因,在这个系统中,进程所需的资源数少于

系统所拥有的资源数。(产生死锁的根本原因是因为多道程序所

共享的系统资源不足,且仅当进程提出资源申请时才发生死锁)。

本题中,该系统有65个同类资源,而只有20个进程,每个进程

最多使用3个资源,这样系统最多使用60个资源,而系统有65

个资源,所以不会存在死锁问题

Page 27: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

• 假定某计算机系统有R1和R2两类可再使用资源

(其中R1由两个单位,R2有一个单位),它们

被进程P1和P2所共享,且已知两个进程均以:

-〉申请R1-〉申请R2-〉 申请R1-〉释放R1-〉释放R2-〉释放R1-〉所示的顺序使用两类资源。

– 试求出系统运行过程中可能达到的死锁点

– 画出死锁点的资源分配图

死锁

Page 28: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高
Page 29: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

作业管理

• 有5个批处理的作业(a,b,c,d,e)几乎同时到

达一个计算中心,估计运行时间分别为2、4、6、8、10分钟,它们的优先数分别为1、2、3、4、5(1为最低优先级)。对下面的每种调度

算法,分别写出作业运行顺序,并计算作业的平均周转时间和平均带权周转时间

– 最高优先级优先

– 先来先服务 (作业到达顺序为c,d,b,e,a)

– 短作业优先

Page 30: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

• 最高优先级优先

– 作业的平均周转时间:T = (10 + 18 + 24 + 28 + 30)/ 5 = 22;– 平均带权周转时间: W =(10/10 + 18/8 + 24/6 + 28/4 + 30/2)

/ 5 = 5.85

• 先来先服务

– 作业的平均周转时间:T =(6 + 14 + 18 + 28 + 30)/ 5 = 19.2;– 平均带权周转时间: W =(6/6 + 14/8 + 18/4 + 28/10 + 30/2)

/ 5 = 5.01

• 短作业优先

– 作业的平均周转时间:T =(2 + 6 + 12 + 20 + 30)/ 5 = 14;– 平均带权周转时间: W =(2/2 + 6/4 + 12/6 + 20/8 + 30/10)/

5 = 2

Page 31: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

作业管理

• 有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法,有如表所示的作业序列(表中所列的作业优先数即为进程优先数,数值越小优先级越高)– 1)列出所有作业进入内存时间及结束时间

– 2)计算平均周转时间

330分10:20B

620分10:50D

450分10:30C

540分10:00A

优先数估计运行时间到达时间作业名

Page 32: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

• 解答:注意区分作业调度和进程调度,只有调度进入系统的进程方能参与进程调度。本题中系统是两道作业系统,因此每次只能有两个作业进入系统,本题作业和进程的推进过程为:

• 10:00 A作业到达,被作业调度程序调度进入系统

• 被进程调度的程序调度开始运行

• 10:20 A作业运行20分钟,剩余20分钟

• 由于优先级别低,被进程调度处于就绪状态

• B作业到达,被作业调度程序调度进入系统

• 由于优先级别高,被进程调度处于开始运行

• 10:30A作业等待10分钟,剩余20分钟,继续等待

• B作业运行10分钟,剩余20分钟,继续运行

• C作业到达,等待被作业调度程序调度

• 10:50 A作业等待30分钟,剩余20分钟

• 由于优先级别高,被进程调度处于开始运行

• B作业运行30分钟,结束运行

• C作业等待20分钟,由于估计运行时间较长,仍未被调入系统运行

• D作业到达,由于估计运行时间较短,被作业调度程序调度进入系统

• 由于优先级别低,被进程调度程序调度处于就绪状态

• 11:10 A作业40分钟,结束运行

• C作业等待30分钟,被进程调度处于开始运行

• 由于优先级别高,被进程调度处于开始运行

• D作业等待10分钟,由于优先级别低,被进程调度程序调度处于就绪状态

• 12:00 C作业运行50分钟,结束运行

• D作业等待60分钟,被进程调度处于开始运行

• 12:20 D作业运行20分钟,结束运行

Page 33: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高
Page 34: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高

期末考试时间地点

12月28日(周一)

晚10-12节

理教102

Page 35: 操作系统作业讲解 - bbs.pku.edu.cn¹ 题.pdf · • 以j1,j2,j3,j5,j4的次序装入这五个作业可使主存空间利用率 最高,这样可以将五个作业全部装入内存,使得内存利用率最高