The Architecture of the Lisa Personal Computer (1984) [pdf]
bitsavers.org
bitsavers.org
> However UNIX is a relatively large operating system with several features such as a multiuser timesharing capability, user accounting, and protection which would be wasted in a personal computer such as the Lisa. Since the Lisa would be used by people who were not computer experts, the system must be very robust. However, the UNIX file system is fragile and unreliable [10), [14]. If the power is interrupted or a system crash occurs the UNIX file system can easily be damaged. Unless a systems programmer is present to repair the damage, a user can easily lose all his data. In addition, UNIX does not provide the general inter-task communication facility that the Lisa requires. UNIX memory management does not offer sophisticated sharing of code and data between tasks. Finally, UNIX and alI other operating systems do not provide the support for graphics, multiple windows, the mouse, integration, etc., which are essential to the Lisa. Such capabilities cannot be built on top of an operating system but must be built in to work correctly and efficiently. An attempt to modify UNIX to overcome all of these deficiencies would have taken longer than designing a new operating system with all of the needed capabilities.
they ended up implementing the multiuser timesharing capability (aka multitasking), but i remember the machine as ridiculously unstable anyway
this probably made the gui unusably slow on the available hardware, though the at&t unix pc did sort of work on hardware that was only two or three times as fast
https://en.wikipedia.org/wiki/AT%26T_UNIX_PC
not sure what you'd do with ipc without multitasking tho
This turned out to be essentially correct (see NeXTSTEP, Mac OS X, Linux...)
Nevertheless, Unix was also available for the Lisa.
1979, M68000, CPU, instruction backout broken, so if you wanted to handle page faults, you needed to avoid all multi-step instructions.
1993, M68010 CPU, fixed backout bug.
1987, N68030 CPU with MMU, page faults work.
Early machines required boards full of extra hardware to work around this problem. Which is why the Macintosh, unlike the Lisa, had a plain 68000 MMU and a DOS-like OS hidden by a very nice GUI.
I've coded for the original MacOS. Yes, it was DOS-like at the OS level. No threads. No processes. No CPU dispatcher. A collection of interrupt driven hacks to allow a little bit of asynchronous processing by registering callbacks. Like you'd do on an Arduino today.
In 1981-4, the era when the original Mac OS was developed, very few systems had threads. And if “has a filesystem and is single-tasking” is your criteria for being “DOS-like” I’m pretty sure every operating system between the inventions of the filesystem and timesharing is also “DOS-like” by your definition.
I’d call an operating system “DOS-like” if it used a filesystem with drive letters and short file names with extensions, a command line where argument interpretation is handled by the executed program, text files to script startup and configure device drivers, and the operating system API existed primarily to mediate filesystem and maybe printer and modem access.
The original Macintosh operating system had no scripting system, used long volume names and filenames, made file type information inaccessible to the user, didn’t include any sort of command line at all, and made providing ways to interact with documents the main point of its API set—to the point where it had no provisions for anything but graphical applications.
The 68000 couldn't restart page faults - people got around that a lot of ways, some put 2 68ks there and paused one while the other took the fault, mostly though most unixes of the day were swapping ones, the only traps that needed to be restarted were those that extended the stack down, and compilers could be persuaded to generate stack probe code. 68010s fixed that problem and were available around the time we started building paged systems.
The 68020s could have an external PMMU (there was another done by Signetics, I think, it was a bit DOA), I think Sun still made their own.
The 68030 pulled the PMMU on chip.
At the time I worked for Unisoft, the company that did Unix for the Lisa, and A/UX for Apple, it was just one of about 150 Unix ports for other companies we did the bulk of them for 68Ks and most of those for those early 68000/010 - in short they were extremely popular, at the time every man and their dog were trying to make the next great workstation in their garages
https://arstechnica.com/gadgets/2017/12/source-code-for-appl...
That still seems to not have happened. Would be nice to know what the hang up is and what is stopping this from happening.
Glad this convention died. Definitely a "clever" hack to save memory bandwidth resulting in a lot of pain for future generations.
http://bitsavers.org/pdf/corvus/Corvus_Concept/
It's essentially what Lisa would have been if the UI direction hadn't changed because of Apple's exposure to the PARC Alto (which also had a 606x808 screen with square pixels).
Fun fact:
Mike Cook, the person who designed the Corvus Concept hardware, ended up going to Apple and designed the board for the LaserWriter II.
Skimming the user manual, there's a label window below the screen, very similar to the soft function keys approach of the early Lisa concepts, indeed.
(WAP used a special, binary image format, but the compiler for this didn't care about pixel ratio. The fun part was really designing and previewing these images on square-pixel hardware and then converting this to something which was still crisp on the actual hardware target. But then there were also PDAs, which did have square pixels…)
Yet another way the Mac was glorious at the time.
Only LCDs forced using a single fixed aspect ratio, which then was chosen to be the square one. (Though subpixel rendering still allows for higher horizontal resolution.)
> As a result, the Lisa bitmap display can operate faster by representing a black pixel as a One and white as a Zero.