后记:这些故事当然是我编的。我们无从得知KenThompson和DennisRitchie在设计Unix时是怎么想的。TCP/IP协议不是BillJoy一夜写成的。在此只想向这些做出巨大贡献的大神们致敬。我们现在所知道的是,在Unix/Linux上,一切都是文件、设备、套接字、管道……它们有统一的命名空间和统一的访问接口,以最小的代价实现了系统中的类型。调用非常不同的资源。当打开一个“文件”时,也会创建一个文件描述符,文件路径用于定位文件,文件描述符用于表示从“文件”读写字节流的接口。有时文件描述符也可以表示匿名管道和套接字。这时候是没有文件路径的,所以更准确的说应该是“一切都是文件描述符”当然,“一切都是文件”并不完美,因为不同的设备是不一样的。“文件”的抽象层次比较高,只能提供最基本、最通用的文件操作方式,这也是抽象要付出的代价。【本文为专栏作家“刘欣”原创稿件,转载请通过作者微信获取授权公众号coderising】点此查看该作者更多好文
