UNIX文件系统是UNIX系统的心脏部分,提供了层次结构的目录和文件。文件系统将磁盘空间划分为每1024个字节一组,称为块(block)(也有用512字节为一块的,如:SCO XENIX)。编号从0到整个磁盘的最大块数。

  全部块可划分为四个部分,块0称为引导块,文件系统不用该块;块1称为专用块,专用块含有许多信息,其中有磁盘大小和全部块的其它两部分的大小。从块2开始是i节点表,i节点表中含有i节点,表的块数是可变的,后面将做讨论。 i节点表之后是空闲存储块(数据存储块),可用于存放文件内容。

  文件的逻辑结构和物理结构是十分不同的,逻辑结构是用户敲入cat命令后所看到的文件,用户可得到表示文件内容的字符流。物理结构是文件实际上如何存放在磁盘上的存储格式。用户认为自己的文件是边疆的字符流,但实际上文件可能并不是以边疆的方式存放在磁盘上的,长于一块的文件通常将分散地存放在盘上。然而当用户存取文件时,UNIX文件系统将以正确的顺序取各块, 给用户提供文件的逻辑结构。

  当然,在UNIX系统的某处一定会有一个表,告诉文件系统如何将物理结构转换为逻辑结构。这就涉及到i节点了。i节点是一个64字节长的表,含有有关一个文件的信息,其中有文件大小,文件所有者,文件存取许可方式,以及文件为普通文件,目录文件还是特别文件等。在i节点中最重要的一项是磁盘地址表。 该表中有13个块号。前10个块号是文件前10块的存放地址。这10个块号能给出一个至多10块长的文件的逻辑结构,文件将以块号在磁盘地址表中出现的顺序依次取相应的块。

  当文件长于10块时又怎样呢?磁盘地址表中的第十一项给出一个块号,这个块号指出的块中含有256个块号,至此,这种方法满足了至多长于266块的文件(272,384字节)。如果文件大于266块,磁盘地址表的第十二项给出一个块号, 这个块号指出的块中含有256个块号,这256个块号的每一个块号又指出一块, 块中含256个块号,这些块号才用于取文件的内容。磁盘地址中和第十三项索引寻址方式与第十二项类似,只是多一级间接索引。

  这样,在UNIX系统中,文件的最大长度是16,842,762块,即17,246,988,288字节,有幸是是UNIX系统对文件的最大长度(一般为1到2M字节)加了更实际的限制,使用户不会无意中建立一个用完整个磁盘窨所有块的文件。

  文件系统将文件名转换为i节点的方法实际上相当简单。一个目录实际上是一个含有目录表的文件:对于目录中的每个文件,在目录表中有一个入口项, 入口项中含有文件名和与文件相应的i节点号。当用户敲入cat xxx时,文件系统就在当前目录表中查找名为xxx的入口项,得到与文件xxx相应的i节点号,然后开始取含有文件xxx的内容的块。

