看之前,大家动动小手点个关注,谢谢。
原文地址:计算机系统中的文件系统梳理 - Pleasure的博客
下面是正文内容:
前言
这是一篇笔记
我之所以要选择这个话题,是因为前几天在对TF卡进行格式化的时候遇到了问题。有些专业名词的用途和含义并不了解,,故撰此文。以便对储存设备的储存原理与方法有一个大致的印象。
这应该是属于操作系统和存储管理领域的知识了。
正文
文件系统与储存设备的关系
文件系统负责在存储设备上组织数据。它定义了文件和目录的结构,使得用户和应用程序能够以逻辑方式访问和管理数据。
文件系统负责管理存储设备上的空间分配和释放。它决定如何将文件存储在存储设备上,以及如何最有效地利用可用的存储空间。
文件系统定义了文件和目录的命名规则,并提供了路径来定位这些文件和目录。这使得文件系统能够唯一标识和定位存储设备上的数据。
硬盘分区与格式化
磁盘空间,是储存数据的总物理容量。
磁盘扇区是硬盘的最小存储单位,通常是512字节或4K字节大小。硬盘在出厂时并不是已经划分好扇区,而是未经格式化的。
硬盘初始化的过程包括分区与格式化。分区是将硬盘划分为一个或多个逻辑区域,而格式化则是在每个分区上创建文件系统,以便操作系统能够管理和存储文件。
文件系统通过文件和目录的逻辑结构将磁盘扇区组织在一起。
SD卡是正常能使用的
硬盘分区表标准
主要的硬盘分区表有两种标准:MBR(Master Boot Record)和GPT(GUID Partition Table)。
MBR是一种传统的硬盘分区表标准,它位于硬盘的第一个扇区,占用512字节。MBR记录了硬盘的分区信息,包括主引导记录(Master Boot Record)和分区表条目。它最多支持4个主分区,或者3个主分区和一个扩展分区。
GPT是一种现代的硬盘分区表标准,采用了全球唯一标识符(GUID)来标识分区。GPT具有更大的容量和更多的分区支持,支持最大2^64个分区。它还提供更强的数据完整性和灵活性。
UUID(Universally Unique Identifier,通用唯一标识符),UUID的目的是在分布式系统中唯一标识实体,如计算机、文件、数据库条目等。由于UUID的生成算法采用了包含时间戳和随机数的混合策略,所以理论上可以保证在同一时空范围内的唯一性。
文件系统挂载
将文件系统与特定的目录(挂载点)关联,将存储设备或存储设备上的文件系统连接到文件系统层次结构中的特定位置,使得文件系统中的内容在该位置可见并可访问。
文件系统挂载在广义上涵盖了将各种存储设备或文件系统连接到操作系统文件系统层次结构的过程。
比如硬盘分区的挂载,其他储存设备的挂载,虚拟磁盘的挂载等等。
文件系统列举
exFAT
Extended File Allocation Table,主要用于Windows操作系统
NTFS
New Technollogy File System,主要用于Windows操作系统
EXT4
Fourth Extended File System,主要用于Linux操作系统
上面几种是较为常见的几种文件系统,其他不常见的文件系统还包括:EXT3,EXT2,FatFs,Swap等等
FatFs(FAT File System)是一个小型的、嵌入式的文件系统,特别适用于资源有限的嵌入式系统和嵌入式设备。为各种嵌入式系统提供了一种轻量级的文件系统解决方案。FatFs支持FAT12、FAT16、FAT32等FAT文件系统的变体。
Swap 文件系统 通常是用于存储虚拟内存页面的一块磁盘空间。当系统的物理内存(RAM)不足以容纳当前正在运行的程序和操作系统所需的数据时,操作系统会将一些不常用的内存页面移动到 Swap 文件系统中,从而释放物理内存供其他程序使用。
大家自行前往了解。
由于OpenWRT又属于嵌入式操作系统,其常使用的文件系统有SquashFS、JFFS2和overlayfs等。(这不重要,不想看的可以不看)
具体情况例举
这也是我写这篇笔记的原因(之前没有理解原理莫名奇妙就成功了,现在回头来看实现功能的具体过程)
有一个路由系统(OpenWRT,Linux内核),在该物理设备中插入一张SD卡(储存设备)。现想要将该设备挂载到系统硬盘的某文件夹下,使得通过Samba协议能够在局域网中无物理连接直接访问该储存设备中的文件。
/dev/mmcblk1——Linux 系统中用于表示第二个 MMC(Multimedia Card)或 eMMC(embedded MMC)设备的命名约定。MMC是一种闪存存储设备,通常用于嵌入式系统和移动设备。
如果是mmcblk1p1——则表示该储存设备中的第一个分区
/mnt——该目录通常被用来挂载临时或手动挂载的文件系统。
/mnt/mmcblk1p1——表示系统中第二个 MMC 块设备上的第一个分区被挂载到 /mnt目录下,这个路径是该文件系统在 Linux 系统中的挂载点。在这个挂载点下,你可以访问和操作 MMC 块设备上第一个分区的文件和目录。
首先,对该储存设备(同样可以是U盘,硬盘等)进行格式化。由于笔记本(Windows操作系统)不支持对EXT4格式化后的储存设备的读取,所以选择NTFS格式化,在OPENWRT上安装ntfs-3g插件包,支持对该格式化方式的储存设备的读取。
现在,根据大致思路,建立挂载点,挂载文件系统,将挂载点文件夹进行共享。(具体步骤略)
另外,甚至可以搭配内网穿透从而通过外网进行访问。
尾声
又是日常码字中的一个小细节,希望对你有所帮助。
同时祝自己生日快乐。