操作系统期末复习大题
- 第六章
- 磁盘调度
- 寻道时间与移动次数转换
- I/O中断请求
- 第五章
- 地址转换
- 页面置换
- 第四章
- 动态分区
- 地址转换
- 第三章
- 银行家算法
- 处理机调度算法
- 第二章
- 进程同步
- 第一章
- 多道运行时间
第六章
磁盘调度
前提小知识:
1.先来先服务(FCFS):按照请求序列来
2.最短寻道时间优先(SSTF):选离它近的
3.扫描(SCAN):先统一往大走再往小走(如果题目没说就默认这个)or 反过来
书上例题:
学习通题目:
假定磁盘有 200 个磁道,当前有 8 个进程先后提出 I/O 操作,需要访问的磁道分别为:98,183,37,122,14,124,65,67,当前读写头起始位置为 53,正在向小号移动。请分别采用最短寻道时间优先调度算法、扫描算法,计算总的磁头移动次数是多少?
寻道时间与移动次数转换
寻道时间Ts=m*n+s
m:磁盘转速,一般=0.2
n:移动了多少道
s:磁盘启动时间,一般为2ms
例:上题中扫描算法的寻道时间为:0.2*208+2
I/O中断请求
解:选B
第五章
地址转换
前提小知识:
1 字=2 字节(Byte)
1 字节=8 比特(bit)
某虚拟存储器的用户空间共 32 个页面,每页 1KB,主存 16KB。假定某时刻系统为用户的第 0、1、2、3 页分别分配的物理块号为 5、10、4、7,试将虚拟地址 093CH 转换为物理地址,请画图说明地址变换过程。
解析:
页面置换
前提小知识:
最佳置换算法(Optimal):把后面好长一段时间不用的换走
先进先出算法(FIFO):把最先进来的换走
LRU 置换算法:把最久未使用的换走
一个页式存储管理系统使用 LRU(最近最少使用)页面替换算法,页面大小为 1024 字节,如果一个作业的页面走向为:1、1、2、3、4、2、1、5、6、1、2、5,分配给该作业的物理块数分别为 4,分别为 20,31,2,5 号页框。试计算访问过程中发生的缺页中断次数和缺页中断率,并分别画出页框中内容的变化过程。如果接下来要访问逻辑地址为 3320,试求其对应的物理地址是多少?
解析:
一个页式存储管理系统使用 LRU(最近最少使用)页面替换算法,页面大小为 100 字节,如果一个作业的逻辑地址访问序列是:11、52、421、325、122、452、98、100、110、220、151、501,当分配给该作业的物理块数分别为 3 和 4 时,分别为 20,31,2,5 号页框。试计算访问过程中发生的缺页中断次数和缺页中断率,并分别画出页框中内容的变化过程。
解析:
原文链接: https://blog.csdn.net/yangqian201175/article/details/51244323
第四章
动态分区
连续分配管理方式的动态分区分配算法(首次适应、最佳适应、最坏适应、邻接适应算法)
地址转换
有一系统采用页式存储管理,页大小为 2KB。有一作业大小是 8KB,依次装入内存的第 7、9、10、5 块,试将虚地址(逻辑地址)7145、3412 转换成内存地址。
解析:
由题可知页表如下:
0 | 7 |
---|---|
1 | 9 |
2 | 10 |
3 | 5 |
2KB=2048B
7145 的页号 P=7145/2048=3(取商)
页内地址=7145%2048=1001(取余数)
内存地址=物理地址 3 对应第 5 号块
内存地址=块号*每一页的大小+页内地址
内存地址=5*2048+1001=11241
则 7145 在第 3 页的 1001 号处=第 5 块的 1001 号处
3412 的页号 P=3412/2048=1(取商)
页内地址=3412%2048=1364(取余数)
内存地址=物理地址 1 对应第 9 号块
内存地址=9*2048+1364=11241
则 3142 在第 1 页的 1364 号处=第 9 块的 1364 号处
某作业 J 的逻辑空间为 4 页,每页 2048B,已知该作业 J 的页表如下:
页号:0 1 2 3
块号:2 4 6 8
求:逻辑地址为 0A65H 的物理地址。
解析:
0A65H=0000 1010 0110 0101
2048B=2 的 11 次方
故:P=00001=1
w=010 0110 0101
P=1 时块号为 4 则
4 的二进制数为 00100
则物理地址为 0010 0010 0110 0101=2265H
某作业有 4 个页面,分别装入主存的 3、4、6、8 块中,设页面尺寸为 1024B
(1)写出该作业的页表;
(2)求 mov [2100] , [3100] 指令中两个操作数的物理地址。
解析:
第三章
银行家算法
前提小知识:
问在 T0 时刻是否安全:要答是否安全+安全序列是什么
安全序列就是执行的顺序
执行顺序从头开始找
书上例题 1:
书上例题 2:
假定系统中有 5 个进程{P0,P1,P2,P3,P4}和三类资源{A,B,C},各种资源的数量分别为 10、5、7,在 T0 时刻的资源分配情况如图所示:
学习通的题目:
处理机调度算法
前提小知识:
1.先来先服务调度算法(FCFS):看提交时间,先到的先执行
2.短作业优先调度算法(SJF):看运行时间,运行时间短的先执行
3.高响应比优先调度算法(HRRN):计算每个作业的优先比
R=(上一个作业的完成时间-提交时间)/运行时间 优先比低的先运行
这三个第一个作业都先运行
周转时间=完成时间-提交时间
带权周转时间=周转时间÷运行时间
学习通题目:
解:
注意单位
第二章
进程同步
前提小知识
互斥:不能同时进行,信号量 S=1
前驱:接力赛就是前驱,信号量 S=0,有 n 个进程就设置 n-1 个信号量
同步:生产者-消费者问题,读者-写者问题,哲学家进餐问题,需要设置不同类型的信号量
学习通的题目:
请用信号量实现 4*100 接力赛的同步算法。(提示:请确定这道题归类于互斥、前驱、同步的哪一类。参加接力赛的选手有 4 人,对应于 4 个进程,请写出相应的算法描述。)
解:
在测量控制系统中进行数据采集时设置两个任务进程,采集任务进程负责把所采集的数据送往一单缓冲区;计算任务进程从该单缓冲区中取出数据进行计算。试写出利用信号量机制实现两个任务进程共享单缓冲区的同步算法。
在公共汽车上,司机和售票员的活动分别是——
司机:启动车辆;正常行车;到站停车;
售票员:关车门;售票;开车门;
在汽车不断到站、停车、行驶过程中,这两个活动存在着同步关系,试用信号量和 P、V 操作实现它们的同步。
书上的例题:
复习的题目:
解:
解:选C,也有可能反过来问
第一章
多道运行时间
设内存中有三道程序 A、B、C,它们按 A、B、C 的优先次序执行。它们的计算和 I/O 操作时间
A B C
计算 30 60 20
I/O 40 30 40
计算 10 10 20
如表所示(单位:ms),(即:A 程序依次经历 30ms 计算,40msI/O,10ms 计算)。假设三道程序使用相同设备进行 I/O 操作,即程序以串行方式使用设备。试画出多道运行的时间关系图(调度程序的时间忽略不计)。在这种情况下,完成三道程序需要花多少时间?
解:
CPU利用率计算:150/180,CPU使用时长除以总时长