文件系统概念理解

深入理解文件系统与文件操作:从基础概念到高级用法 在计算机科学中,文件是一个抽象概念,它代表了一段有序的数据序列,被组织成可在磁盘或其他存储介质上永久保存的实体。在操作系统层面,每个文件都有唯一的文件标识符(如inode),并具有属性如大小、创建日期、权限等。:同样从文件开头或指定位置开始,连续写入数据,若文件已存在且采用覆盖模式(如"w"),则原有内容会被新写入的数据取代;在计算机世界里,文件是信息持久化和共享的重要载体。:从文件的起始位置开始,按照文件内数据的排列顺序逐字节或逐块读取,直至文件末尾。在编程中,对文件的操作始于打开文件,终止于关闭文件。 阅读详情

   最近一直在学LINUX,但是从没有真正的理解文件系统含义和作用,最近整理了一些关于文件系统的资料:        

来自百度百科:

     VFS是一个异构文件系统之上的软件粘合层(注:有时也把VFS称为可堆叠的文件系统(Stackable Filesystem),因为VFS可以无缝地使用多个不同类型的文件系统,就像把多个文件系统堆叠在一起一样,故而得名)。通过VFS,可以为访问文件系统的系统调用提供一个统一的抽象接口。  VFS最早由Sun公司提出以实现NFS(Network FileSystem,网络文件系统)。但是现在很多Unix系统都采用了VFS(包括Linux、FreeBSD、Solaris等)。  Linux下的VFS:  VFS的作用就是采用标准的Unix系统调用读写位于不同物理介质上的不同文件系统。VFS是一个可以让open()、read()、write()等系统调用不用关心底层的存储介质和文件系统类型就可以工作的粘合层。在古老的DOS操作系统中,要访问本地文件系统之外的文件系统需要使用特殊的工具才能进行。而在Linux下,通过VFS,一个抽象的通用访问接口屏蔽了底层文件系统和物理介质的差异性,每一种类型的文件系统代码都隐藏了实现的细节。因此,对于VFS层和内核的其它部分而言,每一种类型的文件系统看起来都是一样的,在Linux中,VFS采用的是面向对象的编程方法。


以下是来自csdn论坛:

编译进内核,就是直接在vmlinuz里面有代码了。在引导的时候就可以直接使用。

如果是模块的话,在引导的时候需要借助initrd那个虚拟文件进行预加载,然后给内核引导用。

同时模块还可以在内核已经运行了的情况下insmod和modprobe或者进行操作。就如同Windows中的驱动类似,但是免除了重启这个繁琐的步骤。


文件系统这个词理解比较混淆,其实应该分两个部分:一部分是软件,就是如何识别和操作特定的文件系统格式,这部分一般来说是在内核里面,比如你如果要支持FAT32,你就要把FAT32的支持编译到内核里面。

另外一部分是硬件或者说介质,即按照某个文件系统的格式把一些数据放到介质的某个区域,比如以存储在内存里面的cramfs的根文件系统为例,需要在内存的某个区域按照cramfs的格式把根文件系统放在那里,同时通过命令行或者其它方式告诉内核内存的那个区域存储有cramfs的数据,内核就会用cramfs对应的软件(就是第一部分)来解释和操作这些数据。

就整个嵌入式系统而言,可以分为三个部分1.uboot 2.kernel 3.文件系统。其中kernel中以VFS去支持各种文件系统,如yaffs,ext3,cramfs等等。所谓的yaffs,就个人理解为一种管理物理介质的系统,如NAND FLASH,而在内核中以VFS来屏蔽各种文件系统的接口不同,以VFS向kernel提供一个统一的接口。如打开一个文件时统一使用open,写时采用write,而不用去考虑是那种文件系统,也不用去考虑文件系统是如何将数据写入物理介质的。其中 kernel中的配置,只是让VFS支持这种接口。以上是个人理解,如有错误请各位指教。



