操作系统--文件系统 |
5.文件系统
是什么
操作系统中处理文件部分的统称
组成
文件
管理文件的软件
文件系统设计
文件命名
~ 存储
~ 访问
保护
实现方法
功能
数据信息
长期
大量存储
访问
用户接口
文件
文件命名
区分大小写
Unix
不区分
Ms-Dos
文件结构
无结构字节序列
流式文件
eg:UNIX, Windows
固定长度记录序列
基本单位
有固定长度的记录
中心思想
读操作返回一个记录
写操作重写或追加一个记录
树形结构
基本操作
获取具有特定关键字的记录
应用
处理商业数据的大型计算机
文件类型
正规文件(用户信息)
Ascii
多行正文组成,回车符,换行符,各行长度不等
优势
可以显示,打印
通常的文本编辑器编辑
程序以ascii文件作为输入和输出
二进制
目录文件
用于管理文件的系统文件
字符设备文件
和输入/输出有关
用于串行I/O设备
块设备文件
用于磁盘类设备
文件存取
1.顺序存取
2.随机存取
文件属性
日期,大小,修改时间等
文件操作
create,delete……
目录
目录文件结构
1.属性放在目录项
2.~ 放在i节点
目录结构
单层目录
线性目录表
搜索效率低
不适合多用户
两级目录
1.主目录
2.用户目录
优点
解决了重命名
文件共享
查找时间降低
缺点
增加系统开销
树形目录
根目录--用户目录--用户子目录--用户文件
优点
便于文件分类
层次结构清晰
便于管理和保护
重命名,和查找速度快
缺点
多次访问磁盘影响速度
结构复杂
路径名
相对
绝对
目录操作
create,delete……
opendir
目录内容可以被读取
readdir
以标准格式返回打开目录的下一级目录
实现
实现文件
1.连续分配
优点
实现简单
记录文件用到的簇
第一块的磁盘地址
文件的块数
缺点
时间长,磁盘变零碎
2.使用磁盘链接表的分配
每个簇存着下个簇的簇号
目录项只需放第一个数据库的地址
优点
充分利用簇
不浪费空间
管理简单
缺点
随机存取缓慢,每次都从头开始读
3.使用内存的链接表分配
簇号,放内存--文件分配表
缺点
需要把整张表放入内存
不适合大容量的磁盘
4.i-结点
为每个文件赋予一个i结点的数据结构
包含文件属性和文件块的磁盘地址
实现目录
CP/M
微机操作系统,只有一层目录,一个目录文件
目录项
用户码-1
文件名-8
扩展名-3
范围-1
块数-1
簇号(后16个域)
以簇为单位记录文件长度
MS-DOS
目录项
文件名-8
文件属性-1
第一个簇的簇号-2
FAT文件系统
fat-12
fat-16
fat-32
UNIX
i节点--文件名
磁盘空间管理
功能
记录空闲磁盘信息
设计文件的存放方式
规定文件系统的簇大小
簇大小
簇大
小文件浪费空间
簇小
大文件 跨越多个簇,多次寻道旋转,时间性能低
2^n
记录空闲块
空闲簇链接表
位示图