Posts Tagged Unix
After being introduced to SIMH and getting Multics running, I thought about using SIMH to retrace the steps (and operating systems) that I’ve used in my career. For now, I’ll focus on the UNIX and UNIX-derived systems.
Before coming to UNIX, I had already used Honeywell GECOS, Multics, CP-V and CP-6, and well as DEC’s VMS and TOPS-10. My first UNIX experience was Programmer’s Workbench (PWB) UNIX, which was an interim version between versions 6 and 7.
But after that I used 4BSD, SunOS, UNICOS, HPUX, DomainOS, SGI IRIX, and a host of other UNIX-flavored systems until finally coming to Linux. Along the way I help to extend or create two security kernels – KSOS-11 and KSOS-32.
So my plan is to bring up as many of these operating systems up as possible using SIMH, and focusing on the UNIX family.
Here’s the dependency graph of what I have in mind to begin, and it’s a roadmap for the rest of this series. I have no idea how long it will take, or how far I’ll get.
To date, I’ve got Multics and V6 UNIX, so I’ll show the tooling for those first. Using this information, you should eventually be able to run any OS for which a SIMH emulator exists for the CPU, and for which you can find a bootable or installable image.
Last Fall (Oct 2018) I started playing with SIMH, and using it to run some rather ancient operating systems in the Google Cloud (GCP). So far I’ve been able to run Multics, UNIX V6 (PDP-11), and 4.0BSD (VaX).
I started down this path by using the dps8m fork of SIMH to run Multics on a Raspberry Pi 3. This worked very well, and produced performance that for a single user, matched the original mainframe hardware. Not bad for a US$35 pocket sized computer emulating a US$10+ MILLION mainframe (of the 1980s). Of course, Multics supported 100s of simultaneous users using timesharing, but at its heart, Multics (up to 8) CPUs were about 1-2 MIPS each and the system supported up to 8M 36-bit words (32 Mbytes) per memory controller, up to 4 controllers per system for a grand total of 128 Mbytes per system. Yes, that’s Mbytes, not Gbytes.
For comparison, The $35 Pi 3 B+ runs at about 1000 MIPS, and has 1Gbyte of RAM. The Google Compute f1-micro uses 0.2 of a ~1 Ghz CPU and has 0.60 Gbytes (600 Mbytes) of RAM, making it a reasonable fit.
I’ve been building tools to allow anyone to install SIMH and any of these operating systems in the cloud, so that they can be experienced, studied and understood, without having to use dedicated hardware, or understand the details of using GCP, or SIMH.
In this series of posts, I’ll introduce how I’m using GCP (with scripting), a little about SIMH, a little bit about the hardware being emulated, and the historical operating systems and how to run them all in the GCP cloud, pretty much for free.
You should start by looking into Google Cloud Platform (GCP) and using some of their tutorials.
Last week was LOPSA‘s 5th birthday and this is LISA week in San Jose. Both are focused on the system administration community. One perennial topic in the LOPSA mailing lists and IRC channel, and at the LISA conference is “How do you become (or become a better) system administrator?”
Of course, one of the best ways to become a better sysadmin is by trying and doing more and different sysadmins tasks. Another good way is to hang out (or be mentored) by someone with more (or different) skills.
Another way is to hit the books…
System Administration is a very broad field, spanning all manner of technologies. Whether it is a specific operating system, or networking or storage or databases…. there are core skills that apply. Time management, technical planning, troubleshooting and interpersonal skills, for example.
No matter what your specialization (if any) in system administration, there are a few books that I consider necessary. If you haven’t read these, you’re missing out, and may end up spending a lot of time re-inventing some aspect of system administration.
- The Practice of System and Network Administration, affectionately know as “TPOSNA” is the current essential desk reference. Limoncelli, Hogan and Challup are all recognized leaders in the field, and this is in part the sum of all their combined years of experience.
- UNIX and Linux System Administration Handbook is the latest (July 2010!) incarnation of the Linux Administration Handbook (2006), which is itself a major re-write of the classic UNIX System Administration Handbook, which set the standard for system administration reference books back in 2000. The team of Nemeth, Snyder, Hein and Whaley have delivered a fitting update to the series. Keep this one by your keyboard.
- Essential System Administration by Frisch is a favorite of mine because it ventures into some of the “more different” UNIX flavors, including AIX and HP-UX.
Moving up from the deeply technical, I recommend these books to sharpen your softer skills:
- Time Management for System Administrators (another book by Tom Limoncelli) is more useful than the more generic time management books (Covey, etc.) because it offers specific solutions based on the way that system administrators actually work. Achieving the necessary balance between firefighting and projects is an essential skill, and this book can really help here.
I’ll be back to talk about references for system administration managers. If you’ve been thrust into management, you’ll want to check back for that installment…