UNIX文件系统概述
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文件系统概述相关推荐
- JFS 文件系统概述及布局分析
JFS 文件系统概述及布局分析 日志文件系统如何缩短系统重启时间如果发生系统崩溃,JFS 提供了快速文件系统重启.通过使用数据库日志技术,JFS 能在几秒或几分钟之内把文件系统恢复到一致状态,而非日志 ...
- Linux 文件系统概述
1.什么是文件系统: 请参见:<Linux 文件系统概述> 2.文件系统的组织结构简说: 当您使用Linux的时候,如果您通过ls -la / 就会发现,在/下包涵很多的目录,比如etc. ...
- UNIX文件的实现——索引节点
POSIX没有强制磁盘上的文件采取任何特定的表示方法,但是传统的UNIX文件都是按照改进的树状结构来实现的.目录项中包含一个文件名 和一个定长结构的引用(索引节点).索引节点包含与文件长度.文件位置. ...
- 深入理解Linux/Unix文件描述符和epoll
Linux/Unix 文件描述符(File Describer)的本质 Linux/Unix(以下简称Linux)系统中,每个进程都有一个专用的数组,数组的元素是一个结构体,称为文件描述符File D ...
- oracle文件系统挂载点,挂载和取消挂载文件系统概述
挂载和取消挂载文件系统概述 需要首先挂载文件系统,然后才能访问该文件系统上的文件.挂载文件系统时,需要将该文件系统附加到目录(挂载点)并使其对系统可用.始终会挂载根目录 (/) 文件系统.可以将其他任 ...
- UNIX文件表示(四章)
2019独角兽企业重金招聘Python工程师标准>>> UNIX文件表示(四章) 一.索引节点 索引节点以静态形式存在于磁盘上,核心把它们读进内存索引节点表中以操纵它们.磁盘索引节 ...
- unix文件描述符——socket
在unix系统中,socket和普通文件一样对待,因为它可以像普通文件一样被读和写,但是它还有一些自己独特的特点,例如,文件的读写位置可以设置,但是socket只能被顺序的读写等等,那么在unix系统 ...
- Linux文件系统概述:硬盘驱动>通用块设备层>文件系统>虚拟文件系统(VFS)
目录 一.概述 1. 硬盘驱动 2. 通用块设备层 General Block Device Layer 3. 文件系统 4. 虚拟文件系统(VFS) 二.存储介质 闪存(Flash Memory) ...
- 奇怪,勒索软件Ryuk 新版本把这些 *UNIX 文件夹列入了黑名单
聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 Ryuk勒索软件新版本已发布,不过有意避免加密在*UNIX 操作系统中常见的文件夹. 美国新奥尔良市遭感染后,Bleeping Com ...
- unix 文件清理一例
unix环境下,经常会遇到一种情况,就是存放日志的文件目录满了,需要进行清理.通常来说,日志文件具有一定的时效性,例如一周,超过一周的日志文件就可以进行清理(以应用日志为例,数据库ARCH日志,以是否 ...
最新文章
- Python:模拟登录、点击和执行 JavaScript 语句案例
- java 判断水仙花_Java实现判断水仙花数
- 深度学习模型之各种caffe版本(Linux和windows)的网址
- ACE源代码目录结构
- cpickle安装_Py之h5py:Python库之h5py库的简介、安装、使用方法详细攻略
- Linux学习:静态库和动态库
- android 面试题(一)
- linux command1
- 你怕是对MD5算法有误解
- UVA121 POJ1319 HDU1621 Pipe Fitters【计算几何】
- 【3】Keras.applications包,一堆可以复用的深度学习模型库
- 六自由度机械臂SolidWorks模型转化成urdf文件,添加简单gazebo属性并修改为xacro
- 解决jy61陀螺仪传感器读数跳动的问题
- 新元宇宙每周连载《地球人奇游天球记》第十五回土星种菜
- java案例:模拟双色球中奖
- 19.IIC通信:PCF8591:数模/模数转换芯片
- win10如何截屏_Win10的10个神仙级自带工具
- 女生被渣,或许自己才是最大的黑手
- office365 word如何关闭首字母大写
- 有想法阿里系工作的么?各个事业群,都可以挑选。