文件管理系统

文件-一组有意义的信息/数据集合

  • 文件的属性
  • 文件内部数据的组织形式
  • 文件之间的组织形式
  • OS应提供哪些功能使用文件?
  • OS应该怎么将文件存放在磁盘上?

1.文件的属性有哪些?

文件名:主要为了方便用户找到文件,同一目录下不允许有重名文件 

标识符:一个系统内各文件标识符唯一,对用户来说无可读性。

类型:文件的类型。设置默认打开程序。

位置:文件存放的路径(用户)、在外存中存放的路径(大小)。

大小、创建时间、上次修改时间、文件所有者信息、保护信息……

2.文件内部数据如何组织?

  • 无结构文件(文本文件)又称流式文件
  • 有结构文件(数据库表)

3.文件之间应该怎样组织?

  • 树状组织形式,根目录、子目录。
  • 目录也是一种特殊的有结构文件。

4.操作系统应该向上提供哪些功能?

  • 创建文件(create系统调用)
  • 读文件(read系统调用)将数据读入内存并显示
  • 写文件(write系统调用)将数据从内存写回外存
  • 删除文件(delete系统调用)
  • 打开文件(open系统调用)读写文件之前
  • 关闭文件(close系统调用)读写文件之后

5.从上往下看,文件应如何存放在外存?

磁盘块存储、管理、分类、回收

6.其他功能

文件共享、文件保护


文件的逻辑结构

有结构文件:又称“记录式文件”,也一般来说,每条记录有一个数据项可作为关键字。能根据各记录的长度是否相等,可分为定长记录可变长记录

有结构文件的逻辑结构:

顺序文件:逻辑上文件中的记录一个接一个的顺序排列,在物理上顺序存储或链式存储。

  • 链式存储:无法实现随机存取,每次只能从第一个记录开始依次往后查找。
  • 顺序存储:可变长记录无法实现随机存储。定长记录可实现随机存取,记录长度为L,则第i个记录存放的相对位置是i*L。采用顺序结构能快速找到某关键字对应的记录。缺点:增加或删除一个记录比较困难。
    • 串结构:记录之间的顺序与关键字无关
    • 顺序结构:记录之间的顺序按关键字排列

索引文件:索引表本身是定长记录的顺序文件,可以快速找到第i个记录的项。缺点:对存储空间的利用率低。

索引顺序文件:对记录进行分组,一组记录对应一个索引表项。为了进一步提高检索效率,可以为顺序表建立多级索引表。

 


文件目录

文件控制块:FCB,一个文件的目录项。包含文件的基本信息文件名、物理地址、逻辑结构等。

目录操作

  • 搜索
  • 创建文件
  • 删除文件
  • 显示目录
  • 修改目录

目录结构

  • 单级目录结构:整个系统只有一张目录表,不允许文件重名。不适用于多用户操作系统。
  • 两级目录结构:分为主文件目录和用户文件目录,允许不同用户的文件重名。可以通过目录限制访问。缺点:不能对文件进行分类。
  • 多级目录结构:又称树形目录结构。访问某个文件时要用文件路径名标示文件。从根目录出发的路径称为绝对路径每次读入目录表需要一次IO操作。从当前目录出发的路径为相对路径缺点:不便于实现文件的共享
  • 无环图目录结构:在树形目录结构的基础上,增加一些指向同一节点的有向边,使整个目录称为有向无环图。可以用不同的文件名指向同一个文件,可以共享同一个目录。对于删除,为每个共享节点设置一个共享计数器,用于记录此时有多少个地方在共享该节点,用户删除时只删除该用户的FCB,并使共享计数器减1,不会直接删除节点。共享文件的数据变化所有用户都可以查看。

索引节点(FCB的改进)

简化目录表,将其他信息放置索引节点中。减少文件目录的大小,使磁盘可以存放更多的目录项。

 


文件的物理结构(文件分配方式)

很多操作系统中,磁盘块的大小与内存块、页面的大小相等,方便换入换出。

文件的逻辑地址可以表示为(逻辑块号,块内地址)的形式。

连续分配

要求每个文件在磁盘上占有一组连续的块。目录表记录起始块号和长度。

物理块号 = 起始块号+逻辑块号 

优点:

  • 连续分配支持顺序访问和直接访问(随机访问)。
  • 连续分配的文件在顺序读写时速度最快。

缺点:

  • 物理上采用连续分配不方便拓展文件。
  • 存储空间利用率低,会产生难以利用的磁盘碎片。可以用紧凑来处理碎片,但会花费大量时间。

链接分配 – 采用离散分配,为文件分配离散的磁盘块。

  • 隐式连接:记录起始块号和结束块号。磁盘块中会保存指向下一块的指针。
    • 缺点:只支持顺序访问,不支持随机访问。需要存放指针增加空间。
    • 优点:方便文件拓展,且利用率很高。
  • 显示连接:
    • 把用于链接文件的物理块指针显式地存放在一张表中,即文件分配表FAT。一个磁盘仅设置一张FAT,开机时将FAT读入内存,并常驻内存
    • 目录中存储记录文件的起始块。
    • 优点:逻辑块号转换为物理块号的过程不需要读磁盘操作。转换过程不访问磁盘,访问速度快支持顺序访问,支持随机访问
    • 缺点:文件分配表需要占用一定的存储空间。

索引分配

系统为每个文件建立一张索引表,索引表中记录文件各个逻辑块对应的物理块。索引表存放的磁盘块称为索引块,文件数据存放的磁盘块称为数据块。

优点:支持随机访问和文件拓展。

缺点:索引表需要占用一定的存储空间。

连接方案:如果索引表太大,则用多个索引块链接起来存放。在最后一个中链接下一个索引表的块号。

多层索引:类似多级页表。

 

 


0 条评论

发表评论

Avatar placeholder