Hacker News new | past | comments | ask | show | jobs | submit login

The Amiga had preemptive multitasking in the 80's. (No memory protection though.)



So did the Lisa even earlier (and Xenix, which was a derivat of Unix Vers. 7, anecdotally also seen on the Lisa).


Is that true? I see contradictory information about Lisa OS. Some posts claim it was cooperative, like the original Mac System. Example: https://macintoshgarden.org/apps/lisa-os-2-and-3


(A bit of research later:) It's actually a bit of a mixed bag. The "Operating System Reference Manual for the Lisa" [0] reads on pp. 1-3/1-4:

> Several processes can exist at one time, and they appear to run simultaneously because the CPU is multiplexed among them. The scheduler decides what process should use the CPU at any one time. It uses a generally non-preemptive scheduling algorithm. This means that a process wlll not lose the CPU unless it blocks. (…)

> A process can lose the CPU when one of the following happens:

> • The process calls an Operating System procedure or function.

> • The process references one of its code segments that is not currently in memory.

> If neither of these occur, the process will not lose the CPU.

In other words, non-preemptive, unless the OS becomes the foreground process, in which case it may block the active process in favor of another one currently in ready or blocked state.

[0] https://lisa.sunder.net/LOS_Reference.pdf




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: