Node IO 缓存区的作用
node 提供了readFile,createReadStream,writeFile,createWriteStream来对文件进行读写,但是文件的内容并不是直接到用户或者磁盘的手中,而是中间会有一个缓存区,这个缓存区是干什么的,为什么我们需要这个缓存区,这就是本篇博文需要讨论的问题。
为什么我们需要缓存区
在我们读取文件的时候,根据程序提取需要启动的设备的相对号,然后由操作系统根据设备的使用情况和损坏情况拿到需要启动的设备的绝对号,决定需要启动哪个io设备,此时,cpu会通知相应的通道,通道通过CAW拿到相应的通道指令,再由通道通知相应的设备管理器,启动设备。
简单的流程大概如下
假如用户需要读取在磁盘上的data.txt 文件,如果直接读取内容到内存的话,那么首先node主进程会先指明需要读取文件,此时,系统会产生一个中断,node 主进程挂起进入等待状态,cpu通知通道通知相应的io设备,io设备读取到相应的数据之后传送到内存,这时,系统又会产生一个中断,刚刚挂起的node进程占用cpu,读取相应的数据进行处理,由于io设备是一个