内核导言之文件子系统概貌
来源:互联网 发布:协同过滤推荐算法综述 编辑:程序博客网 时间:2024/05/18 01:54
文件子系统概貌
索引节点(index node):描述了文件数据在磁盘上的布局,并且包含诸如文件所有
者、文件存储许可权和存取时间等其他信息。每个文件都有一个索引节点,都是它可
以有多个名字。索引节点被存储在文件系统上,当需要操作文件的时候,内核把他们
读入内存的索引节点表中。
文件表:是一个全局核心结构,每个表项保存着文件中的字节偏移量(下一次开始读或
写的位置)和打开进程所允许的存储权限。一个文件多次打开就会有多个表项,因为多
个进程可以打开同一个文件。
用户文件描述符表:每个进程都会拥有一个自己的文件描述符表,保存着进程打开的
文件。该表的表项存储的是指向文件表表项的指针和索引节点的指针;当执行系统调用
open时,内核会返回一个文件描述符,它其实是进程的文件描述符的索引值;当执行系
统调用read时,内核使用文件描述符取到用户文件描述符表的表项,循着文件表项的指
针和索引节点的指针读出文件表表项的信息和索引节点的信息,从而在文件中找到数据。
一个文件系统是由一个逻辑块序列组成,每个块都包含512、1024、2048或512的
任何倍数的字节,这依赖于系统实现。在一个文件系统中,逻辑块的大小是相同的;
不同的逻辑块可能有所不同。使用较大的逻辑块会增加主存和磁盘之间的有效数据
的传输效率,但是太大的逻辑块,磁盘将失掉有效的存储能力。
引导块:占据文件系统的开头,典型地,是一个扇区。它可以包含有被读入机器中其
引导作用或初启操作系统作用的引导代码。虽然为了引导系统只需一个引导块,但文
件系统都有一个(可能为空)引导块。
超级块:描述了文件系统的状态--如文件系统多大,能存储多少文件,在文件系统的何
处可以找到空闲空间,以及其他信息。
索引节点表:是一张装有索引节点的表,它在文件系统中跟在超级块后面。内核通过索
引来访问索引节点表中的节点。
数据块:包含了文件数据和管理数据。
- 内核导言之文件子系统概貌
- 内核导言之操作系统体系结构
- 内核导言之进程概述
- 第2章 内核导言
- i2c子系统之内核中I2C子系统的结构
- Linux内核驱动之input子系统介绍
- Linux内核之mmc子系统-sdio
- Linux内核驱动之GPIO子系统
- Linux内核之mmc子系统-sdio
- linux 内核笔记--中断子系统之softirq
- linux内核笔记--中断子系统之tasklet
- Linux内核之input输入子系统
- Linux内核之mmc子系统-sdio
- 导言
- 导言
- 导言
- Android Camera子系统之进程/文件View
- 内核网络子系统之 ----socket系统调用 篇
- poj1326
- 前端收集(前端学习资源)
- transform-origin CSS3 旋转
- 版本控制系统小结
- APACHE日志参数说明
- 内核导言之文件子系统概貌
- Leetcode63: Binary Tree Paths
- mysql链接大量出错
- JQ自带的AjaxForm提交
- C#连接4种类型数据库(Access、SQL Server、Oracle、MySQL)
- iOS 9 iOS9 HTTP 不能正常使用的解决办法
- Leetcode64: Lowest Common Ancestor of a Binary Search Tree
- IEnumerable及IEnumerator接口
- ORACLE常用SQL语句大全