The simple answer is that early operating systems for the systems you mention did not provide those features.
Apple DOS, for example, makes no use of interrupts, and has no concept of processes or memory protection. Nor does DOS have any concept of hardware drivers, as it includes support to drive the Disk II (a deep assumption in DOS) and nothing else. ...
For "home" computer systems such as the Apple II, the "operating
system" wasn't anything like a modern one with processes and device
drivers and so on; by the standards of modern OSes there wasn't really
one at all.
As a warning: all these explanations (long as they are) are for the
most part considerably simplified. This answer is intended to give you
We talk about the late 1970s and mainstream 6502 machines, right?
It wasn't so much that programs run under OS control as that OS was a support function to Programs. More like what we would today see as a standard library with routines supporting simple I/O abstraction plus basic file handling on the user side and hard coded drivers within. Some, like ...
The typical circa-1980 8-bit CPU provided almost no support for modern operating system features. It was often possible to add such support using external logic, but very few machines actually did so because it would have added costs to the hardware with little practical benefit. Even many minicomputers of the time left those features out, at least in the ...
Contemporary operating systems for the 6502 did not have those features. But not because they couldn't. It just wasn't considered necessary or desirable.
Provide automatic switching between processes. The standard trick here
is to have a clock attached to an interrupt that the OS can use to
perform a context switch. This seems doable on the 6502 with ...
I have done this with an 8051, (8 bit running about same speed as 6502) with a 4 task scheduler, driven by interrupts, task switching at about 10Hz.
Reading position from NMEA on a GPS, sending and receiving GSM SMS messages, logging data to flash.
No memory protection at all. Running in something like 1k RAM and 32k of ROM.
Used a combination of ...
It's possible to try both CTSS and ITS yourself. Both operating systems run on emulators.
As for differences, Tom Knight, one of the ITS creators, wrote:
I would actually say that the main influence of CTSS on ITS was a demonstration of just what it was that we didn't want to do.
See more here: https://github.com/PDP-10/its/issues/1588
The specific details of what a 6502 Apple II was doing when it was sitting at the BASIC command prompt or Monitor command prompt is this:
Periodically check for a keyboard key press to be detected at address $C000
If no input, it runs a delay routine to display a blinking white box or a square checkerboard (later enhanced IIe ROM) as a cursor at the current ...
it doesn't seem clear to me how the operating system protects itself
on the 6502 or PDP-11.
With respect to the PDP-11: it's pretty conventional. In general, there are at least 2 execution modes (kernel, user; some models add a third, supervisor); certain instructions are legal in kernel mode only; there is a memory management unit that controls virtual ...