• 文件管理2


    7.3 目录管理

    对目录管理的要求:

    (1)实现“按名存取”(目录管理中最基本的功能,文件系统向用户提供的最基本的服务)

    (2)提高对目录的检索速度(文件系统追求的主要目标)

    (3)文件共享

    (4)允许文件重名

    一、文件控制块和索引结点

    1. 文件控制块(FCB)

    在文件控制块中,通常包含三类信息:基本信息、存取控制信息及使用信息。

    1) 基本信息类

    基本信息类包括:

    (1) 文件名,指用于标识一个文件的符号名,在每个系统中,每一个文件都必须有唯 —的名字,用户利用该名字进行存取。

    (2) 文件物理位置,指文件在外存上的存储位S,它包括存放文件的设备名、文件在 外存上的起始盘块号、指示文件所占用的盘块数,或字节数的文件长度。

    (3) 文件逻辑结构,指示文件是流式文件还是记录式文件、记录数,文件是定长记录还是变长记录等。

    (4) 文件的物理结构,指示文件是顺序文件,还是链接式文件或索引文件。

    2) 存取控制信息类、存取控制信息类包括文件主的存取权限、核准用户的存取权限以及-般用户的存取权限。

    3) 使用信息类 使用信息类包括文件的建立日期和时间、文件上一次修改的日期和时间,以及当前使用信息。这些信息包括当前己打开该文件的进程数,是否被其它进程锁住,文件在内存中 是否己被修改但尚未拷贝到盘上等。

    1. 索引节点(inode)

    1) 磁盘索引结点

    每个文件有唯一的一个磁盘索引结点,它主要包括以下内容:

    (1) 文件主标识符,即拥有该文件的个人或小组的标识符:

    (2) 文件类型,包括正规文件、目录文件或特别文件;

    (3) 文件存取权限,指各类用户对该文件的存取权限:

    (4) 文件物理地址,每一个索引结点中含有13个地址项,即iaddr(O)〜iaddr(12),它们 以直接或间接方式给出数据文件所在盘块的编号:

    (5) 文件长度,指以字节为单位的文件长度;

    (6) 文件连接计数,表明在本文件系统中所有指向该(文件的)文件名的指针计数;

    (7) 文件存取时间,指出本文件最近被进程存取的时间、最近被修改的时间及索引结点最近被修改的时间。

    2) 内存索引结点

    当文件被打开时,要将磁盘索引结点拷贝到内存的索引结点中,便于以后使用。在内存索引结点中又增加了以下内容:

    (1) 索引结点编号,用于标识内存索引结点;

    (2) 状态,指示i结点是否上锁或被修改;

    (3) 访问计数,每当有一进程要访问此i结点时,将该访问计数加1,访问完再减1:

    (4) 文件所属文件系统的逻辑设备号;

    (5) 链接指针,设置有分别指向空闲链表和散列队列的指针。

    二、简单目录

    1. 单级文件目录

    单级文件目录的优点是简单,但是只能实现最基本的功能按名存取。

     

        2.两级文件目录

     

    优点:提高了文件检索速度,在不同文件目录可以使用相同文件名,不同用户使用不同文件名访问同一个共享文件。

    三、多级树形目录

    在现代OS中,树形结构目录是最通用且最实用的文件目录。明显提高对目录的检索速度和文件系统的性能。

    每个文件目录只能有一个根目录,每个文件和每个目录只有一个父目录,数据文件称为树叶,其他目录均作为树的结点或者称为子目录

     

     

    7.4 文件共享

    一、基于有向无循环图实现文件共享

    利用索引节点

     

     

    在索引结点中还应有一个链接计数count,用于表示链接到本索引结点(亦即文件)上的 用户目录项的数目。当count=3时,表示有三个用户目录项连接到本文件上,或者说是有 三个用户共享此文件。

    当用户C创建一个新文件时,他便是该文件的所有者,此时将count置1。当有用户B 要共享此文件时,在用户B的目录中增加一目录项,并设置一指针指向该文件的索引结点, 此时,文件主仍然是C, count=2。如果用户C不再需要此文件,是否能将此文件删除呢?回答是否定的,因为,若删除了该文件,也必然删除了该文件的索引结点,这样便会使B的 指针悬空,而B则可能正在此文件上执行写操作,此时将因此半途而废。但如果C不删除 此文件而等待B继续使用,这样,由于文件主是C,如果系统要记账收费,则C必须为B 使用此共享文件而付账,直至B不再需要。

     

    二、利用符号实现文件共享

     

    7.5 文件保护

    影响文件安全性的主要因素:人为因素,系统因素,自然因素。

    措施:存取控制机制,系统容错技术,建立后备系统。

    一、保护域

    1. 访问权

    我们把一个进程能对某对象执行操作的权利称为访问权。每个访问权可以用一个有序对(对象名,权集)来表示。

    1. 保护域

    保护域是进程对一组对象访问权的集合,进程只能在指定域内执行操作。

  • 相关阅读:
    检索COM类工厂中CLSID为{00024500-0000-0000-C000-000000000046}的组件时失败
    VSTO 开发中 应用ActionPane、CustomTaskPane
    Thread.Join()的详解
    HBase笔记
    Hive命令详解
    视频地址
    几种表
    如何将数据导入到hive中
    hdfs笔记
    分区表简介
  • 原文地址:https://www.cnblogs.com/giaogiaogiao/p/12792745.html
Copyright © 2020-2023  润新知