Linux——bootloader、内核、文件系统的基本概念与关系理解 根据大牛的对话整理,仅用于参考学习: 1、Linux内核和文件系统之间,什么关系?没有文件系统,Linux能运行不能运行? 可以有也可以没有,Linux这个操作系统,很奇怪!必须要挂一个文件系统!像有些操作系统,比如Vxworks就不需要,uCos也不需要,但是,Linux必须要挂个文件系统!! 2、Linux什么时候挂载文件系统呢?是在一开始就挂载呢,还是最后才挂载? ... 阅读详情

相关推荐

文件系统的基本概念与关系理解——嵌入式

嵌入式系统广泛应用于各个领域,而文件系统作为嵌入式系统中的一项重要功能模块,扮演着数据存储、管理和访问的角色。本文将介绍文件系统的基本概念,包括文件、目录、文件属性等,并探讨文件系统与嵌入式系统之间的关系。在嵌入式系统中,文件系统的应用范围广泛,包括存储管理、文件访问、目录管理和文件保护等方面。文件是信息的载体,通过对文件的操作,可以读取、写入、修改和删除其中的数据。为了更好地理解文件系统在嵌入式系统中的应用,下面我们提供一个简单的示例代码,演示如何在嵌入式系统中使用文件系统进行文件读写操作。

WangWEel的博客 201

Wrapfs : a stackable file system(一种堆栈式文件系统)

wrapfs

Fybon的专栏 6884

ROS学习(1)-ROS架构及概念之理解ROS文件系统级

3)功能包清单提供关于功能包许可证、依赖关系、编译标志等的信息,写入功能包下的package.xml文件中,也就是说该xml文件必须在每个功能包中。这是因为新的功能包会使用其他包的一些功能。(4)元功能包多个功能包组织到一起,称为元功能包或综合功能包。(1)工作空间工作空间就是一个文件夹,其中包含功能包,功能包又包含源文件和环境或工作空间,从而提供编译这些功能包的一种方式。(5)元功能包清单类似于功能包清单,但有一个XML格式的导出标记,同样写入一个package.xml文件中。...

韩若熙的博客 2197

5-2 文件系统及其功能

本节要点 文件系统的概念 文件系统的功能 文件系统的组成 文件系统的概念 文件系统是操作系统中负责存取和管理信息的模块,它用统一的方式管理用户和系统信息的存储、检索、更新、共享和保护,并为用户提供一整套方便有效的文件使用和操作方法 文件系统是操作系统中管理文件的机构,提供文件存储和访问功能。 目录是由文件说明索引组成的用于文件检索的特殊文件。 文件系统中的文件 文件这一术语不但反映了用户概念中的逻辑结构,而且和存放它的辅助存储器(文件存储器)的存储结构紧密相关 所以,同一个文件

weixin_45138590的博客 5924

Unionfs深度解析:Plan 9联合文件系统技术实战

Unionfs 是一种联合文件系统(Union File System),其核心设计理念在于将多个物理或逻辑文件系统层级合并为一个统一的虚拟文件系统视图。这种机制允许用户在不修改原始数据的前提下,对文件进行临时修改和覆盖,广泛应用于镜像管理、系统快照、以及容器技术中。Unionfs 的设计初衷源自对系统灵活性与资源隔离的高要求。它通过多层挂载机制,实现只读层与读写层的分离,从而支持写时复制(Copy-on-Write)等特性。这不仅提升了系统的安全性和稳定性,也为轻量级虚拟化提供了基础支撑。

weixin_31688273的博客 1001

解密携程风控:user-dun算法中的自定义base64与多模式加密机制剖析

本文深入剖析了携程旅行APP风控核心组件libduncode.so中的user-dun算法。文章重点解密了其采用的自定义Base64编码机制与多模式加密选择逻辑,并详细阐述了如何通过动态分析与静态还原,理解算法与设备指纹的深度绑定关系,为逆向分析类似混淆加固的风控算法提供了系统的方法论。

weixin_29323049的博客 340

文件系统

