问答题
【文件操作处理过程-①】
某操作系统采用符号名目录与索引结点相结合的多级目录结构及混合索引文件物理结构,且各文件的索引结点给出了对应文件数据所占磁盘盘块的寻址信息。进一步说,在索引结点中,0~11#地址项为直接地址项,12#、13#、14#地址项分别给出对应一级索引、二级索引、三级索引的盘块号。同时,假设磁盘盘块的大小为4KB(这里,1KB=2^10字节),每个索引结点的大小为64字节(索引结点区集中在2#盘块开始的区域),而每个地址项(即数据盘块号或索引盘块号)为4字节。请就如下问题计算填空:
(1)只要文件的大小不超过 【①】 KB,仅需启用相关直接地址项即可。
(2)该系统能够支持的最大文件大小为 【②】 KB。
(3)假设某文件moocBJTU.wps(文件大小为5GB,这里,1GB=2^30字节)的索引结点已在内存中且每次磁盘访问仅读入一个盘块,那么若要读取该文件第50000~52000字节的内容(且为针对该文件的第一次读操作),则需要访问磁盘 【③】 次;若要读取该文件第4101MB(这里,1MB=2^20字节)开始的10000字节内容(且为针对该文件的第一次读操作),则需要访问磁盘 【④】 次。
(4)如图,假设系统当前工作目录是根目录,且2#盘块已经加载到内存,现在某用户进程要对文件/2022OS/ bootloader.S进行读取(这是系统对该文件的第一次操作),则打开操作过程如下:首先读入第一个文件分量名2022OS,将其与当前目录文件各目录项的文件名依次进行比较,找到匹配值,并得到对应的索引结点号 【⑤】 ,进而从相应索引结点中获悉目录文件/2022OS放在第 【⑥】 号盘块中,于是将它读入内存;同理,再读入第二个分量名bootloader.S,查找得到对应索引结点号 【⑦】 ,计算知该索引结点位于第 【⑧】 号盘块,于是将其读入内存并拷贝形成内存索引结点,从而打开文件。
根目录/的文件内容
子目录/2022OS的文件内容|
1
.
6
.|
1
..
1
..|
6
2022OS
195
bootloader|
7
bootloader.S
260
2022OS|
12
xgfyzc.wps
262
bootloader.S|
16
thsjq.mp3
…
…|
..
…
|
部分索引盘块的内容
2230#索引盘块内容
3865#索引盘块内容
5336#索引盘块内容
9000#索引盘块内容|
2231
3866
5337
9001|
2232
3867
5338
9002|
2233
3869
5339
9006|
2235
3870
5350
9008|
2236
3875
5352
9009|
…
…
…|
部分索引结点的0#~14#地址项内容
索引结点号
0#
1#
2#
3#
4#
5#
6#
7#
8#
9#
10#
11#
12#
13#
14#|
1#
160
|
6#
172
|
7#
201
202
203
204
205
206
207
208
209
210
222
230
2230
3865
|
12#
352
353
356
358
360
362
363
365
|
16#
368
369
370
371
372
373
374
375
376
377
378
379
|
195#
391
392
393
394
395
396
397
398
399
400
401
403
5336
7392
|
260#
405
|
262#
501
502
503
504
505
506
507
508
509
510
511
512
9000
|
①处应填入( )
答案:
48