From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <10679.23523.qm@web83903.mail.sp1.yahoo.com> Date: Mon, 11 Oct 2010 11:43:47 -0700 From: "Brian L. Stuart" To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="0-1797106912-1286822627=:23523" Subject: Re: [9fans] So, why Plan 9? Topicbox-Message-UUID: 61ac4028-ead6-11e9-9d60-3106f5b1d025 --0-1797106912-1286822627=:23523 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable > Oh, and most of the Plan 9 tools were first made > available to use outside the Plan 9 OS through > Russ Cox's plan9 in user space effort > (http://swtch.com/plan9port/). And there's the > virtualisation project vx32 that includes Plan 9 > as an example. Not sure how they fit into a > holistic view. They're more like pragmatic > ways forward when you can't (or don't want > to) run a stand alone OS. I'm probably not the best person to try to present the holistic view, but I will anyway.=A0 To understand where Plan 9 came from, we first have to understand how UNIX developed.=A0 In the late '80s, UNIX was about 20 years old and had not aged too gracefully.=A0 In particular, as Sun said, the network had become the computer, and UNIX networking was kind of bolted onto the side of the system.=A0 Similarly, graphical interaction had become ubiquitous well after UNIX had originally been designed. The way I like to describe it is that the Bell Labs guys at this time decided to take 20 years of UNIX experience and start over again and do it right, applying that experience.=A0 The result was Plan 9. There are 5 main approaches to having the Plan 9 experience. First, the "real" Plan 9 experience requires a network of machines including file servers, CPU servers, and terminals.=A0 Of course, the original Plan 9 systems ran natively on bare hardware, and it still happily runs on a lot of hardware.=A0 The biggest problem with just grabbing a bunch of random hardware and running Plan 9 on it is the problem of drivers for random PC hardware.=A0 But a lot of us do run Plan 9 on bare hardware and it's a refreshing experience after years of UNIces.=A0 I should also point out that Plan 9 has from the very beginning been built around running on a variety of hardware and today runs on everything from tiny gumstix machines to Blue Gene/P. The second major approach is running Plan 9 on simulators and virtual machines.=A0 Most of us have had varying degrees of success running Plan 9 "networks" on instances of qemu or vmware or xen or...=A0 This is a pretty good way to mitigate the hardware support issues.=A0 It's also a nice way to set up and test distributed things while sitting with a single laptop in a hotel room. If you have a real Plan 9 cpu server, but don't have a Plan 9 terminal for accessing it, you can use the application drawterm.=A0 It is an interesting modification of the Plan 9 kernel running as an X11 application.=A0 Unlike a real terminal, it doesn't run any Plan 9 applications locally on the terminal, but it does give you an interface to a real Plan 9 system. Over time, many people who at one time used Plan 9 as their main systems, were pulled away and found themselves back on UNIX-like systems.=A0 For a period of time, there were several projects that implemented Plan 9 inspired tools for UNIX and X11.=A0 This is where P9P (aka Plan 9 from User Space) comes in.=A0 Russ Cox ported the bulk of the Plan 9 application set to UNIX-based systems.=A0 With these, you can have a user environment that looks a lot like Plan 9, complete acme and sam. Later, Russ also developed the vx32 virtualization and the implementation of Plan 9 on it.=A0 This is 9vx which allows you to run an instance of Plan 9 as user application.=A0 9vx is essentially a port of the Plan 9 kernel to the vx32 platform. It's great as it allows you to run a "real" Plan 9 terminal as an application on a more traditional system.=A0 You can run it stand-alone with the root taken from your host system, or you can run it as a terminal that takes its root from a Plan 9 file server. As I sit here at IWP9, I am typing this in acme in 9vx running on FreeBSD, using the rio port in P9P for my window manager. Because I'm away from my home network, I'm running 9vx with the the root on my local machine.=A0 When I'm at home, I use 9vx booting with its root taken from a real Plan 9 file server.=A0 I also run it on qemu fairly often.=A0 The bottom line is that there are quite a variety of ways to work with Plan 9 and they are all useful in their own ways. I've been too long-winded as it is, so I'll stop now.=A0 Hopefully, I haven't said anything that's too far off base. BLS --0-1797106912-1286822627=:23523 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable
> Oh, and most of the Plan 9 tools were fi= rst made
> available to use outside the Plan 9 OS through
> Rus= s Cox's plan9 in user space effort
> (http://swtch.com/plan9port/= ). And there's the
> virtualisation project vx32 that includes Plan 9=
> as an example. Not sure how they fit into a
> holistic view.= They're more like pragmatic
> ways forward when you can't (or don't = want
> to) run a stand alone OS.

I'm probably not the best per= son to try to present the holistic
view, but I will anyway.  To und= erstand where Plan 9 came
from, we first have to understand how UNIX dev= eloped.  In the
late '80s, UNIX was about 20 years old and had not = aged too
gracefully.  In particular, as Sun said, the network had become
the computer, and UNIX networking was kind of bolted onto
the= side of the system.  Similarly, graphical interaction had
become u= biquitous well after UNIX had originally been designed.
The way I like t= o describe it is that the Bell Labs guys at this
time decided to take 20= years of UNIX experience and start
over again and do it right, applying= that experience.  The
result was Plan 9.

There are 5 main a= pproaches to having the Plan 9 experience.
First, the "real" Plan 9 expe= rience requires a network of machines
including file servers, CPU server= s, and terminals.  Of course,
the original Plan 9 systems ran nativ= ely on bare hardware,
and it still happily runs on a lot of hardware.&nb= sp; The biggest
problem with just grabbing a bunch of random hardwareand running Plan 9 on it is the problem of drivers for random
PC hardwa= re.  But a lot of us do run Plan 9 on bare hardware
and it's a refreshing experience after years of UNIces.  I
should also poin= t out that Plan 9 has from the very beginning
been built around running = on a variety of hardware and
today runs on everything from tiny gumstix = machines to
Blue Gene/P.

The second major approach is running Pla= n 9 on simulators
and virtual machines.  Most of us have had varyin= g degrees
of success running Plan 9 "networks" on instances of qemu
o= r vmware or xen or...  This is a pretty good way to mitigate
the ha= rdware support issues.  It's also a nice way to set up
and test dis= tributed things while sitting with a single laptop
in a hotel room.
<= br>If you have a real Plan 9 cpu server, but don't have a
Plan 9 termina= l for accessing it, you can use the application
drawterm.  It is an= interesting modification of the Plan 9
kernel running as an X11 applica= tion.  Unlike a real terminal,
it doesn't run any Plan 9 applications locally on the terminal,
but it does give you an interface= to a real Plan 9 system.

Over time, many people who at one time use= d Plan 9 as
their main systems, were pulled away and found themselvesback on UNIX-like systems.  For a period of time, there were
sever= al projects that implemented Plan 9 inspired tools for
UNIX and X11.&nbs= p; This is where P9P (aka Plan 9 from User Space)
comes in.  Russ C= ox ported the bulk of the Plan 9 application
set to UNIX-based systems.&= nbsp; With these, you can have a user
environment that looks a lot like = Plan 9, complete acme and
sam.

Later, Russ also developed the vx3= 2 virtualization and the
implementation of Plan 9 on it.  This is 9= vx which allows you
to run an instance of Plan 9 as user application.&nb= sp; 9vx is
essentially a port of the Plan 9 kernel to the vx32 platform.=
It's great as it allows you to run a "real" Plan 9 terminal as
an application on a more traditional system.  You can run itstand-alone with the root taken from your host system, or
you can run i= t as a terminal that takes its root from a Plan 9
file server.

As= I sit here at IWP9, I am typing this in acme in 9vx running
on FreeBSD,= using the rio port in P9P for my window manager.
Because I'm away from = my home network, I'm running 9vx
with the the root on my local machine.&= nbsp; When I'm at home, I
use 9vx booting with its root taken from a rea= l Plan 9 file
server.  I also run it on qemu fairly often.  Th= e bottom line
is that there are quite a variety of ways to work with Pla= n 9
and they are all useful in their own ways.

I've been too long= -winded as it is, so I'll stop now.  Hopefully,
I haven't said anyt= hing that's too far off base.

BLS

--0-1797106912-1286822627=:23523--