计算机系统基础II之:I/O(仅鲁棒IO)
Weiquan Huang前排声明:本系列笔记为ICS2课堂笔记,由于本人在大二下才开始电子化笔记,因此只能上传ICS2的笔记,故本节有缺失
鲁棒IO主要是为了实现IO读取的高效性和鲁棒性,高效性主要是通过缓存buffer来实现的,buffer会读取文件里面的一段内容,然后根据实际的读取需要来进行读取,如下图
实际上的I/O是基于底层IO来实现的,无论是standard还是rio,比如之前常说的文件流stream其实也是一个类buffer的东西,会根据一些条件,比如\n
fflush(stdout)
来对缓冲区的东西进行真正的写入
RIO的代码还是有意思的,可以看看:
short count
实际读取的数据小于要求的数据:
- 实际的数据量并没有要求的那么多
- 确实没读好