Linux文件系统
课程目标 1.了解文件系统的功能和特性 2.了解常用的嵌入式文件系统 3.了解Linux 支持的文件系统 4.了解虚拟文件系统(VFS) 5.掌握制作根文件系统的方法
文件系统 对一个存储设备上的 数据进行组织的机制 什么是文件系统 / usr root Etc Bin media …… 一、什么是文件系统 文件系统是对一个存储设备上的数据进行组织的机制。
文件系统 文件系统的功能和特性 1 2 3 4 5 提供用户或程序对数据管理的接口,如数据的存储和操作等 提供数据和目录的分层组织形式支持 提供文件、创建和删除功能支持 4 尽可能保证文件中数据的有效性 5 提供对不同存储设备的I/O支持 二、文件系统的功能和特性 (1)提供用户或程序对数据管理的接口,如数据的存储和操作等。 (2)提供数据和目录的分层组织形式支持 (3)提供文件、创建和删除功能支持 (4)尽可能保证文件中数据的有效性 (5)提供对不同存储设备的I/O支持
文件系统 存储介质的特殊性 安全可靠 对多任务的支持 接口的开放性和可移植性 支持多种文件类型 嵌入式文件系统是用来管理嵌入式操作系统中文件的输入、输出和操作等的功能模块,除了具有一般文件系统的功能外,还具有以下特性。 (1)存储介质的特殊性 (2)安全可靠 (3)对多任务的支持 (4)接口的开放性和可移植性 (5)支持多种文件类型
常用的嵌入式文件系统 (1)JFFS(Journaling Flash File System)文件系统就是日志闪存 文件系统。所谓日志文件系统,就是相对于普通的文件系统 增加了日志记录。它的工作过程是先写日志,再写数据,使 得当系统突然掉电再重新启动后,可以依据掉电之前的日 志把进行到一半的操作取消,保持原始数据的完整性和安全 性。 (2)CRAMFS文件系统同样是针对Flash存储设备设计的文件系 统。这种文件系统的特点是在存取文件时采用了压缩的方法, 是一种压缩的文件系统。
常用嵌入式系统 (3)JFFS2 在NOR Flash上最常挂载的是JFFS2文件系统。 JFFS2文件系统是JFFS文件系统的下一代文件系统,与JFFS 文件系统相比其最大特点在于JFFS2文件系统存储文件时经 过gzip压缩过,也就是说JFFS2也是一种压缩文件系统。 (4)YAFFS(Yet Another Flash File System)文件系统是另一 种闪存文件系统,它也是专门为Flash设计的文件系统,类似 于JFFS文件系统,但去除了一些功能以换来更快的速度和更少 的内存占用。到目前为止,YAFFS文件也是唯一一个专门为 NAND Flash优化设计的文件系统。
Linux 文件系统 一、Linux 支持的文件类型 文件类型 类型符 号 描述 普通文件 - 指ASCII文本文件、二进制可执行文件,以及硬链接文件 块设备文件 b 块输入/输出设备文件 字符设备文 件 c 原始输入/输出设备文件,每次I/O操作仅送一个字符 目录文件 d 包含若干文件或子目录 符号链接文 件 l 只保留了所指向文件的地址,而不是文件本身 管道文件 p 用于进程间通信的管道文件 套接字文件 s 套接字是方便进程之间通信的特殊文件。与管道文件不同 的是,套接字能通过网络连接使不同计算机的进程之间进 行通信
Linux文件系统 二、Linux 文件系统目录结构
Linux 文件系统 每个目录的主要功能: 目录 功能说明 /etc 存放系统配置文件 /bin 常用命令存放目录 /sbin 存放指令文件 /home 用户主目录,新建用户后,该用户的源文件默认建立在此目录下 /boot 包含内核和启动文件 /dev 设备文件存放目录(用于和底层驱动打交道) /usr 应用程序放置目录 /mnt 挂载目录 /root root /proc process /lib 常用库文件的目录 /lost+found 在该目录中可找到一些误删除或丢失文件并恢复它们
常用文件系统 Linux都支持 Linux 文件系统 MINIX EXT2/EXT3 FAT NTFS ISO9660 UDF 常用如下: (1)MINIX MINIX文件系统是Linux 最早的文件系统,也是最可靠地,但其文件系统最大只能达到64MB。 (2)EXT2/EXT3 EXT2文件系统是Linux 系统的标准文件系统,具有存储性能好、设计功能强大、兼容性好等特点。EXT3文件系统在EXT2 文件系统的格式上增加了目录功能,是EXT2文件系统的改进 版本。 (3)FAT FAT文件系统是MSDOS和Windows使用的文件系统,可以分为 FAT16和FAT32两种文件系统,FAT32比FAT16性能更强,并且 支持长文件名。 (4)NTFS NTFS文件系统是Windows NT使用的文件系统,并且可以在 Windows 2000/XP上使用。NTFS文件系统比Windows以前版本 使用的FAT文件系统拥有更好的稳定性、更高的磁盘利用率 及更好的性能。 (4)ISO9660 ISO9660文件系统是基于CDROM的文件系统,并且经过扩展 后支持长文件名。UDF是CDROM磁盘的新标准,并有可能 代替ISO9660标准,现在UDF支持DVD。 (5)UDF UDF文件系统是一种较新的基于CDROM的文件系统,并且 可以支持DVD文件格式。 Linux都支持
虚拟文件系统(VFS) 虚拟文件系统是Linux内核中的一个软件层,用于给用户空间 程序提供文件系统接口。它也提供了内核中的一个抽象功能, 允许不同的文件系统共存。 虚拟文件系统的主要设计思想是两个层次: (1)在对多个文件系统的共同特性进行抽象基础上,形成一个 与具体文件系统实现无关的虚拟层,并在此层次上定义与用 户的一致性接口 (2)文件系统具体实现层使用类似于开关表的技术进行文件系 统转接,实现各文件系统的具体细节,每个文件系统是自包 含的,包含文件系统实现的各种设施。
虚拟文件系统(VFS)
实验:BusyBox 制作根文件系统 BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet(不过它的选项比传统的版本要少); 有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。 根文件系统首先是一种文件系统,但是相对于普通的文件系统,它有特殊之处。这特殊之处在于,它是内核启动时所拦截(mount)的第一个文件系统,内核代 码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后 从中把一些基本的初始化脚本和服务等加载到内存中去运行。 了解完根文件系统的基本概念后,接下来就可以按照教材上步骤,自己动手做一个根文件系统,加深对Linux文件系统的了解。
Q&A