linux下的read函数、write函数是属于直接I/O,为什么函数原型的第二项就是要将数据放到输入缓冲区内呢?

直接I/O不是不需要经过缓冲区,直接在内核跟磁盘进行读写吗?我还没有学习过linux内核,所以有些地址知识不太明白~~求解... 直接I/O不是不需要经过缓冲区,直接在内核跟磁盘进行读写吗?
我还没有学习过linux内核,所以有些地址知识不太明白~~求解
展开
 我来答
IT冷香小筑
2014-04-10 · 超过15用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:26.1万
展开全部
函数原型第二项是一个形参,不是你理解的那样子哦,在read的时候,这个参数相当于一个容器,用来存放你从磁盘文件中读到的数据;在write的时候,这个参数存放我们要写入到磁盘文件中的数据。有了这个参数我们才能在自己写的程序中对它处理,比如打印显示。还有read、write属于系统调用函数,跟printf这种c库函数不同,它们是直接跟内核打交道的没错。
如果爱忘鸟
2014-08-25 · 超过22用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:37万
展开全部
像read及write函数的最终目的,从直观的角度来讲,无非就是将数据在硬盘及内存中倒来倒去,所以就必须要有一个参数用来指定内存的起始地址,这样一讲,在直观上楼主是不是好理解一些?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式