Plan 9 from Bell Labs’s /usr/web/sources/wiki/d/204

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


FAQ
D1386085536
Aa
#(we also have a [lfaq] (less frequently asked questions), which has
#more in it but is less well organized.)
#
#[About Plan 9 | #ABOUT_PLAN_9]
#
# *	What is Plan 9?
# *	What is Inferno?
# *	Why do people use it?
# *	Why don't more people use it?
# *	Is there much of a community? Where?
# *	Where can I get more information on the system?
#
#[Getting Started with Plan 9 | #GETTING_STARTED_WITH_PLAN_9]
#
# *	Sounds Interesting. Now What?
# *	Can I use this particular application I've got?
# *	Can I run KDE/GNOME/fvwm/&c?
# *	Can I run Mozilla/Firefox/Opera/&c?
# *	Do I need three computers to use Plan 9?
# *	Great, so how do I install the thing?
#
#[Using Plan 9 | #USING_PLAN_9]
#
# *	Okay, it's installed. Now what?
# *	So now let's say I do want a fuller network; how?
# *	Are there public resources to import or play with?
# *	Where can I get more software for Plan 9?
# *	Can I get a Plan 9 account somewhere to play around?
# *	How can I help?
#
#[Not Using Plan 9 | #NOT_USING_PLAN_9]
#
# *	It's really interesting, but I don't have supported hardware.
#	Options?
# *	The ideas sound great, but I don't want a whole new OS. Options?
# *	How can I help, anyway?
# *	About Plan 9
#
#------------------------------------------------------ 
#ABOUT PLAN 9
#
# *	What is Plan 9?
#
#Plan 9 is a (relatively) new computer operating system and
#associated utilities. It was built by the Computing Science Research
#Center of Bell Laboratories (now part of Alcatel-Lucent), the same
#group that developed Unix, C, and C++.
#
#Plan 9 is a distributed system, able to make use of different kinds
#of resources and servers spread across almost any network. It has
#very low resource requirement compared to most systems, has a very
#consistent, simple design, and performs very well.
#
# *	What is Inferno?
#
#Inferno is a spin-off of Plan 9 using many of the same ideas (and
#much of the same code). Inferno has several additional benefits;
#even lighter resource requirements, a virtual machine (Dis), a new
#language for concurrent programming (Limbo), and the ability to run
#as an application on top of an existing Operating System (including
#Plan 9, Windows, and a variety of Unixes).
#
#This FAQ mostly talks about Plan 9, but the ideas largely translate
#to Inferno. See the last few questions for some Inferno-specific
#information.
#
# *	Why do people use it?
#
#The answer to this question varies by user; Plan 9 shows up in lots
#of different types of applications, making use of different
#benefits. It is used in embedded systems, where the low overhead is
#important. It is used in commercial products where the reliability
#and performance are important. It's used in massive supercomputers
#where the novel interconnections and low "system noise" are needed.
#What you get out of it largely depends on what you're looking for
#from it.
#
#Most frequently, people using Plan 9 seem to focus on the simplicity
#of the system and the great distribution mechanism. This later idea,
#in particular, is very central to Plan 9: all resources are
#represented as normal files (as opposed to Unix, where most things
#are files, but not all files are "real" files), and the system uses
#a common method to talk to them all (9P, a.k.a. Styx). This, and
#related points like the fact that the namespace is per-process,
#affects the organization of the entire system, leading to all sorts
#of interesting, novel uses. This is the key point to understand in
#Plan 9, and also the biggest mental jump from Unix or other systems.
#
# *	Why don't more people use it?
#
#Plan 9 is not Unix (or anything else you're likely familiar with).
#While the command set is superficially similar, it's most certainly
#not the same (cat on Unix has a dozen or so options; on Plan 9, it
#has zero). Many people come to Plan 9 expecting unix++ or similar,
#and are disappointed when they find something much more different
#than that. Even the development environment is similar but entirely
#distinct: we use mk, not make; we use C, but the library isn't ANSI
#and our compilers understand some C extensions that aren't in GCC
#(and not most of the non-standard ones that GCC made up); the
#default preprocessor is much simpler than ANSI's.
#
#There are also some very specific issues with using Plan 9 as your
#primary OS, mostly relating to application support. We don't have a
#GUI word processor, a spreadsheet program, or popular games. Most
#notably, we don't have a "modern" web browser with CSS and
#JavaScript support (but see the question about some of those below).
#Plan 9 does not aim to replace any existing desktop system, and thus
#using it has a higher initial bar than using systems which do try to
#fill such a roll.
#
# *	Is there much of a community? Where?
#
#The Plan 9 community is small but active. The best places to find it
#are the 9fans mailing list and in #plan9 on Freenode. Several people
#in both places have been using Plan 9 for a decade or more, and the
#mailing list in particular gets occasional traffic from the original
#authors.
#
# *	Where can I get more information on the system?
#
#The man pages and papers for the system are available online. The
#wiki has a lot of good information, although the organization is not
#always as good as it could be.
#
#------------------------------------------------------ 
#GETTING STARTED WITH PLAN 9
#
# *	Sounds Interesting. Now What?
#
#Read the papers. Read the installation instructions and hardware
#requirements. Decide what your installation will look like. Download
#the distribution. Install the system.
#
# *	Can I use this particular application I've got?
#
#Maybe. Before you start, remember that this is not Unix; first look
#for the Plan 9 way of solving whatever problem it is your Unix
#application is addressing. Source or binary compatibility with Unix
#has never been a design goal of Plan 9, so every solution is
#imperfect. Still, there are times when it's needed, so there are
#solutions which work well in many cases.
#
#If you've got source for the application, it's reasonably
#self-contained, and reasonably standards-compliant, you've got a
#good shot at being able to compile it within Plan 9 using APE, the
#ANSI/Posix Environment. This gives you a full ANSI C pre-processor,
#make, a POSIX shell, and a bunch of related tools. The "configure"
#script for some applications work "out of the box", although many
#make bad assumptions about linux-specific features.
#
#If you don't have the source or building it on Plan 9 is otherwise
#infeasable, linuxemu may be of help. This will emulate enough of the
#linux kernel and system call interface to allow a wide variety of
#linux applications to run. See the documentation for particular
#shortcomings.
#
#Related to the above, there is also an X11 server for Plan 9 called
#equis. It is available from fgb's contrib directory (see below).
#
# *	Can I run KDE/GNOME/enlightenment/&c?
#
#Almost certainly not. Remember: Plan 9 is not Unix. While it's true
#that we have APE and an X11 environment for importing foreign
#applications or running applications on Unix systems with local
#display, very large programs like these typically have a slew of
#dependencies. If possible at all, it would be a lot of work.
#
#The spartan nature of the Plan 9 user interface is one of the first
#things which strikes newcomers. There are no desktop icons, almost
#no window decoration, no configuration files, and no Start menu. The
#simplistic interface is not due to lack of attention, but is rather
#a conscious design decision. The Plan 9 interfaces follow a "get out
#of my way" philosophy which, in many ways, runs exactly counter to
#the common desktop environments on other systems.
#
# *	Can I run Mozilla/Firefox/Opera/&c?
#
#The short answer is "no"; the long answer is "kinda". These won't
#run on Plan 9 directly, but you might have good luck with running
#them within linuxemu. Firefox, Opera, and dillo, at least, have been
#shown to work this way, although there are some restrictions on
#which version of glibc they're built against.
#
#Note also that we do have our own browsers, but they, um... let's
#call them "basic". In Plan 9, see abaco; in Inferno, see Charon. The
#version of Charon which ships with [acme-sac |
#http://www.caerwyn.com/acme/] is particularly neat.
#
# *	Do I need multiple computers to use Plan 9?
#
#No, certainly not. The distributed nature of Plan 9 - allowing
#resources to be on a variety of hosts across a network - doesn't
#mean that you can't run those services on the same host. The system
#will, for the most part, perform exactly the same with your
#authentication server on your box versus in another country, for
#example. The default installation sets up a stand-alone terminal
#which allows you to get at most of the interesting features of Plan
#9.
#
#It is true that some of the distributed nature of Plan 9 shows best
#in an environment with multiple computers. In particular, separating
#your terminal from the rest of the system is of particular benefit,
#but many combinations are possible. You can add systems and move
#functions incrementally as your use of Plan 9 increases.
#
# *	Great, so how do I install the thing?
#
#Coming soon.
#
#------------------------------------------------------ 
#USING PLAN 9
#
# *	Okay, it's installed. Now what?
#
#First off, if you've not read the papers, do so. They're available
#in your new installation under /sys/doc, as well as online.
#Particularly useful are 9.ps, names.ps, acme/acme.ps, auth.ps,
#fossil.ps, and plumb.ps, in roughly that order, although they're all
#worth a read.
#
#Remember that this is not Unix, even though it will sometimes feel
#like it. Make frequent use of the man pages. They're both more
#concise and more useful than on most Unix systems.
#
#You'll want to create a user for yourself. When you're just on your
#terminal, this is easy: you just need to tell fossil, and then
#create a useful default environment (with newuser(8) or
#/sys/lib/newuser). It gets a bit more complex when you have multiple
#systems involved; see auth/changeuser in auth(8) for details.
#
# *	So now let's say I do want a fuller network; how?
#
#The default installation gives you a terminal running with a local
#file system. The easiest way to expand this is to turn your terminal
#into a combined cpu+file+authentication server and add a terminal
#booting off that system. Adding additional cpu servers then becomes
#trivial, and moving authentication to a dedicated server is easy.
#See the wiki for details.
#
# *	Where can I get more software for Plan 9?
#
#Bell Labs runs a system called "sources", which contains not only
#the current system (used for staying up to date), but also a set of
#"extras" published by the Labs (although largely contributed by
#others) and "contrib", a set of user-maintained repositories. From
#within Plan 9, run '9fs sources', and explore /n/sources. An index
#of the extras and contrib directories is available online (although
#it's not exhaustive).
#
#Some members of the community also have their own collections; see
#the wiki page for a list. Also, there's a growing list of Plan 9 or
#Inferno projects hosted on [bitbucket | http://bitbucket.org].
#
# *	Can I get a Plan 9 account somewhere to play around?
#
#There are a few places that hand out Plan 9 accounts. We have a list
#of [public plan 9 servers], but others, likely closer to you, come
#and go more frequently than that list gets updated. Probably your
#best bet to find something good is to come ask in #plan9 on freenode.
#
#For a long time, the longest standing and largest user community was
#the Tokyo Inferno and Plan 9 Users Group, or [tip9ug], but they've
#went down due to a catastrophic hardware failure in the autumn of
#2010, and have said they're likely to be down until late in 2011.
#
#. As the name implies, they're in Japan, which makes latency
#sometimes a bit of an issue.
#
# *	Are there public resources to import or play with?
#
# *	How can I help?
#
#First, just use the system. Become familiar with it, and participate
#in the community. Once you're familiar with the system, the best way
#to help is by writing. If you're a good C programmer, there's lots
#of things you can do to help. We can always use more driver support.
#Think about how Plan 9 can help you solve a particular problem, and
#then solve it and share the results. Write documentation; while we
#have excellent reference material, we're not so great on "how to"
#documents at the moment. Take notes on your learning process, and
#when you're a bit further along, turn them into a nice getting
#started guide. Scratch an itch.
#
#------------------------------------------------------ 
#NOT USING PLAN 9
#
# *	It's really interesting, but I don't have supported hardware.
#	Options?
#
#First, note that Plan 9 runs well in a variety of virtualization
#systems, including Parallels, VMWare, Xen, and lguest. If hardware
#support is your primary issue, one of those might solve your problem.
#
#If that's not an option for whatever reason, and you're on some
#flavor of Unix (including Mac OS X), check out 9vx - a Plan 9 kernel
#running as an application above Unix. It's not as stable as the
#"real thing" and has a few quirks, but it works very well for lots
#of cases.
#
# *	The ideas sound great, but I don't want a whole new OS. Options?
#
#You can get at many of the Plan 9 ideas without actually running
#Plan 9. The most complete way is probably Inferno, which in addition
#to running on bare hardware can run as an application on top of an
#existing OS. You'll get the same resource distribution mechanism,
#the same great clean code, and many of the same tools, and Limbo and
#Dis on top of that. In fact, Limbo on its own probably makes Inferno
#worth checking out regardless of what you end up doing with Plan 9
#(remember you can run Inferno on top of Plan 9, Unix, or Windows).
#
#Beyond that, there are a number of ways to get at bits and piecse of
#the ideas of Plan 9 in other systems. If you're interested in the
#cleaner, more consistent user or programming environments, check out
#Plan 9 from User Space, a port of many of the Plan 9 tools and
#libraries to various Unix-like systems. If you're interested in
#using 9P to distribute resources, check out v9fs, a Linux kernel
#module implementing 9P, or one of the many 9P implementations in
#various languages.
#
# *	How can I help, anyway?
#
#If you're using one of the alternatives discussed in the previous
#few questions, there are still good ways you can help. If you're a
#Unix user, particularly a Linux user, you could package Plan 9 from
#User Space or Inferno for your particular system. For "extra
#credit", try to get the results included in the base system. If
#you're a Windows developer, you could work on porting 9vx or Plan 9
#from User Space to Windows. And if you're using Inferno, the best
#answers are largely the same as if you're using Plan 9 itself: the
#best contribution is to use the system to solve a problem, and to
#write, code and documentation. And if your'e a developer in some
#language other than C or Limbo, it's likely that we could use work
#on the 9P/Styx implemenation in that language, especially
#authentication.
#

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.