zoukankan      html  css  js  c++  java
  • 操作系统笔记--文件系统

    文件可以理解成是一种数据结构,它具有逻辑结构和物理结构。

    文件的逻辑结构可以分为流式文件(无结构)如二进制文件和记录式文件(有结构)如文本文件。记录式结构有顺序文件,索引文件和索引顺序文件

    目录文件是一种特殊的文件,它里面记录了文件名和FCB的映射关系,但是由于查找文件时并不需要过多的信息,所以只需要存放文件名和物理地址的映射关系就可以。所以引入了索引节点,目录文件的目录项中保存了文件名和索引节点的映射,索引节点与其所在的物理块号存放在内存中,这个物理块号中就存放着该文件的FCB。使目录文件减小,这样就可以减少查找文件时的平均启动磁盘次数。

    文件的共享有基于索引节点(硬链接)和基于符号链实现(软连接)。软连接的一个实例就是快捷方式。

    文件保护,在linux系统中每个文件都有三个权限即可读,可写,可执行。并且分成了拥有者,组合其他用户。

    文件的实现

    目录文件可以采用线性表和哈希表来实现

    文件的物理存储有连续分配,链接分配和索引分配。索引分配需要为每一个文件创建一个索引表。先查找这个文件的索引块,在找到目标盘块号,为了解决索引表的大小问题,可以采用多级索引和混合索引的方式。

    文件系统有FAT,NTFS,EXT2/3/4,WINDOWS不能识别EXT文件系统

    EXT系统使用inode来找到文件的位置。目录文件的inode中保存了这个目录下的文件名与inode的关系,系统找到这个文件名对应的inode号;其次,通过inode号计算其在inode表中位置,到这个位置获取inode信息;最后,根据inode信息,找到文件数据所在的block,读出数据。

    硬链接:两个文件名对应同一个inode结点,只不过inode结点的连接数为2,删除其中一个硬链接时不会删除真正的文件。

    软连接:两个文件名分别对应各自的inode结点,这两个inode号指向同一个文件块,通过原文件名删除之后,建立的软连接就无法使用

  • 相关阅读:
    用 jQuery 实现表单验证(摘抄)——选自《锋利的jQuery》(第2版)第5章的例题 5.1.5 表单验证
    js内置对象
    浅析js中的堆和栈
    深入理解js立即执行函数
    Javascript 中 null、NaN和undefined的区别
    javasript
    关于HTTP协议,一篇就够了
    ssh_maven之controller层开发
    ssh_maven之service开发
    ssh_maven的搭建之dao层的开发
  • 原文地址:https://www.cnblogs.com/Sunqingyi/p/12727572.html
Copyright © 2011-2022 走看看