• Hello, Guest! Welcome back, and be sure to check out this post for more info about the recent service interruption and migration.

Why didn't the Original Mac OS have pre-emptive multitasking

LisaXL

Active member
Apple Lisa has pre-emptive multitasking. It seems trivial to have multi-tasking for Mac OS from the beginning. Why didn't it have it? Was it because of the memory limitation or performance concern? And why was it so hard to add pre-emptive multitasking to the classic Mac OS afterward? It was impossible until their completely change over to OSX(which I don't like).
 

Unknown_K

Well-known member
Probably a cost and intended user decision.

The Lisa was built as a business machine while the original Mac was a single user single task at a time device. Once you make those initial decisions on how the core operates you are kind of stuck with it when you tack on updates and Classic OS lasted way too long.

Apple was competing with Microsoft DOS that didn't have pre-emptive multitasking at the time. Microsoft did export a version called European MS DOS 4 that had that function and others and I think that ended up morphing into Microsoft OS/2 1.x

The original Mac OS was pretty stripped, they didn't even allow for add on cards until version 4 when the Mac II came out 3 years later.
 

LisaXL

Active member
Probably a cost and intended user decision.

The Lisa was built as a business machine while the original Mac was a single user single task at a time device. Once you make those initial decisions on how the core operates you are kind of stuck with it when you tack on updates and Classic OS lasted way too long.

Apple was competing with Microsoft DOS that didn't have pre-emptive multitasking at the time. Microsoft did export a version called European MS DOS 4 that had that function and others and I think that ended up morphing into Microsoft OS/2 1.x

The original Mac OS was pretty stripped, they didn't even allow for add on cards until version 4 when the Mac II came out 3 years later.

Yeah, I think the initial limitation of 128K makes multi-tasking impracticle. But I wonder why it was so hard to add pre-emptive multi-tasking back to Mac OS? Apple really struggled it until they purchased NeXT. IBM and Microsoft was able to do it while maintaining compatibility with OS/2 and Windows NT. Why not the classic Mac OS?
 

Unknown_K

Well-known member
You did notice Microsoft had to write a whole new operating system to do multitasking well and not crash? And while people do say Microsoft supports old software and hardware with new OS they tend to support the most popular commercial business apps and hardware vendors had to update their own drivers.
 

cheesestraws

Well-known member
From a hardware level, note that the Lisa has an MMU and the Mac does not.

More generally, this was because the original Mac was designed to be an appliance computer, more like the original iPad (which, you will also note, did not have user-facing multitasking). The computer would become, totally, what you wanted it to be in that moment, and in the next moment it would be something else.

IBM and Microsoft was able to do it while maintaining compatibility with OS/2 and Windows NT. Why not the classic Mac OS?

Microsoft got a leg up with NT from DEC IP that they perhaps strictly speaking should not have had. OS/2 is an IBM invention. Copland was going to be Apple's equivalent, but it fell on its backside mostly because at that time Apple were basically incapable of releasing anything in a finished state, or indeed finishing anything. The difficulty was largely organisational, rather than technical.
 

ArmorAlley

Well-known member
Apple Lisa has pre-emptive multitasking. It seems trivial to have multi-tasking for Mac OS from the beginning. Why didn't it have it? Was it because of the memory limitation or performance concern? And why was it so hard to add pre-emptive multitasking to the classic Mac OS afterward? It was impossible until their completely change over to OSX(which I don't like).
Offhand, I don't know the answer. My guess is that the small team were run off their feet with the Macintosh project as it was. There weren't that many people on the team and they accomplished something quite extraordinary. How do you program for a computer that doesn't exist?

Read Andy Hertzfeld's (and others') accounts at https://www.folklore.org/ and you'll get an idea of the project from the people who were there.
 

Crutch

Well-known member
Wow, I’ve never used or touched a Lisa but had no idea it had preemptive multitasking when released. Really? It’s been a long time since my Operating Systems class but, how does one even do that on a 68k? How does the supervisor get control back from a user process after X time? Did the Lisa provide mutex features to prevent resource contention? I feel like you just blew my mind a little.

Certainly once the Mac was well-established it was indeed architecturally hard to add pre-emptive multitasking without breaking a huge chunk of the software out there that basically assumes it can keep control until the next call to WaitNextEvent or SystemTask.
 

cheesestraws

Well-known member
Wow, I’ve never used or touched a Lisa but had no idea it had preemptive multitasking when released. Really? It’s been a long time since my Operating Systems class but, how does one even do that on a 68k?

It not only has pre-emptive multitasking, it has protected memory, too. Has quite a flexible custom MMU built out of discrete logic because Motorola didn't have one available at the time (IIRC). In many, many ways, the Lisa is more like a very small minicomputer than an overgrown micro...
 

cheesestraws

Well-known member
(This is also, note, one of the reasons why the Lisa feels slower in operation than the Mac, I think—the multitasking drags it down considerably)
 

Gorgonops

Moderator
Staff member
It not only has pre-emptive multitasking, it has protected memory, too. Has quite a flexible custom MMU built out of discrete logic because Motorola didn't have one available at the time (IIRC). In many, many ways, the Lisa is more like a very small minicomputer than an overgrown micro...
Citation needed here? The web seems to disagree about whether what the Lisa had counted as "preemptive" or "cooperative" multitasking. The MMU is pretty sophisticated (for the time), with multiple "task slots" and hardware memory protection, but it was also very slow. (Added quite a few wait states.) I guess the argument is complicated by the fact there there was almost *zero* "Lisa OS" software beyond the integrated Lisa Office System suite, so even if that "preemptively multitasks", well, there are programs for DOS that can do that internally...
 

cheesestraws

Well-known member
Less annoying answer: it is somewhere between the two: one cannot arbitrarily be preempted based on a timer, but there are a lot of defined points at which processes can have the CPU taken from them. If you want the gory details, see the Operating System Reference Guide for the Lisa (1983), pp. 3-3–3-4.
 

jessenator

Well-known member
Britannica said:
Simultaneously, Microsoft continued development of its Windows operating system, whose popular third iteration (Windows 3.0) contained some of the GUI elements developed for OS/2. Despite later basing some Windows NT and Windows 95 developments on code written for IBM and OS/2, Microsoft soon discontinued development of further interface features for OS/2.

Man... that IBM-Microsoft contract must've been terribly written. It boggles the mind that they had these simultaneous projects going on and IBM was [arrogantly] fine with it all. I guess they believed that theirs was a superior product and no one could touch them. Too big to fail, I guess they say.

Back on topic. The Lisa fascinates me not just from a rarity perspective, but from market, operation, architecture, conception standpoints. It's interesting that it had more of the PARC spoils put into it than the Macintosh. But as has been said, it was conceived as an appliance, vs the definition of minicomputer. It has morphed so much in the nearly four decades since... cripes I feel old.
 

mg.man

Well-known member
OS/2 is an IBM invention
Umm... nope. "OS/2" started life as Microsoft (yes, that Microsoft) CP/DOS. It later evolved to be Microsoft (yep, them again) OS/2. It also wasn't until OS/2 V1.1 that it got a Presentation Manager - think Windows 3.1.

When John Akers (CEO of IBM) and Gates fell out, Microsoft took all that code they developed for IBM and magically created NT. The observant may have noticed that some of the NT error identifiers look very much like OS/2 ones...

One of my biggest regrets was tossing out (during a house move) a complete set of binders / manuals and 1.2M floppy disks for "Microsoft Operating System/2"... 🙄

How do I know all this?... I was working for IBM in one of the UK development labs when all this was being created. We were actuvely porting our mainframe application to this fancy new PC thing...
 
Top