文件操作的主要接口API

来源:互联网 发布:mac imovie 编辑:程序博客网 时间:2024/06/05 15:07

《朱老师物联网大讲堂》学习笔记

学习地址:www.zhulaoshi.org


学习一个操作系统,就是学习如何使用这个操作系统的API,

就好像练习一个新英雄,要学会使用他的技能,并结合召唤师峡谷环境特点,发挥你的实力。


操作文件,得先open,得到文件描述符,

若没有open成功,无法得到文件描述符,也就无法操作,

在进行read,write等操作后,要close文件。


文件平时是存储在块设备中的文件系统中的,此时是静态文件,

open后,内核在进程中建立一个打开文件的数据结构,记录下我们打开的文件,

同时内核在内存中申请一段内存,将静态文件的内容从块设备中读取,存放到内存中来管理操作,此时是动态文件,

我们进行读写操作的对象是这个动态文件,所以最后要close以保存文件到块设备中。


为什么要这么设计?

块设备得整块操作,哪怕你操作一个字节,也得从头开始读取数据,

内存的特性是以字节为单位随机操作的,想访问哪个字节就访问哪个字节。


文件描述符

实质是一个数字,在进程中有特定的含义,

与内存中打开文件的数据结构联系起来,

通过这个“数字”来操作文件,

其作用域是当前进程。


open

close

write

read

lseek





0 0