Linux基础(5):Linux文件操作与系统调用

本文章为本人在学习野火开发板时的笔记记录。

在Linux系统中有一个重要的概念:一切皆文件,它把一切资源都看作是文件,包括硬件设备,通常称为设备文件。前面我们也尝试过通过脚本读写文件的方式,实现了对硬件的访问。所以如果不了解Linux的文件操作,那想要点亮开发板的LED灯都费劲!

本章通过C标准库及系统调用的方式操作文件,揭示用户应用程序、C标准库与系统调用之间的关系。

本章的示例代码目录为:base_code/linux_app/file_io。

1. 存储设备文件系统

提到文件系统时,我们首先想到的通常是Windows下的FAT32、NTFS、exFAT以及Linux下常用的ext2、ext3和ext4的类型格式。这些文件系统都是为了解决如何高效管理存储器空间的问题而诞生的。

从EEPROM、Nor FLASH、NAND FLASH、eMMC到机械硬盘,各种各样的存储器本质就是具有多个能够 存储0和1数据单元的设备,存储内容时,程序需要直接访问这些存储单元的物理地址来保存内容。这样直接 存储数据会带来极大的不便,如难以记录有效数据的位置,难以确定存储介质的剩余空间,以及应以何 种格式来解读数据。就如同一个巨大的图书馆无人管理,杂乱无章地堆放着各种书籍,难以查找。

为了高效地存储和管理数据,文件系统在存储介质上建立了一种组织结构,这些结构包括操作系 统引导区、目录和文件,就如同图书馆给不同类的书籍进行分类、编号,放在不同的书架上。不同的管理 理念引出了不同的文件系统标准,上述的 FAT32、 NTFS、 exFAT、ext2/3/4就是指不同类型的 标准,除此之外,还有专门针对NAND类型设备 的文件系统jffs2、yaffs2等等。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值