Skip to main content
various grammatical things
Source Link

Memory protection.

It's not that preemptive multi-tasking is expensive, or hard. It's not. It's easy. It costs (canor can cost) costs, essentially, the same as cooperative multitasking. You have to save process state in both cases.

But what was holding back the older systems was their early reliance on systems without inherent memory protection, and those legacy'slegacies lasted long past the availability of hardware that actually had supported Memory Management Units (MMUMMUs).

Take the Mac, for example. It'sIts legacy was the 68000, which haddid not have direct MMU support.

It was not long before the Mac cameMacs started coming out with 68020 based machinesCPUs (which DIDdid have such support). But the OS has to run not just on the newnew hardware, but also on the old hardware, and the. The two systems are quite incompatible. Plus the actual impact on software design on those systems.

When you start from scratch, like (like OS/2,) then, yeayes, "it's easy"it's easier.

MacOS heritage held it back for a long, long time before they were able to replace it with with MacOS X via it's Carbon compatibility layer for the software in the new, Unix-ish environment.

The OS for the Apple IIGS was actually a "better" MacOS in somewayssome ways, notably in process management and memory management. MacOS 2.0.

Windows suffered similarly. Recall early Windows ran on the 8088. Not the 80286, the 8088. That legacy also burdened it for quite sometimesome time.

Code has momentum, choices have consequences. Be amazed they worked at all.

Memory protection.

It's not that preemptive multi-tasking is expensive, or hard. It's not. It's easy. It (can) costs, essentially, the same as cooperative multitasking. You have to save process state in both cases.

But what was holding back the older systems was their early reliance on systems without inherent memory protection, and those legacy's lasted long past the availability of hardware that actually had supported Memory Management Units (MMU).

Take the Mac. It's legacy was the 68000, which had not direct MMU support.

It was not long before the Mac came out with 68020 based machines (which DID have such support). But the OS has to run not just on the new hardware, but the old hardware, and the two systems are quite incompatible. Plus the actual impact on software design on those systems.

When you start from scratch, like OS/2, then, yea, "it's easy".

MacOS heritage held it back for a long, long time before they were able to replace with with MacOS X via it's Carbon compatibility layer for the software in the new, Unix-ish environment.

The OS for the Apple IIGS was actually a "better" MacOS in someways, notably in process management and memory management. MacOS 2.0.

Windows suffered similarly. Recall early Windows ran on the 8088. Not the 80286, the 8088. That legacy also burdened it for quite sometime.

Code has momentum, choices have consequences. Be amazed they worked at all.

Memory protection.

It's not that preemptive multi-tasking is expensive, or hard. It's not. It's easy. It costs (or can cost) essentially the same as cooperative multitasking. You have to save process state in both cases.

But what was holding back the older systems was their early reliance on systems without inherent memory protection, and those legacies lasted long past the availability of hardware that actually had supported Memory Management Units (MMUs).

Take the Mac, for example. Its legacy was the 68000, which did not have direct MMU support.

It was not long before the Macs started coming out with 68020 CPUs (which did have such support). But the OS has to run not just on the new hardware, but also on the old. The two systems are quite incompatible. Plus the actual impact on software design on those systems.

When you start from scratch (like OS/2) then, yes, it's easier.

MacOS heritage held it back for a long, long time before they were able to replace it with with MacOS X via it's Carbon compatibility layer for the software in the new, Unix-ish environment.

The OS for the Apple IIGS was actually a "better" MacOS in some ways, notably in process management and memory management. MacOS 2.0.

Windows suffered similarly. Recall early Windows ran on the 8088. Not the 80286, the 8088. That legacy also burdened it for quite some time.

Code has momentum, choices have consequences. Be amazed they worked at all.

Source Link
Will Hartung
  • 12.5k
  • 1
  • 27
  • 54

Memory protection.

It's not that preemptive multi-tasking is expensive, or hard. It's not. It's easy. It (can) costs, essentially, the same as cooperative multitasking. You have to save process state in both cases.

But what was holding back the older systems was their early reliance on systems without inherent memory protection, and those legacy's lasted long past the availability of hardware that actually had supported Memory Management Units (MMU).

Take the Mac. It's legacy was the 68000, which had not direct MMU support.

It was not long before the Mac came out with 68020 based machines (which DID have such support). But the OS has to run not just on the new hardware, but the old hardware, and the two systems are quite incompatible. Plus the actual impact on software design on those systems.

When you start from scratch, like OS/2, then, yea, "it's easy".

MacOS heritage held it back for a long, long time before they were able to replace with with MacOS X via it's Carbon compatibility layer for the software in the new, Unix-ish environment.

The OS for the Apple IIGS was actually a "better" MacOS in someways, notably in process management and memory management. MacOS 2.0.

Windows suffered similarly. Recall early Windows ran on the 8088. Not the 80286, the 8088. That legacy also burdened it for quite sometime.

Code has momentum, choices have consequences. Be amazed they worked at all.