文件与磁盘空间管理---目录管理、文件共享与保护

一、目录管理

目录管理的要求如下:
*实现“按名存取”;(最基本功能)
*提高对目录的检索速度;
*文件共享;
*允许文件重名。

  1. 文件控制块—FCB
    为文件设置用于描述和控制文件的数据结构
    ==》作用
    △文件与文件控制块一一对应
    △记录文件名及其存放地址、文件的说明和控制信息。(是谁?在哪里?什么权?)
    △文件管理程序借助于文件控制块中的信息对文件施以各种操作。

    ==》把文件控制块的有序集合称为文件目录,即一个文件控制块就是一个目录项。
    FCB内容:
    ①基本信息类
    包括文件名,文件物理位置,文件逻辑结构(流式,记录式),文件的物理结构。
    ===》文件物理位置:
    在这里插入图片描述
    ②存取控制信息类
    包括文件主的存取权限,核准用户的存取权限和一般用户的存取权限。
    ③使用信息类
    建立日期和时间、文件上次修改的日期和时间
    当前使用信息:打开该文件的进程数、是否被进程锁住、是否已修改等。
    ===》》》如何加快目录检索?
    采用目录项分解法:即把FCB分成两部分,
    符号目录项:文件名,文件号,
    基本目录项:除文件名外的所有字段

  2. 索引结点
    ①索引结点的引入目的
    文件目录占越大量的盘块,需进行的磁盘读写开销越大。减少实际检索的信息量就减少移动磁头的开销,提高速度;
    目录一般是按名检索。而直到找到正确文件前,只关心文件名,不需要其它的文件描述信息,目录中这部分内容的调入不是必须的。
    所以:将文件名、文件具体信息分开,使文件描述信息单独形成一个索引结点。
    ②文件放在外存,文件信息形成FCB,FCB的集合构成目录
    ③访问一个文件时需要把目录调入内存,然后按名检索目录,
    目录占用内存空间问题产生
    按名检索时,名字不符的话其他信息并不需要读取,所以FCB中许多信息不需要全调入内存。
    减小FCB:将文件的详细信息放入索引结点,FCB中记录文件名和inode地址。目录小了,调入内存占空就少,检索也快了。

    ==》索引结点由外存到内存的过程中有不同的形式:
    ①磁盘索引结点
    存放在磁盘上的索引结点。主要包括以下内容:文件主标识符、文件类型、文件存取权限、文件物理地址、文件长度、文件连接计数、文件存取时间
    ②内存索引结点
    文件被打开后,将磁盘索引结点拷贝到内存索引结点中以便使用。比磁盘索引结点增加了以下内容:索引结点编号、状态、访问计数、文件所属文件系统的逻辑设备号、链接指针

  3. 目录结构
    目录结构的组织,关系到文件系统的存取速度,也关系到文件的共享性和安全性。
    组织好文件的目录,是设计好文件系统的重要环节。
    目前常用的目录结构形式有:

    ①单级目录结构(Single-Level Directory)
    最简单的目录结构。
    整个文件系统中只建立一张目录表,每个文件一个目录项,含有文件相关信息。
    ==》每建立一个新文件
    先检索所有的目录项,保证文件名唯一。
    获得一空白目录项,填入相关信息,修改状态位(表明每个目录项是否空闲)。
    ==》删除一个文件
    找到对应目录项,回收文件所占用空间
    清除目录项

    优点:简单、能实现目录管理的基本功能——按名存取。
    缺点
    文件检索时需搜遍整个目录文件,范围大速度慢。
    不允许重名。名字过多难于记忆,对于多用户环境重名难以避免。
    不便于实现文件共享(因为不能重名,不同用户使用的共享文件必须不同名字,标识哪些用户共享文件也不方便),一般只适用单机环境

    ②两级目录结构( Two-Level Directory )
    为每一个用户建立一个单独的用户文件目录UFD,UFD由用户所有文件的文件控制块组成。
    系统建立一个主文件目录MFD, MFD中每个用户目录文件都占有一个目录项,其中包括用户名和指向UFD的指针。
    优点
    *提高了检索目录的速度。
    *在不同的目录中可重名。
    *不同用户还可以使用相同/不同的文件名来访问系统中的同一个共享文件。
    缺点
    不提供子目录操作,还不方便;各用户之间被完全隔离的话用户访问其他用户文件时,不方便合作

    ③多级目录结构(树状目录(tree-like))
    适用于较大的文件系统管理
    在文件数目较多时,便于系统和用户将文件分散管理
    优点:层次结构更清晰、提供更灵活的权限管理等
    缺点:目录级别太多时也会增加路径检索层次,增加磁盘访问时间

    ④目录查询技术
    用户要访问一个已存文件
    *目录数据调入内存
    *按名检索:系统利用提供的文件名对目录(根据目录层次,需要做的检索次数也不同)进行查询
    *找该文件控制块
    *读FCB或对应索引结点
    *从文件物理地址换算出文件在磁盘上的物理位置
    *最后通过磁盘驱动程序,将所需文件读入内存
    目录查询方式:线性检索法和Hash方法

综合练习
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

二、文件共享与保护

  1. 文件共享
    共享范围:单机系统/多主机系统/网络范围
    共享方式:
    ①索引结点法
    ②符号链法
    ==》两种共享方式的比较
    硬链接(基于索引节点):
    *只能文件链接,不能对目录做硬链接(可能导致du类命令死循环遍历);
    *只能在同一个文件系统范围内进行,不能跨文件系统。
    *删除文件时,如果还有其他链接链至该文件,则该文件不能被删除。
    软链接(符号链接):
    *虽然实现起来相对麻烦一些,访问速度相对慢一些,但适用范围和灵活性要大一些。
    *允许目录链接,允许不同文件系统间进行链接,这两个文件系统可以在同一个计算机上,也可以在不同的计算机上。
    *被链接文件的删除和符号链接的删除是完全相互独立的(返回“被链接文件不存在”的错误)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值