:文件管理

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了:文件管理相关的知识,希望对你有一定的参考价值。

文章目录

费翔林课本习题

思考题

1.试述下列属于的定义并说明他们之间的关系:卷、块、记录、文件

【答案】

  • 存储介质的物理单位定义为卷
  • 存储介质上可连续存储信息的一个区域称之为块,也叫做物理记录
  • 把逻辑上具有完整意义的信息集合称之为文件
  • 记录分为逻辑记录和物理记录。逻辑记录是指逻辑上独立划分的信息单位,物理记录就是块

他们之间的关系

  • 一卷存储介质可以被分为若干个块,能用来存放一个或多个文件
  • 一个文件可以由多个记录组成,这样的文件称之为记录式文件
  • 一个记录可以占用存储介质上的一块,或一块也可以存放多个记录

2.什么是记录的成组和分解操作,采用这种技术有何优点

【答案】

逻辑记录是按信息在逻辑上的独立含义由用户划分的单位,而块是系统划分的存储介质上连续信息所组成的区域。因此,一条逻辑记录被存放到文件存储器的存储介质上时,可能占用一块或者多块,或者一个物理块也可以包含多条逻辑记录。若干逻辑记录合并成一组,写入一块叫做记录成组,这时,每块中的逻辑记录的个数称之为块因子。成组操作现在系统输出缓冲区内进行,凑满一块后才将缓冲区的信息写到存储介质上。反之,当存储介质上的一个物理块读进系统输入缓冲区后,把逻辑记录从块中分离出来的操作叫做记录的分解

3.列举文件系统面向用户的主要功能

【答案】

4.什么是文件的逻辑结构?它有哪几种组织方式

【答案】

文件组织是指文件中信息的配置和构造方式,应该从文件的逻辑结构和组织以及文件的物理结构和组织两方面加以考虑。前者从用户观点除法,研究用户概念中抽象的信息组织方式,这是用户能够观察到的,可以加以处理的数据集合,由于数据可独立于物理环境构造,故称之为逻辑结构,相关数据的集合构成逻辑文件

主要分为流式文件和记录式文件,其中记录式文件的两种常用的记录组织和使用方法如下

  • 记录式顺序文件
  • 记录式索引顺序文件

5.什么是文件的物理结构?它有哪几种组织方式

【答案】

文件的物理结构是指逻辑文件在物理存储空间中的存储方法和组织关系。主要有

  • 顺序分配
  • 连接分配
  • 索引分配
  • 直接文件

  1. 什么是记录键?有何用途

【答案】

为了方便记录式文件的组织和管理,提高文件记录的查找效率,通常对逻辑文件的每条逻辑记录至少指定一个与其对应的基本数据项,利用它可与同一文件中的其他记录区别开来。这个数据项叫做记录键

7.文件系统所提供的主要文件操作有哪些,试述各自功能

【答案】

8.试述linux虚拟文件系统的设计思想和实现要点

【答案】

为了能同时指出多种文件系统,不同的操作系统采用不同的技术方案来提供虚拟文件系统(VFS),其目标是:把多种具体文件系统纳入统一框架,不同磁盘分区可包含不同具体的文件系统,对它们的使用和传统的单一文件系统并无区别;用户可通过同一组系统调用对不同文件系统及文件进行操作,系统调用可以跨物理介质和跨文件系统执行,如从一个文件系统复制或移动数据到另一个文件系统中,即提供对不同文件系统透明的相互访问;对网络共享文件提供完全的支持,访问远程结点上的文件与访问本地结点文件是一样的。主要有

  • 应用层
  • 虚拟层
  • 实现层

8.解释FCB、文件目录、文件目录项、目录文件

【答案】

  • FCB:即文件控制块,是操作系统为每个文件建立的唯一数据结构,其中包含了全部的文件属性,其目的是为了方便操作系统对文件的管理、控制和存取
  • 文件目录:通常把FCB汇集和组织在一起形成文件目录,其基本功能是将文件名转换为此文件信息在磁盘上的物理位置
  • 文件目录项:文件目录包含许多目录项,目录项有两种,分别用于描述子目录和描述文件
  • 目录文件:目录项的格式按统一标准定义,全部由目录项所构成的文件称之为目录文件,并保存在外存上

9.解释用户打开文件表,系统打开文件表

