当前位置:  技术问答>linux和unix

管道与文件有区别吗

    来源: 互联网  发布时间:2016-01-17

    本文导语:  如题 | 肯定有的。 具体的, 找 《Unix环境高级编程》 看看 | 管道是一种特殊的文件,通过共享同一inode所指向的页面来达到进程间通信的目的,该页面不存在与真实的文...

如题

|
肯定有的。

具体的, 找 《Unix环境高级编程》 看看

|
管道是一种特殊的文件,通过共享同一inode所指向的页面来达到进程间通信的目的,该页面不存在与真实的文件系统中

|
管道有一种是命名管道,可以两个程序对它进行读写。管道一般都是在内存中的,这样速度比较快。

|
管道分为无名管道和有名管道,其中无名管道不属于任何文件系统,只存在于内存中,它是无名无形的,但是可以把它看作一种特殊的文件,通过使用普通文件的read(),write()函数对管道进行操作,
  有名管道是有名有形的,为了使用这种管道,LINUX中设立了一个专门的特殊文件系统--管道文件,它存在于文件系统中,任何进程可以在任何时候通过有名管道的路径和文件名来访问管道。但是在磁盘上的只是一个节点,而文件的数据则只存在于内存缓冲页面中,与普通管道一样。
  参考华清远见提供的嵌入式培训教材〈嵌入式LINUX应用开发详解〉

|
支持楼上两位观点
以下:补充   
    管道是LINUX IPC的最老形式,管道有两种限制:
(1) 它们是半双工的,数据只能在一个方向上流动。
(2) 它们只能在具有公共祖先的进程之间使用。通常,一个管道由一个进程创建,然后该进程调用fork,此后父、子进程之间就可应用该管道。
   
    文件:实质上是一个存放数据的容器。逻辑上,文件由一个以文件尾结束的连续字节流组成。物理上,文件由存储在磁盘、磁带这类介质中的一系列的数据块组成。
    Linux文件系统中,每一个存放在磁盘上的文件由两部分组成:
数据块:实际存放文件数据的磁盘块
inode:Linux内部用于描述文件特性的数据结构。inode含有关于文件的大部分信息,包括文件数据块
    在磁盘上的地址。但我们通常所关心的有如下几个:
    文件的类型:Linux文件系统有5种不同类型的文件,它们是普通文件、目录、特别文件、有名管道文件和符号文件。
    文件的属主关系:拥有此文件的用户和组。
    文件的访问权限:是否允许用户、组以及其他人读、写或执行该文件。
    文件的时间戳:文件本身被修改的时间、最后一次访问文件的时间以及最后一次修改inode的时间。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux管道问题,管道建立后如何同步?
  • 哪位大侠知道Linux里的有名管道传送数据快不快?有名管道操作的过程是否有读写硬盘的操作?
  • 1哪位大侠知道Linux里的有名管道传送数据快不快?有名管道操作的过程是否有读写硬盘的操作?
  • 怎么样以非阻塞的方式从管道中读取数据?因为我用read函数时,如果管道没有数据就会阻塞住???
  • (100)"断开的管道" 在Socket编程当中,如果我连续发送包,例如1000次,总会出现"断开的管道"的错误提示,请问如何解决
  • 管道(|)是怎么实现的?
  • 我用管道作为一个程序的标准输入时,程序报错说不是一个终端不能做为标准输入,请问怎么样管道成为它的标准输入呢???具体错误信息见内
  • 多进程通讯的管道相关问题
  • 请问何时删除命名管道哪?
  • Linux下面的"匿名管道",是否对应着某种实体?
  • 串口和管道诡异的问题,在线急等解答
  • linux进程管道通信
  • 请问如何让自己编写的Shell程序支持管道?
  • 命名管道open时被阻塞了
  • 如何实现管道和后台进程
  • 关于有名管道的权限问题?
  • 命名管道问题
  • linux 管道通信
  • IP地址数字互转 iis7站长之家
  • 请教大家一个关于管道的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3