一. 文件系统基本概念 文件系统和文件 文件系统:一种用于持久性存贮的系统抽象,是操作系统用于明确存储设备或分区上的文件的方法和数据结构,即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件结构称为文件系统。 文件:文件系统中一个单元的相关数据在操作系统中的抽象 文件系统功能 文件系统为文件分配磁盘空间,管理一个文件存在磁盘的什么位置;管理空闲空间,知道没存数据的数据块在什么位...

weixin_43864534的博客 1309

syslog RFC5424协议详解

RFC5424协议解读与报文分析。

chenwr2018的博客 6690

【OS】“ 文件系统 ” 中这些概念可以这样理解

1、聊一聊 今天为大家重磅推荐一首纯音乐<菊次郎的夏天>,80%的小伙伴都听过,不过应该没几个人知道这个旋律的名字,其对应的电影也是让人笑着看完、哭着回味,大伙有时间值...

最后一个bug的博客 435

Vue2+OpenLayers动态绘制两个经纬度并计算距离(提供Gitee源码)

动态绘制两个经纬度并计算它们之间的距离。

黄团团的个人博客 365

低轨通信 | 手机直连低轨卫星通信:架构、关键技术与未来展望

手机直连低轨卫星通信正推动人类进入"全域连接"时代。当中国星网GW星座与千帆星座的万颗卫星点亮夜空,当普通智能手机在珠峰之巅仍能流畅视频通话,当远洋渔船通过卫星物联网实现精准捕捞——这些场景不仅重构通信产业格局,更将深刻改变人类生产生活方式。正如工信部《指导意见》所规划,到2030年我国将发展超千万卫星通信用户,催生万亿级新市场[1][5]。在这场太空基建竞赛中,技术创新与标准制定的双重突破,将决定未来数字文明的星空版图。

尘世冰封的专栏 937

理解文件系统中inode的概念

理解文件系统中inode的概念 概念:inode就是索引节点,它用来存放档案及目录的基本信息,包含时间、档名、使用者及群组等 inode 是 UNIX 操作系统中的一种数据结构,其本质是结构体 在 Linux 中,索引节点结构存在于系统内存及磁盘,其可区分成 VFS inode 与实际文件系统的 inode。 VFS inode 作为实际文件系统中 inode 的抽象,定义了结构体 inode...

wsq119的博客 1595

2024年数字IC秋招-格科微-数字电路设计工程师-笔试题

笔试题型:简答题(9个)笔试平台:牛客(电脑监控)笔试时间:2h。

qq_42135020的博客 1605

【Linux篇】深入理解文件系统:从基础概念到 ext2 文件系统的应用与解析

本文介绍了文件系统的基本概念及其在操作系统中的重要性。文件系统通过分区、块、inode等结构管理磁盘上的数据,并提供高效的数据存储与访问方式。重点讲解了ext2 文件系统,介绍了其基本架构、块组(Block Group)的设计与作用,以及 超级块、GDT、inode 位图 和 数据块等组成部分。文件路径解析和文件名映射也被详细说明,强调了操作系统如何通过 inode号定位文件数据块。最后,介绍了如何挂载分区,使不同存储设备的数据能与文件系统结构连接,便于访问和管理。路虽远,行则将至;事虽难,做则必成。

braveact的博客 1969

软考高级-系统架构设计师 知识点整理 (一篇就够了 建议收藏)

软考高级-系统架构设计师知识点整理---十万字总结,助你通过高级

片言可决讼,半纸能缚龙 7342

Python 3.13.7 (64-bit)安装弹窗提示:Setup failed:0x80070643 - 安装时发生严重错误...如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 2113

概念理解:磁盘、磁盘分区、文件系统、挂载点、目录

Linux系统中,磁盘存储管理遵循"硬盘→分区→文件系统→挂载点→目录→文件"的层级关系。物理磁盘被划分为多个逻辑分区,每个分区通过格式化创建特定文件系统(如ext4/xfs)。文件系统必须挂载到目录树中的挂载点(空目录)才能访问,卸载后原目录内容恢复。一个分区只能挂载到一个目录,但可通过绑定挂载实现多位置访问。根目录/是最基础的挂载点,系统启动时通过/etc/fstab配置文件自动挂载必要分区。这种设计实现了对存储资源的统一管理和访问。

