Notes
Lecture 6
---------
Plan 9
- WORM (think CD-R or DVD-R)
- optical media that can be written to once and then read
many times
- hence "jukebox"
- networking & context
- plan 9 is amazing
- how useful is plan 9 to the web?
- I remember before Mosaic, the first popular web browser
- would download files from anonymous ftp sites
- research papers, software, random text files
- send email
- instant messaging on campus
- commercial walled gardens of online content (Compuserve, AOL)
Plan 9 would have been amazing in the early 1980's, and maybe could have displaced UNIX. By the late 1980's and early 1990's UNIX was too entrenched to easily displace
- breaking backwards compatibility was too much
For a really cool UNIX workstation, see NeXT
- Plan 9 was never going to take over if it required people to
throw out their existing software
- it was aggressively incompatible with UNIX
- problem wasn't devices, it was having to port software
- Plan 9's interfaces were much cleaner, but nobody wants
to port code if they don't have to
POSIX is UNIX standards documents
Plan 9 was very influential
- cool ideas got ported to systems people used, particularly Linux
- UTF-8
- /proc
Also, how did they do network I/O again?
- TCP or UDP? nope!
- IL/IP (reliable message transport)
- P9 (just a protocol, but what a protocol)
- file server protocol, but...
- in Plan 9 EVERYTHING is a file!
- so lets you share everything!
UNIX was developed at Bell labs, but TCP/IP wasn't
- that was built by (D)ARPA-funded folks, particularly
at Berkeley
- they hacked networking into UNIX
- and the UNIX developers didn't like how they did it
- Plan 9 was their attempt to fix what had been messed up
- and they failed
(they were too late)
In UNIX, networking uses a different API than files
- but WHY the Plan9 folks say, you could have followed
what we did with UNIX and just made it more files!
- and what is annoying is sockets are kinda file like,
sometimes...
Evolution wins generally over revolution
- incremental change is just easier
Could you ssh to a Plan9 system? What sort of interface would you get?
- did Plan 9 support terminals very well? (pure text interfaces)?
Plan 9 was focused on GUIs in a distributed context
- but we found we wanted text interfaces for our servers!
Oddly enough the old choices UNIX made to support a variety of text interfaces made it well suited to the web and the cloud
- allowed for easy remote devel and deployment at scale
Note there isn't much provision for accessing the Plan 9 systems of other people
Plan 9 was a solution to old problems, not the new problems that came in the early to mid 90's with the explosion of the web
- didn't help build web servers or their database back ends
- and clients were accessing the network with http and a browser,
not 9P
- people didn't want to share computers, they wanted to share
cute web pages with animated cats