UNIX文件系统概述相关推荐

  1. JFS 文件系统概述及布局分析

    JFS 文件系统概述及布局分析 日志文件系统如何缩短系统重启时间如果发生系统崩溃,JFS 提供了快速文件系统重启.通过使用数据库日志技术,JFS 能在几秒或几分钟之内把文件系统恢复到一致状态,而非日志 ...

  2. Linux 文件系统概述

    1.什么是文件系统: 请参见:<Linux 文件系统概述> 2.文件系统的组织结构简说: 当您使用Linux的时候,如果您通过ls -la / 就会发现,在/下包涵很多的目录,比如etc. ...

  3. UNIX文件的实现——索引节点

    POSIX没有强制磁盘上的文件采取任何特定的表示方法,但是传统的UNIX文件都是按照改进的树状结构来实现的.目录项中包含一个文件名 和一个定长结构的引用(索引节点).索引节点包含与文件长度.文件位置. ...

  4. 深入理解Linux/Unix文件描述符和epoll

    Linux/Unix 文件描述符(File Describer)的本质 Linux/Unix(以下简称Linux)系统中,每个进程都有一个专用的数组,数组的元素是一个结构体,称为文件描述符File D ...

  5. oracle文件系统挂载点,挂载和取消挂载文件系统概述

    挂载和取消挂载文件系统概述 需要首先挂载文件系统,然后才能访问该文件系统上的文件.挂载文件系统时,需要将该文件系统附加到目录(挂载点)并使其对系统可用.始终会挂载根目录 (/) 文件系统.可以将其他任 ...

  6. UNIX文件表示(四章)

    2019独角兽企业重金招聘Python工程师标准>>> UNIX文件表示(四章) 一.索引节点  索引节点以静态形式存在于磁盘上,核心把它们读进内存索引节点表中以操纵它们.磁盘索引节 ...

  7. unix文件描述符——socket

    在unix系统中,socket和普通文件一样对待,因为它可以像普通文件一样被读和写,但是它还有一些自己独特的特点,例如,文件的读写位置可以设置,但是socket只能被顺序的读写等等,那么在unix系统 ...

  8. Linux文件系统概述:硬盘驱动>通用块设备层>文件系统>虚拟文件系统(VFS)

    目录 一.概述 1. 硬盘驱动 2. 通用块设备层 General Block Device Layer 3. 文件系统 4. 虚拟文件系统(VFS) 二.存储介质 闪存(Flash Memory) ...

  9. 奇怪,勒索软件Ryuk 新版本把这些 *UNIX 文件夹列入了黑名单

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 Ryuk勒索软件新版本已发布,不过有意避免加密在*UNIX 操作系统中常见的文件夹. 美国新奥尔良市遭感染后,Bleeping Com ...

  10. unix 文件清理一例

    unix环境下,经常会遇到一种情况,就是存放日志的文件目录满了,需要进行清理.通常来说,日志文件具有一定的时效性,例如一周,超过一周的日志文件就可以进行清理(以应用日志为例,数据库ARCH日志,以是否 ...

最新文章

  1. Python:模拟登录、点击和执行 JavaScript 语句案例
  2. java 判断水仙花_Java实现判断水仙花数
  3. 深度学习模型之各种caffe版本(Linux和windows)的网址
  4. ACE源代码目录结构
  5. cpickle安装_Py之h5py:Python库之h5py库的简介、安装、使用方法详细攻略
  6. Linux学习:静态库和动态库
  7. android 面试题(一)
  8. linux command1
  9. 你怕是对MD5算法有误解
  10. UVA121 POJ1319 HDU1621 Pipe Fitters【计算几何】
  11. 【3】Keras.applications包,一堆可以复用的深度学习模型库
  12. 六自由度机械臂SolidWorks模型转化成urdf文件,添加简单gazebo属性并修改为xacro
  13. 解决jy61陀螺仪传感器读数跳动的问题
  14. 新元宇宙每周连载《地球人奇游天球记》第十五回土星种菜
  15. java案例:模拟双色球中奖
  16. 19.IIC通信:PCF8591:数模/模数转换芯片
  17. win10如何截屏_Win10的10个神仙级自带工具
  18. 女生被渣,或许自己才是最大的黑手
  19. office365 word如何关闭首字母大写
  20. 有想法阿里系工作的么?各个事业群,都可以挑选。

热门文章

  1. CentOS切换网易云镜像
  2. Modelsim10.4-win64软件下载安装与破解
  3. 机器学习十大算法简介
  4. 修改高通IPQ4019/4018的flash的分区
  5. 微信小程序icon图标怎么用
  6. nsight linux,NVIDIA为Nsight Systems增加Vulkan支持
  7. 计算机应用基础信息素养,计算机应用基础:信息素养+Office 2013办公自动化
  8. H2080刷卡门禁一体机使用说明书 誉诚AD281A-T楼宇主机说明书
  9. 绘制14段米字数码管显示,显示数字和英文字母。
  10. Wherehows项目部署文档