ccysjy的博客 644

ENVI_基于无人机数据的果树提取与相对健康监测

一、数据处理 1.计算植被指数VDVI或GDVI:Band Math / Spectral Indices 2.制作掩膜:ROI——Threshold——Subset 二、单地块果树提取 1.绘制感兴趣区shp 2.确定果树提取参数:Count Crops 3.输出果树矢量文件:Convert Crops To Shapefile 4.果树相对健康程度分析:Calculate Crop Me...

提供技术服务、资源分享 429690771 1398

如何理解Linux文件系统中的 挂载 的概念?

使用 df -h 命令, 如下, 最后一列会显示 挂载点, 心存疑惑的我, 一直在想这个挂载点是什么意思? $ df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 5.8G 0 5.8G 0% /dev tmpfs 5.8G 0 5.8G ...

DJH2717的博客 967

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

新手入门操作系统:用快马生成文件系统模拟程序理解核心概念

最让我惊喜的是,完成开发后可以直接一键部署,生成可分享的演示链接。今天想和大家分享一个特别适合操作系统新手的学习方法——通过动手实现一个简易文件系统模拟程序,来理解那些抽象的概念。平台还提供了实时预览功能,可以立即看到操作结果,这对理解文件系统的工作机制很有帮助。通过这样的小项目实践,我发现自己对文件系统的理解比单纯看书深刻多了。建议每个操作系统初学者都尝试用代码实现一些核心机制的简化版本,这绝对是事半功倍的学习方法。文件系统是操作系统的核心模块之一,它管理着磁盘空间的分配、文件的组织方式等。

EmeraldWolf23的博客 90

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

4、HDFS分布式文件系统的基本概念理解

HDFS: Hadoop Distributed file System Hadoop分布式文件系统,主要用来解决海量数据的存储问题。 它是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件。其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器都有各自清晰的角色定位 。 设计思路: 将大文件,大批量文件,分布式的存储在大量(廉价)的服务器上。以便于采取分...

Jalen big data analysis的博客 876

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

linux 文件挂载是什么,如何理解Linux文件系统中的 挂载 的概念?

使用 df -h 命令, 如下, 最后一列会显示 挂载点, 心存疑惑的我, 一直在想这个挂载点是什么意思?$ df -h文件系统 容量 已用 可用 已用% 挂载点devtmpfs 5.8G 0 5.8G 0% /devtmpfs 5.8G 0 5.8G 0% /...

weixin_39742471的博客 1080

理解文件系统/inode的概念/磁盘/软硬链接

本文目标:⭐理解文件系统中inode的概念⭐认识软硬链接,对比区别。讲解了文件系统,加深了对文件的理解,与此同时对于磁盘的理解也有很大的帮助!

wjmhlh的博客 893

别再死记硬背了!用这3个日常比喻,5分钟理解文件系统核心概念

本文通过图书馆、快递仓库和停车场三个生活场景,生动解释了文件系统的核心概念,如inode、目录项和数据块组织。这些比喻帮助读者轻松理解技术原理,提升日常文件操作的效率,适用于开发者和普通用户。

weixin_42548893的博客 352

【Docker】6、镜像概念、联合文件系统、加载原理、分层理解、提交镜像

1、镜像是什么? 镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,包含运行某个软件所需的所有内容,包括代码、运行时库、环境变量和配置文件 2、镜像加载原理 1)UnionFs (联合文件系统) Union文件系统(UnionFs)是一种分层、轻量级并且高性能的文件系统,支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下( unite several directories into a single virtual filesy

土味儿 541
上一篇: lsof简介
下一篇: Linux的地址空间
LinuxJoey
博客等级 码龄15年 117粉丝 25原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值