数据库系统实现习题-全
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(达建松2141280)习题2.2.1
M egatron 777磁盘具有以下特性:
1)有10个盘面,每个盘面有100000个磁道。
2)磁道平均有1000个扇区,每个扇区为1024字节
3)每个磁道的20%被用于间隙。
4)磁盘旋转为10000转/min。
5)磁头移动n个磁道所需要的时间是1+0.0002n ms。
回答下列有关Megatron777的问题。
a)磁盘的容量是多少?
b)如果磁道是在直径3.5英寸的圆面上,那么一个磁道的扇区中的平均位密度是多少?c)最大寻道时间是多少?
d)最大旋转等待时间是多少?
e)如果一个块是65536字节(即64扇区),一个块得传输时间是多少?
f)平均寻道时间是多少?
g)平均旋转等待时间是多少?
答案:
a)磁盘容量=盘面数*磁道数*扇区数*扇区容量
=10*100000*1000*1024字节
=210*109字节
注释:已知
1)有10个盘面,每个盘面有100000个磁道。
2)磁道平均有1000个扇区,每个扇区为1024字节.
b)一个磁道存放存放1000*1024*8=8192000bits.
直径为 3.5英尺那么中间磁道直径为 3.5π/2(英寸)中间扇区所占的周长是80%*3.5π/2(英寸)所以,每个磁道的扇区中的平均密度是
注释:
已知:
2)磁道平均有1000个扇区,每个扇区为1024字节.
3)每个磁道的20%被用于间隙.
c)最大寻道时间是磁头跨越全部柱面所花费的时间。即1+0.0002*99999=20.9998ms
已知:
1)有10个盘面,每个盘面有100000个磁道。
5)磁头移动n个磁道所需要的时间是1+0.0002n ms。
d)最大旋转等待时间是磁头旋转一圈的时间。即1/(10000/60)= 6ms
已知:
4)磁盘旋转为10000转/min。
e)该块占用64个扇区,为此,磁头必须越过64个扇区和扇区之间的63个间隙。由于间
隙合在一起占72度圆弧,而扇区覆盖剩余288度圆弧,则被它们覆盖的圆弧的总度数
为:72*(63/1000)+288*(64/1000)=22.968则传输时间是(22.968/360)*0.6ms=0.03828ms
已知:
3)每个磁道的20%被用于间隙。
2)磁道平均有1000个扇区。
d)中最大旋转等待时间为6ms。
f)磁头行进的平均距离是跨越柱面的1/3,则平均寻道时间是:1+0.001*(100000/3)
=34.33ms
g)平均旋转等待时间为磁盘旋转半周所需时间: (1/2)*6ms=3ms
(潘达)习题2.3.1
假设我们正在为Megatron747磁盘调度I/O请求,磁头的初始位置在磁道32000,图2-9的请求已经产生。在下列两种情况下,每一种请求在何时可以完全得到服务?a) 我们采用电梯调度算法(起初朝任何一个方向开始移动都是允许的)。b) 我们采用先到达先服务调度。
图2-9 4个块访问请求的到达时间
Megatron747磁盘的平均寻道时间、旋转等待时间和传输时间分别为6.46、4.17和0.13(所有时间均以ms计算)。因为每个块访问导致0.13ms传输时间和4.17ms平均旋转等待时间,即无论寻道时间是多少,都需为每一次块访问加上4.3ms。寻道时间可通过Megatron747的规则计算:1+磁道数/4000(1+磁道数/500)。
对于电梯调度算法,计算方式及结果如下。对柱面8000的第一个请求需要进行寻道,因为磁头初始位置不是8000。这样访问8000完成的寻道时间为1+(32000-8000)/4000ms,即在时间1+(32000-8000)/4000+4.3=11.3ms处第一次访问将完成。在此之前,对柱面48000和4000访问的请求分别于第1和第10时间到达,由于沿着柱面从高到低(32000->8000)方向还有请求4000,则先处理4000的请求。即在第11.3ms后,磁头由柱面8000向柱面4000移动,此段寻道时间为1+(8000-4000)/4000=2ms,则4000访问完成时间为11.3+2+4.3=16.8ms。当访问4000柱面完成时,仅有访问48000柱面的请求未完成,因此磁头将沿着从低到高移动,移动到48000需要1+(48000-4000)/4000=12ms,即在12+16.8=28.8ms才可到达48000柱面。在向48000移动过程中,移动到40000柱面的寻道时间为1+(40000-4000)/4000=10ms,即在16.8+10=26.8ms访问到40000,在此之前访问40000的请求已经到达(在第20ms到达的),故而,在访问48000之前,先处理访问40000的请求,即对40000柱面的请求在16.8+10+4.3=31.3ms处理完成。从柱面40000到48000的寻道时间为1+(48000-40000)/4000=3ms,则48000的请求处理完成时间为31.1+3+4.3=38.4ms。
综上所述,对于电梯调度算法而言每个请求的完成时间如下表:
对于FCFS算法而言每个请求的完成时间如下表:
(周红磊2141284)习题2.3.2
假设我们使用两台Megatron 747 磁盘互相作为镜像。然而,我们使第一个磁盘的磁头保持在柱面的靠内一半,第二个磁盘的磁头保持在柱面靠外的一半,而不是允许从两个磁盘都能读任何的块。假设读请求是对随机的磁道,我们始终不必去写:
a) 系统的能够读块的平均速率是多少?
读块的平均速率为之前单个磁头的两倍。
b) 这个速率与无任何约束的镜像Megatron 747 磁盘的平均速率相比如何?
平均速率一样。
c)你预计该系统的缺点是什么?
1. 缺点是以空间为代价换取时间。
2. 如果其中的一个磁头坏了,则读取操作就出问题了,每次只能读取一半的数据。
2.4.1计算下列位序列的奇偶校验位:
a)00111011。
b)00000000。
c)10101101。
解:
定义:如果有奇数个数据盘的第j位为1,在冗余盘中,我们选取位j为1,;如果在数据盘中的第j位有偶数个1,我们选取冗余盘的位j为0。
即:有奇数个1,为1;有偶数个1,为0。
0 0 1 1 1 0 1 1
0 0 0 0 0 0 0 0
1 0 1 0 1 1 0 1
-------------------------
10010110
(薛鑫)2.4.2
如果我们在一个串末附加一个位作为该串奇数位置的奇偶校验位,另一个位作为该串各偶数位置的奇偶位,我们就有了与一个串关联的两个奇偶位。对于习题2.4.1的每一个串,找出按这种方法计算的两个位。