🏷️ 知识点:文件概念

共 17 道相关题目

2013 年第 23 题 操作系统 选择题

用户在删除某文件的过程中,操作系统不可能执行的操作是( )。

文件概念

A.删除此文件所在的目录

B.删除与此文件关联的目录项

C.删除与此文件对应的文件控制块

D.释放与此文件关联的内存缓冲区

[tag_link] 正确答案:A此文件所在目录下可能还存在其他文件,因此删除文件时不能(也不需要)删除文件所在的目录,而与此文件关联的目录项和文件控制块需要随着文件一同删除,同时释放文件关联的内存缓冲区。


模拟卷 年第 29 题 操作系统 选择题

在文件系统中,“Open” 系统调用的主要功能是( )。

A. 把文件的内容从外存读入内存 B. 把文件控制信息从外存读入内存 C. 把文件的 FAT 表从外存读入内存 D. 把磁盘的超级块从外存读到内存

文件概念

[tag_link]

正确答案:B

“Open”系统调用的主要功能是建立进程与文件之间的连接,为后续读写操作做准备。

它并不直接读取文件内容,而是通过解析文件路径、检查权限等步骤,将文件的控制信息(如inode或文件控制块)从外存读入内存,以便操作系统快速管理文件状态和访问权限。

选项A描述的是“read”调用的功能; 选项C中FAT表是文件系统整体结构的一部分,通常在挂载时缓存,而非每次打开文件时单独读取; 选项D的超级块包含文件系统全局信息,也是在挂载时加载。 因此,只有B准确反映了“Open”的核心作用。


模拟卷 年第 29 题 操作系统 选择题

下列关于文件系统的说法中,错误的是( )。 I. 一个文件在同一系统中、不同的存储介质上的拷贝,应采用同一种物理结构 II. 对一个文件的访问,常由用户访问权限和用户优先级共同限制 III. 文件系统采用树型目录结构后,对于不同用户的文件,其文件名应该不同 IV. 为防止系统故障造成系统内文件受损,常采用存取控制矩阵方法保护文件

A. I、II 和 III B. I、III C. I、III、IV D. I、II、III 和 IV

文件概念

[tag_link]

正确答案:D

说法 I 错误,因为文件的物理结构取决于存储介质的特性,不同介质(如硬盘与磁带)可能采用不同的物理结构以优化性能或适应硬件限制,因此拷贝到不同介质时不必使用同一种物理结构。

说法 II 错误,对文件的访问限制主要基于用户访问权限(如读、写、执行),用户优先级通常用于进程调度或资源分配,而非直接限制文件访问,因此“常由用户优先级共同限制”不符合常规文件系统设计。

说法 III 错误,树型目录结构允许通过路径唯一标识文件,不同用户的文件可以具有相同的文件名,只要存储在不同目录下,无需强制文件名不同。

说法 IV 错误,存取控制矩阵主要用于防止未授权访问,属于安全保护机制; 为防止系统故障导致文件受损,常采用备份、日志文件系统或冗余存储等恢复方法,而非存取控制矩阵。

综上,I、II、III 和 IV 均错误,故正确答案为 D。


模拟卷 年第 30 题 操作系统 选择题

下列关于文件系统的说法中,正确的是( )。

A. 文件系统负责文件存储空间的管理但不能实现文件名到物理地址的转换 B. 在多级目录结构中对文件的访问是通过路径名和用户目录名进行的 C. 文件可以被划分成大小相等的若干物理块且物理块大小也可任意指定 D. 逻辑记录是对文件进行存取操作的基本单位

文件概念

[tag_link]

正确答案:D

本题考查文件系统的多个知识点。 文件系统使用文件名进行管理,也实现了文件名到物理地址的转换,A 错误。 在多级目录结构中,从根目录到任何数据文件都只有一条唯一的路径,该路径从树根开始,把全部目录文件名和文件名依次用“/”连接起来,即构成该数据文件的路径名。 B 的说法不准确,对文件的访问只需通过路径名即可。 文件被划分的物理块的大小是固定的,通常和内存管理中的页面大小一致,C 错误。 逻辑记录是文件中按信息在逻辑上的独立含义来划分的信息单位,它是对文件进行存取操作的基本单位,D 正确。