【答案】

  • 用户打开文件表:进程PCB中保留一个files_struct,称之为用户打开文件表或文件描述符表。表项的序号是文件描述符fd,此登记项内登记系统打开文件表的一个入口指针fp,通过此系统打开文件表项链接到打开文件的活动inode
  • 系统打开文件表:这是为解决多个进程共享文件,父子创建共享文件而设置的系统级的files_struct

10.解释:根目录、父目录、子目录、当前目录

【答案】

层次结构中,树根是根目录,从根向下,每个树枝是子目录,而树叶是文件

11.解释:路径名,绝对路径、相对路径

  • 路径名:包括从根目录起至文件为止,在通路上所遇到的所有子目录路径,各子目录名之间用斜线隔开
  • 绝对路径:填写绝对目录路径地址那就叫绝对路径,通常我们直接使用"/"代表从根目录开始的目录路径
  • 相对路径:填写目录时候以填写目录文件为参考,使用“…/”或"./“指向上一级 或 使用”…/…/"指向上上一级叫相对路径

12.什么是设备文件,如何实现设备文件

设备文件与系统的某个设备相对应。在内核中,每种设备类型都有与之相对应的设备驱动程序,用来处理设备的所有IO请求。设备驱动程序属内核代码单元,可执行一系列操作,通常与相关硬件的输入/输出动作相对应。由设备驱动程序提供的API是固定的,包含的操作对应于系统调用open()、close()、read()、write()、mmap()以及 ioctl()。每个设备驱动程序所提供的接口一致,这隐藏了每个设备在操作方面的差异,从而满足了IO操作的通用性。即,与磁盘上的普通文件进行交互所用的同一系统调用可直接用于I/O设备。例如,用同一write()系统调用既可以向普通文件中写入数据,也可以通过向/dev/lp0设备文件中写入数据从而把数据发往打印机。某些设备是实际存在的,比如鼠标、磁盘和磁带设备。而另一些设备则是虚拟的,亦即并不存在相应硬件,但内核会(通过设备驱动程序)提供一种抽象设备,其所携带的API与真实设备一般无异

13.什么是文件的共享?介绍文件共享的分类和实现思想

【答案】

文件共享是指不同进程共同使用同一个文件,文件共享不仅为不同进程完成共同任务所必须,而且还节省了大量外存空间,减少了因文件复制而增加的I/O控制

  • 静态共享
  • 动态共享
  • 符号链接共享

14.什么是文件的安全控制?有哪些实现方法

为了防止文件共享可能会导致文件被破坏或未经核准的用户修改文件,文件系统必须控制用户对文件的存取,因此必须在文件系统中建立相应的文件保护机制。方法主要有:

  • 口令保护
  • 加密保护
  • 访问控制

15.目前广泛采用的是哪种文件目录结构?

【答案】

是多级目录结构(树形结构)。可以看出,树形目录结构可以很方便地对文件进行分类归纳,层次十分清晰,也易于对文件进行管理和保护。但缺点就是不便于实现文件的共享

16.试说明树状目录结构中线性检索法的检索过程

【答案】

答:假设用户给定的文件路径名为/Level1/Level2/…/Leve1n/datafile,则关于树型目录结构采用线性检索法检索该文件的基本过程为:①读入第-一个文件分量名Level1,用它与根目录文件(或当前目录文件)中各个目录项的文件名顺序地进行比较,从中找出匹配者,并得到匹配项的索引结点号,再从对应索引结点中获知Leve11目录文件所在的盘块号,将相应盘块读入内存。②对于2 ~n,循环执行以下步骤,以检索各级目录文件:读入第i个文件分量名Leveli,用它与最新调入内存的当前目录文件中各个目录项的文件名顺序地进行比较,从中找出匹配者,并得到匹配项的索引结点号,再从对应索引结点中获知Leveli目录文件所在的盘块号,将相应盘块读入内存。③读入最后- .个文件分量名即datafile,用它与第n级目录文件中各个目录项的文件名进行比较,从而得到该文件对应的索引结点号,进而找到该文件物理地址,目录查找操作成功结束。如果在上述查找过程中,发现任何一个文件分量名未能找到,则停止查找并返回“文件未找到”的出错信息

应用题

【答案】

由于磁带卷上的文件用“带标”隔开,每个文件的头标前后都是用了三个带标。正常情况下,磁头应该停在文件头标的前面,所以只要计算带标的个数,就可以找到所需文件

①当i>=j时,要正走磁带

  1. 组织通道程序正走磁带,走过“带标”个数为3×(i-j)个
  2. 组织通道程序读文件i的文件头标
  3. 根据文件i的文件头标信息,组织读文件信息

