linux文件系统、文件系统结构、虚拟文件系统

参考: linux文件系统、文件系统结构、虚拟文件系统

目录

文件系统概述

学术定义

文件系统种类

什么是分区

文件系统结构

虚拟文件系统(Virtual File System)(VFS)

是什么?

有什么作用?

从系统编程,从上层到底层来看


一、文件系统概述

在这里插入图片描述

在这里插入图片描述

学术定义

文件系统是操作系统用于明确存储设备的文件和数据结构,即在存储设备上组织文件的方法

文件系统种类

文件的格式又有FAT,HFS,…

常见的:

vfat:        boot (bootloader,kernel)
ext4:        根目录
tmpfs:   内存文件系统

什么是分区

windows对于分区的管理较为“随意”,因为其面向普通PC用户。C,D盘随意存放文件。而linux较为严格,按照功能来分区,大多面向开发者。

嵌入式系统可分为4个区:

bootloader:启动代码
para:启动代码向内核传递参数的位置
kernel:内核分区(前面内核编译时SD卡映射的data1)
根分区/根目录:文件系统结构(前面内核编译时SD卡映射的data2)

二、文件系统结构

Linux文件系统与目录结构 - DreamDZhu - 博客园 (cnblogs.com)

        在Linux系统中,目录被组织成一个单根倒置树结构,文件系统从根目录开始,用/来表示,是按照功能划分的。 

 /根目录,位于Linux文件系统目录结构的顶层,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中

 /bin : 提供用户使用的基本命令, 存放二进制命令,不允许关联到独立分区,OS启动会用到里面的程序

/boot:用于存放引导文件,内核文件,引导加载器

/sbin:管理类的基本命令,不能关联到独立分区,OS启动时会用到的程序(重要的命令通常处于bin,不重要的则安装在sbin)

/lib:存放系统在启动时依赖的基本共享库文件以及内核模块文件. 系统使用的函数库的目录 也存放了大量的脚本库文件 ,程序在执行过程中,需要调用时会用到

/lib64:存放64位系统上的辅助共享库文件

/etc: 系统配置文件存放的目录,该目录存放系统的大部分配置文件和子目录,不建议在此目录下存放可执行文件

三、虚拟文件系统(Virtual File System)(VFS)

什么是vfs以及vfs的作用

是什么?

VFS是对各种文件系统的一个抽象,它为各种文件系统提供了一个通用接口

有什么作用?

        文件对应的分区可能不一样,有的来自ext4,或者tmps。即为文件系统的类型可能不一样,数据存储的方式不一样,访问方式也就不一样,没办法做到操作统一化,给编程开发带来困难。

        而虚拟文件系统的存在正是解决了这个问题:简化上层应用程序员的开发,不管是什么文件类型,磁盘还是设备,通通都是用open,read,write统一操作。

从系统编程,从上层到底层来看

如果从分区的角度,串口操作的就是/dev;普通文件如 .config在ext4上;共享内存 tmpfs dev/shm…

之前所学的Linux系统编程,各种应用层的知识,vfs都提供了帮助。

在这里插入图片描述

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值