在UNIX系统下,某个文件大小为400KB,假定该系统当前默认的数据块大小为512B,请画出该文件存储的物理结构图。当需要访问文件的第5块、第150块、第750块数据块时,系统各需要读盘几次?
时间: 2024-03-11 08:47:27 浏览: 53
好的,根据题目描述,可以得知该文件大小为400KB,即有$400\times1024/512=800$个数据块。默认数据块大小为512B,即每个数据块能够存储512B的数据。
下面是该文件存储的物理结构图:
```
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| B0 | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8 | B9 |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| B10 | B11 | B12 | B13 | B14 | B15 | B16 | B17 | B18 | B19 |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
...
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| B790 | B791 | B792 | B793 | B794 | B795 | B796 | B797 | B798 | B799 |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
```
可以看到,该文件被分成了800个数据块,依次编号为B0~B799。每个数据块占用512B的磁盘空间。
接下来,我们来回答问题。
1. 访问第5块数据块,即访问B4。由于默认数据块大小为512B,每个数据块占用512B的磁盘空间,因此需要读取第2个磁盘块(第3~4个磁盘块组成一个数据块),即读取磁盘块1和磁盘块2,共计2次读盘操作。
2. 访问第150块数据块,即访问B149。同理,需要读取第300个磁盘块,即读取磁盘块299和磁盘块300,共计2次读盘操作。
3. 访问第750块数据块,即访问B749。需要读取第1500个磁盘块,即读取磁盘块1499和磁盘块1500,共计2次读盘操作。
因此,系统需要读盘6次。