操作系统文件系统练习题

  • Post author:
  • Post category:其他


1.Linux系统有几种类型文件?它们分别是什么?有哪些相同点和不同点?如果文件的类型和权限用“drwxrw-r–“表示,那么这个文件属于什么类型的文件,

各类用户对这个文件拥有什么权限?



3类:普通文件、目录文件和设备文件。



相同点是,它们都是文件,都有一个文件名和i节点号。



不同点是,普通文件的内容为数据,目录文件的内容为目录项或文件名与i节点对应表,而设备文件不占用磁盘空间,

通过其i节点信息可建立与内核驱动程序的联系。



目录文件。文件属主读写执行权限,文件属组读写权限,除属主和属组成员之外的其他用户读权限。

2.假定一个文件系统组织方式与MS-DOS相似,在FAT中可有64K个指针,磁盘的盘块大小为512B,试问该文件系统能否指引一个512MB的磁盘?




有512MB/512B = 1M个盘块,64K个指针不够。


3.在UNIX中,每个i节点中有10个直接地址和一、二、三级间接索引。若每个盘块512B,每个盘块地址4B,


则一个1MB的文件分别占用多少间接盘块?2

5

MB的文件呢?



10个直接盘块存放的容量为:10*512B/1024 = 5KB



一个盘块中可放的盘块地址数为:512B/4B = 128



一次间接索引存放的容量为:128*512B/1024 = 64KB



二次间接索引存放的容量为:128*128*512B/1024 = 8192KB


三次间接索引存放的容量为:128*128*128*512B/1024

= 1048576KB


则:1MB为1024KB,1024KB-64KB-5KB=955KB,955×1024B/512B=1910,所以1MB的文件分别占用128个一次间接盘块和1910个二次间接盘块。



25MB为:25×1024KB–64KB-5KB-8192KB=17339KB,  17339×1024B/512B=34678  所以25MB的文件分别占用128个一次间接盘块



和128^2=16384个二次间接盘块,


34678个三次间接盘块.

4.假设某文件系统的硬盘空间为500MB,盘块大小为1KB,采用显示链接分配,请回答以下问题:

(1)其FAT表(文件分配表)需占用多少存储空间?

(2)如果文件A占用硬盘的盘块号依次为120、130、145、135、125共五个盘块,请画图示意文件A的FCB与FAT表的关系以及FAT表中各盘块间的链接情况。

(1).FAT的每个表项对应于磁盘的一个盘块,其中用来存放分配给文件的下一个盘块的块号,故FAT的表项数目由物理盘块数决定,而表项的长度则由磁盘系统的最大盘块号决定(即它必须能存放最大的盘块号)。为了地址转换的方便,FAT表项的长度通常取半个字节的整数倍,所以必要时还必须由最大盘块号获得的FAT表项长度作一些调整。由题意可知,该硬盘共有500K个盘块,故FAT中共有500K个表项;如果盘块从1开始编号,为了能保存最大的盘块号500K,该FAT表项最少需要19位,将它扩展为半个字节的整数倍后,可知每个FAT表项需20位,即2.5个字节。因此,FAT需占用的存储空间的大小为: 2.5×500K=1250KB

(2).如下图所示:


.

5.某文件系统采用单级索引文件结构,假定文件索引表的每个表项占3个字节存放一个磁盘块的块号,磁盘块的大小为512B。试问:

(1)该文件系统能支持的最大文件大小是多少字节?能管理的最大磁盘空间是多大?

(2)若采用3级索引,该文件系统能支持的最大文件大小是多少字节?

(1).由于索引表占用一个大小为512B的磁盘,所以该文件系统的索引表可以管理512/3=170个表项,而每一个表项对应一个物理块,因此该文件

系统可以支持的最大文件为:170*512B=87040B=85KB



能管理的最大磁盘空间:2^24*512B

(2).170*170*170*512B=2456500KB=2398.93MB

6.在某个采用混合索引分配的文件系统中,FCB中有i_addr[0]~i_addr[8] 共9个物理地址项,其中i_addr[0]~i_addr[6]是7个直接地址项,i_addr[7]是1个一次间址项,i_addr[8]是1

个二次间址项。如果一个盘块的大小是4KB,每个盘块号占4个字节。请写出将下列文件的字节偏移量转换成物理地址的过程:

(1)10000;

(2)500000。

(1).10000/(4*1024) = 2 余1808,第3个直接地址项指向的盘块,块内偏移1808个字节。

(2).每个盘块可以放4KB/4 = 1K个盘块号,500000 / (4 * 1024) = 122 余 288,一次间址项够用,122 – 7 = 125,一次间址项里的第125 + 1 = 126个盘块号指向的盘块,块内偏移288个字节。

7.在UNIX系统中有空闲盘块栈如图所示:

(1)现有一个进程要释放4个物理块,其块号为150#、156#、172#、177#,画出空闲盘块栈的变化。

(2)在(1)的基础上假定一个进程要求分配5个空闲块,画出分配后的空闲盘块栈。


(1).每个空闲盘块栈放100个空闲盘块。


(2).



版权声明:本文为u014285517原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。