模拟卷 年第 30 题 操作系统 选择题

设有一个记录文件,采用隐式存储接分配方式,逻辑记录的固定长度为 100B,在磁盘上存储时采用连续成组分配格式。盘块长度为 512B。如果该文件的目录已经读入内存,要找到第 22 个逻辑记录共需启动磁盘( )次。

A. 3 B. 4 C. 5 D. 6

磁盘概念 文件概念

[tag_link]

正确答案:C

在隐式链接分配方式中,每个盘块包含指向下一个盘块的指针,文件通过链表形式存储。 盘块长度为 512B,逻辑记录固定长度为 100B,每个盘块可存储 5 个逻辑记录(因为 5×100=500B<512B,6×100=600B>512B,记录不跨块存储)。 第 22 个逻辑记录所在的盘块计算如下:记录 15 在块 1,610 在块 2,1115 在块 3,1620 在块 4,21~25 在块 5,因此第 22 个记录位于第 5 个盘块。 由于目录已读入内存,起始块地址已知,但要访问第 5 个盘块,需要从第 1 个盘块开始顺序读取,通过每个盘块中的指针依次获取后续盘块的地址。 具体需读取第 1、2、3、4 个盘块以得到第 5 个盘块的地址,最后读取第 5 个盘块获取第 22 个逻辑记录,共启动磁盘 5 次。


模拟卷 年第 30 题 操作系统 选择题

现代操作系统中,文件系统都有效地解决了文件重名(即允许不同用户的文件可以具有相同的文件名)问题,系统是通过( )来实现这一功能的。

A. 重名翻译机构 B. 建立索引表 C. 树型目录结构 D. 建立指针

文件概念

[tag_link]

正确答案:C

现代操作系统中,文件系统采用树型目录结构来解决文件重名问题。 这种结构通过路径名唯一标识文件,路径由目录层级和文件名组成。 不同用户可以在各自的目录下创建同名文件,因为完整路径不同,系统能够区分它们,避免冲突。

例如,用户 A 的文件可能位于“/home/userA/doc.txt”,用户 B 的同名文件位于“/home/userB/doc.txt”。 树型目录结构自然支持这种隔离,是文件系统管理文件的基本方式。

其他选项中,建立索引表主要用于加快文件访问速度,建立指针常用于文件链接,而“重名翻译机构”并非操作系统标准术语,因此它们不能有效解决文件重名问题。


模拟卷 年第 30 题 操作系统 选择题

下面关于索引文件的叙述中,正确的是( )。

A. 索引文件中,索引表的每个表项中含有相应记录的关键字和存放该记录的物理地址 B. 文件进行检索时,首先从 FCB 中读出文件的第一个盘块号;而对索引文件进行检索时,应先从 FCB 中读出文件索引块的开始地址 C. 对于一个具有三级索引的文件,存取一个记录通常要访问三次磁盘 D. 在文件较大时,无论是进行顺序存取还是随机存取,通常都是以索引文件方式最快

文件概念

[tag_link]

正确答案:B

选项 A 不正确,因为索引文件的索引表项通常包含的是指向记录的指针(物理地址),但并不一定都包含关键字。

在操作系统的索引分配方式中,索引块存储的是文件块的物理地址,关键字索引更多用于数据库系统,而非一般文件系统的索引文件。

选项 B 正确,它描述了不同文件组织的检索起点。 对于非索引文件(如连续或链接分配),检索时常从文件控制块(FCB)中读取第一个盘块号; 而对于索引文件,由于文件数据块的地址存储在索引块中,因此需要先从 FCB 中读出索引块的起始地址,再访问索引块获取目标记录的物理地址。

选项 C 错误,因为三级索引文件存取一个记录通常需要四次磁盘访问:读取一级索引块、二级索引块、三级索引块各一次,最后读取数据块一次。 因此,访问次数是四次而非三次。

