5.有一个文件系统,根目录常驻内存,如图所示。目录文件采用链接结构,假设每个目录下最多允许建立60个文件或目录(统称为下级文件)。又假设每个磁盘块最多可存放10个文件目录项:如果下级文件是目录文件,则上级目录项指向该目录文件的第一块地址;
2 I7 R+ S/ T( A( g如果下级文件是普通文件,则上级目录项指向该文件的FCB(文件控制块)地址。假设图中所示的文件目录结构中,文件或子目录按自左向右的次序建立,而符号“…”表示尚有其他文件或子目录未列出。* L4 s% u/ I/ I3 o* P5 a
(1) 假设普通文件采用UNIX的三级索引结构,主索引表放在文件控制块中。% c- c" ~3 {% P/ X
①假设每个物理块能存放128个地址(物理块块号),那么,普通文件的大小最大为多少块?(3分)
# Y. l) S( D9 @* f, e②若要读/A/D/G/I/K的第7461块,系统最少启动硬盘几次,最多几次?(6分)/ D0 ~4 r9 Q. A% |
(2) 若普通文件采用顺序结构,若要读/A/D/G/I/K的第285块,最少启动硬盘几次,最多几次?(6分); n3 |' n) g: e( @9 U9 b
(3) 为了打开文件,用户给出文件名后,操作系统应做哪些工作?(6分), c% @% D2 A4 F& v# O" s& D: q" L
(4) 一般在文件系统中,为了加快文件目录检索速度(减少启动硬盘的次数),可以采用什么方法?(9分)
; R0 L; v- ^# ?7 {: t; |答案:4 x0 S: S6 q# M' g5 s
(1) ①10+128+1282+1283块" w3 t0 v6 m# |- @$ s8 [8 v
②最少启动硬盘8次,最多启动硬盘23次, S! f' m! c7 Y5 c2 n4 _. ~( Y
(2) 最少启动硬盘6次,最多启动硬盘21次, A( S- h2 t: h/ G
(3) 打开文件时,用户首先给出文件名,操作系统完成以下工作:
% L/ W; B: R3 Y( v6 c6 ?: @①查找目录,检查文件是否存在,如不存在,则报告错误;6 n, M# G5 F. p4 f" a; c# h) V3 l
②如该文件存在,检查操作的合法性,例如,若该文件为只读文件,但用户却将“读写方?quot;置为写,则系统不予打开;
* K1 y$ {- p. J③根据文件名在目录文件中找到该文件的文件控制块,把该文件的文件控制块调入内存。. d6 i$ A4 R- t% n5 p: e3 `& a
(4).一般在文件系统中,为了加快文件目录检索速度,减少启动硬盘的次数,可以采用两种方法。 |