《朱老师物联网大讲堂》学习笔记
学习地址:www.zhulaoshi.org
学习一个操作系统,就是学习如何使用这个操作系统的API,
就好像练习一个新英雄,要学会使用他的技能,并结合召唤师峡谷环境特点,发挥你的实力。
操作文件,得先open,得到文件描述符,
若没有open成功,无法得到文件描述符,也就无法操作,
在进行read,write等操作后,要close文件。
文件平时是存储在块设备中的文件系统中的,此时是静态文件,
open后,内核在进程中建立一个打开文件的数据结构,记录下我们打开的文件,
同时内核在内存中申请一段内存,将静态文件的内容从块设备中读取,存放到内存中来管理操作,此时是动态文件,
我们进行读写操作的对象是这个动态文件,所以最后要close以保存文件到块设备中。
为什么要这么设计?
块设备得整块操作,哪怕你操作一个字节,也得从头开始读取数据,
内存的特性是以字节为单位随机操作的,想访问哪个字节就访问哪个字节。
文件描述符
实质是一个数字,在进程中有特定的含义,
与内存中打开文件的数据结构联系起来,
通过这个“数字”来操作文件,
其作用域是当前进程。
open
close
write
read
lseek