DistOS 2021F 2021-09-28

From Soma-notes

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