操作系统--文件管理
文件逻辑结构
按文件是否有结构分类,可以分为无结构文件、有结构文件两种
-
无结构文件:文件内部的数据就是一系列二进制流或字符流组成。又称“流式文件”
-
如Windows操作系统中的.txt文件
-
-
有结构文件:由一组相似的记录组成,又称“记录式文件”。每条记录由若千个数据项组成。一般来说,每条记录有一个数据项可作为关键字。根据各条记录的长度(占用的存储空间)是否相等,又可分为定长记录和可变长记录两种
-
如:数据库表文件
-
有结构文件
顺序文件
顺序文件指文件中的记录一个接一个地顺序排列(逻辑上),记录可以是定长的或可变长的。各个记录在物理上可以顺序存储或链式存储
-
顺序文件的缺点是增加/删除一个记录比较困难(如果是串结构则相对简单)
索引文件
索引顺序文件
多级索引顺序文件
文件目录
文件控制块
需要对目录进行哪些操作?
-
搜索:当用户要使用一个文件时,系统要根据文件名搜索目录,找到该文件对应的目录项
-
创建文件:创建一个新文件时,需要在其所属的目录中增加一个目录项
-
删除文件:当删除一个文件时,需要在目录中删除相应的目录项
-
显示目录:用户可以请求显示目录的内容,如显示该目录中的所有文件及相应属性
-
修改目录:某些文件属性保存在目录中,因此这些属性变化时需要修改相应的目录项(如:文件重命名)
索引结点(FCB改进)
目录结构
单级目录结构
两级目录结构
多级目录结构(树形目录结构)
无环图目录结构
文件物理结构
文件分配方式
连续分配
连续分配的文件在顺序读/写时速度最快
物理上采用连续分配的文件不方便拓展
物理上采用连续分配,存储空间利用率低,会产生难以利用的磁盘碎片可以用紧凑来处理碎片,但是需要耗费很大的时间代价
链接分配
链接分配采取离散分配的方式,可以为文件分配离散的磁盘块。分为隐式链接和显式链接两种
隐式链接
采用隐式链接的链接分配方式,很方便文件拓展。另外,所有的空闲磁盘块都可以被利用,不会有碎片问题,外存利用率高
显示链接
索引分配
链接方案
多层索引
采用K层索引结构,且顶级索引表未调入内存,则访问一个数据块只需要K+1次读磁盘操作
混合索引