操作系统五大功能:操作系统四大管理+三大接口
磁盘物理块号(三维):柱面号等三个
截断:删去盘块号,把文件长度改为0
文件系统的功能/需解决的问题
1.从系统角度看
负责为用户建立、删除、读写、修改和复制
文件。
2.从用户的角度看:实现了按名存取
。
FCB文件控制表
一 文件和文件系统
文件是临界资源
第一个有文件系统的操作系统是Dos
1.文件、记录和数据项(数据的组成)
a.数据项:
基本
数据项(最小的逻辑数据单位)
组合
数据项
b.记录
是一组相关数据项的集合
c.文件
c.文件
是指记录在外存上的具有文件名的一组相关信息的集合
。可分为有结构文件
和无结构文件
两种。有结构文件是由若干个相关记录
组成,而无结构文件则被看成一个字符流
。
1)文件属性
文件名、文件类型、文件长度、文件的物理位置、文件的建立日期以及用户对该文件的存取权限等
2)文件表示的范围/包含的内容
源程序、二进制代码、文本文档、数据、表格、声音和图像等。
3)文件的特点
·文件具有保存性
(文件在外存上体现永久性)
·文件是按名存取
·文件的内容是一组信息的集合
2.文件类型和文件系统模型
3.文件操作
用户通过文件系统所提供的
接口
实施对文件的操作。最基本的操作有:
1)对记录
的操作:检索、插入、修改、删除
2)对文件的操作
最基本的: 创建 、打开、关闭、删除 、读 、写 、截断
3)其它的:文件属性类
操作、目录类
操作
文件的“打开”和“关闭”操作
“打开”:系统将文件的属性(目录信息)从外存
复制到内存
打开文件表
中,并返回该表目的编号给用户,建立了用户与文件间的联系。以后若再访问此文件,则利用编号直接在内存中检索,从而节省大量的检索开销,提高了文件的操作速度。
“关闭”:当用户不再需要对该文件的操作时,系统利用关闭文件将文件的属性从内存打开表中删除,从而切断用户与文件间的联系。
2.文件逻辑结构
对任一文件存在着两种形式的结构:
1)文件的逻辑结构(文件组织)
从用户观点出发,所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于物理特性。
2)*文件的物理结构(文件的存储结构)
是指文件在外存上的存储组织形式,与存储介质的存储性能有关。(分为顺序
、链接
及索引
结构)
链接结构和索引结构是文件区
对文件的逻辑结构提出的要求:
提高检索
;便于修改;降低文件存储费用。
注: 文件的逻辑结构和物理结构都将影响文件的检索速度。
定长可以直接存取,变长顺序存取
数据库表属于定长
文件逻辑结构的类型
1)顺序文件
(对换区,外部碎片)
2)索引文件
3)索引顺序文件
1)顺序文件
a.逻辑记录的排序
···串结构
:记录顺序与关键字无关,按存入时间
的先后排列。O(n)
···顺序结构
:记录顺序按关键字
排列。
b.对顺序文件的读、写操作O(log2n)
···记录为定长
的顺序文件
···记录为变长
的顺序文件
c.优点
···顺序存取速度较快(批量存取
)。
···对定长记录,还可方便实现直接存取
。
d.缺点
···对变长记录,直接存取低效
···不利于文件的动态增长。
2)索引文件
索引表也是存在盘块里,索引表不利于插入和删除
a.优点
···通过索引表可方便地实现直接存取
,具有较快的检索速度
。
···易于进行文件的增删
。
b.缺点
···索引表的使用增加了存储费用
;
···索引表的查找策略
对文件系统的效率影响很大.
注:若索引表很大,可建多级索引
3)索引顺序文件
打包,O(n)
a.优点
···通过索引表可方便地实现直接存取
,具有较快的检索速度
。
···易于进行文件的增删
。
b.缺点
···索引表的查找策略
对文件系统的效率影响很大.
2.外存分配方式(考试重点计算题)
645122^16=2048M
文件存储单位:
簇
(cluster)
文件的存储空间通常由多个分立的簇组成,而每个簇包含若干个连续的扇区(sector)/块
。
目前常用的外存分配方法:
(1)连续分配(顺序分配)
(对换区)
·为每一个文件分配一片连续的磁盘块/簇
·只需要起始块/簇号和长度,适用于预分配方法
·可以随机存取
(直接存取,顺序存取速度都较高)
·文件不能增长
·从逻辑地址映射到物理地址较简单
·浪费空间:动态存储分配问题
·可以通过紧缩
(compact)将外存空闲空间合并成连续的区域。
·主要优点:顺序访问容易,顺序访问速度快
·缺点:要求有连续的存储空间,必须事先知道文件的长度,存在外部碎片
(2)链接分配
·每个文件是一个磁盘块的链接列表:块可以分散在磁盘各处
·按所需分配磁盘块,链接在一起
·在每个块中有指向下一个块的指针
·只需要起始地址
可以通过合并(consolidation)将一个文件的各个簇连续存放,以提高I/O访问性能。
隐式链接方式:不能直接存取,空间利用率低(因为指针在盘块里)
FAT
用于链接文件各物理块的链接指针,显式地存放在内存的一张链接表中。
该表在整个磁盘仅设置一张。
表序号为整个磁盘的物理块号(0—(n-1))
表项存入链接指针,即下一个块号。
文件的首块号存入相应文件的FCB中。
查找在内存的FAT中,故提高了检索速度,同时又减少磁盘的访问次数。
显式链接方式:,有了FAT(是一种数据结构),只访问磁盘一次。每个分区一张FAT表,或者整个磁盘一张。
(3)索引分配
·为每一个文件分配一个索引块(表),再把分配给该文件的所有块号,都记录在该索引块中。故索引块就是一个含有许多块号地址的数组。
·该索引块的地址由该文件的目录项指出。
·支持随机/直接存取。
·不会产生外部碎片。
·适用于文件较大
时。
访问磁盘两次,因为还要访问索引表一次
3.目录管理
对文件目录的管理要求
1)实现“按名存取
”
2)提高对目录的检索速度
3)文件共享
4)允许文件重名
目录=文件名+FCB
1)文件控制块和索引结点
2)单级目录结构
3)两级目录结构
4)树型目录结构
5)目录查询技术
Hash:大了-》链接+?
*,?是模糊检索
4.文件共享与文件保护
基于索引结点:有指针悬空,可以用符号链
5.数据一致性控制