OneOS学习笔记(二) 文件系统概述

文件系统简介

1、什么是文件系统,它有什么用?

文件系统是在存储设备、内存或者网络上组织和管理文件的方法,负责文件的存储、保护和检索等操作,最主要的目的就是实现用户对数据的存储和访问。

 

2、文件系统的基本单位是文件

文件系统存储的基本单位是文件,使用文件夹来对文件进行管理。

在Windows下,\表示根目录,目录以右斜杠\”来分割

 

Linux下一切皆文件。

 

3.常见的文件系统类型

在Windows下常遇见的文件系统有FAT16、FAT32、 exFAT、 NTFS等;

在Linux下常遇见的文件系统有FATFS、ext3、 ext4、 swap、NFS等;

APFS是Mac电脑默认使用的文件系统。

本地文件系统

对于本地存储空间(比如硬盘、U盘、SD卡、 EEPROM、FLASH、 eMMC)进行管理的文件系统。如ext3、ext2、 ext4、 NTFS、FAT16、 FAT32等。

 

网络文件系统

NFS (Network File System)即网络文件系统,通过TCP/IP网络的方式来访问远程设备上的文件系统,常见的,比如NFS和SMB (samba) ,通过网络文件系统可实现资源的共享。

 

虚拟文件系统

虚拟文件系统(Virtual File System, VFS)可以支持多种文件系统,它以统一的数据结构管理各种文件系统,屏蔽了底层各种文件系统的差异,并提供统一的接口, 用户不需要关心不同文件系统的差异即可完成对文件系统的操作。

 

4、OneOS文件系统框架

 

5.OneOS文件系统

(1)、FATFS——是一个兼容微软FAT格式的通用FAT文件系统模块,非常适合小型嵌入式设备开发。

(2)、CUTEFS——一种小巧的文件系统,支持各种文件及目录操作,目前需要配合RAMDISK使用。

(3)、DEVFS——设备文件系统,可以将系统中的设备在/dev文件夹下虚拟成文件。

(4)、NFS——网络文件 系统,可以访问远程服务器上的文件 系统。

(5)、JFFS2——是一种日志型文件系统,主要用于NOR FLASH,支持数据压缩、 磨损均衡、垃圾回收等机制。

(6)、YAFFS2——是一种针对NAND FL ASH特性而设计的嵌入式文件系统,也是一种日志型文件系统,支持磨损均衡、垃圾回收等机制。

(7)、LittleFS——ittleFS是为MCU等级嵌入式应用场景而设计的小型FL ASH文件系统,特别针对资源受限场景设计,有着效率高、占用资源小、掉电可恢复,均匀FLASH块写入磨损等的特点。

{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/5820618/blog/5550062