2021-07-23嵌入式学习---文件系统
1、文件系统文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统。文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。2、文件系统的种类FAT、VFAT、NTFS、EXT1/2/3/4 、HFS…FAT是文件配置表,
1、文件系统
文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统。
文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。
2、文件系统的种类
FAT、VFAT、NTFS、EXT1/2/3/4 、HFS…
FAT是文件配置表,FAT文件系统限制使用8.3格式的文件命名规范,这就是说,在一个文件名中,句点之前部分的最大长度为8个字符,句点之后部分的最大长度为3个字符。FAT文件系统中的文件名必须以字母或数字开头,并且不得包含空格。此外,FAT文件名不区分大小写字母。
VFAT,虚拟文件分配表(VFAT )是Windows 95/98等以后操作系统的重要组成部分,它主要用于处理长文件名。VFAT的功能类似于一个驱动程序,它运行于保护模式下,使用VCACHE进行缓存。
NTFS文件系统是一个基于安全性的文件系统,是Windows NT所采用的独特的文件系统结构,它是建立在保护文件和目录数据基础上,同时照顾节省存储资源、减少磁盘占用量的一种先进的文件系统
Ext是 GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计。
分层文件系统(Hierarchical File System,HFS)
树莓派查看文件系统的指令:df -T
vfat:基于磁盘文件,boot相关(BootLoader、kernel)
ext4:基于磁盘文件 根目录
tmpfs:内存文件系统
3、分区
Windows:C盘系统位置
Linux:按照功能来区分,每个分区严格存放文件
嵌入式系统可以分4个区
BootLoader:启动代码
para:启动代码向内核传递参数的位置
kernel:内核分区
根分区:文件系统结构
4、文件系统目录结构
必读参考链接https://www.cnblogs.com/ddz-linux/p/10458383.html
在Linux系统中,目录被组织成一个:单根倒置树结构,文件系统从根目录开始,用/来表示。文件名称区分大小写( 大小写敏感还需要看具体的文件系统格式 ),以.开头的为隐藏文件,路径用/来进行分割(windows中使用\来分割),文件有两个种类:元数据与数据本身.在操作linux系统时,通常会遵循以下的分层结构规则:
LSB(Linux 标准基础)/ FHS(文件系统层次标准)
1.文件系统结构
/:根目录,位于Linux文件系统目录结构的顶层,根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中。
/bin : 提供用户使用的基本命令,OS启动会用到里面的程序。
/boot:用于存放引导文件,内核文件,引导加载器.
/sbin:管理类的基本命令,不能关联到独立分区,OS启动时会用到的程序(重要的命令通常处于bin,不重要的则安装在sbin)。
/lib:存放系统在启动时依赖的基本共享库文件以及内核模块文件. 系统使用的函数库的目录 也存放了大量的脚本库文件
/lib64:存放64位系统上的辅助共享库文件.
/etc: 系统配置文件存放的目录
/home:普通用户主目录,当新建账户时,都会分配在此,建议单独分区,并分配额外空间用于存储数据。
/root: 系统管理员root的宿主目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。
/media:便携式移动设备挂载点目录.
/mnt:临时文件系统挂载点.
/dev: 设备(device)文件目录,存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,存放连接到计算机上的设备(终端、磁盘驱动器、光驱及网卡等)的对应文件 (b 随机访问,c 线性访问)
/opt:第三方应用程序的安装位置.
/srv: 服务启动之后需要访问的数据目录,存放系统上运行的服务用到的数据,如www服务需要访问的网页数据存放在/srv/www内。
/tmp:存储临时文件, 任何人都可以访问,重要数据一定不要放在此目录下。
/usr: 应用程序存放目录,/usr/bin 存放保证系统拥有完整功能而提供的应用程序, /usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件,/usr/local 存放软件升级包,第三方应用程序的安装位置,/usr/share/doc 系统说明文件存放目录。
/var :放置系统中经常要发生变化的文件,如日志文件。/var/log 日志目录及文件./var/tmp:保存系统两次重启之间产生的临时数据.
/proc: 用于输出内核与进程信息相关的虚拟文件系统,目录中的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间
/sys : 用于输出当前系统上硬件设备相关的虚拟文件系统.
/selinux:存放selinux相关的信息安全策略等信息.
文件颜色显示不同,代表了不同的文件格式。(以下为默认格式,可以自定义)
蓝色 -> 文件夹。
绿色 -> 可执行文件
红色 -> 压缩文件
浅蓝色 -> 链接文件
灰色 ->其他文件
5、虚拟文件系统
虚拟文件系统(VFS)是物理文件系统与服务之间的一个接口层,它对Linux的每个文件系统的所有细节进行抽象。
简化了应用程序员的开发,不管是什么文件类型,不管文件是磁盘还是设备,都是只用open、write、close统一操作。
VFS的功能包括:纪录可用的文件系统的类型;将设备同对应的文件系统联系起来;处理一些面向文件的通用操作;涉及到针对文件系统的操作时,VFS把它们影射到与控制文件、目录以及inode相关的物理文件系统。
更多推荐
所有评论(0)