About
This blog is a project log for the /net virtual filesystem being developed by Rahul Murmuria under the Glendix umbrella. The project will provide Linux users with a more flexsible, powerful and simple alternative to TCP/IP Sockets.
The Glendix project is about bringing the beauty of Plan 9 from Bell Labs to the world of Linux. Some of the work already done by the Glendix project include native Plan9 binary compatibility in Linux and a few new Plan9-like system calls that are missing in Linux. Read more on Glendix on the project website ( http://www.glendix.org ).
UPDATE (5th July, 2009) : slashnet report
Why we chose to do /net ?
When UNIX was originally designed, there were no computer networks. Yes, BSD Sockets were designed first on a UNIX, but that does not imply that UNIX is the best possible design for a networking enabled operating system. Today, all operating systems – including Mac OS X, GNU/Linux, Solaris and Windows – are direct derivatives of the original UNIX first designed over 40 years ago!
So folks at Bell Labs (read Rob Pike, Ken Thompson, Dave Presotto, Phil Winterbottom, Dennis Ritchie, Brian Kernighan, et. al.) designed a new network structure, that exposes the kernel TCP/IP stack in form of filesystems to the user space, instead of the traditional Socket library approach. Plan 9 has been designed from gound up, with networking in mind, and is inherently a distributed operating system. Here’s an extract from Wikipedia:
Plan 9 does not have system calls for the multitude of communication protocols or device driver interfaces. For example
/netis the API for all TCP/IP, and it can be used even with scripts or shell tools, writing data to control files to write and read connections. Relevant sub-directories like/net/tcpand/net/udpare used to interface to respective protocols. You can implement a NAT by mounting a/netfrom a perimeter machine with a public IP, while connecting to it from an internal network of private IP addresses, using the Plan 9 protocol 9P in the internal network. Or you can implement a VPN by mounting a/netdirectory from a remote gateway, using secured 9P over the public Internet.
Follow the blog to know the current status of this project.
No comments yet.
Leave a Reply
-
Recent
- A test script to fetch over HTTP on command-line
- Where to hook onto the tcp stack?
- Basic framework ready!
- “fsnet_create” a good plan?
- Glendix on Routers?
- DNS: A hard to crack nut!
- My first /net code commited!
- Learning to write a Systhetic Filesystem on Linux
- Discussion on 9Fans
- Plan 9 Cheat Sheet
- Network internals of Plan 9
- Initial reading and analysis
-
Links
-
Archives
- April 2009 (3)
- March 2009 (3)
- February 2009 (5)
- January 2009 (1)
-
Categories
-
RSS
Entries RSS
Comments RSS