| Click here to select a new forum. |
| Why didn't the Original Mac OS have pre-emptive multitasking |
Posted by: LisaXL on 2021-11-29 17:50:30 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). |
Posted by: Nixontheknight on 2021-11-29 17:58:16 Because the original Mac OS was designed with the 128k’s memory constraints in mind |
Posted by: Unknown_K on 2021-11-29 18:09:21 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. |
Posted by: LisaXL on 2021-11-29 18:16:55
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? |
Posted by: Unknown_K on 2021-11-29 18:21:21 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. |
Posted by: cheesestraws on 2021-11-30 03:30:43 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. |
Posted by: ArmorAlley on 2021-11-30 06:42:38
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. |
Posted by: Crutch on 2021-11-30 07:25:43 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. |
Posted by: cheesestraws on 2021-11-30 07:44:22
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... |
Posted by: cheesestraws on 2021-11-30 07:50:59 (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) |
Posted by: ArmorAlley on 2021-11-30 08:04:00
In many, many ways, the Lisa is more like a very small minicomputer than an overgrown micro... It was certainly priced as small minicomputer. It was a 3 or so years too early. |
Posted by: Unknown_K on 2021-11-30 09:13:41
OS/2 is an IBM invention. Actually it was a Microsoft and IBM product until Microsoft left and started NT. |
Posted by: Gorgonops on 2021-11-30 09:46:41
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... |
Posted by: cheesestraws on 2021-11-30 09:48:13
Citation needed here
The Lisa could run XENIX or UniPlus with full UNIX-style multitasking. |
Posted by: cheesestraws on 2021-11-30 10:03:55 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. |
Posted by: jessenator on 2021-11-30 10:07:40
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. |
Posted by: mg.man on 2021-11-30 11:46:31
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... |
Posted by: mg.man on 2021-11-30 11:47:29
Actually it was a Microsoft Ah... hadn't gotten to your post... 🙃 |
Posted by: cheesestraws on 2021-11-30 11:55:02 Yeah, I got it wrong, I don't know much about OS/2, apologies. |
Posted by: mg.man on 2021-11-30 11:58:02
apologies No need... I guess some of us know too much!!! 🤣 Still kick myself every now and again about tossing all that MS OS/2 stuff out.... 🤬 |
| 1 > |