Path: senator-bedfellow.mit.edu!senator-bedfellow.mit.edu!bloom-beacon.mit.edu!4.24.21.218.MISMATCH!newsfeed2.dallas1.level3.net!news.level3.com!postnews.google.com!news4.google.com!feeder2.cambriumusenet.nl!feed.tweaknews.nl!194.109.133.85.MISMATCH!newsfeed.xs4all.nl!newsfeed6.news.xs4all.nl!xs4all!feeds.phibee-telecom.net!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail
From:
[email protected] (Tom Van Vleck)
Newsgroups: alt.os.multics
Subject: FAQ Multics General
Date: Sun, 1 Jul 2012 13:30:46 +0000 (UTC)
Organization: Multicians
Lines: 539
Sender:
[email protected]
Expires: 01 Aug 2012 00:00:00 -0000
Message-ID: <
[email protected]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 1 Jul 2012 13:30:46 +0000 (UTC)
Injection-Info: mx04.eternal-september.org; posting-host="4xgB9iG1J/7HsX2lJJl4og";
logging-data="2600"; mail-complaints-to="
[email protected]"; posting-account="U2FsdGVkX187l3LpxnVulmcBpCuX5FUf"
Summary: General information about the Multics operating system.
X-Newsreader: Perl Program by THVV
Cancel-Lock: sha1:awrOzAEwd0kDCY3fOHBfqN9bZ1o=
X-Priority: 3
Xref: senator-bedfellow.mit.edu alt.os.multics:8231
archive-name: multics/general
URL: //www.multicians.org/general.html
=================================================================
The Multics FAQ continues to improve as people contribute information.
Please post updates to alt.os.multics or mail to <
[email protected]>
=================================================================
Q) What is the purpose of this group?
A) This group is for the discussion of the Multics operating system.
Discussion sometimes strays onto topics of interest to Multicians, e.g.
- Honeywell hardware architecture
- CTSS, DTSS and other ancestors
- Honeywell management mistakes and if-onlys
- PRIMOS, GCOS Timesharing, UNIX, and other cousins and descendants
For discussions of the history of other operating systems, try
alt.folklore.computers or the groups dedicated to these systems.
alt.os.multics is a public unmoderated newsgroup with an estimated
readership of thousands. If you have a comment of limited interest,
please use e-mail instead.
=================================================================
Q) How can I view alt.os.multics via the web?
A) Go to
http://www.google.com/ and click Groups,
then enter alt.os.multics and return. You may wish to sort by date.
=================================================================
Q) What other sources are available on-line to find out more
about Multics?
A1) There is a large set of Multics Web pages available at
http://www.multicians.org/
including hypertext versions of the FAQ files, the 250K
Multics Glossary, papers, stories, and pictures of
Multicians and 6180s. There are 219 HTML pages
comprising over 1,000,000 lines and 372 graphic images.
Paul Green mirrors this information at Stratus at
ftp://ftp.stratus.com/pub/vos/multics/tvv/multics.html
A2) There is a closed Yahoo Groups mailing list for Multicians.
It currently has 139 members.
Apply at
http://groups.yahoo.com/group/multicians/
A3) Al Kossow has a large collection of scanned Multics manuals
online at
http://www.bitsavers.org/pdf/honeywell/multics/
A4) The LinkedIn group "multicians" has been set up for Multicians
who use the LinkedIn social networking site.
It currently has 258 members.
To join it, send mail to the editor.
A5) There is a "fan page" for Multics on Facebook, open to
any Facebook user.
https://www.facebook.com/multicsfans
It currently has 213 fans.
=================================================================
0. FAQ documents posted monthly in alt.os.multics
0.1. Multics General (this Document) (THVV)
0.2. List Of Multicians (in 3 parts) (THVV)
0.3. Multics Chronology (THVV)
0.4. List Of Multics Sites (THVV)
0.5. Multics Bibliography (THVV)
0.6. Multics History (THVV)
0.7. Multics Features (THVV)
1. What was Multics?
1.1. Summary
1.2. Goals
1.3. Notable features
1.3.1. Segmented memory
1.3.2. Virtual memory
1.3.3. High-level language implementation
1.3.4. Shared memory multiprocessor
1.3.5. Multi-language support
1.3.6. Relational database
1.3.7. Security
1.3.8. On-line reconfiguration
1.3.9. Software Engineering
1.4. Influence on other systems
1.4.1. UNIX
1.4.2. GCOS 6
1.4.3. Primos
1.4.4. VOS
1.4.5. Apollo Domain
1.4.6. NTT DIPS
1.4.7. Amber
1.4.8. GEMSOS
1.4.9. Other systems using rings
1.4.10. IBM Systems
1.4.11. TENEX and TOPS-20
1.4.12. Michigan Terminal System
1.4.13. Control Data NOS/VE
1.4.14. Honeywell GCOS7 (nee GCOS64) and NEC Acos4
1.4.15. HITAC 5020
2. Multics today
2.1. Where can I get a Multics account today?
2.2. I'd like to see some Multics source. How?
2.3. Could Multics be ported to a modern micro?
=============================================================
1. What Is Multics?
1.1. Summary
Multics (Multiplexed Information and Computing Service) is a timesharing
operating system begun in 1965 and used until 2000. The system was
started as a joint project by MIT's Project MAC, Bell Telephone
Laboratories, and General Electric Company's Large Computer Products
Division. Prof. Fernando J. Corbato of MIT led the project. Bell Labs
withdrew from the development effort in 1969, and in 1970 GE sold its
computer business to Honeywell, which offered Multics as a commercial
product and sold a few dozen systems.
Multics was introduced in a series of papers at the 1965 Fall Joint
Computer Conference:
* "Introduction and Overview of the Multics System," F. J. Corbato and V.
A. Vyssotsky
* "System Design of a Computer for Time-Sharing Applications," E. L.
Glaser, J. F. Couleur, and G. A. Oliver
* "Structure of the Multics Supervisor," V. A. Vyssotsky, F. J. Corbato,
and R. M. Graham
* "A General Purpose File System for Secondary Storage," R. C. Daley and
P. G. Neumann
* "Communications and Input/Output Switching in a Multiplex Computing
System." J. F. Ossanna, L. Mikus, and S. D. Dunten
* "Some Thoughts About the Social Implications of Accessible Computing,"
E. E. David, Jr. and R. M. Fano
Many books and papers describe aspects of the system. The influence of
Multics on Unix is described in chapter 3 of A Quarter Century of UNIX,
for example.
Multics ran on specialized expensive CPU hardware that provided a
segmented, paged, ring-structured virtual memory. The system is a
symmetric multiprocessor with shared physical and virtual memory.
Standard Honeywell mainframe peripherals and memory were used. The
operating system was programmed in PL/I.
Elliott Organick's book, The Multics System, an Examination of its
Structure, describes the system as it was in about 1968. MIT started
providing timesharing service on Multics to users in fall of 1969. GE
sold the next system to the US Air Force, and the military use of
Multics led to some of the system's security features. Honeywell sold
more systems to government, and to auto makers, universities, and
commercial data processing services.
In the 1980s, Multics became popular in France; Honeywell's partner Bull
sold a total of 31 Multics sites. None are still in use.
Honeywell decided not to create a new hardware generation for Multics in
the mid-80s and stopped developing the operating system. Subsequently,
Honeywell sold its computer business to Bull, which also chose not to
build new Multics hardware, and all sites replaced their Multics
systems with more modern hardware.
The last running Multics site, the Canadian National Defence site at
Halifax, NS, shut down at the end of October 2000.
1.2. Goals
As described in the 1965 paper Introduction and Overview of the Multics
System by Corbato and Vyssotsky, there were nine major goals for
Multics:
* Convenient remote terminal use.
* Continuous operation analogous to power & telephone services.
* A wide range of system configurations, changeable without system or
user program reorganization.
* A high reliability internal file system.
* Support for selective information sharing.
* Hierarchical structures of information for system administration and
decentralization of user activities.
* Support for a wide range of applications.
* Support for multiple programming environments & human interfaces.
* The ability to evolve the system with changes in technology and in user
aspirations.
1.3. Notable features
See the Multics Features FAQ for more information.
1.3.1. Segmented memory
The Multics memory architecture divides memory into segments. Each
segment has addresses from 0 to 256K words (1 MB). The file system is
integrated with the memory access system so that programs access files
by making memory references.
1.3.2. Virtual memory
Multics uses paged memory in the manner pioneered by the Atlas system.
Addresses generated by the CPU are translated by hardware from a
virtual address to a real address. A hierarchical three-level scheme,
using main storage, paging device, and disk, provides transparent
access to the virtual memory.
1.3.3. High-level language implementation
Multics was written in the PL/I language, which was, in 1965, a new
proposal by IBM. Only a small part of the operating system was
implemented in assembly language. Writing an OS in a high-level
language was a radical idea at the time.
1.3.4. Shared memory multiprocessor
The Multics hardware architecture supports multiple CPUs sharing the same
physical memory. All processors are equivalent.
1.3.5. Multi-language support
In addition to PL/I, Multics supports BCPL, BASIC, APL, FORTRAN, LISP,
SNOBOL, C, COBOL, ALGOL 68 and Pascal. Routines in these languages can
call each other.
1.3.6. Relational database
Multics provided the first commercial relational database product, the
Multics Relational Data Store (MRDS), in 1978.
1.3.7. Security
Multics was designed to be secure from the beginning. In the 1980s, the
system was awarded the B2 security rating by the US government NCSC,
the first (and for years only) system to get a B2 rating.
1.3.8. On-line reconfiguration
As part of the computer utility orientation, Multics was designed to be
able to run 7 days a week, 24 hours a day. CPUs, memory, I/O
controllers, and disk drives can be added to and removed from the
system configuration while the system is running.
1.3.9. Software Engineering
The development team spent a lot of effort finding ways to build the
system in a disciplined way. The Multics System Programmer's Manual
(MSPM) was written before implementation started: it was 3000 or so
pages and filled about 4 feet of shelf space in looseleaf binders.
(Clingen and Corbato mention that we couldn't have built the system
without the invention of the photocopier.) High level language, design
and code review, structured programming, modularization and layering
were all employed extensively to manage the complexity of the system,
which was one of the largest software development efforts of its day.
1.4. Influence on other systems
1.4.1. Unix
Ken Thompson and Dennis Ritchie, the inventors of Unix, worked on Multics
until Bell Labs dropped out of the Multics development effort in 1969.
The Unix system's name is a pun on Multics attributed to Brian
Kernighan. Some ideas in Multics were developed further in Unix.
1.4.2. GCOS 6
Honeywell's GCOS 6 operating system for the Level 6 minicomputers was
strongly influenced by Multics.
1.4.3. Primos
Prime's Primos operating system shows a strong Multics influence. Bill
Poduska worked on Multics at MIT before founding Prime in 1972, and
several other senior Multicians worked at Prime. Poduska referred to
Primos as "Multics in a shoebox." The Prime-50 had a segmented address
space with rings, gates, dynamic linking, paging, and even active
functions on the command line.
1.4.4. VOS
Stratus's VOS operating system shows a strong Multics influence. Bob
Freiburghouse, former Multics languages manager, was one of the
founders of Stratus; many Multicians are still Stratus employees.
(Stratus is now called Stratus Technologies.)
1.4.5. Apollo Domain
[Frederick Roeber] Bill Poduska went on from Prime to help found Apollo,
and Domain was known as "Multics in a Matchbox." Apollo's OS shows
strong Multics influence. For instance, the basic access to stuff on
disk is via a single-level store directly based on Multics. Supposedly
some of the motivation for the object-store style of file system came
from Multics too. [Jerry Saltzer] In addition, it uses a shared memory
model, despite being distributed across a network. If that isn't
Multics influence, I don't know what is.
1.4.6. NTT DIPS
[Carl Hoffman] NTT undertook a massive effort to clone Multics, which led
to their DIPS (Denden Information Processing System) series of
mainframes. DIPS machines are still in widespread use in Japan today by
NTT, but everyone agrees that they are going away. I believe that
Intermetrics developed the DIPS PL/I compiler for NTT.
[Jean Bellec] DIPS was an operating system developed by NTT and running
on IBM S/370 clone machines built by Hitachi, Fujitsu and NEC. Sure, it
was inspired by Multics, but was not a clone, or you would call every
multi-user machine built after 1970 a Multics clone.
1.4.7. Amber
Multics also influenced Amber, the operating system produced by the S-1
project at Livermore between 1979 and 1986 or so. The original Amber
group was familiar with Multics as users - the original development
work was done on MIT-Multics - but I don't believe it included anyone
who'd actually worked on the Multics kernel itself.
The most important Multics influences were writing the operating system
in a high-level language, the single-level storage system, and an
emphasis on security, although rings were not present on the last
generation of S-1 machine. Amber was heavily influenced by critiques of
Multics such as the Multics Kernel Redesign Project. In its later
years, Amber made serious strides toward machine independence.
[Jay Pattin] The developers hoped to make it "Multics done better," as
reported in a DATAMATION article. Jeff Broughton co-wrote the compiler
for the Pastel language used for Amber.
1.4.8. GEMSOS
[Paul Karger] The Gemini GEMSOS secure operating system for the Intel
architecture was developed by Roger Schell to support a Multics-style
segmented environment in a system designed to meet A1 security
requirements.
The GEMSOS kernel is available on an OEM basis from AESEC Corporation,
led by Roger Schell, as of 2005.
1.4.9. Other systems using rings
[Paul Karger]
Many other systems since Multics have also used rings including:
* VME/B for the ICL 2900
* AOS/VS for the Data General MV8000
* VMS for the DEC VAX
1.4.10. IBM systems
As for other systems influenced, TSS/360 was strongly influenced by
Multics. And IBM's MVS eventually acquired dynamic reconfiguration to
add processors and memory without shutting down.
[JHS] The IBM System/38 maps files into the one-level store just like
Multics, and so does AIX, down underneath where it is hard to find
because it is trying to pretend it is a Unix. Both of these systems are
derivatives of IBM FS, which never saw the light of day, but which
borrowed the file mapping/one-level-store idea from TSS/360, which in
turn got it from Multics.
1.4.11. TENEX and TOPS-20
Multics influenced the paging design of TENEX and the DECSYSTEM-20, and
several Multicians provided review and comment on the TENEX design. Dan
Murphy has written a fine paper on the history of TENEX and TOPS-20,
available online. In this paper he says:
Multics may be said to have contributed more than just the ideas for
virtual memory organization and other specific capabilities. During the
design of TENEX, we invited some of the Multics designers and
implementors to review our progress and decisions. As is often the
case, we had fallen into the trap of trying to do too much in a number
of areas and had produced some designs that were quite convoluted and
complex. Several people from Multics beat us up on those occasions,
saying "this is too complicated -- simplify it! Throw this out! Get rid
of that!" We took much of that advice (and could probably have taken
more), and I credit these reviews with making the core capabilities
significantly easier to understand and program, as well as to implement
and debug.
Murphy has also posted the classic 1972 paper on TENEX by Bobrow,
Burchfiel, Murphy, and Tomlinson.
1.4.12. Michigan Terminal System
MIT Comp Center and University of Michigan had close ties in the early
60s, and there was an informal group studying virtual memory in 1964
that included MIT and U of M researchers. The paper "Program and
Addressing Structure in a Time-Sharing Environment," by Arden, Galler,
and Westervelt (CACM, January 1966), was based on these discussions and
especially on work by MIT professors Jack Dennis and Earl Van Horn. MIT
and U of M participated in discussions with IBM about a virtual memory
machine.
1.4.13. Control Data NOS/VE
The CDC NOS/VE operating system provided a large paged, segmented virtual
address space. Museum Waalsdorp has an interesting site which includes
information on their CDC systems.
1.4.14. Honeywell GCOS7 (nee GCOS64) and NEC Acos4
[Jean Bellec] Multics strongly influenced the Honeywell Level 64 and its
successors, the Bull DPS7 and DPS7000, and the derived NEC ACOS4
systems. Those systems used a segmentation mechanism and ring similar
to Multics (although they were 32-bit machines instead of 64-bit).
Their software used a segment per external procedure and a stack
mechanism inspired by Multics.
[JB] GCOS64 was developed by Compagnie Honeywell-Bull in Paris (with
Boston participation). It was bootstrapped from a GE-645 installed in
1972 and delivered in 1974. The implementation language was HPL, a
subset of PL/I, that was running on Multics as SHPL. Multics also
supported other tools for the GCOS64 factory such as a L64 linker and a
hardware simulator and its environment (CLANG).
[JB] GCOS64/GCOS 7 uses a "microkernel" implemented by firmware that
freeze the concept of threads (called process a la Multics), of
semaphores for thread synchronization and I/O interface. GCOS7 is an
evolutionary follow-on delivered in the early 80s. The microkernel
mechanism has been easily extended to support up to 24 processors.
Paging was introduced later on DPS7000 and segments were originally
used for managing its virtual memory. The ACOS4 systems evolved by NEC
from the original Honeywell Level64 include one of the most powerful
mainframe systems, the ACOS3900.
1.4.15. HITAC 5020
The Hitachi 5020 system had two-dimensional addressing and rings. It was
strongly influenced by Multics. Its descendant, Omicron, has a home
page that includes early (1969 and 1971) papers on the 5020 system.
1.4.16. Unos
[Bob Mabee]Multicians Dave Reed and Raj Kanodia developed a novel
synchronization mechanism called an eventcount, springing from a
Multics-related concern that an observer or recipient of an IPC poke
should not need write access to the synchronizer. Their paper appeared
in CACM in 1979.
[RFM] Former Multician Jeff Goldberg created an experimental OS using
only eventcounts for synchronization, running on a PDP-11 system from
Charles River Data Systems (CRDS). CRDS president Rick Shapiro hired
Jeff to build full Unix-like OS, Unos, first marketed on then-new 68000
systems in 1981. CRDS enjoyed a long profitable run selling 68K family
systems with Unos before eventually dwindling away. Their primary
market was OEMs embedding the CRDS unit within a larger pile of
hardware, often requiring better real-time response than Unix could
deliver.
[RFM] At command level, Unos felt more Multics-like than Unix did. Unix
had suffered permanent damage during a period of very bad mechanical
terminals so had only obscure two-letter commands and one-letter
options, while Unos had the same names and options as Multics. (Of
course the market later forced Unos to bend to Unix conventions.) I do
not recall missing any particular Multics utilities and would like to
be reminded what we're nostalgic for.
[RFM] To the C programmer, Unos was very like Unix. Wherever an interface
was a bit cleaner (like passing length of a string buffer), it soon
added the dirty version for compatibility.
[RFM] Internally, Unos required memory protection and relocation, so was
very robust, unlike some early Unix ports. However, it never supported
paged VM. Unlike Multics, multiprocessor support had not been built in
from the start, so the kernel remained mostly single-threaded on the
few multiprocessor systems built.
UNOS was written in C and supported FORTRAN, COBOL, Pascal, and Basic.
User code used 32-bit addresses.
1.4.17. Magic 6
[Lee Parks] My undergraduate thesis was about Magic 6 which was paged,
segmented, dynamic linked, operating system for the Interdata series of
mini-computers inspired by Multics. Magic 6 was developed by the
Architecture Machine Group (now the MIT Media Lab).
2. Multics today
2.1. Where can I get a Multics account today?
The last Multics site shut down as of 31 Oct 2000. Discussion of
resurrecting Multics in alt.os.multics has not yet led to a revival of
the system. If you want a Multics account, join the revival effort.
2.2. I'd like to see some Multics source. How?
Bull HN has made the entire source of Multics available "for any purpose
and without fee" at MIT as of November 2007.
Source for a few programs is available at this site, cross-referenced to
the Glossary.
2.3. Could Multics be ported to a modern micro?
Yes. As a matter of fact, several projects were started to try this in
the 80s, as described in alt.os.multics and on the Multics History
page. None of these projects finished. Porting Multics would be a big
job, and the final product would need further development to match the
current state of the art. Paul Green says, "I think it would be easier
to try 'improving' existing technology than to resurrect Multics
itself."
2.4. Writing a Multics emulator new
Now that the Multics source is available, there has been renewed interest
in writing an emulator for a virtual machine that could run Multics.
Postings in alt.os.multics have mentioned several projects that are in
early stages. The CPU manual is available online. (In addition to
emulating the CPU, a Multics emulator would also have to emulate the
I/O system and peripherals.) The Computer History Museum in Mountain
View has images of the contents of Multics boot tapes.