自学内容网 自学内容网

操作系统之文件系统

文件

文件命名

文件结构

无结构字节序列
  • 无结构字节序列文件也称流式文件,操作系统也不知道也不关心文件内容是什么,操作系统所见到的就是字节,其任何含义由使用该文件的程序自行理解(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)!