四个层次:
①I/O控制层
②基本文件系统层
③基本I/O管理程序
④逻辑文件系统
文件读/写操作 = 检索 + 读/写。
寻址过程:
1.第i条记录地址(定长) :
读写指针 + 记录长度: ptr + i*L
2.第i条记录地址(变长) :
扫描或读取前面0~i-1条记录
3.第i条记录地址(变长)
变长记录数据前用1字节保存每条记录长度,顺序扫描,但不用把记录全扫描完 j-1 (Lj +1) j=0
顺序文件的优缺点:
1.不方便随机存取某条记录,但适用批量存取的场合。
2.适合磁带等特殊介质。
3.单记录的查找、修改等交互性差;增减不方便
索引文件的优缺点
1.适用于变长记录,可提高检索速度,实现直接存取
2.索引表增加了存储开销
外存分配方式
1.连续分配
2.链接分配(不连续)
3.索引分配
表项个数 = 盘块个数 = 容量 / 盘块大小
表项大小,决定于盘块数量编号需要的位数
FAT表大小 = 表项个数 * 表项大小
链接的不足
1.顺序检索的时间成本:不能支持高效的盘块直接存取。要对一个文件进行直接存取,仍需在FAT中顺序的查找许多盘块号。
2.链接信息的空间成本:FAT需占用较大的内存空间。当磁盘容量较大时,FAT可能要占用数MB以上的内存空间。这是令人难以忍受的
改进:
1. 系统运行时只涉及部分文件,FAT表无需全部调入内存
2.每个文件单独建索引表(物理盘块索引),记录所有分配给它的盘块号;
3.建立文件时,便分配一定的外存空间用于存放文件盘块索引表信息
空闲盘块链
1.分配回收简单。
2.链表长,大量分配时需要操作的指针多
空闲盘区链
链表长度不定,分配时操作的指针数量相对较少,但分配回收操作相对复杂。
盘块的分配与回收
优点:
从位示图中很容易找到一个或一组相邻接的空闲盘块。
缺点:
限于容量问题,常用于微型机和小型机中。
成组链接法中心思想:
1.所有盘块按规定大小划分为组;
2.组间建立链接;
3.组内的盘块借助一个系统栈可快速处理,且支持离散分配回收。
在文件控制块中含的三类信息:
1.基本信息类
包括文件名,文件物理位置,文件逻辑结构,文件的物理结构。
2.存取控制信息类
包括文件主的存取权限,核准用户的存取权限和一般用户的存取权限。
3.使用信息类
①建立日期和时间、文件上次修改的日期和时间
②当前使用信息:打开该文件的进程数、是否被进程锁住、是否已修改等。
单级目录结构
优点:
简单、能实现目录管理的基本功能——按名存取。
缺点:
1.文件检索时需搜遍整个目录文件,范围大速度慢。
2.不允许重名。名字过多难于记忆,对于多用户环境重名难以避免。
3.不便于实现文件共享(因为不能重名,不同用户使用的共享文件必须不同名字,标识哪些用户共享文件也不方便),一般只适用单机环境。
两级目录的特点
1.提高了检索目录的速度。
2.在不同的目录中可重名。
3.不同用户还可以使用相同/不同的文件名来访问系统中的同一个共享文件。
4.不提供子目录操作,还不方便;各用户之间被完全隔离的话用户访问其他用户文件时,不方便合作。
存放在磁盘上的文件访问顺序如何:既可随机访问,又可顺序访问。
操作系统中对信息进行管理的部分叫:文件系统。
文件系统是:文件、管理文件的软件及数据结构的总体。
从用户角度看,文件系统的主要目的是:实现对文件的按名存取。
按文件的逻辑结构将文件分为两大类:记录式文件和流式文件。
为了解决不同用户的文件“命名冲突”问题,通常在文件系统中采用:多级目录结构。
按物理结构划分,文件主要有三类:顺序文件、链接文件、索引文件。
操作系统实现按名存取的关键在于:解决文件名与文件存储地址的转换。