选项 D 错误,索引文件在随机存取时速度较快,但对于顺序存取,连续分配的文件组织方式可能更高效,因为可以直接顺序读取物理块,而索引文件需要额外访问索引结构,可能引入开销。 因此,并非在所有情况下索引文件都是最快的。


模拟卷 年第 30 题 操作系统 选择题

从下列关于目录检索的说法中,正确的是( )。

A. 由于 Hash 具有较快的检索速度,故现代操作系统中都用它来替代传统的顺序检索法 B. 在利用顺序检索法时,对树型目录应采用文件的路径名,且应从根目录开始逐级检索 C. 在利用顺序检索法时,只要路径名的一个分量名未找到,便应停止查找 D. 在顺序检索法时的查找完成后,即可得到文件的物理地址

目录 文件概念

[tag_link]

正确答案:C

首先,选项 A 不正确。

Hash 检索虽具有较快的检索速度,但现代操作系统中目录检索方法多样,Hash 法并未完全替代顺序检索法,例如在小型目录或某些文件系统中顺序检索仍因简单可靠而被使用。

其次,选项 B 不准确。 在树型目录中利用顺序检索法时,路径名可以是绝对路径或相对路径; 对于绝对路径应从根目录开始逐级检索,但对于相对路径则需从当前目录开始,因此“应从根目录开始”的说法过于绝对,未考虑路径名类型的差异。

选项 C 正确。 顺序检索法在解析路径名时,需要逐级查找每个分量名(即路径中的目录或文件名); 只要有一个分量名未找到,就说明路径无效,查找过程应立即停止并返回错误信息,这是目录检索的基本规则。

最后,选项 D 错误。 顺序检索法查找完成后,通常获得的是文件的逻辑信息(如 inode 号或文件控制块),而非直接得到物理地址; 物理地址需要借助文件系统的映射机制(如通过 inode 访问磁盘块)进一步获取。


模拟卷 年第 31 题 操作系统 选择题

某文件系统物理结构采用三级索引分配方法,如果每个磁盘块的大小为 1024B,每个盘块索引号占用 4 字节,请问在该文件系统中,最大的文件长度约为( )。

A. 16GB B. 32GB C. 8GB D. 以上均不对

文件概念 文件系统

[tag_link]

正确答案:A

每个磁盘块大小为 1024 字节,每个盘块索引号占用 4 字节,因此一个索引块可以存储的索引号数量为

个。

在三级索引分配方法中,文件通过三级间接索引访问数据块:

  • 顶级索引块(三级间接块)存储 256 个指针,每个指向一个二级索引块; >
  • 每个二级索引块存储 256 个指针,每个指向一个一级索引块; >
  • 每个一级索引块存储 256 个指针,每个指向一个数据块。 >

因此,总数据块数为

块。

每个数据块大小为 1024 字节(即

字节),所以最大文件长度为

字节。

由于

因此文件长度为

故最大文件长度约为 16 GB,选项 A 正确。


模拟卷 年第 31 题 操作系统 选择题

物理文件的组织方式是由( )确定的。

A. 应用程序 B. 存储介质 C. 外存容量 D. 存储介质和操作系统

文件概念 操作系统概念

[tag_link]

正确答案:D

物理文件的组织方式指的是文件在存储设备上的物理结构,例如顺序存储、链式存储或索引存储等。

这种组织方式不仅依赖于存储介质的物理特性(如磁盘的扇区大小、访问方式),还取决于操作系统如何管理这些介质。 操作系统通过文件系统(如 FAT、NTFS、ext4)将逻辑文件映射到物理存储空间,从而决定文件的布局和访问效率,因此存储介质和操作系统共同确定了物理文件的组织方式。

其他选项分析:A 项应用程序通常只处理文件的逻辑内容,不直接控制物理存储; B 项存储介质单独无法决定组织方式,因为它需要操作系统的管理来实现文件结构; C 项外存容量仅影响存储空间大小,而不影响具体的组织结构。 因此,D 项是最全面的正确答案。


模拟卷 年第 31 题 操作系统 选择题