②当i<j时,要反走磁道

  1. 组织通道程序反走磁带,走过“带标”个数为3×(j-i)个,同时还要后退一块,到达文件i头标前
  2. 组织通道程序读文件i的文件头标
  3. 根据文件i的头标信息,组织读文件信息

【答案】

F = [ B R ] F=[\\fracBR] F=[RB]

【答案】

(1)位示图法采用二进制的一位表示磁盘中一个盘块的使用情况,磁盘上所有的盘块都有一个二进制位与之对应,有一个字32位,因此需要500/32=16个字

(2)因此b=32*i+j

(3)申请时自上而下,从左向右扫描位示图跳过为1的位,找到第一个迁到的0位,根据它是第i字第j位算出对应块号,并分配除去。归还时i=b/n,j=b%n


方法是

  • 字节偏移量/盘块大小=逻辑块号,字节偏移量%盘块大小=块内偏移
  • 使用多重索引结构,在索引节点中根据逻辑块号通过中介索引或间接索引找到对应物理块号

【答案】

(1)

  • 9999/1024=9
  • 9999%1024=783
  • 故直接索引addrr81中可找到物理块号

(2)

  • 18000/1024=17
  • 18000%1024=592
  • 故通过一次间接索引addr[10]中可找到物理块号

(3)

  • 42000/1024=41
  • 42000%1024=16
  • 故通过二次间接索引addr[11]中可找到物理块号

【答案】

1569/512=3,余33,故在75号磁盘块的逻辑地址为33字节处

【答案】

  • 使用字节偏移量除以盘块大小得到逻辑块号,余数为块内偏移
  • 将文件的逻辑块号转为物理块号
  • 在索引节点中根据逻辑块号通过直接索引或间接索引找到对应物理块号,再分别判断逻辑块号是在10以内还是以上,对应采用寻址方式即可

【答案】

采用成组方式存放,块因子是2。由于共有18个逻辑记录,故占用了9个物理块,而第15号逻辑记录占用的是第15/2=8物理块。由于是连续文件,所以物理块也是连续的,所以该逻辑记录占用搞得是第12+8-1=19。过程如下

  • 根据块因子,计算占用的相对物理块号是8
  • 根据起始块号,计算出绝对物理块号为19
  • 将19号物理块读入内存缓冲区
  • 把所需要的逻辑记录分解出来

【答案】

(1)i=15,j=7,因此对应的块号=15×16+7=247

对于块号247所对应的

  • 柱面号=247/8×4=7
  • 磁头号=(247MOD32)/4=5
  • 扇区号=247 MOD 32 MOD 4 =3

(2)块号=柱面号×柱面扇区数+磁道号×盘扇区+盘扇区=56×(8×4)+6×4+3=1819

所以字号=1819/16=113,位号=1819MOD16=11

【答案】

(1)索引节点=128B,状态信息占用了68B,所以剩余用于磁盘指针的空间为128-68=60B
(2)一次间接、二次间接和三次间接指针占用三个知真相,因此直接指针项数为60/4-3=12个。由于每块大小为8KB,

  • 所以对于直接指针12×8192=98304B;
  • 对于一次间接指针,8192/4=2048,也即有2048个盘块指针,故文件大小为2048×8192=16MB;
  • 对于二次间接指针,2048×2048=4M个盘块指针,4M×8192=32GB
  • 对于三次间接指针,2048×2048×2048=8G个盘块指针,8G×8192=16TB

【答案】

首先计算

  • 直接:512B×12/1024=6KB
  • 一次:512B×128/1024=64KB
  • 二次:512B×128×128/1024=8192KB
  • 三次:512B×128×128×128/1024=1048576KB

占用块数

  • 1MB:1MB=1024KB,所以1024KB-6KB-64KB=954KB,954×1024/512=1908.故占用128个一次间接盘块和1908个二次间接盘块
  • 25M:25×1024-6KB-54KB-8192KB=17338KB,17338×1024/512=34676.故占用128个一次间接盘块,16384个二次间接盘块和34676个三次间接盘块

以上是关于:文件管理的主要内容,如果未能解决你的问题,请参考以下文章

hihoCoder #1184 : 连通性二·边的双连通分量(边的双连通分量模板)

从原始 wav 音频中获取信号的正负分量

去除信号中的直流分量

去除信号中的直流分量

主分量分析PCA

tarjan算法+缩点:求强连通分量 POJ 2186