The year is 1983, and several Apple employees visit Brown University, and get some idea of what Universities want in a computer for the coming future. The big buzz of the era was the so called 3M machine:
- 1 Megabyte of Memory
- 1 Megapixel display
- 1 Megaflop of performance
Naturally the Macintosh didn’t fill this void, instead leaving this to the new SUN-2 workstation. However seeing the opportunity, in 1984 the seeds were planted for the ‘Big Mac’ project. The hardware design was headed by Rich Page, which included new things like ADB, and dedicated video RAM, along with a 68020 processor, and 68881 maths co-processor. Additionally Big Mac was intended to run a UniPlus version of SYSV Unix, along with the MacOS Toolbox being ported to run directly on top of Unix.
All that I can find of the Big Mac project is this insanely low resolution image, along with the codename ‘Milwaukee‘.
However all this came to and end in 1985 with the ouster of Steve Jobs, who in turn took various people including Bud Tribble, George Crow, Susan Barnes, Susan Kare, Dan’l Lewin, and Rich Page. Apple followed up with a $5MM USD lawsuit alleging that Jobs had done research for a next generation product and taken the key staff, namely Page from Apple to make it reality. The suit was eventually dismissed.
From there the race was on to build a 3M machine. NeXT would take the Big Mac concept further with the NeXT CUBE which included ADB, NuBUS and a 68030/68882 + SCSI + Ethernet setup. And for the OS, 4.3BSD Tahoe+Mach 2.5, along with a new Objective C language, and new OO frameworks.
Genesis
Back at apple however the ‘Big Mac’ project seemed to have stagnated, and was slimmed down and eventually shipped as the Macintosh II in 1987. There no doubt was a re-awoken sense of urgency in the academic space for the 3M market, now that NeXT was making a 3M machine Apple of course didn’t want to be pushed out of the new space. Apple released a real 1.0 product (1.1.1 survives, although you have to run ( /etc/toolboxdaemon & ; term) to get anything fun from Shoebill with the ISO), what can barely be called a bare bones SYSV port with overlapping terminals at best..
Overwhelming, and interesting this is not.
This of course was more like a tech demo, running a single ‘Unix toolbox app’ at a time. Pricing according to usenet was around $500 for the software, keeping in mind of course that a Macintosh II would be far more expensive. Version 1 also started to add BSD features namely curses in 1.0, allowing you to port simple terminal ‘graphics’ to the OS. The trend of adding BSD features was only going to continue from here! But all of this is a large step up from the earliest known version simply labeled as 0.7 which despite it’s ‘Oreo’ appearance is strictly text mode only.
Dawning of a new era
The real magic is in 2.0:
Think of it more like the OSX of the 1980s. Finder has been ported over to the Toolbox on Unix API allowing A/UX 2.0 to run off the shelf MacOS applications. Under the hood however is the same UniSoft SYSVr2. However running MacOS on top of Unix gives it far faster disk IO, and of course the much vaunted memory protection, although with the massive catch that it’s only for Unix applications. You can still crash applications, and even finder. However you can telnet into the box and restart services, or perform a graceful reboot.
For Unix fans this was the first time you could get ‘off the shelf applications’ that didn’t cost a fortune, along with the standard Unix far. Amazingly both the C compiler and Fortran 77 compiler are included in the box. By 1990 many a company was making these only available for a separate purchase. Version 2.0 also brought along some BSD features with the big one being UFS support for longer filenames, and faster disk performance than the aging SYSV filesystem.
Of course it wouldn’t be all sunshine and rainbows as around this time Apple launched a lawsuit against Microsoft, and Atari over the visual iconography of MacOS (Oddly enough GEM on the ST was ignored). This so called ‘look and feel’ lawsuit lead to a boycott of the fledgling Unix from the FSF, which in turn hurt things like binutils/gcc/gdb etc being easily available to A/UX users.
So what went wrong?
Without even looking at the follow up version 3, and the products demise in the transition from 68000 to PowerPC, the writing was on the wall.
- Price
The damned thing was just too expensive! From Wikipedia “When introduced, a basic system with monitor and 20 MB hard drive cost US$5,498” Version 1 was available on tape, and later CD-ROM, I think there was a floppy version, but without a doubt a 20MB disk is far too small. Just as anything under 4MB of RAM is not going to be realistic. Adding in these components you are going to be into the low end of SUN’s catalogue. And why would you take a chance on Apple when you could go to an established Unix vendor?
The other issue is that Unix being Unix you really needed a MMU, and Motorola MMU chips were expensive. Also A/UX had drivers for SCSI only. This prevented a ‘low end revolution’ as the low end machines like the 605 didn’t have SCSI, or full 68040’s. Even the end of the line Quadra 800, sold for an eye watering $4,679!
- Direction
What was the heart of A/UX? It was a Unix with a one button mouse, and optional X-11.. with A ONE BUTTON MOUSE?! It was a SYSV Unix, not a BSD, but did include BSD TCP/IP, NFS & UFS filesystem. It was shunned by the FSF as a first tier platform so people had to fidget with code to get it to compile. It was GSA C2 certifiable, but did anyone actually use it in that role?
It was also a Unix with a version of Outlook, and Excel, AfterDark, Fortran 77, and a dead simple UI.
Even after all this time, answering what A/UX was seems to be an identity crisis.
Where did it go right?
One of the big deciding factors in getting workstations for government compliance was the so called C2. This meant things like enforced passwords, auditing and POSIX. It’s everything that the POSIX subsystem for NT was built for, to check just enough boxes, while for Apple A/UX just gave them an instant win. I have no idea if it ever happened but I’m sure somewhere someone was using a Quadra with Word Perfect and A/UX to be a super expensive and certified Mac. Obviously the MAE project dovetails into this, giving commercial MacOS applications to Unix users, but so many others have covered that, and the short version is that it’s incredibly fragile and not very robust at all.
I’m sure someone used it as a fileserver, heck even in the PowerPC generation there a straight port of AIX to a server along with AppleTalk modules.
The demise
Its easy to point to using UniSoft SYSVr2 as being a cost factor, but it really was the hardware requirements. Without any AUX for the LC it was doomed. This wasn’t going to be the Unix for Grandma. Transitioning to the PowerPC removed the braindead CPU problems of lacking a MMU or FPU, but I suspect that the tricks of the 68000 translator would not have run, and certainly wouldn’t pull off things like device drivers. Worse stil people just got used to System 7, and had hopes that the fabled Copeland / System 8 would bring about something strong enough like a Unix without any of the complexities.
Timelines, however slipped, Apple had flirted with MkLinux but didn’t fully commit. Indeed these were dark days, it’s like they were so dead set on going forward to not see a seemingly obvious solution to the OS problem in the past.
Looking at Carbon, and Toolbox32, it’s hard not to imagine a world pushing ISV’s to write for a protected MacOS, but they’d never had bought NeXT. As a matter of face, I would argue that without Steve’s media connections from Pixar, Apple would have slid away into irrelevance, as media outsells the PC tech anyways. Even in 2010 Jobs had called Apple clearly in the ‘post PC era‘.
Links:
I have my own personal views of the time. I worked for the company that did the B-level TCSEC version of AU/X (a higher-level security rating than C2, sold mostly to military and intelligence agency customers) and we were heavily developing on AU/X.
I recall the Apple folks being quite clear that the primary reason by far that AU/X existed was to be able to participate in government GSA contracts (and equivalent in other countries) that had specified “Unix” and/or “POSIX” that they’d been locked out of with Classic MacOS. It seems there were a lot of contract requirements written like this at the time.
Yes, there was some push into Higher Ed, where Unix workstations were taking off, and if a commercial buyer wanted it they’d find a way to sell it to them, but the clear expectation from where I sat was that gov/mil/intel users would be the bread and butter for AU/X. Apple folks were mostly incredulous that an individual user would want AU/X over MacOS classic.
A couple of additional notes:
AU/X machines were expensive, but not so much compared to the “equivalent” mainstream Unix workstations. Watching an AU/X versus SunOS or HP/UX bakeoff was always interesting.
You’ve got a bit of a misunderstanding with regards to “C2” & “POSIX”. C2 is a rating out of the TCSEC standards (aka Orange Book) specifying what steps have been done to ensure an OS is ‘secure’ (for some value of secure…). POSIX is a Unix-like API layer that makes porting Unix-ish software somewhat easier; it shows up in purchasing requirements when someone wants Unix but has to allow for other, technically ‘compliant’, competitors (DEC VMS has a POSIX subsystem for the same reason). C2 and POSIX aren’t, per se, related and one doesn’t require the other. Indeed, Windows NTs (somewhat farcical) C2 rating requires the POSIX subsystem to be disabled (along with physically removing any removable media drives and disabling networking). You can see an ok overview of the requirements at each TCSEC level here: https://en.wikipedia.org/wiki/Trusted_Computer_System_Evaluation_Criteria
Unisoft was one of 2 or 3 “go to” Unix porting shops back in the day (ISC was another), and they had a specialty in Motorola processors. You build a 680×0 box, you contract Unisoft and have Unix running in a couple of months. Lots of 80s/90s workstation vendors had Unisoft code under the hood someplace. Pretty good folks. But by the time they did AU/X, SVR2 was getting long in the tooth and SVR3 would have been an option. I never got an answer on why they preferred the old system with various newer bits bolted on.
I don’t know if the numbers were ever publicly available of who bought what why.. I know the c2 was such a big checklist must have but I’ll be damned if I remember anyone saying why other than check list. But I was on the periphery.
To me the cost was so high that you were in SUN territory, and why buy from Apple which was so non committal, why sink that much money when you can buy a SUN, who was absolutely committed to UNIX?
C2 was a common government procurement checklist item at the time. SCO sold a ton of Unix because they had one and the other i386 Unix folks didn’t. Almost no one used the full capabilities; a few places used some bit of it (like audit logging). Most places checked the box and moved on.
It’s funny because they basically had a formula for the next generation Mac OS in their hands but they couldn’t execute. This is basically all Mac OS X is, Unix with Mac on top. They could have probably run with this before Taligent or Copland and had a good product, but it didn’t happen. Of course like you said, without Steve maybe they wouldn’t be where they are now.
It’s got to be some paradox where you can’t hand someone the winning thing until its time.
Toolbox on Unix without Steve was a dud. And if they had executed on it, they’d never have had iTunes/iPod/iPhone levels of success.
In the end the formula won.
Actually… NeXT and Apple fusion fairytale isn’t all bell & whistles. Lots of people say NeXT saved Apple… But actually is more like 2 dying companies teaming to save themselves… With the blessing of Microsoft, who was in an urgent need of a “competitor” to overcome the antitrust trials… At least at the time the agreement was done.
Let’s not forget NeXT at time was also in the verge. They couldn’t success with a PPC NeXT (had mobos and stuff, but couldn’t make a finished product)… And their 68k inventory was getting extremely aged and expensive. They had to port NeXT OS and API to other hardware vendors to try to make money (in the hurt heart of Steve)… Including even a Windows NT it! Failure of NeXT, even with all the help they were receiving at time from their contractor Pixar, would have been a reality, may Apple have chosen Be instead them.
Would have Apple + Be had success? No one will know. Is true BeOS had polished apps who were on feature par with iStuff ones. But is also true Steve was a showman capable to sell you a colored mirror in 100USDs. iStuff success wasn’t just because the apps, which sincerely were a bit inferior to Windows counterparts, and resembling more what a smart phone app actually is… But because Steve and his showman ability.
Just my own opinion, but totally agree timing is everything. OS X in 2001 officially required 128Mb of RAM but really wanted 256Mb, and it didn’t work that well; Apple didn’t use it as a default OS for over a year. It was nerds (the people reading this!) who saw the potential, but moving to a UNIX core wasn’t a compelling feature for most people.
IMO a lot of the timing was related to the huge growth of Linux in the years before 2001, so a system with a UNIX core could attract a lot of freely available software and developer talent. Apple really played to this with Darwin and leveraging a (highly butchered) GNU toolchain. The exact same strategy transplanted earlier wouldn’t have had the application/developer ecosystem.
Along the same lines as raijinkai’s point, another way of viewing this is that two smaller players (MacOS and UNIX) united to form a stronger alternative to Windows.
oh for sure, more competent hardware for cheap is also what tipped the balance in favour of NT. It really takes a multi-hundred Mhz processor and hundreds of MB of ram to run it comfortably.
When I had my NeXT cube it was amazing it worked as well as it did, but 25Mhz was woefully inadequate for anything real. I didn’t get that until what? 2002? And it was more of a novelty.
I was all on board with OS X Server, the 10.0 public beta thing, and of course the launch 10.0. I thought it was fantastic (I didn’t print, so I didn’t care about that gap). Games was of course the lacking thing, but having Internet Explorer native was amazing. And from there, 10.1 put things onto the right path, 10.2 was amazing.. Then things went all ‘message bus’ with 10.3 and … I lost interest.
the mac II A/UX port was done at unisoft under the code name “Pigs in Space”. Paul Campbell did the heavy lifting, and the early versions used a bizarre gate array boardlet called the MMB since the 68851 MMU wasn’t ready yet.
It must be why the build directory is /sys/psn … PigSiNspace?
I thought it was fun to build under Qemu and Shoebill to get an idea of how fast the new QEMU is. 1:58 Shoebill, and 0:17 Qemu.
Even more surprising the kernel boots!
It’s been a long time, I think we gave a 3-letter code to every port we did – ps in psn is likely PigsinSpace – the stuff in that directory is the Apple specific code (there’s a comment upstream about SVr3 vs. SVr2 – from memory SVr3 wasn’t available when we started – I did write a streams clone and include it in A/UX for the Appletalk stack
Did you cross compile from something like a VAX? I can’t imagine using the target to do builds back then it’d be so incredibly slow
We used an 11/750 to do the initial bootstrap process when porting to new platforms, but always switched to building on the box as soon as it became stable, building that way was always much faster than downloading kernels over serial lines for testing.
Porting sort of went this way:
– write a polled serial driver, and a polled disk driver
– cross build all the apps
– integrate the drivers into a standalone app that could download a boot file system
– set it downloading, go away for many hours
– write interrupt driven disk/serial drivers, build a kernel
– start downloading and debugging the kernel
– get a prompt (big milestone!)
– as soon as it’s stable move to development on the box
sounds pretty cool!
Best I could do was polled MPU401… it’s a lot harder when you dont know what you are doing and are guessing at how things work.
It must have been really rewarding to see that # prompt!
Yeah, prompts were a big deal – they still are (I’m working on a highly OO/superscalar/speculative risc-V project, getting a prompt a couple of weeks ago on an AWS FPGA instance was a big deal!)
We used to quote 6 weeks for the above process for a system with a known MMU and the two drivers – fastest I ever did was 3 days for a system where we’d already done all the bits before for other customers – marketing made me wait a couple of weeks before telling the customer.
A/UX had a lot lot more work than a bog standard port, and it took a lot longer
Also – 30 years later my fingers still sometimes type “sync” when I’m idle and thinking 🙂
Who was Holly Knight in the passwd files?
holly:lLoTSq8z2Qmuw:8:8:Holly Knight:/usr/holly:/bin/csh
holly:.DhxL2fe01f5s:8:10:Holly Knight:/usr/holly:/bin/csh
holly:GSNDZRS19RO/g:8:1:Holly Knight:/usr/holly:/bin/csh
(Paul here) – I did some (maybe half) of the heavy lifting but it was a team effort – I did the screen/keyboard/mouse/appletalk/autoconfig
Sadly due to silly politics A/UX got an inferior version of the autoconfig I’d already done – the real one would have done full loadable device drivers (a la linux)
The ‘bizarre gate array thingy’ wasn’t for A/UX – it was the thing you put in the PMMU socket if you didn’t need an MMU, among other things it emulated the discarding of the upper 8 bits of addresses that 68000s did
Author of Shoebill here — really cool to read about your work porting Sys V to the mac. I had a lot of fun reverse engineering your code 😉
FWIW, A/UX 0.7 has a nascent toolbox environment. You can launch the daemon manually with “$/etc/tooldaemon &”, then play with the binaries in /usr/toolboxbin
E.g. https://imgur.com/a/GDc4e1S
Yeah, you can see the kernel event manager I’d written there – it sort of mirrors the mac one, the Apple people took that and integrated it into their toolbox (I’m not sure how much of that survived into 3.0) – essentially it’s a queue of events (mostly mouse and keyboard), it also does software mouse movement (there’s tight assembly code to hide the mouse, move it, unhide it)
Taking into account the evidence from Chapter 9 of Stephen Levy’s Insanely Great, ‘Milwaukee’ was almost certainly the codename for what became the Macintosh II hardware, not for Big Mac. (According to Levy, the proto-Mac-II was also sometimes referred to as ‘Little Big Mac’.) The Macintosh II project was quite independent from Big Mac: indeed its very existence was hidden from Jobs to prevent him from killing it. It certainly did end up taking ADB from Big Mac, though. Levy even gives an origin story for the ‘Milwaukee’ code name: Mike Dhuey, the engineer who began the project, came from Milwaukee, and Jean-Louis Gassée noticed a picture of the city hanging in his cubicle. The linked A/UX file does indeed describe A/UX as “Milwaukee virtual Unix”, but that’s presumably because it’s a port of the operating system to the Macintosh II hardware, ie. to Milwaukee.