文件系统基础
文件的概念
1.文件的定义
文件是以计算机硬盘为载体存储在计算机上的信息集合,文件可以是文本文档,图片,程序等;用户进行的输入输出中,则以文件为基本单位。
- 数据项:用于描述一个对象的某种属性的一个值
- 记录:相关的数据项集合
- 文件:
2.文件的属性
- 名称:唯一
- 标识符:标识文件系统内文件的唯一标识,通常为数字,对人不可读的内部名称
- 类型:
- 位置:指向设备和设备上文件的指针
- 大小
- 保护:进行保护的访问控制信息
- 时间,日期和用户标识
3.文件的基本操作
- 创建文件
- 写文件
- 读文件
- 文件重定位
- 删除文件
- 截断文件
4.文件的打开与关闭
- 文件指针:系统跟踪上次读写位置作为当前文件位置指针,
- 文件打开计数
- 文件磁盘位置
- 访问权限
文件的逻辑结构
文件的逻辑结构是从用户观点出发看到的文件的组织形式,文件的物理结构是从实现观点出发,又称为文件的存储结构,物理结构与存储介质的特性有关
1.无结构文件(流式文件)
将数据按顺序组织成记录并积累保存,它是有序相关信息项的集合,以字节(Byte)为单位。
2.有结构文件(记录式文件)
- 顺序文件:串结构--记录之间的顺序与关键字无关,通常按存入时间的现后顺序;顺序结构,按关键字顺序排序
- 索引文件:定长记录文件
- 索引顺序文件:顺序和索引两种组合,顺序文件上建立一张索引表。
- 直接文件或散列文件:给定记录的键值或通过Hash 函数转换的键值直接决定记录的物理地址。没有顺序的特性
目录结构
1.文件控制块和索引结点
1)文件控制块:FCB是用来存放控制文件需要的各种信息的数据结构
主要包含:
- 基本信息
- 存取控制信息:存取权限
- 使用信息
2)索引结点
查找文件名与目录项中文件名匹配
存放在磁盘上的索引结点称为磁盘索引结点
- 文件主标识符
- 文件类型
- 文件存取权限
- 文件物理地址
- 文件长度
2.目录结构
- 搜索
- 创建文件
- 删除文件
- 显示目录
- 修改目录
文件共享
共享文件,系统中只需保留该文件的一份副本。
1.基于索引结点的共享方式(硬链接)
在树形结构的目录中,当有两个或多个用户要共享一个子目录或文件时,必须将共享文件或子目录链接到两个或多个用户的目录中,才能方便找到文件
2.利用符号链实现文件共享(软链接)
只有拥有者才拥有指向其索引结点的指针,,共享文件的用户只有该文件的路径名。
文件保护
通过口令保护,加密保护,访问控制方式;口令,加密保护是为了防止用户文件被他人存取或窃取,而访问控制则用于控制用户对文件的访问方式
1.访问类型:读写执行,添加,删除,列表清单
2.访问控制
常用方法是根据用户身份进行控制,在每个文件和目录增加一个访问控制列表 ACL
文件系统实现
文件系统层次结构
文件实现
1.文件分配方式
对应文件的物理结构,是指如何为文件分配磁盘块,常用三种:连续分配,链接分配,索引分配。
1)连续分配:要求每个文件在磁盘上占有一组连续的块
2)链接分配:采取离散分配,消除外部碎片,提高了磁盘利用率
3)索引分配:解决了连续分配的外部碎片和文件大小管理的问题,但是不能有效支持直接访问。
磁盘组织与管理
磁盘的结构
磁盘是由表面涂有磁性物质的金属或塑料构成的圆形盘片,
磁盘调度算法
磁盘读写操作的时间由寻找(寻道)时间,延迟时间和传输时间决定:
1)寻找时间Ts:活动头磁盘在读写信息前,将磁头移动到指定磁道所需的时间。这个时间除跨越n条磁道的时间外,还包括启动磁臂时间s : Ts=m*n+s (磁臂移动时间0.2ms,s约为2ms)
2)延迟时间Tr: 磁头定位到某一磁道的扇区(块号)所需的时间,设磁盘的旋转速度为r
Tr=1/2r
3) 传输时间Tt:从磁盘读出或向磁盘写入数据所经历的时间,这个时间取决于每次所读写的字节b和磁盘的旋转速度:
Tt=b/rN (r为磁盘每秒得转数,N是每个磁道上的字节数)
- 先来先服务(FCFS):优点具有公平性
- 最短寻找时间优先SSTF:选择调度处理的磁道是当前磁头所在磁道距离最近的磁道,使每次的寻找时间最短。会产生饥饿
- 扫描(SCAN)(电梯)算法:不但知道磁头的当前位置,还要知道磁头的移动方向
- 循环扫描C-SCAN:单向移动,到达请求最远的一端即可,不需到达磁盘端点。