美文网首页
从磁盘分区到文件系统

从磁盘分区到文件系统

作者: hailiu13 | 来源:发表于2017-07-13 18:51 被阅读0次

磁盘

磁盘

柱面
扇区:512字节

分区

磁盘分区

主分区、扩展分区、逻辑分区
MBR:主引导程序(446)、分区表(16 * 4)、0xAA 55(其值是0x55 AA)
boot sector:自举装入程序区(本分区操作系统类型、数据区大小
根目录区允许最大目录项(在根目录区最多创建多少个文件))

文件系统
超级块副本 | 配置信息 | i-node图 | 块位图 | i-node块 | 目录块和数据块

而inode map就是用来映射inode_array这个数组使用情况的一个位图,用法跟sector map类似。
每个 i-node对应一个文件,用于存放文件名、文件属性等内容,inode_array就是把所有 i-node都放在这里,形成一个较大的数组

软硬链接

符号链接又称软链接,它创建了之后,拥有自己的i-节点号,但是它的内容却是指向的链接的文件。这样的机制就决定了软链接可以跨越文件系统进行链接。
硬链接创建了之后,它的i-节点号是共用的链接的文件,所以硬链接产生的文件并不需要多大的空间,而且修改了其中一个的内容,另外一个文件的内容也会随之改变。由于是共用i-节点,又由于磁盘可能有多个文件系统,而每个文件系统的i-节点是重复的,所以跨文件系统的硬链接是不被允许的。

进程操作文件


内核中,对应于每个进程都有一个文件描述符表,表示这个进程打开的所有文件。文件描述表中每一项都是一个指针,指向一个用于描述打开的文件的数据块———file对象,file对象中描述了文件的打开模式,读写位置等重要信息,当进程打开一个文件时,内核就会创建一个新的file对象。需要注意的是,file对象不是专属于某个进程的,不同进程的文件描述符表中的指针可以指向相同的file对象,从而共享这个打开的文件。file对象有引用计数,记录了引用这个对象的文件描述符个数,只有当引用计数为0时,内核才销毁file对象,因此某个进程关闭文件,不影响与之共享同一个file对象的进程.

file对象中包含一个指针,指向dentry对象。dentry对象代表一个独立的文件路径,如果一个文件路径被打开多次,那么会建立多个file对象,但它们都指向同一个dentry对象。
  dentry对象中又包含一个指向inode对象的指针。inode对象代表一个独立文件。因为存在硬链接与符号链接,因此不同的dentry对象可以指向相同的inode对象.inode 对象包含了最终对文件进行操作所需的所有信息,如文件系统类型、文件的操作方法、文件的权限、访问日期等。
  打开文件后,进程得到的文件描述符实质上就是文件描述符表的下标,内核根据这个下标值去访问相应的文件对象,从而实现对文件的操作。
########注意,同一个进程多次打开同一个文件时,内核会创建多个file对象。
  当进程使用fork系统调用创建一个子进程后,子进程将继承父进程的文件描述符表,因此在父进程中打开的文件可以在子进程中用同一个描述符访问。

相关文章

  • 从磁盘分区到文件系统

    磁盘 柱面扇区:512字节 分区 主分区、扩展分区、逻辑分区MBR:主引导程序(446)、分区表(16 * 4)、...

  • Linux文件系统和逻辑卷管理命令(一)

    先来介绍几个文件系统和磁盘分区相关的命令。 df 命令 df 命令 用于显示某个文件所在的文件系统或者所有文件系统...

  • Linux_105_创建文件系统

    创建文件系统mkfs命令mkfs针对磁盘分区进行格式化系统,把分区格式化为某种文件系统 fsck命令,修复文件系统...

  • linux查看硬盘 、内存大小命令

    Df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息, 显示格式为:文件系统 容...

  • linux文件系统常用命令

    1. df(disk free) 命令报告文件系统磁盘空间利用率,使用-T选项显示特定的磁盘分区的文件系统类型,-...

  • 每天学习linux一小时-day1

    今天学习了文件系统挂载,磁盘分区,格式化 学习到如下重要知识点: 1.镜像文件可以通过mount -o loop挂...

  • 2018-05-21 课堂笔记

    目录1. 认识磁盘2. 认识文件系统(filesystem,fs)3. 查看文件系统4. 磁盘分区5. 磁盘格式化...

  • 20170804 磁盘管理

    目录磁盘结构磁盘分区磁盘分区管理文件系统管理挂载 一、磁盘结构 (一)设备文件 设备文件:linux系统下一切皆文...

  • df命令/du命令/磁盘分区

    df命令 df是用来查看磁盘分区情况的命令 [root@localhost ~]# df -h 文件系统 ...

  • LVM逻辑卷

    LVM逻辑卷 对磁盘分区进行管理的机制,建立在硬盘和分区之上,文件系统之下的逻辑层,提供磁盘分区管理的灵活性。 l...

网友评论

      本文标题:从磁盘分区到文件系统

      本文链接:https://www.haomeiwen.com/subject/ndwwhxtx.html