设某文件为链接文件,由 5 个逻辑记录组成,每个逻辑记录的大小与磁盘块的大小相等,均为 512 字节,并依次存放在 50、121、75、80、63 号磁盘块上。若要存取文件的第 1569 逻辑字节处的信息,则应访问( )号磁盘块。

A. 3 B. 80 C. 75 D. 63

磁盘概念 文件概念

[tag_link]

正确答案:B

首先,文件由 5 个逻辑记录组成,每个逻辑记录大小为 512 字节,相当于一个磁盘块。 逻辑记录依次存放在 50、121、75、80、63 号磁盘块上,即逻辑记录 1 对应块 50,逻辑记录 2 对应块 121,逻辑记录 3 对应块 75,逻辑记录 4 对应块 80,逻辑记录 5 对应块 63。

要存取第 1569 逻辑字节处的信息,需确定该字节属于哪个逻辑记录。 由于字节位置通常从 1 开始计数,计算逻辑记录编号:每个逻辑记录包含 512 字节,因此前三个逻辑记录共覆盖字节 1~1536(因为 512×3=1536)。 第 1569 字节大于 1536,属于第 4 个逻辑记录(字节 1537~2048)。

逻辑记录 4 对应的磁盘块号为 80,因此应访问 80 号磁盘块。 即使从 0 开始计数字节,第 1569 字节(索引 1568)仍落在第 4 个逻辑记录范围内,结论一致。


模拟卷 年第 37 题 计算机网络 选择题

某同学在校园网访问因特网,从该同学打开计算机电源到使用命令 ftp202.37.0.25 连接文件服务器的过程中,( )协议可能没有使用到。

A. IP B. ICMP C. ARP D. DHCP

文件概念 子网划分

[tag_link]

正确答案:B

在该同学从打开计算机电源到使用 ftp 命令连接文件服务器的过程中,IP 协议是网络层核心协议,负责数据包的路由和转发,因此必然被使用。 ARP 协议用于将 IP 地址解析为 MAC 地址,以便在局域网中封装和传输数据帧,在访问任何网络资源时(无论目标服务器在本地子网还是通过网关),通常都需要 ARP 来解析下一跳的 MAC 地址,因此也很可能被使用。 DHCP 协议用于动态获取 IP 地址等网络配置,在校园网中常见,但如果计算机已配置静态 IP 地址,则 DHCP 可能没有被使用; 不过,考虑到校园网环境通常默认使用 DHCP,其被使用的可能性较高。 而 ICMP 协议主要用于网络错误报告和诊断(如 ping 命令),在正常的 ftp 连接建立和数据传输过程中,如果没有出现网络故障或不需要进行诊断,ICMP 可能完全没有被触发或使用。 因此,在上述过程中,ICMP 是可能没有使用到的协议。


模拟卷 年第 42 题 数据结构 综合题

图 1 为某操作系统中文件系统的目录结构。

请回答一下问题:

(1) 本题中的目录结构可抽象为数据结构中的哪种逻辑结构? (2) 请设计合理的链式存储结构,以保存图 1 中的文件目录信息。要求给出链式存储结构的数据类型定义,并画出对应图 1 中根目录部分到目录 A、B 及其子目录和文件的链式存储结构示意图。 (3) 哈夫曼树是一种特殊的树形结构,请证明哈夫曼树的总结点数总为奇数。

文件概念 目录

[tag_link]

**【解析】** 本题考察树的相关内容。

(1) 树

(2) 采用孩子兄弟表示法,数据结构描述如下:

typedef struct CSNode{
    char name[MaxSize];           //存储名称
    int NodeType;                 //值为 0 代表指向文件,为 1 代表指向目录
    union p{                      //用于存储指向文件/目录的信息指针
        filepointer p1;           //文件信息
        catalogpointer p2;        //目录信息
    };
    struct CSNode *firstchild, *nextsibling;  //第一个孩子和右兄弟指针
} CSNode;
`

图中目录结构的存储大致如下:

[图片]

本小问只要符合题目要求的答案即可算正确,给出答案仅供参考。

(3)由哈夫曼树中没有度为 1 的结点可知任意哈夫曼树的 ,又因哈夫曼树为二叉树,满足 ,所以哈夫曼树的总结点数 ,可知无论初始有多少个叶子结点,哈夫曼树的总结点数一定为奇数。


模拟卷 年第 43 题 组成原理 综合题

(8 分)根据 42 题图 1 描述的目录结构,结合以下描述继续回答问题。根目录常驻内存,目录文件组织成链接文件,不设文件控制块,普通文件组织成索引文件。目录表目指示下一级文件名及其磁盘地址(各占 2 个字节,共 4 个字节)。若下级文件是目录文件,指示其第一个磁盘块地址。若下级文件是普通文件,指示其文件控制块的磁盘地址。每个目录文件磁盘块的最后 4 个字节供拉链使用。下级文件在上级目录文件中的次序在图中从左至右。每个磁盘块有 512 字节,与普通文件的一页等长。

普通文件的文件控制块组织如图 2 所示,其中,每个磁盘块地址占 2 个字节,前 10 个地址直接指示该文件前 10 页的地址。第 11 个地址指示一级索引表地址,一级索引表中每个磁盘地址指示一个文件页地址;第 12 个地址指示二级索引表地址,二级索引表中每个地址指示一个一级索引表地址;第 13 个地址指示三级索引表地址,三级索引表中每个地址指示一个二级索引表地址。请问:

(1) 一个普通文件最多可有多少个文件页? (2) 若要读文件 J 中的某一页,最多启动磁盘多少次? (3) 若要读文件 W 中的某一页,最少启动磁盘多少次? (4) 就 (3) 而言,为最大限度减少启动磁盘的次数,可采用什么方法?此时,磁盘最多启动多少次?

文件概念 目录

[tag_link]

**【解析】** 本题考查文件目录的结构。

(1)因为磁盘块大小为 512B,所以索引块大小也为 512B,每个磁盘地址大小为 2B。因此,一个一级索引表可容纳 256 个磁盘地址。同样,一个二级索引表可容纳 256 个一级索引表地址,一个三级索引表可容纳 256 个二级索引表地址。这样,一个普通文件最多可有文件页数为 页。

(2)由图可知,目录文件 A 和 D 中的目录项都只有两个,因此这两个目录文件都只占用一个物理块。要读文件 J 中的某一页,先从内存的根目录中找到目录文件 A 的磁盘地址,将其读入内存(已访盘 1 次)。然后从目录 A 中找出目录文件 D 的磁盘地址并将其读入内存(已访盘 2 次)。再从目录 D 中找出文件 J 的文件控制块地址并将其读入内存(已访盘 3 次)。在最坏情况下,该访问页存放在三级索引下,此时需要一级一级地读三级索引块才能得到文件 J 的地址(已访盘 6 次)。最后读入文件 J 中的相应页(共访盘 7 次)。所以,若要读文件 J 中的某一页,最多启动磁盘 7 次。

(3)由图可知,目录文件 C 和 U 的目录项较多,可能存放在多个链接在一起的磁盘块中。在最好情况下,所需的目录项都在目录文件的第一个磁盘块中。先从内存的根目录中找到目录文件 C 的磁盘地址读入内存(已访盘 1 次)。在 C 中找出目录文件 I 的磁盘地址读入内存(已访盘 2 次)。在 I 中找出目录文件 P 的磁盘地址读入内存(已访盘 3 次)。从 P 中找到目录文件 U 的磁盘地址读入内存(已访盘 4 次)。从 U 的第一个磁盘块中找出文件 W 的文件控制块地址读入内存(已访盘 5 次)。在最好情况下,要访问的页在文件控制块的前 10 个直接块中,按照直接块指示的地址读文件 W 的相应页(已访盘 6 次)。所以,若要读文件 W 中的某一页,最少启动磁盘 6 次。

(4)为了减少启动磁盘的次数,可以将需要访问的 W 文件挂在根目录最前面的目录项中。此时,只需读内存中的根目录就可以找到 W 的文件控制块,将文件控制块读入内存(已访盘 1 次),最差情况下,需要的 W 文件的那个页挂在文件控制块的三级索引下,那么读 3 个索引块需要访问磁盘 3 次(已访盘 4 次)得到该页的物理地址,再去读这个页即可(已访盘 5 次)。此时,磁盘最多启动 5 次。


模拟卷 年第 45 题 操作系统 综合题

(8 分)某系统由 R1、R2 和 R3 共 3 种资源,在 T0 时刻 P1、P2、P3 和 P4 这 4 个进程对资源的占用和需求情况如下表所示,此时系统的可用资源向量为 (2,1,2)。试问:

(1)系统是否处于安全状态?如安全,请给出一个安全序列。 (2)如果此时 P1 和 P2 均发出资源请求向量 Request(1,0,1),为了保证系统的安全性,应该如何分配资源给这两个进程?说明你所采用策略的原因。 (3)如果(2)中两个请求立即得到满足后,系统此刻是否处于死锁状态?

文件概念 银行家算法

[tag_link]

**【答案】** (1)系统处于安全状态,一个安全序列为 P2→P1→P3→P4。 (2)应该先分配资源给 P2 的请求 Request(1,0,1),而对于 P1 的请求暂不分配。因为先分配给 P2 后系统仍处于安全状态,而先分配给 P1 或同时分配给两者都会导致系统进入不安全状态。 (3)如果两个请求立即得到满足,系统此刻处于死锁状态。

**【解析】** 首先,计算各进程还需资源数量: P1 还需 `(2,2,2)`, P2 还需 `(2,0,2)`, P3 还需 `(1,1,3)`, P4 还需 `(4,2,0)`。

系统当前可用资源为 `(2,1,2)`。

**(1)使用银行家算法检查安全状态** 当前可用资源 `(2,1,2)` 可满足 P2 的还需资源 `(2,0,2)`,因此 P2 可运行。 P2 完成后释放资源 `(4,1,1)`,可用资源变为 `(6,2,3)`。 此时可满足 P1 的还需资源 `(2,2,2)`,P1 运行后释放 `(1,0,0)`,可用资源变为 `(7,2,3)`。 接着可满足 P3 的还需资源 `(1,1,3)`,P3 运行后释放 `(2,0,1)`,可用资源变为 `(9,2,4)`。 最后满足 P4 的还需资源 `(4,2,0)`。

因此存在安全序列 `P2 → P1 → P3 → P4`,系统处于安全状态。

**(2)当 P1 和 P2 均请求 `Request(1,0,1)` 时** 需考虑分配顺序以确保系统安全。

  • **若先分配给 P1**: 分配后可用资源为 `(1,1,1)`,各进程还需资源不变,但此时所有进程的还需资源均无法被满足(P1 需 `(1,2,1)`,P2 需 `(2,0,2)`,P3 需 `(1,1,3)`,P4 需 `(4,2,0)`),系统进入不安全状态。

  • **若先分配给 P2**: 分配后可用资源为 `(1,1,1)`,P2 还需变为 `(1,0,1)`。 此时 P2 可运行,完成后释放资源,可用资源变为 `(6,2,3)`,后续可依次运行 P1、P3、P4,系统安全。

  • **若同时分配给两者**: 可用资源变为 `(0,1,0)`,所有进程均无法运行,系统不安全。

因此,为保证安全,应先分配资源给 P2。

**(3)若两个请求立即同时满足** 则可用资源为 `(0,1,0)`,各进程还需资源为: P1 `(1,2,1)`, P2 `(1,0,1)`, P3 `(1,1,3)`, P4 `(4,2,0)`。

所有进程都无法获得所需资源,且无进程可运行释放资源,因此系统处于死锁状态。


模拟卷 年第 46 题 操作系统 综合题

(7 分)在实现文件系统时,为加快文件目录的检索速度,可利用“文件控制块分解法”。假设目录文件存放在磁盘上,每个盘块有 512 字节。文件控制块占 64 字节,其中文件名占 8 个字节。通常将文件控制块分解成两部分,第一部分占 16 字节(包括文件名和文件内部号),第二部分占 48 字节(包括文件内部号和文件其他描述信息)。

(1)假设某一目录文件共有 254 个文件控制块,试分别给出采用分解法前和分解法后,查找该目录文件的某一个文件控制块的平均访问磁盘次数。(访问每个文件的概率相同) (2)一般地,若目录文件分解前占用 个盘块,分解后改用 个盘块存放文件名和文件内部号部分,请给出访问磁盘次数减少的条件。(假设 个盘块中都正好装满)

文件概念

[tag_link]

**【答案】** (1)分解前平均访问磁盘次数为 次;分解后平均访问磁盘次数为 次。 (2)访问磁盘次数减少的条件是

**【解析】** (1)分解前:每个盘块 512 字节,文件控制块(FCB)占 64 字节,每块可存放 个 FCB。目录文件共有 254 个 FCB,需占用 32 个盘块(前 31 块每块 8 个 FCB,第 32 块有 6 个 FCB)。查找时顺序扫描盘块,平均访问磁盘次数为找到目标 FCB 所在盘块的平均读取盘块数。设盘块索引 从 1 到 32,目标 FCB 在第 块的概率为该块 FCB 数除以 254,因此平均次数为:

分解后:第一部分(文件名和内部号)占 16 字节,每块可存放 个第一部分。254 个第一部分需占用 8 个盘块(前 7 块每块 32 个,第 8 块有 30 个)。检索第一部分时平均访问磁盘次数类似计算:

找到第一部分后,还需访问第二部分获取完整 FCB,需 1 次磁盘访问,因此总平均次数为:

(2)分解前占用 个盘块(装满),平均访问磁盘次数为 。分解后占用 个盘块存放第一部分(装满),平均访问第一部分次数为 ,加上访问第二部分的 1 次,总平均次数为 。访问磁盘次数减少的条件为:

化简得 ,即


模拟卷 年第 46 题 操作系统 综合题

(8 分)一个文件系统中有一个 20MB 大文件和一个 20KB 小文件,当分别采用连续分配、隐式链接分配方案时,每块大小为 4096B,每块地址用 4B 表示,问:

(1) 该文件系统所能管理的最大文件是多少?

(2) 每种方案对大、小两文件各需要多少专用块来记录文件的物理地址(说明各块的用途)?

(3) 如需要读大文件前面第 5.5KB 的信息和后面第 (16M+5.5KB) 的信息,则每个方案各需要多少次磁盘 I/O 操作?

文件概念

[tag_link]

**【解析】** 本题考查文件物理结构的分配方案:连续分配、链接分配和索引分配。

(1)**连续分配**:文件大小理论上不受限制,可大到整个磁盘文件区。 **链接分配**:由于块地址占 4 字节(32 位),能表示的最大块数为 ,每个盘块存放文件内容的大小为 4092 字节,因此链接分配可管理的最大文件为:

注意:有同学认为最后一块可以不存放指针而使用全部 4096 字节,但一般文件系统的块结构是固定的,为了多出 4 字节的空间会增加很多额外开销,因此通常不会这样做。

(2)**连续分配**:对大小文件都只需在文件控制块 FCB 中设置两项,一是首块物理块号,另一是文件总块数,不需要专用块记录文件的物理地址。 **链接分配**:对大小文件也只需在 FCB 中设置两项,一是首块物理块号,另一是文件最后一个物理块号;同时在每个物理块中设置存放下一个块号的指针。

(3)**连续分配**:读取大文件前面或后面的信息时,需先计算信息在文件中的相对块号。 前面信息的相对逻辑块号为 (从 0 开始编号), 后面信息的相对逻辑块号为 。 物理块号 = 文件首块号 + 相对逻辑块号,每块只需一次磁盘 I/O 操作即可读出。

**链接分配**:读取大文件前面 5.5KB 的信息时,先读一次文件头块得到信息所在块的块号,再读一次第 1 号逻辑块得到所需信息,共需 2 次读盘。 读取大文件 处的信息时,逻辑块号为 ,需要先顺序读出该块之前的所有块,共花费 4101 次磁盘 I/O 操作得到目标块的块号,最后再花一次 I/O 操作读出该块信息。因此总共需要 4102 次 I/O 操作。