华工 操作系统 第四章作业

更新时间:2024-04-19 07:41:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第四章

200930601180_09信安(5)_陈烽特

1.在早期的UNIX系统中,可执行文件以一个非常特别的魔数开始,这个数不是随机选择的。这些文件都有头文件,后面是正文段和数据段。为什么要为可执行文件挑选一个非常特别的魔数,而其他类型文件的第一个字反而有一个或多或少是随机选择的魔数?

答:使用一个非常特别的魔数,表明该文件是一个可执行文件,而其它魔数的文件不是可执行的,防止其它格式的文件偶然运行。

5.某一些操作系统提供系统调用rename给文件重命名,同样也可以通过把文件复制到新文件并删除原文件而实现文件重命名。请问这两种方法有何不同?

答:rename不会改变文件的创建时间和最后修改时间,复制到新文件,其创建时间和最后修改时间都会被改成当前系统时间。Rename不改变文件存放的位置,而新文件在磁盘的位置和原来不同。

10.正如书中所提到的,文件的连续分配会导致磁盘碎片,因为当一个文件的长度不等于块的整数倍时,文件中的最后一个磁盘块中的空间会浪费掉。请问这是内碎片还是外碎片?并将它与先前一章的有关讨论进行比较。 答:内碎片。

11.一种在磁盘上连续分配并且可以避免空洞的答案是,每次删除一个文件后就紧缩一下磁盘。由于所有的文件都是连续的,复制文件时需要寻到和旋转延迟以便读取文件,然后全速传送。在写回文件时要做同样的工作,假设寻道时间为5ms,旋转延迟为4ms,传送速率为8MB/s,而文件平均长度是8KB,把一个文件读入内存并写回到磁盘上的一个新位置需要多长时间?运用这些数字,计算紧缩16GB磁盘的一半需要多长时间? 答:紧缩一个文件需要时间:5ms + 4ms + 8KB/8MB/s =10ms;

紧缩16GB磁盘的一半需要(16GB/2)/8KB * 10ms = 10000s。

12.基于前一个问题的答案,紧缩磁盘有什么作用吗?

答:紧缩磁盘不适合于每次删除文件后进行,可在磁盘产生碎片过多时,由用户决定是否紧缩磁盘。

15.考虑图4-13中的i节点。如果它含有用4个字节表示的10个直接地址,而且所有的磁盘块大小是1024KB,那么文件最大可能有多大?

答:10个直接地址,即最多包含10个磁盘块,文件最大为10×1024KB = 10MB。

19.空闲磁盘空间可用空闲块表或位图来跟踪。假设磁盘地址需要D位,一个磁盘有B个块,其中有F个空闲。在什么条件下,空闲块表采用的空间少于位图?设D为16位,请计算空闲磁盘空间的百分比。

答:使用空闲块表,需要空间F×D=16F位,使用位图,需要B×1=B位,由16F

20.一个空闲块位图开始时和磁盘分区首次初始化类似,比如:1000 0000 0000 0000(首块被根目录使用),系统总是从最小编号的盘快开始寻找空闲块,所以在有6块的文件A写入之后,改为图为1111 1110 0000 0000。请说明在完成如下每一个附加动作之后位图的状态:

A)写入有5块的文件B B)删除文件A

C)写入有8块的文件C D)删除文件B 答:

a)1111 1111 1111 0000; b)1000 0001 1111 0000; c)1111 1111 1111 1100; d)1111 1110 0000 1100。

27.文件系统的性能与高速缓存的命中率有很大的关系。从高速缓存中读取数据需要1ms,而从磁盘上读取需要40ms,若命中率为h,给出读取数据所需平均时间的计算公式,并画出h从0到1.0变化时的函数曲线。

答:所需平均时间h×1+(1-h)×40 =(40-39h)ms,函数曲线为 t/ms 40

1 1 h

28.考虑图4-21背后的思想,目前磁盘平均寻道时间为8ms,旋转速率为15000rpm,每道为262 144字节。对大小各为1KB,2KB和4KB的磁盘块,传送速率各是多少? 答:选择速率15000rpm,旋转一周4ms,平均旋转延迟为2ms

1KB:1KB/(1KB /262144B×4ms+8ms)=1KB/10.015625ms=0.0998KB/ms; 2KB:2KB/(2KB /262144B×4ms+8ms)=2KB/10.03125ms=0.1994KB/ms; 4KB:4KB/(4KB/262144B×4ms+8ms)=4KB/10.0625ms=0.3975KB/ms;

29.某个文件系统使用2KB的磁盘块,而中间文件大小值为1KB。如果所有的文件都是正好1KB大小,那么浪费掉的磁盘空间的比例是多少?你认为一个真正的文件系统所浪费的空间比这个数值大还是小?请说明理由。

答:浪费掉的磁盘空间比例为(2KB-1KB)/2KB=50%

一个真正的文件系统所浪费的空间比这个数值小,因为大部分文件都是大于1KB的,

而对于一个k大小的磁盘来说,一共有k/2KB 个磁盘块,存在浪费的磁盘块远小于这个值,即浪费空间小于k/2。

32.一个UNIX系统使用1KB磁盘块和4字节磁盘地址。如果每个i节点中有10个直接表项以及一个一次间接块、一个二次间接块和一个三次间接块,那么文件的最大尺寸是多少? 答:一个一次间接块指向1KB/4B=256个磁盘块,则对于每个i节点,直接表项记录10个磁盘块,一次间接块记录256个磁盘块,二次间接记录256^2个磁盘块,三次间接块记录(256^2)^2个磁盘块,文件最大尺寸为(10+2^8+2^16+2^32)×1KB ≈ 4TB

33.对于文件/usr/ast/courses/os/handout.t,若要掉入其i节点需要多少个磁盘操作?假设其根目录的i节点在内存中,其他路径都不在内存中。并假设所有的目录都在一个磁盘块中。 答:读取/usr 的i节点 根据该节点读取/usr的目录 读取/usr/ast 的i节点 根据该节点读取/usr/ast 的目录

读取/usr/ast/courses 的i节点 根据该节点读取/us/ast /courses的目录

读取/usr /ast /courses/os的i节点 根据该节点读取/usr/ast/courses/os 的目录 读取/usr /ast /courses/os/的i节点 根据该节点读取/usr/ast /courses/os的内容 需要10个磁盘操作。

本文来源:https://www.bwwdw.com/article/rtfp.html

Top