操作系统之文件系统
文件
文件命名
文件结构
无结构字节序列
- 无结构字节序列文件也称流式文件,操作系统也不知道也不关心文件内容是什么,操作系统所见到的就是字节,其任何含义由使用该文件的程序自行理解(UNIX和Windows系统中都采用这种方式)
固定长度记录序列
树形结构
文件类型
ASCII文件
二进制文件
文件存取
顺序存取
- 磁带
随机存取
文件属性
文件操作
CREATE
DELETE
OPEN
CLOSE
READ
WRITE
APPEND
SEEK
GETATTRIBUTES
SETATTRIBUTES
RENAME
目录
层次目录系统
目录文件的结构
- 目录文件由两种常见的结构
-
- 属性放在目录项中
- 属性放在i结点中
目录结构
- 单层目录
-
- 这种目录也称为根目录
- 两级目录
- 树形目录
路径名
绝对路径名
- 由从根目录到文件的路径组成
相对路径名
- "."指当前目录
- ".."指当前目录的父目录
目录操作
CREATE
DELETE
OPENDIR
CLOSEDIR
READDIR
RENAME
文件系统的实现
实现文件
连续分配
- 当删除文件时,文件所占的簇被释放,这些空闲的连续簇形成“空洞”
使用磁盘链接表的分配
- 每个簇开始的几个字节用于存放下一个簇的簇号,簇的其他部分存放数据,每个文件可以存放在不连续的簇中
- 在目录项中只需存放第一个数据块的磁盘地址,文件的其他块可以根据这个地址来查找
- 随机存取相对缓慢
使用内存的链接表分配
- 将文件所在的磁盘簇号存放在内存的表中
- 不适合大容量磁盘
i-结点
- 为每个文件赋予一个被称为i结点的数据结构,其中列出了文件属性和文件块的磁盘地址
- 当访问文件时,系统先根据文件名搜索文件所在的目录文件,从该文件对应的目录项中找到文件的i结点号,根据i结点号从磁盘中将i结点信息读入内存,文件在磁盘中的地址信息都存放在i结点中
- 当一个文件比较大,所含簇的数目太多时,i结点将无法记录所有的簇号。一个解决方案时采用间接地址,即使一个“磁盘地址”不存放数据块,而是存放簇号。
实现目录
CP/M中的目录
- CP/M是一个微机操作系统,它只有一层目录,因此只有一个目录文件
MS-DOS中的目录
UNIX中的目录
- 每个目录项只包含一个文件名及其i结点号
磁盘空间管理
簇大小
- 簇太大,容易造成空间的浪费
- 簇太小,则会使访问文件的时间延长
- 一般簇大小是2的整数次幂个连续的扇区
记录空闲块
- 空闲簇链接表
- 位图
原文地址:https://blog.csdn.net/m0_73843666/article/details/142359729
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!