操作系统文件管理

  • 文件系统基础
    • 文件基本概念
      • 文件是以硬盘载体存储在计算机上的信息集合;可以是文本文档、图片、程序等;用户输入输出中以文件为基本单位;文件结构(自底向上):数据项、记录、文件(有结构文件和无结构文件)。
      • 文件属性:名称、类型、创建者、所有者、标识符(唯一)、位置、大小、保护权限、创建时间、最近修改时间
      • 文件分类
        • 根据性质和用途:系统文件、用户文件、库文件
        • 根据数据形式:源文件、目标文件、库文件;
        • 根据存取控制属性:可执行文件、只读文件、读/写文件
        • 根据形式和处理方式:普通文件、目录文件、特殊文件
    • 文件控制块和索引结点
      • 文件控制块FCB
        • 用来存放控制文件需要的各种信息的数据结构以实现按名存取;一个FCB就是一个文件目录项,FCB的有序集合称为文件目录,一个文件目录被视为一个文件称为目录文件;
        • FCB主要包括文件的基本信息、文件的存取控制信息、文件的使用信息
      • 索引结点
        • 采用文件名和文件描述信息分离的的方法,使文件描述信息单独形成一个索引节点,文件目录仅由文件名和相应的索引节点构成;
        • 磁盘索引节点
          • 存放在磁盘上的索引节点,每个文件由唯一的磁盘索引节点;包括文件主标识符:拥有该文件的个人获小组的标识符、文件类型、文件存取权限、文件物理地址、文件长度、文件链接计数、存取时间
        • 内存索引节点
          • 存放在内存上的节点,打开文件时,需要将磁盘索引节点复制到内存索引节点中;包括:索引节点号、状态、访问计数、逻辑设备号、链接指针
    • 文件的操作
      • 创建文件
        • 为新文件分配外存空间->在目录中创建一个目录项->目录项记录文件信息
      • 删除文件
        • 根据文件名查找目录找到指定文件->删除对应目录项和文件控制块->回收文件所在的存储空间(包括磁盘空间和内存缓冲区)
      • 读文件
        • 根据文件名找到目录项->根据目录项找到文件在外存中的地址->目录项中的读操作进行读文件
      • 写文件
        • 根据文件名找到目录项->根据目录项找到文件在外存中的地址->目录项中的文件写操作对文件进行写,实时更新写指针
      • open
        • 文件未打开时使用open打开文件将文件信息存入打开文件信息表,再次发出操作时便直接在文件表内搜索
    • 文件保护
      • 访问类型
        • 读、写、执行、添加、删除、列表清单
          • 复制文件可用读来完成、拥有读权限就等于拥有复制和打印的权限
      • 访问控制
        • 访问控制列表:可采用拥有者、组、其他三种用户类型
        • 口令;用户创建文件时提供一条口令,访问文件时提供口令;不够安全
        • 密码:对文件进行加密
    • 文件逻辑结构
      • 无结构文件:由字符流组成又称流式文件:长度以字节为单位
      • 有结构文件:由一个以上的记录组成,又称记录式文件
        • 根据记录长度是否相等
          • 定长记录:所有记录长度相同
          • 变长记录:各记录长度不一定相等
        • 根据按记录组织形式
          • 顺序文件
            • 串结构(通常按存入时间进行排序与关键字无关)、顺序结构(按关键字排序)定长记录可进行折半查找
          • 索引文件
            • 可根据索引号进行搜索,定长记录可随机查找,定长必须顺序查找
          • 索引顺序文件
            • 是顺序文件和索引文件的结合,将变长记录分成若干组,每组的第一个记录建立一个索引项
          • 直接文件/散列文件
            • 通过散列函数转换的键值决定记录的物理地址
    • 文件物理结构
      • 连续分配
        • 每个文件在磁盘上占有一组连续的块,连续分配时,逻辑文件中的记录也顺序存储在相邻的物理块中
        • 优点:支持顺序访问和直接访问;顺序访问容易且速度快,文件所占用的块可能位于一条或几条相邻的磁道上,磁头的移动距离最小
        • 缺点:会产生很多外部碎片;无法动态增长文件;需要对相邻的记录做物理上的移动
      • 链接分配
        • 采用离散分配的方式
          • 隐式链接
            • 目录项中含有文件的第一块的指针(盘块号)和最后一块的指针,每个盘块都存有指向下一个盘块的指针,这些指针对用户是透明的。
            • 缺点:只支持顺序访问;任何一个指针出问题都会导致文件数据的丢失;指针也要消耗一定的存储空间
            • 簇可以改善算法的磁盘访问时间
          • 显示链接
            • 将各物理块的指针显式的存放在内存的一张链接表中,表称为文件分配表(FAT)
            • 优点:支持顺序访问,也可直接访问;FAT在系统启动时就被读入内存,检索记录是在内存中,显著的提高了检索速度,减少了访问磁盘的次数
            • 缺点:FAT需要占用一定的内存
        • 优点:消除了外部碎片,提高磁盘的利用率;便于动态的为文件分配盘块;插入删除很方便.
      • 索引分配
        • 单极索引分配方式
          • 每个文件分配一个索引表,将分配给文件的所有盘块号都记录在索引块中
          • 优点:支持直接访问;不会产生外部碎片
          • 缺点:索引块增加了额外的存储空间的开销
        • 多级索引分配
          • 将文件太大而索引块太多时建立多级索引
          • 优点:加快了对大型文件的查找速度
          • 缺点:访问磁盘的次数随着索引的级数增加而增加
        • 混合索引分配
          • 全面照顾了小型,中型,大型和特大型文件
          • 直接地址:小型文件
          • 一级间接地址:中大型文件
          • 多级间接地址:特大型文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值