操作系统作业讲解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统作业讲解
1
111页第7大题第2小题 某采用虚分页存储管理的系统为装入主存的一个进程建立了 如下所示的页表。
页帧 (块号) 状态位 20 1 22 0 200 1 150 1 30 0 50 0
如果页面大小是2000 B,那么,下面哪个虚地址的访问会 引起缺页中断?不会引起缺页中断的虚地址将转换成什么 物理地址? 1、10451 2、5421
0
0 1 1
1
0 0 1
16
2、LRU (最近最久未使用置换算法) 该算法法总是淘汰最近最少使用的页面,即淘汰最后一次访问时间距当前时 间间隔最长的页面 160(页面1)——161 (页面2)——162 (页面0)——163(页面4)
虚拟页号
页帧 0
装入时间
最近访问时间
访问位 0
修改位 1
2
60
161
已知:采用分页存储系统内存,使用块表和页表进行地址转换,表常驻内存
快表的命中率为85%
快表是一个具有并行查询能力的特殊高速缓冲寄存器,一般用来存放当 前访问最频繁的少数活动页面的页号。使用快表时,从快表直接找到对 应的页表项,则可立即形成物理地址去访问相应的数据;
如果在快表中未找到对应的页表项,则还需再访问内存中的页表
b为扇区数,即16*63*18036;
r为磁盘每秒转速,即5400/60; N为一条磁道上的扇区数,即63; 解: T= b/rN = 18036*16*63 /【(5400/60)*63】
27
柱面定位时间=(18036-1)*2/1000 无须旋转延迟 数据传输时间= b/rN = 18036*16*63 /【(5400/60)*63】
磁盘的磁臂现在处于6号柱面上
序号
1
2
3
4
5
6
柱面 号
磁道 号 块号
7
6 2
5
5 6
15
20 6
7
4 4
20
9 5
5
15 2
33
2、最短寻道优先算法 该算法要求下一次要访问的柱面与当前所在的柱面距离最近
已知条件: 磁盘的磁臂现在处于6号柱面上 题中给出的6个请求者的柱面号分别为:7,5,15,7,20,5
13
2 1 0 3
60 130 26 20
161 160 162 163
1、FIFO(先进先出置换算法) 该算法总是淘汰最先进入内存的页面,也就是内存中最老的页面。
虚拟页号
页帧
装入时间
最近访问 时间
访问位
修改位
2
1 0 3
0
1 2 3
60
130 26 20
161
160 162 163
0
0 1 1
1
快表85%
页表(1- 85 %)
9
解题思路:有效存取时间=有效快表访问的时间+有效页表访问的时间
快表85%
页表(1- 85 %)
10
解题思路:有效存取时间=有效快表访问的时间+有效页表访问的时间
1、 使用快表时,从快表直接找到对应的页表项,则可立即形成物理地址去访问 相应的数据;一次内存访问的时间是1微秒(μ s) 有效快表访问的时间= 0.85*1 2、 若不使用快表,即先从内存的页表中读出页对应的块号,然后再根据形成的 物理地址去读取数据,则需两次访问内存, 有效页表访问的时间=(1-0.85)*(1+1) 解:有效存取时间为:0.85*1+(1-0.85)*(1+1)=1.15微秒(μ s)
2块
3块 4块 5块 6块 7块 8块
解: 物理地址=200*2000+1421=401421, 故虚地址5421转换成物理地址是401421。
进程的逻辑地址空间
0
页表
页号 0页 1页 2页 3页 4页 5页 块号 20块 22块 200块 150块 30块 50块 状态位 1 0 1 1 0 0
9块 10块 11块 12块 13块 14块 15块 16块 17块 18块 19块 20块 21块 22块
快表85%
页表(1- 85 %)
11
第7小题 一个进程已分配到4个物理块,如下表所示。
虚拟页号 2 1 0 3 物理块号 0 1 2 3 装入时间 60 130 26 20 最近访问 时间 161 160 162 163 访问位 0 0 1 1 修改位 1 0 0 1
当进程访问自己地址空间中的4号页面时产生缺页中断。请分别用 FIFO、LRU、NRU算法,决定缺页中断服务程序选择换出的页面。
9块 10块 11块 12块 13块 14块 15块 16块 17块 18块 19块 20块 21块 22块
0页
1页 2页 3页 4页 5页
2000B 4000B 6000B 8000B 10000B 12000B
3
内存空间 本题问题1:10451、5421这两个虚地址当中哪个的访问会引起缺页中断? 解题思路:虚地址对应的状态位是否为0?
页表
页号
0页 1页 2页 3页 4页 5页
块号
20块 22块 200块 150块 30块 50块
状态位
1 0 1 1 0 0
6
内存空间 本题问题2: 若不中断,根据块号计算出物理地址
0块 1块
解题思路:物理地址=块号*块的大小+页内偏移
已知:5421的页号是2,在块号为第200块内存里,页内偏移1421
25
磁盘访问时间=柱面定位时间+旋转延迟时间+数据传输时间
2、旋转延迟时间:扇区旋转到磁头下所需的时间 已知条件:连续读整个磁盘的磁道 所以无需旋转延迟
26
磁盘访问时间=柱面定位时间+旋转延迟时间+数据传输时间 3、数据传输时间:磁头从扇区进行读写,完成信息传送的时间 已知条件: 16个磁头,18036个柱面,每个柱面含63个扇区,磁盘转速为 5400rpm,相邻柱面间的寻找时间为2ms。 数据传输时间的计算公式是: T= b/rN
0页
1页 2页 3页 4页 5页
2000B 4000B 6000B 8000B 10000B 12000B
7
第4小题
某计算机系统进行一次内存访问的时间是1微秒(μ s), 它 采用分页存储系统内存,使用块表和页表进行地址转换。 表常驻内存,快表的命中率为85%,则有效存取时间是多少?
8
本题问题:有效存取时间?(完成一次数据存取所用的平均时间)
2
内存空间
0块
已知条件
1、两个虚地址→10451,5421 2、页面大小→2000B 3、页表(页号,块号和状态位)
1块
2块
3块 4块 5块 6块 7块 8块
进程的逻辑地址空间
0
页表
页号 0页 1页 2页 3页 4页 5页 块号 20块 22块 200块 150块 30块 50块 状态位 1 0 1 1 0 0
19
20
21
22
硬盘由若干个盘片组成,各盘片均安装在一个告诉旋转的转轴上 每个盘面被划分成同心圆,这种圆就称为磁道
磁头定位在同样垂直位置的磁道上,这些相同半径的磁道就形成了一个柱面
每条磁道划分成若干个扇区
23
本题问题:读整个磁盘需多少时间?
磁盘访问时间=柱面定位时间+旋转延迟时间+数据传输时间
磁盘访问总时间=柱面定位时间+旋转延迟时间+数据传输时间
解:磁盘访问总时间= 60/5400 * 18036 * 16+(18036-1)* 2/1000
= 3206.4 + 36.07=3242.47(s)
28
145页第7大题第4小题 假定磁盘的磁臂现在处于6号柱面上,下表列出6个请求等 待访问磁盘,试列出最省时间的相应次序。
1
0 3
1
2 3
130
26 20
160
162 163
0
1 1
0
0 1
解:页面1是最后一次被访问的时间最早,即最久未被访问的页面,换出。
17
3、 NRU (最近未用淘汰算法) 该算法法优先换出(访问位,修改位)都为0的页面,所以页面1最先换出
虚拟页号
页帧
装入时间
最近访问 时间
访问位
修改位
2
1 0 3
30
1、先来先服务算法
该算法根据进程请求访问磁盘的先后顺序进行调度
序号 柱面 号 磁道 号 块号
1 7 6 2
2 5 5 6
3 15 20 6
4 7 4 4
5 20 9 5
6 5 15 2
31
1、先来先服务算法 该算法根据进程请求访问磁盘的先后顺序进行调度
序号 1 2 3 4 5 6
柱面号
磁道号
7
6
5
5
15
20
7
4
20
9
5
15
块号
2
6
6
4
5
2
题中给出的6个请求者的柱面号分别为:7,5,15,7,20,5
解:采用先来先服务调度算法,进行调度的情况为: 下一柱面: 7——5——15——7——20——5 移动柱面数:1 2 10 8 13 15
磁头移动的柱面总数为49
32
2、最短寻道优先算法
该算法要求下一次要访问的柱面与当前所在的柱面距离最近
解:10451, 页号=10451div2000=5, 虚地址=10451mod2000=451 所以虚地址对应的页号是5,页内偏移是451 5421, 页号=5421div2000=2, 虚地址=5421mod2000=1421 所以虚地址对应的页号是2,页内偏移是1421
5
进程的地址空间
0
0页
1页 2页 3页 4页 5页
柱面定位时间:磁头移动到指定柱面所花费的时间 旋转延迟时间:扇区旋转到磁头下所需的时间 数据传输时间:磁头从扇区进行读写,完成信息传送的时间
24
磁盘访问时间=柱面定位时间+旋转延迟时间+数据传输时间 1、柱面定位时间:磁头移动到指定柱面所花费的时间 已知条件:一个磁盘含有18036个柱面,磁头已经位于0磁道,相邻 柱面间的寻找时间为2ms(毫秒) 解:柱面定位时间=(18036-1)*2/1000
12
已知:一个进程已分配到4个物理块,当进程访问自己地址空间中的 4号页面时产生缺页中断。
3
3
0
3
0
2
3
0 2
1
3
0 2 1
4
问题:请分别用FIFO、LRU、NRU算法,决定缺页中断服务程序选择换出的页面。 虚拟页号
页帧 0 1 2 3
装入时间
最近访问时间
访问位 0 0 1 1
修改位 1 0 0 1
解:页面3最早被装入内存的物理块中,所以最先换出。
15
2、LRU (最近最久未使用置换算法) 该算法法总是淘汰最近最少使用的页面,即淘汰最后一次访问时间距当前时 间间隔最长的页面
虚拟页号
页帧
装入时间
最近访问 时间
访问位
修改位
2
1 0 3
0
1 2 3
60
130 26 20
161
160 162 163
0块 1块
1、页面大小和虚地址→页号 2、页号→从页表中看对应的状态位是否为0
2块
3块 4块 5块 6块 7块 8块
进程的逻辑地址空间
0
页表
页号 0页 1页 2页 3页 4页 5页 块号 20块 22块 200块 150块 30块 50块 状态位 1 0 1 1 0 0
9块 10块 11块 12块 13块 14块 15块 16块 17块 18块 19块 20块 21块 22块
0 0 1
14
1、FIFO(先进先出置换算法) 该算法总是淘汰最先进入内存的页面,也就是内存中最老的页面。
3
3
0
3
0
2
3 0 2
1
3
0 2 1
虚拟页号
页帧 0 1 2 3
装入时间
最近访问时间
访问位 0 0 1 1
修改位 1 0 0 1
2 1 0 3
60 130 26 20
Байду номын сангаас161 160 162 163
0
1 2 3
60
130 26 20
161
160 162 163
0
0 1 1
1
0 0 1
18
145页第7大题第1小题 1、一个磁盘含有18036个柱面、16个磁头,每个柱面 (磁道)含63个扇区,磁盘转速为5400rpm (每分钟 多少转), 相邻柱面间的寻找时间为2ms(毫秒)。 假设磁头已经位于0磁道,则读整个磁盘需多少时间?
2000B 4000B
6000B
8000B 10000B 12000B
二、根据上步求得的页号,从页表中查看对应的状态位是否为0 解:10451对应的页号是5,由页表可知5号页面状态位为0(不在内存), 故对它的访问将导致缺页中断。 5421的页号是2,由页表可知2号页面在块号为第200块内存里,状态位 为1,故对它的访问不会导致缺页中断。
序号
1
2
3
4
5
6
柱面 号
磁道 号 块号
7
6 2
5
5 6
15
20 6
7
4 4
20
9 5
5
15 2
29
本题问题: 最省时间的相应次序 在进程访问磁盘的时间中,主要是柱面定位时间 解题思路:使用常用的磁盘调度算法,找到磁头移动的柱 面总数最少的算法 1、先来先服务算法 2、最短寻道优先算法 3、扫描调度算法
0页
1页 2页 3页 4页 5页
2000B 4000B 6000B 8000B 10000B 12000B
4
一、根据页面大小和虚地址求出页号 1、两个虚地址→10451,5421 2、页面大小→2000B 虚地址=页号*页面大小+页内偏移 页号=虚地址div页面大小(整除取商) 页内偏移=虚地址mod页面大小(整除取余)
相关文档
最新文档