管道怎么写

 我来答
小萌教育说
2022-12-07 · TA获得超过1045个赞
知道大有可为答主
回答量:1.6万
采纳率:99%
帮助的人:227万
展开全部

管道可以用函数mkfifo()创建。

管道实现的源代码在fs/pipe.c中,在pipe.c中有很多函数,其中有两个函数比较重要,即管道读函数pipe_read()和管道写函数pipe_wrtie()。

管道写函数通过将字节复制到VFS索引节点指向的物理内存而写入数据,而管道读函数则通过复制物理内存中的字节而读出数据。当然,内核必须利用一定的机制同步对管道的访问,为此,内核使用了锁、等待队列和信号。

当写进程向管道中写入时,它利用标准的库函数write(),系统根据库函数传递的文件描述符,可找到该文件的file结构。

file结构中指定了用来进行写操作的函数(即写入函数)地址,于是,内核调用该函数完成写操作。写入函数在向内存中写入数据之前,必须首先检查 VFS索引节点中的信息。

同时满足如下条件时,才能进行实际的内存复制工作:内存中有足够的空间可容纳所有要写入的数据;内存没有被读程序锁定。

北京天路达
2024-11-04 广告
管道改造工程是我们北京天路达燃气管道工程有限公司的重要业务之一。我们拥有丰富的经验和专业的技术团队,致力于为客户提供高效、安全的管道改造解决方案。在管道改造过程中,我们严格遵守国家相关标准和规范,确保工程质量。同时,我们注重与客户的沟通与合... 点击进入详情页
本回答由北京天路达提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式