1. 24

My effort to provide and maintain a large public access system capable of supporting a community, in the spirit of the LCM TD-2 / SDF Twenex TOPS-20, ELVIRA RSTS/E at Stacken, Jim Wilcoxson’s PRIRUN PRIMOS, the Cyber1 CDC system, the old Deathrow VMScluster, etc.

I’ll be making a more serious web page with some additional technical details soon. For those here who are interested, the system is based on the Honeywell DPS-8/M virtual machine emulator which is running on OpenBSD. Performance is somewhat faster than a similarly configured hardware site, and should comfortably support many users, with many thousands of users in the future once multiprocessing support has stabilized.

Special thanks to all the Multicians, including but not limited to Tom Van Vleck, Harry Reed, Olin Sibert, Daiyu Hurst, Gary Dixon, Michael Mondy, and especially Charles Anthony and Eric Swenson for many late nights pouring over code and documentation, diagnosing problems, and basically rediscovering (and properly documenting) the tricks, processes, and methods for tuning Multics performance and stability for a particular site - many bugs were fixed along the way. It took a lot of effort to get from a clean slate to something I’d be comfortable making publicly available, and I’d never have been able to do it on my own.

Much of necessary lore was simply never passed down from Honeywell installers to the users or managers of these systems because of just how much there is to know, and the historical separation of duties between sales, installation, field engineering, site administration, system operators, and end users.

Al Kossow of the Computer History Museum and Tom Van Vleck of the Multicians Archive deserve major and extra thanks for their tireless work in cataloging and preserving so much history that would otherwise be lost. This sort of publicly accessible site simply wouldn’t be a possibility if the necessary manuals were not preserved. It’s likely even the emulation would never have been completed without the preservation efforts preceding it.

NOTE: If you experience any issue after being connected to a line, such as the system not echoing characters, not being responsive to input, etc, just disconnect and reconnect to the system and you should get the next available HSLA line. I’m still working out a few issues with the virtualized front-end terminal servers and the emulated mainframe FNP.

