
Introduction to OS Abstractions Using Plan 9 from Bell Labs (2007) [pdf] - marttt
https://lsub.org/who/nemo/9.intro.pdf
======
mycroftiv
It should be noted that Plan 9 is far from dead or outdated. The 9front
developers have continued to make many improvements to the OS while retaining
backwards compatibility. 9legacy offers a set of patches which try to stay
closer to the original Bell Labs distribution. There are also other ongoing
developments, such as my own Advanced Namespace Tools and a new grid of public
9p services.

~~~
carussell
Is there a contingent of 9fans doing work on using Plan 9 for DevOps? The fact
that doesn't have popular graphical software (or even the same conventions)
wouldn't hold it back there. If it's really as well designed and coherent as
the praise always makes it seem, it _should_ be an attractive option on the
server. So developers can stick with Windows/Mac/Linux on personal machines,
and should be deploying to Plan 9 in the cloud, right?

~~~
mycroftiv
It might make sense in theory, but in practice there are very very few Plan 9
users and developers. Fundamental design quality is never a guarantee of
"success" as measured by size of the userbase. If you look at the culture of
Plan 9 users, there is also often a somewhat adversarial perspective on
standard software. It's a complicated topic, with a lot of weird history
involving things like Plan 9 not having a decent open source license for a
long time. Once the patterns were established, sociocultural issues outweighed
any technical issues. You can imagine an alternate history where things all
worked out differently, but at present, Plan 9 is hard to view as a realistic
option for any kind of mainstream corporate software work. A lot of us think
that is probably more of a good thing than a bad thing, economic incentives
and software design quality are often misaligned.

~~~
brucephillips
If not for economic impact, why do you work on Plan 9? Do you view it as a
research project? A hobby?

~~~
mycroftiv
I guess you could call it a hobby as much as anything. It feels more serious
than that to me, based on the amount of time and effort I put into it. In
addition to developing os-level projects for Plan 9 itself, I write
interactive fiction games, which feels to me like a serious artistic pursuit,
but most people would put interactive fiction text adventures in the "hobby"
category. My brain doesn't really follow the dichotomy of using whether or not
something is profit-making for how "important" it is. I understand that is an
attitude that is somewhat a measure of personal privilege to not focus that
hard on economic issues.

~~~
sahil-kang
Would you mind sharing a few good intro sources for Plan 9? I’m a small-time
Linux contributor, but haven’t delved into any other operating systems.
Interactive fiction games are always appreciated too :)

~~~
marttt
HN discussion of a 'What makes Plan 9 unique?' discussion in the 9fans mailing
list:
[https://news.ycombinator.com/item?id=11882797](https://news.ycombinator.com/item?id=11882797)

For another short overview, there's also Eric S. Raymond's take on Plan 9 in
"The Art of Unix Programming":
[http://www.catb.org/esr/writings/taoup/html/plan9.html](http://www.catb.org/esr/writings/taoup/html/plan9.html)

~~~
marttt
Direct links to the relevant introductory papers:
[http://9p.io/wiki/plan9/Recommended_Readings/](http://9p.io/wiki/plan9/Recommended_Readings/)
[http://9p.io/sys/doc/](http://9p.io/sys/doc/)

------
Sir_Cmpwn
If anyone here hasn't played with plan9, I _highly_ recommend it. It's no
overstatement to say it's the best operating system ever designed.

~~~
pjmlp
I kind of disagree, at least in what concerns the Plan 9 lineage, Inferno was
way better.

Sadly it appears most people just stop at the middle, instead of the last
version of Plan 9's evolution.

~~~
f2f
I've always enjoyed your opinion on alternative operating systems and
languages. I love plan9, I wore my thesis in it, but that was based on the
knowledge that other distributed operating systems existed at the time, amoeba
being the most fun to learn about. Now it's a wasteland... And I really would
prefer to explore.

I think better or worse isn't the important theme here. It's that we've lost
variety...

~~~
bringtheaction
Distributed computing is being reborn in the crypto currency sphere.

Perhaps in 20 or 30 years we will have something akin to plan9 or inferno
composed from nodes on these networks?

After all, at some point everything old becomes new again when it comes to
computer technology.

~~~
brucephillips
What does it mean for an operating system to run on the blockchain?

~~~
spynxic
Operating System: \- the software that supports a computer's basic functions,
such as scheduling tasks, executing applications, and controlling peripherals.

Blockchain: \- A decentralized and distributed digital ledger that is used to
record transactions across many computers so that the record cannot be altered
retroactively without the alteration of all subsequent blocks and the
collusion of the network.

~~~
brucephillips
Is this supposed to answer my question?

~~~
spynxic
No, just preface into their intended functions.

Edit: One might question what the ledger tracks in terms of operating toward
user needs as opposed to financial activity.

------
shalabhc
Anyone else feel that a hierarchical 'bytearray' file system isn't really a
great base for organizing an operating system? Some limitations are that you
have to share everything as 'sequence of bytes', requiring every reader to re-
implement the parsing logic, and not everything fits well into a file
metaphor, for instance socket style stream IO.

~~~
emmelaich
Other organisations (isam, sparse, ...) can be laid on top of sequences. Not
so much the away around.

Almost every criticism of the Unix fundamentals* puts me in awe of the
original design. It is _so_ hard to maintain simplicity.

Regarding parsing, yes. That would be nice but I believe you'd some isolation
to ensure that. Re sockets -- shrug.

* (rather than say the user space / shell)

~~~
shalabhc
I wasn't thinking about another data storage system but more about what core
abstractions should be provided by an OS?

For example, could the Erlang model be an OS? Say the OS provides a namespace
for a constellation of communicating processes. You still have freedom to
implement various languages and configuration systems but you submit your code
to a process rather than store it in a 'file system'. Storage is accessed via
a process and can be switched out with another process with a different
implementation, etc.

------
msingle
Worth pointing out here is harvey ([http://harvey-os.org](http://harvey-
os.org)). Which is a descendent of Plan 9 but with updates for toolchains &
architecture.

~~~
swiley
One of the things I like a lot about plan9 is that it doesn't use GCC.

~~~
floren
You can build Harvey with clang if you prefer, or possibly even pcc. Getting
Harvey compiling with GCC/clang meant translating Plan 9's C dialect into ISO
C. The translation process means there wasn't a lot of opportunity to
introduce GCCisms, so any standards-compliant C compiler __should __be able to
build Harvey. I say should because you may run into one or two small nits that
have to be fixed before it 'll work, and of course you have to find an up-to-
date C compiler that's not GCC or Clang (I guess it would be good to try icc?)

------
henesy
It's nice to see Plan 9 getting some love in the limelight.

There's a 9fans Discord server lying around for anyone interested:
[https://discord.gg/6daut5T](https://discord.gg/6daut5T)

------
matiasb
Great resource!

