计算机系统中的文件系统梳理

看之前,大家动动小手点个关注,谢谢。

原文地址:计算机系统中的文件系统梳理 - 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插件包,支持对该格式化方式的储存设备的读取。

现在,根据大致思路,建立挂载点,挂载文件系统,将挂载点文件夹进行共享。(具体步骤略)

另外,甚至可以搭配内网穿透从而通过外网进行访问。

尾声

又是日常码字中的一个小细节,希望对你有所帮助。

同时祝自己生日快乐。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/513281.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过人工智能增强的对话建立有意义的联系

人工智能如何重塑我们的交流?2024年最新对话AI趋势 在技术和人类互动比以往任何时候都更加复杂地交织在一起的时代,人工智能增强的对话已成为建立有意义的联系的关键要素。 这种转变不仅关乎效率,还关乎效率。 这是为了丰富沟通的结构。 在这…

为PDF创建目录(侧边栏目录)

通过可以新建书签的pdf阅读器。 知云翻译:可以新建书签和子书签。 Adobe Acrobat:只能新建书签,不能建立子书签。

回溯算法01-组合(Java)

1.组合 题目描述 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4]]示例 2: 输入&#x…

java 面试题总结

1锁粗化和锁消除&#xff0c;锁膨胀和锁升级的区别。 https://www.cnblogs.com/xuxinstyle/p/13387778.html .无锁 < 偏向锁 < 轻量级锁 < 重量级锁 &#xff0c;说的时候不要忘记说无锁状态 2.Map 的实现&#xff0c;线程安全的实现 1、ConcurrentHashMap在JDK 1.7…

CSS元素分类,轻松拿下offer

戳这里领取完整开源项目&#xff1a;【一线大厂前端面试题解析核心总结学习笔记Web真实项目实战最新讲解视频】 面试题 HTML 1&#xff0c;html5有哪些新特性&#xff1f; 2&#xff0c;html5移除了那些元素&#xff1f; 3&#xff0c;如何处理HTML5新标签的浏览器兼容问题…

图片中不想展现的人怎么去除?这三个方法一键去除

在旅游的过程中&#xff0c;我们总是希望能够捕捉到最美丽的风景和最有意义的瞬间。但是&#xff0c;有时拍出来的照片中却会出现一些不必要的人物&#xff0c;影响了整个照片的美观度。这时&#xff0c;我们怎么办呢&#xff1f;今天&#xff0c;就来教大家怎么把图片中不想要…

[Flutter get_cli] 配置 sub_folder:false报错

flutter get_cli 配置 get_cli:sub_folder:false报错如下 Because getx_cli_learn01 depends on get_cli from unknown source "sub_folder", version solving failed. 原因是在 pubspec.yaml文件中, get_cli:sub_folder:false要和 dependencies: xxx dev_depe…

【STM32F103】WDG看门狗

本系列在之前介绍时钟树的文章中有稍微提一下看门狗WDG&#xff08;Watch Door Dog&#xff09;。 简单来说&#xff0c;可以当成是一个计数器&#xff0c;一旦这个计数器溢出则单片机复位。因为我们需要每隔一段时间就把这个计数器的值清零&#xff08;喂狗&#xff09;。 I…

HTTP协议与HTTPS协议

HTTP协议 HTTP协议是一个无状态的协议&#xff0c; 服务器不维护任何有关客户端之前所发请求的消息。 是一种懒政&#xff0c;有状态协议就会更加复杂&#xff0c;需要维护状态&#xff08;历史信息&#xff09;,要是客户或者服务器失效,会产生状态不一致(状态前后不对称),解决…

C++ string类详解及模拟实现

目录 【本节目标】 1. 为什么学习string类&#xff1f; 1.1 C语言中的字符串 1.2 面试题(暂不做讲解) 2. 标准库中的string类 2.1 string类(了解) 2.2 string类的常用接口说明&#xff08;注意下面我只讲解最常用的接口&#xff09; 3. string类的模拟实现 3.1string类常用…

14:Hadoop数据分析|节点管理|搭建NFS网关服务

数据分析&#xff5c;节点管理&#xff5c;搭建NFS网关服务 HDFS文件系统的使用调用Hadoop集群分析数据Hadoop集群的维护增加修复节点删除节点 搭建NFS网关服务创建账户并授权在nfsgw上运行网关服务NFSGW测试 HDFS文件系统的使用 访问文件系统的两种方式&#xff1a; web页面…

基于Springboot的足球俱乐部管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的足球俱乐部管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍: 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff…