From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <43E2D41E.2040307@lanl.gov> Date: Thu, 2 Feb 2006 20:55:10 -0700 From: Ronald G Minnich User-Agent: Mozilla Thunderbird 1.0.7-1.1.fc4 (X11/20050929) MIME-Version: 1.0 To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] Van Jacobsen's network stack restructure References: <3e1162e60602020859u33554dces63757c4fdead9287@mail.gmail.com> <643d69652b15421ed5777b1d5b593599@vitanuova.com> <3e1162e60602021114mcb820feue424478b30f77d89@mail.gmail.com> In-Reply-To: <3e1162e60602021114mcb820feue424478b30f77d89@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Topicbox-Message-UUID: f19ae8f2-ead0-11e9-9d60-3106f5b1d025 David Leimbach wrote: > I have to learn more about channels and cloning in general to really > "get it" I guess. Dave, it's not that sockets are in a file system. It's that the interface to everything on plan 9 is the same -- in-kernel devices and out-of-kernel servers. So, in a very real sense, I talk to the sockets device the same way I talk to the RTC and the same way I talk over 9p to fossil -- and, hence, it looks like a file system. The set of ops for in-kernel devices looks pretty much the same as 9P ops. It's well worth reading. Here's just one example why this can be nice. Every time we've needed a new address family on Unix or Linux -- think IPV6 or Infiniband -- we have to define a new set of binary structures, and then EVERY program that uses a sockaddr or library has to be hacked to deal with it. Just note that on linux 2.6.14, ifconfig ib0 (infiniband iface) and cat /sys/class/net/ib0/address (or whatever the hell it is today) give you DIFFERENT values for the MAC address. The ifconfig is missing (IIRC) 4 octets. This would not happen on Plan 9, because the string for the MAC would come straight out of the driver -- all programs, libaries, and so on will see the same thing. No binary interface, no kludgy case-variant structs, and so on. A lot of unix or linux folks have not gotten this important point. It's not that everything goes in a file system, including device interfaces. It's that the interface to everything is the same -- including device interfaces. It's a very important distinction. It's also almost impossible to back-fit it into Unices at this point. ron p.s. I'm watching a great show on huge machines -- cranes, diggers, and so on. This looks more fun than computers to me just now. This one crane picked up the millenium bridge. Nice.