Feel free to register for an account - in addition to a user directory and being able to participate in mail and forums, you’ll be able to set a plan file for the finger daemon now and serve your own gopherspace soon.

  1.  

  2. 3

    That’s amazingly cool. Is it possible to download a disk image with a ready-to-go system installed?

    1. 6

      http://multicians.org/simulator.html has links and instructions for running it yourself. While you shouldn’t expect it to easily support hundreds or thousands of users out of the box on eight or more front-end network processors, etc, in the QuickStart configuration - it will include most of the software that my system does.

      I do my best to report all the issues I’ve run into (and often I have no choice but to defer to the Multicians for help) so you can be sure that the next release of the Multics distribution (MR12.6g or MR12.7) will contain all of the fixes for issues I’ve run into stress-testing this large configuration.

      FYI - I have setup a virtual MIKSD (Multics Internet Kermit Service Daemon - analogous to a FTP site) which will be used to provide an easily accessible archive of new and user-supported and ports to other Multics sites over the Internet, without having to resort to manual, albeit simulated, tape operations, or IMFT/X.25 simulation. I’m still working finalizing the distribution archive format, but the infrastructure is there and running.

    2. 2

      This is cool, but is there a “getting started” guide of sorts? It feels a bit dull poking it without any direction of what to expect or where to go at all; and a bit hard to explore when you know none of the “rules” of the system. (Others might not also understand “why Multics?”)

      1. 5

        I am going to post a follow up with an FAQ this weekend, but, I’ve made every attempt to ensure the system is configured in a way that is secure - especially in the case that a Guest user shouldn’t be capable of breaking anything.

        Otherwise - common sense rules apply - don’t be malicious, and if you do discover some clever exploit or privilege escalation I’d appreciate it being reported rather than abused. Users who are obviously intentionally disruptive or abusive in their use of resources may be bumped and eventually banned.

        http://www.bitsavers.org/pdf/honeywell/multics/ has full manuals including the command manual.

        There is a very complete help system available with “help” - to search the help pages use the “lh” command.

        A nicer shell with Emacs-like editing functionality and optional history is available. You can activate this with the following command: stty -ttp vt102;wdc invoke Instead of vt102 (which assumes 80x24) you can use use VT102_132C_50L and VT102_132C_78L for a 132x50 or 132x78 display, respectively.

        Common commands are - ls (list), pr (print), cwd (change_wdir), pwd (print directory) cd (create_dir). < is like UNIX .. and > is used instead of / (>udd>u>name might be a path, for example). la is used to show ACL and sa to set them. Other commands to try include “who -lg” and “user all” to see all your attributes. Wildcard parsing is closer to VMS than UNIX. “ls >path>here>**.blah -a”, etc. Use “ls -a” to show all types of entries otherwise it wil only show regular segments. The eor command (or dprint for guests) will request print jobs which can be picked up as formatted PDF files.

        The qedx editor is quite nice for a line editor and built around regular expression parsing.

        Messaging tools are sm, smx, mail, forum, etc. The “easier to use” tools are snarkily called “xmail” and “xforum”, short for “Executive Mail” and “Executive Forum”. :-)

        Other tools to check out are are compose and runoff, the precursors to Unix troff/nroff. Most everything else is well documented but if you questions let me know - it helps for building the FAQ!

        1. 2

          The FAQ is still a work in progress but is available on the system.

          You can view it with help primer when logged in.

        2. 2

          This is a little dated - but it should also help:

          http://multicians.org/multics-commands.html

          1. 2

            also, when using the line editors and interfaces based on qedx (which is a lot of the system), it helps to know that \f (that is a literal backslash and f) means end of input or file and essentially the equivalent of UNIX EOF or DOS ^Z. (If you see a “level N” after your ready prompt in case of a crash or error or interruption, you can use “rl” to release it, or “rl -a” to release all the levels.)

            Knowing that \f tidbit not only helps you to use the system but it makes the Ford Multics shutdown cake picture on the Multicians site quite touching.

            1. 1

              Here is a new link to the Ford cake.

            2. 1

              Since some have asked, here another example, this time, for setting up a plan file as used by the finger daemon, for an account with a User ID of JRDobbs.

               cwd [dwd]
               pwd
               qedx
               a
               This is my plan.  There are many like it, but this one is fine.
               \f
               w JRDobbs.plan
               q
               sa JRDobbs.plan r Service.Daemon.*
              

              This changes to your default working directory, analogous to your home directory on Unix, and displays it. You are then invoking the QEDX editor, adding/appending your text, then writing it to the file named “JRDobbs.plan” and quitting. The sa is short for set_acl, in which you allow the Service.Daemon user (which runs the finger service daemon) read access to your JRDobbs.plan file.

              Nobody has recovered the sources for any of the original Multics finger daemons, nor was I was able to locate any logs of what the original output looked like, so I simply implemented it as it seemed appropriate. When a user is fingered they are notified by the Daemon if they are online - there is no attempt to do any identd mapping yet.

              There is no Multics finger client - yet. There is also no option that will allow the user to be excluded from the daemons output to appear as [redacted] in the listing, but these are features that will come soon.

              1. 1

                The Internet gateway services are now running as Service.Arpa. You’ll need to replace Service.Daemon.* with Service.Arpa.* in the above example to make your .plan file public.

                1. 1

                  The Internet gateway services are now running as Service.Arpa. You’ll need to replace Service.Daemon.* with Service.Arpa.* in the above example to make your .plan file public.

                  FWIW I get “Substitution Failed”

                  sa CPatti.plan r Service.Arpa.*
                  Substitution failed.
                  
                  

                  One thing that kind of throws me is the lack of any noticeable prompt when it’s ready to accept a command :)

                  1. 2

                    The prompt is the general ready line, which starts with “r “ .. you can use the “gr” command to customize the ready line, or issue “gr -revert” to use the default and not the BAN.AI customized one. See “help general_ready”.

                    Edit: Also, that error is not from exec_com but from the QEDX editor. :)

                    QEDX is very much like “ed” in that it does not have a “prompt”.

          2. 2

            I love that it runs emacs (I used the terminal type vt100fc and that worked, mostly!) - gets you a nice view into where all this came from.

              1. 1

                It does but as you point out the terminal handling gets kind of squirrely. Coming in on ssh you might be better off running a line editor like qedx. Line editors build character :)

              2. 2

                Thank you for doing this. I don’t know what I’ll do with this that I can’t do on my BSD machines, but I’ve requested an account and will be poking around.

                I wish this had been around a couple of years ago when I was writing my novel Silent Clarion in 2015. I had put my protagonist in the position of trying to crack a Multics installation because while Unix was ubiquitous in her setting, she had no experience with Multics. While I had used http://multicians.org/ for research, reading a website is no substitute for firsthand experience. :)

                1. 1

                  That’s awesome - I’ll have to read it! I should have replied to all account creation requests so far - let me know if you have any issues or didn’t receive your response.

                  FYI the Multicians working on the Honeywell simulator are incredibly dedicated - I watched as a quiet lurker for 6-8 years as the emulation developed to a “one point zero” release, a success that came only after several years of false-starts and discussion.

                  I began investigating the feasibility of running a continuously available publicly accessible system soon after that. It took me a many months of research, learning, and discovery to get everything working and to tune the system appropriately, finally getting something online that would be capable of “Internet-scale” workloads.

                  Once again, I can’t stress enough that this task that would have been quite simply impossible without the help of the many Multicians who still very much love their project.

                  1. 2

                    That’s awesome - I’ll have to read it! I should have replied to all account creation requests so far - let me know if you have any issues or didn’t receive your response.

                    I got your email. I can hook you up with a free copy if you want Kindle or PDF. Otherwise, I’ve got one of the plain-text drafts in the GitHub repository for my website because I had wanted to convert it from Markdown to reStructuredText and put part 1 (“The Geographic Cure”) online.

                    However, the Multics bits don’t come into play until Chapter 41. :)

                2. 1
                  1. [Comment removed by author]