• 第六章6_2


    6.3目录管理

    操作系统对文件管理通常有以下几个方面的要求:

    • 实现按名存取
    • 提高目录检索速度
    • 允许文件重名
    • 允许文件共享

    6.3.1文件目录的概念

    1.文件控制块

    1. 一个文件包括两个部分:一个是文件体,另一个是文件控制块(FCB)。每个文件都有一个文件控制块,它是文件存在的唯一标识。
    2. 通常包括三类信息:基本信息、存取控制信息、使用信息。

    2.索引结点

    1. 索引结点引入:
      1. 每个文件都有一个文件控制块,那么文件目录就会占用大量的磁盘块。
      2. 检索目录的时候实际上只用到了文件控制块中的文件名。所以不需要将其他描述信息加载到内存中。
    2. 索引结点的分类:分为磁盘索引节点和内存索引节点。
      • 磁盘索引节点是存放磁盘上的索引节点,每个文件都有唯一的磁盘索引节点,包含了文件控制块中除文件名以外的文件属性信息。
      • 内存索引节点:每打开一个文件时,都会在内存中为该文件打开一个内存索引节点,索引节点主要内容是复制磁盘索引节点的,也会增加若干使用状态信息。

    6.3.2文件目录结构

    全部由文件目录项组成的文件称为目录文件。常用的有单级目录结构、两级目录结构、多级目录结构。

    1. 单级目录结构实现和管理简单,且能实现按名存取,缺点是查找速度慢、不允许有重名的文件、不便于实现文件共享。
    2. 两级目录结构,分为主目录文件和用户目录文件。提高了检索速度,允许文件重名、不同用户可以使用不同文件名来访问同一个共享文件。
    3. 多级目录结构,在两级目录加以推广,就是允许用户目录下再建立下级目录。又称为树型目录结构。优点是层次清晰、解决了文件重名的问题、便于实现文件共享、查询速度更加快。

    6.3.3目录检索技术

    当用户要访问一个文件时,系统首先要根据路径名对目录进行查找,然后再进行操作。目前主要有线性检索法和Hash方法。对于线性检索法只要任何一个文件分量没有找到就停止查找。如果是Hash方法文件名如果允许使用“*” “?”,此时就无法使用Hash方法。

    6.4文件存储空间管理

    常用的磁盘存储空间管理方法有:空闲表法、空闲链表法、位示图法、成组链接法。

    1. 空闲表法:建立一张空闲表,每个表项有序号、空闲区起始块号、空闲块的数量等信息。,常用于外存空间连续分配方式,仅当空闲区较少时比较有效。
    2. 空闲块链表法:磁盘的每个空闲盘块中放置一个指针,指向另一个空闲盘块。
    3. 位示图:利用一个二进制位来表示磁盘中的一个盘块使用情况。
      • 位于第i行,第j列,对应的盘块号为b = n(i-1)+j,n为每一行的列数,i、j都是从1开始的。
      • 回收时,i= (b-1)div n + 1;j = (b-1)mod n + 1.
    4. 成组链接法:适用于大型的文件系统,Unix就是使用这种方法。

    6.5文件共享和保护

    6.5.1文件共享方法:

    1. 一是基于索引节点的共享方式;(硬链接),新建一个目录项,填入共享索引节点的指针,只有count=1时,文件主才可以删除文件,其用户不可以删除文件,只可以断开链接。不能实现跨文件卷的文件共享??
    2. 二是通过符号链接的方式;(软连接)共享该文件的路径,新建一个目录项,分配空间,写入文件路径,只有文件主才有文件索引节点指针。增加了存储开销。

    6.5.2文件保护

    1. 文件备份:批量备份和同步备份。
      • 批量备份:又分为全量转储和增量转储。
      • 同步备份:镜像盘支持;双机动态文件备份
    2. 文件访问保护
      • 口令保护
      • 加密保护
      • 设置访问权限
    作者:睿晞
    身处这个阶段的时候,一定要好好珍惜,这是我们唯一能做的,求学,钻研,为人,处事,交友……无一不是如此。
    劝君莫惜金缕衣,劝君惜取少年时。花开堪折直须折,莫待无花空折枝。
    曾有一个业界大牛说过这样一段话,送给大家:   “华人在计算机视觉领域的研究水平越来越高,这是非常振奋人心的事。我们中国错过了工业革命,错过了电气革命,信息革命也只是跟随状态。但人工智能的革命,我们跟世界上的领先国家是并肩往前跑的。能身处这个时代浪潮之中,做一番伟大的事业,经常激动的夜不能寐。”
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    JAVA环境搭建之MyEclipse10+jdk1.8+tomcat8环境搭建详解
    web.xml 配置 contextConfigLocation
    详解JDBC与Hibernate区别
    copy running-config startup-config 与 copy startup-config running-config
    CSS实现垂直居中的常用方法
    dskms改为ckplayer播放器
    apache2 不支持php文件 解决办法
    Linux下修改Mysql密码的三种方式
    Debian/Ubuntu下安装Apache的Mod_Rewrite模块的步骤
    DIV+ul+LI实现表格效果以及div带滑动条
  • 原文地址:https://www.cnblogs.com/tsruixi/p/10747266.html
Copyright © 2020-2023  润新知