一般来说,面试不会问 inode 。但是 inode 是一个重要概念,是理解 Unix/Linux 文件系统和硬盘储存的基础。

理解inode,要从文件储存说起。

文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。

操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。

文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。

每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。

简述 Linux 文件系统通过 i 节点把文件的逻辑结构和物理结构转换的工作过程?

一般来说,面试官不太会问这个题目。

Linux 通过 inode 节点表将文件的逻辑结构和物理结构进行转换。

· inode 节点是一个 64 字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息。在 inode 节点表中最重要的内容是磁盘地址表。在磁盘地址表中有 13 个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。
· Linux 文件系统通过把 inode 节点和文件名进行连接,当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相对应的 inode 节点号,通过该 inode 节点的磁盘地址表把分散存放的文件物理块连接成文件的逻辑结构。

最新文章

  1. Spring4读书笔记(1)-模块
  2. oracle dblink的创建方式
  3. 返回多个类型的对象,Tuple
  4. .NET ORM 的 “SOD蜜”--零基础入门篇
  5. 密码加SALT原理
  6. Qt Load and Save PCL/PLY 加载和保存点云
  7. JSTL函数
  8. [iOS翻译]《The Swift Programming Language》系列:Welcome to Swift-01
  9. Project Euler 98:Anagramic squares 重排平方数
  10. JVM内存状况查看方法和分析工具
  11. Webstorm 配置与使用 Less
  12. JavaScript高级程序设计8.pdf
  13. PureLayout(轻量级自动布局)
  14. Kendo UI开发教程(25): 单页面应用(三) View
  15. js生成随机数
  16. hadoop2.6.0实践:004 启动伪分布式hadoop的进程
  17. jQuery-委托事件和on方法注册事件
  18. 利用maven将项目打包成一个可以运行的独立jar包
  19. linux centos7 安装mono
  20. ROS:ROS操作类MK.cs

热门文章

  1. Java不支持协程?那是你不知道Quasar!
  2. Linux命令行模式下安装VMware Tools详细步骤
  3. nginx 配置ssl证书
  4. Python中类的多层继承和多重继承
  5. jmeter非gui之shell脚本
  6. Spring Cloud Gateway现高风险漏洞,建议采取措施加强防护
  7. 教你快速区分传统报表和商业智能BI
  8. 华为RH2288H服务器引导ServiceCD安装Windows Server操作系统
  9. Windows原理深入学习系列-访问控制列表
  10. Hadoop3.x完全分布式搭建(详细)