Subject: FAQ Multics General
Date: 1 Jan 1996 10:02:27 -0800
Summary: General information about the Multics operating system.

archive-name: multics/general

11/14/94 THVV Changed the top part to Q&A format.
01/27/95 THVV Added date that archives were last checked.
03/07/95 THVV Information from Jerry Saltzer.
03/16/95 THVV Added URL for Multics info pages at Stratus.
04/16/95 THVV Added URL for Multics info pages in England.
05/22/95 THVV Added URL for Multics info pages in California.

================================================================= 
The Multics FAQ is developing slowly, as I get information.
Please post updates to alt.os.multics or mail to <thvv@best.com>
=================================================================
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 receive alt.os.multics via mail?
A) Send email to majordomo@oakland.edu with the following line in the body 
   of your message (please leave the Subject: line blank):
      subscribe multics your_full_name <your_internet_address>
   for example:
      subscribe multics Jeff Marraccini <jeff@oakland.edu>
   (some folks report trouble posting via this route)
=================================================================
Q) What other sources are available on-line to find out more about Multics?
A1) Lane A. Robert <lar@usl.edu> archives this group in 
      ftp://pc.usl.edu/pub/multics/alt.os.multics
    (Last updated 10/31/95.)

A2) The collected System-M Forum transactions from the multics@oakland.edu 
    (alt.os.multics) mailing list are now available via  
      ftp://vela.acs.oakland.edu/pub/multics
    Jeff Marraccini also archives monthly traffic from this newsgroup there  
    in Unix compressed format files.  (vela's address is 141.210.10.2)  
    (Last updated 12/31/94.)

A3) Jeff loaded one of Oakland's Gopher servers with articles from the 
    archives.  Articles are organized chronologically.
    To link or access the server from Gopher or WWW:
      gopher://gopher.acs.oakland.edu:70/11/Network Services & Databases
/USENET News/alt.os.multics Archives
    (Last updated 01/28/95.)

A4) Stan Zanarotti (srz@mit.edu) has created a Multics information page on 
    the World Wide Web.  It contains a GIF of the Multics logo, and current 
    copies of the FAQ from this newsgroup.  The URL is
        http://www.mit.edu:8001/afs/net/user/srz/www/multics.html
    (Last updated in February 1995.)

A5) Paul Green's Multics archive table of contents is at
        ftp://ftp.stratus.com/pub/vos/multics/multics.html
    It lists his Multics Virtual Memory paper, as well as
    examples of Multics PL/I programs.
    (Last updated in March 1995.)
    
A6) There is a large set of Multics Web pages available at
        http://www.best.com/~thvv/multics.html
    including hypertext versions of the FAQ files, the 250K Multics
    Glossary, papers, stories, and pictures of Multicians and 6180s.
    There are about 50 pages and 40 images.
    
    Paul Green provides this information at Stratus at
        ftp://ftp.stratus.com/pub/vos/multics/tvv/multics.html
    (If you get a strange message from Netscape about passwords,
    it means that you need to define your mail address in the prefs.)
    
    Dave Vinograd mirrors the Multics info in England at 
        http://www.city.ac.uk/~sh392/multics/multics.html

================================================================= 
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

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 was Multics?
1.1.      Summary
Multics (Multiplexed Information and Computing Service) was a 
timesharing operating system begun in 1965 and still in use today.  The 
system was started as a joint project by MIT Project MAC, Bell 
Telephone Laboratories, and GE.  Prof. F. J. Corbato of MIT led the 
project.  Bell Labs withdrew from the development effort in 1969, and 
later GE sold its computer business to Honeywell, which continued 
Multics development and offered Multics as a commercial product.  At 
the peak there were almost 100 Multics sites.

Multics ran on special expensive CPU hardware which provided a 
segmented, paged, ring-structured virtual memory.  The system was a 
symmetric multiprocessor with shared physical and virtual memory.  The 
operating system was programmed in PL/I.

Elliot 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 sustem's security features.  Honeywell sold 
more systems to government, and to auto makers, universities, and 
commercial data processing services.

Honeywell decided not to create a new hardware generation for Multics 
in the mid-80s and stopped developing the operating system.  A few 
systems are still in use: for example, dockmaster.mil.

1.2.      Goals
There were nine major goals for Multics:
1.2.1.    Convenient remote terminal use.
1.2.2.    Continuous operation analogous to power & telephone services.
1.2.3.    A wide range of system configurations, changeable without 
          system or user program reorganization.
1.2.4.    A high reliability internal file system.
1.2.5.    Support for selective information sharing.
1.2.6.    Hierarchical structures of information for system administration 
          and decentralization of user activities.
1.2.7.    Support for a wide range of applications.
1.2.8.    Support for multiple programming environments & human interfaces.
1.2.9.    The ability to evolve the system with changes in technology and 
          in user aspirations.

1.3.      Notable features
1.3.1.      Segmented memory
The Multics memory architecture divided memory into segments. Each 
segment had addresses from 0 to 256K words (1 MB). The file system was 
integrated with the memory access system so that programs could simply 
access files by making memory references. 

1.3.2.      Virtual memory
Multics used paged memory in the manner pioneered by the Atlas system. 
Addresses generated by the CPU were translated by hardware from a 
virtual address to a real address. A three-level scheme, using disk, 
drum, and core, provided transparent access to the virtual memory. 

1.3.3.      High-level language implementation
Multics was implemented in the PL/I language. Only a small  part of 
the system was implemented in assembly language. This was a radical 
idea at the time.

1.3.4.      Shared memory multiprocessor
The Multics hardware architecture supported multiple CPUs sharing 
the same physical memory. All processors were equivalent.

1.3.5.      Multi-language support
In addition to PL/I, Multics supported BCPL, BASIC, APL, FORTRAN, 
COBOL, ALGOL 68 and Pascal. Routines in these languages could 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 trying to find 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 worked on Multics until Bell Labs 
dropped out of the Multics development effort in 1969.  The UNIX systems 
name is a pun on Multics attributed to Brian Kernighan.  Some ideas in 
Multics were developed further in UNIX.  See <<KLT evolution paper??>> 
for history.

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, and 
several other senior Multicians worked at Prime. Poduska referred 
to Primos as "Multics in a shoebox."

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.

1.4.5.      Apollo Domain

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. (Info from Frederick Roeber) 

[JHS adds:] 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
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.  (Info from Carl Hoffman)

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.

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.  (Info from Jay Pattin)

1.4.8.      GEMSOS
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.
(info from Paul Karger)

1.4.9.      Other systems using rings
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
   the Hitachi 5020 time sharing system (first with hardware rings)
(from Paul Karger)

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.

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. (info from JHS)

2.      Multics today
2.1.      Where can I get a Multics account today?
It won't be easy.  The Multics sites still running are listed in the 
Sites FAQ.  You could get a job at one of them, if they are hiring.  If 
you had a good reason, you might be able to get an account on 
DOCKMASTER.

2.2.      I'd like to see some Multics source. How?
ACTC Inc, of Calgary, Alberta, Canada has rights to the Multics source.  
They are doing maintenance of Multics for the remaining Multics sites.  
The director there is Arun Gatha.  It was suggested in this group, in 
spring 1993, that ACTC produce or make the source available for a 
Multics source CD-ROM.  Several people wrote letters to Arun Gatha about 
this.  As far as I know, there has been no response to these letters.

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 this news group.  None of these projects 
finished.  Porting Multics would be a big job and risky, and the final 
product would need further development to match current state of the 
art.  Paul Green says, "I think it would be easier to try 'improving' 
existing technology than to resurrect Multics itself."
