《操作系统导论》第40章作业

40.1

用一些不同的随机种子(比如17、18、19、20)运行模拟器,看看你是否能确定每次状态变化之间一定发生了哪些操作。

解:

运行指令:./vsfs.py -s 17 -c
可以得到如下的结果:
在这里插入图片描述
根据运行结果,我们可以知道这里首先使用mkdir来创建目录,所以在mkdir前后的位图以及数据块,我们可以发现如下的区别:
inode bitmap中有一位从0变成了1,表示有一块inodes变得有效,其中储存的就是这个目录的所有信息。(元数据)
data bitmap有一位从0变成了1,表示有一块data变成有效,其中储存的就是其中的数据。

知道了如何创建目录,接下来我们看到unlink指令,根据相关知识我们可以知道这个指令是来删除文件的。

使用这个指令之后,我们发现之前creat所创建的文件所修改的位图和实际的数据块被删除,也就是和creat未创建前的状态相同。

别的情况与之类似。

运行指令:./vsfs.py -s 18 -c
可以得到如下的结果:
在这里插入图片描述
发现与上面的分析类似。这里只是多了一条文件的读写,也就是打开文件后写入一个字符串,然后关闭文件。

运行指令:./vsfs.py -s 19 -c
可以得到如下的结果:
在这里插入图片描述

运行指令:./vsfs.py -s 20 -c
可以得到如下的结果:
在这里插入图片描述

40.2

现在使用不同的随机种子(比如21、22、23、24),但使用-r标志运行,这样做可以让你在显示操作时猜测状态的变化。关于inode和数据块分配算法,根据它们喜欢分配的块,你可以得出上面结论。

解:

随机种子21的情况:

运行指令:./vsfs.py -s 21 -r -c
运行的结果如下:
在这里插入图片描述
这里的分析也与上一题相同,每次使用指令的时候,inode bitmap和inodes是同时改变的,data bitmap和data是同时改变的。这里,我们发现inode和数据块分配所喜欢的是从前往后按顺序分配。

随机种子22的情况:

运行指令:./vsfs.py -s 22 -r -c
可以得到如下的运行结果:
在这里插入图片描述
同理可以得到与上面相同的结果。

随机种子23的情况:

运行指令:./vsfs.py -s 23 -r -c
可以得到如下的结果:
在这里插入图片描述
同理可以得到与上面相同的结果。

随机种子24的情况:

运行指令:./vsfs.py -s 24 -r -c
可以得到如下的结果:
在这里插入图片描述
同理可以得到与上面相同的结果。

综上,inode和数据块分配算法,它们喜欢从序列的前面往后分配。

40.3

现在将文件系统中的数据块数量减少到非常少(比如两个),并用100个左右的请求来运行模拟器。在这种高度约束的布局中,哪些类型的文件最终会出现在文件系统中?上面类型的操作会失败?

解:

运行指令:./vsfs.py -d 2 -n 100 -c
可以得到如下的结果:
在这里插入图片描述
发现,这里创建目录失败了,说明不能创建目录。

运行指令:./vsfs.py -d 2 -n 100 -s 3 -c
可以得到如下的结果:
在这里插入图片描述
发现创建文件成功,写入文件会失败。可以创建多个文件,可以unlink。

运行指令:./vsfs.py -d 2 -n 100 -s 7 -c
可以得到如下的结果:
在这里插入图片描述
从这里的运行结果看出可以创建多个文件。

综上,模拟器似乎要求必须剩下一个数据块不能被使用。

40.4

现在做同样是事情,但针对inodes。只有非常少的inode,什么类型的操作才能成功?哪些通常会失败?文件系统的最终状态可能是什么?

解:

运行指令:./vsfs.py -i 2 -n 100 -s 1 -c
可以得到如下的结果:
在这里插入图片描述
发现,同样这里也不能创建目录。

运行指令:./vsfs.py -i 2 -n 100 -s 3 -c
可以得到如下的结果:
在这里插入图片描述
发现创建文件也失败。

运行指令:./vsfs.py -i 2 -n 100 -s 5 -c
可以得到如下的结果:
在这里插入图片描述
与上面相同,不能创建目录。

综上,创建文件,创建目录都不行。模拟器似乎也要求必须剩下一个inode块不能被使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值