操作系统之目录

目录

 

 

准备: 文件控制块——PCB:

    

为了能对一个文件进行正确的存取,必须为文件设置用于描述和控制文件的数据结构,称之为“文件控制块”(FCB)
文件与文件控制块一一对应
记录文件名及其存放地址、文件的说明和控制信息。
文件管理程序借助于文件控制块中的信息对文件施以各种操作。
把文件控制块的有序集合称为文件目录,即一个文件控制块就是一个目录项。通常一个文件目录也被看作是一个文件,称为目录文件

    一:   目录管理

   主要有两大操作:

    1.方便信息记录(PCB,目录项)

     2.方便检索,管理(目录操作)

    管理要求:

        (1)   实现按名存取

         (2) 提高对目录的检索速度

           (3)  文件共享

        (4)允许文件重名

    (一)  PCB内容

    1:基本信息类:   文件名,文件物理位置,文件逻辑结构,文件物理结构

   2.   存取控制信息 :    文件主的存取权限,其他用户的存取权限。

  3. 使用信息类:   建立日期,文件修改日期

                               当前使用信息:打开文件的进程数,是否被进程上锁,是否已经修改。

   (二)索引节点

      将文件名,文件具体信息分开,使文件描述信息单独形成一个索引结点。

     不同形式:

     1:磁盘索引结点:

           文件主标识符、文件类型、文件存取权限、文件物理地址、文件长度、文件连接计数、文件存取时间。

      2:  内存索引结点:

         将磁盘结点拷贝到内存结点使用。新增一些内容,如:状态,访问计数等。

    (三) 目录结构、

       目录结构的组织

     1:  单机目录:

          最简单的目录结构。

         整个文件系统中只建立一张目录表 ,每个文件一个目录项,含有文件相关信息。

      建立一个新文件:

             (1)先检索所有的目录项,保证文件名唯一。

              (2)获得一张空白目录项,填入相关信息,修改状态位

           删除一个文件:

               (1)  找到对应的目录项,回收文件所占用空间。

                 (2) 清楚目录项。

       优点:  

                  简单,能够实现目录管理的基本功能————按名存取

       缺点:

       ( 1:  文件检索的时候需要搜索所有目录文件

      ( 2: 不允许重名,对多用户不友好

        (3:    不便实现文件共享,一般只适用于单机环境。

     2:   两级目录结构:

           为每一个用户建立一个单独的用户文件目录UFD,UFD由所有文件控制块组成。

   系统建立一个主文件目录MFD,MFD中每个用户目录文件都占有一个目录项,其中包括用户名和指向UFD的指针

     特点:

     (1):  提高了检索目录的速度。

     (2):   在不同的,目录中可以重名

     (3):    不同的用户可以使用相同或不同的文件名来访问系统中的同一个

共享文件,

     (4):不提供子目录操作,各个用户之间不方便合作。

  3.多级目录结构   

      使用与较大的文件管理系统,又称树状目录

    目录结构:   

        主目录又称根目录:数据文件成为树叶,其他目录称为结点

    路径名;

        从根目录到任何数据都有一条唯一的通路

    当前目录:

       为每个进程设置一个当前目录,又称’工作目录‘;

        从当前目录开始,逐级经过中间目录文件,最后到达要访问的数据文件。这一路径上的目录和数据文件连接成的路径名,成为相对路径 。

       从根开始的路径名称为绝对路径名。

  (四)   目录查询技术

      用户法访问一个已存在的文件:

      (1):目录调入数据库

      (2):按名检索

      (3):找到该文件控制块。

      (4):读FCB或对应的索引结点

      (5):从文件物理地址换算成在磁盘上的物理位置。

     1:目录查询方式:线性检索发和哈希法

      线性检索法:

        单机目录中: 用户提供文件名,顺序查找文件

        树形目录:用户提供路径名;对多级目录进行逐级逐层查找。

      HASH法:

        建立一张hash索引文件目录

        系统将用户提供的文件名变换为文件目录的索引值,在利用索引值到目录中查找。

        如果文件名使用了通配符,无法利用哈希法。   

   (五) 文件共享与保护

     1:文件共享

        多个用户共享一份文件,只保留一份文件副本。

      (1)索引结点法:

         基本FCB法:

            名+详细信息

            

         直接在文件目录中包含文件的物理地址,该方法实现的共享不适用文件动态变化。一个用户对文件的修改(如物理块号增加),对其他用户不可见,共享文件的FCB信息记录同步更新困难。
         文件名+索引结点指针。
         一个用户修改指针指向地址里的内容,指针不变,其他用户通过指针总能感知索引结点中的最新内容
       索引结点中增加count计数
         主人删除操作问题:
删,共享用户访问错误;不删,计费问题。

        符号链法:

      创建一个link类型的文件:“文件名+共享文件路径”(类似快捷方式)
      文件主人删除文件,共享者只会出现找不到文件错误。不会发生共享文件删除后出现悬空指针的情况。
      该方法适用于网络文件共享,但根据路径检索共享文件的目标位置增加了访问开销,link文件独占索引结点也耗费一定的空间。
无论哪种共享,链接就对应一个文件,如果遍历复制整个目录内的文件,可能会从多条路径对共享文件进行多次访问

    2:磁盘容错:

      SFT:

        (1) 磁盘表面故障

        (2)磁盘驱动器、控制器故障

                      

     

       

   

    

     

猜你喜欢

转载自www.cnblogs.com/lls101/p/10088727.html
今日推荐