操作系统——文件管理基础-文件管理系统

文件的概念

文件是以计算机硬盘为载体存储在计算机上的信息集合,文件可以是文本文档、图片、程序等等。

PS:文件是信息集合

数据项:类似于表格中的一格,如 姓名:XXX

记录:一组相关的数据项,类似于表格中的一行

文件的逻辑结构

  • 有结构

顺序文件:文件中的记录顺序排列,记录等长

索引文件:索引表(索引号 | 文件长度 | 文件指针)

索引顺序文件:顺序文件+索引表

  • 无结构

将数据顺序组织成记录并保存,通常以字节为单位

文件的基本操作

这里以C语言中的函数为例说明

  1. 创建文件:先寻找可用空间,后创建目录,fopen()
  2. 写文件:指定文件名和内容执行系统调用,C语言中的fwrite()
  3. 读文件:指定文件名和内容执行系统调用,C语言中的fread()
  4. 删除文件:先删除文件对应的目录项,后回收空间,C语言中的remove()
  5. 截断文件:将文件内容清空,C语言中的ftruncate()

文件控制块(FCB)

文件控制块用来存放控制文件需要的各种信息的数据结构,也可以称作文件目录项

  • 基本信息:文件名、文件物理位置、文件的逻辑结构等
  • 存取控制信息:只读,可读,可写等
  • 使用信息:文件的建立时间,修改时间
  • 索引节点:文件名对应的索引编号

文件目录

  • 单级目录:不能重名
  • 二级目录:主文件目录+用户文件目录,主文件目录记录了用户名和相应用户目录,用户文件目录记录了用户文件的FCB
  • 多级目录:二级目录的推广
  • 无环图目录:无环图目录更好的实现了文件共享,每个文件都有个共享计数器记录共享链。

文件共享

:硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

参考这个https://www.cnblogs.com/chenyongmou/p/7221399.html

软链接:

1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式

2.软链接可以 跨文件系统 ,硬链接不可以

3.软链接可以对一个不存在的文件名进行链接

4.软链接可以对目录进行链接

硬链接:

1.硬链接,以文件副本的形式存在。但不占用实际空间。

2.不允许给目录创建硬链接

3.硬链接只有在同一个文件系统中才能创建

操作系统——文件管理基础

推荐阅读