▲ | Animats 12 hours ago | |
No, activities (threads) were totally scheduled by the operating system. This was not cooperative multitasking. All those activities are in the same address space. Here's Dijkstra's P and V, implemented for EXEC 8 by John Walker, who later wrote AutoCAD. These are user space primitives built on top of the OS primitives ACT$ and DACT$. This is part of an application called FANG, an overdesigned utility for doing various copies with as much parallelism as possible. I once modified a Pascal compiler for that system to support multi-threading. I could get about a hundred activities going. The main difference from threads today is that there's no concept of a stack. There can be a heap allocator, and you can save state, but the whole concept of a stack is absent. | ||
▲ | Animats 10 hours ago | parent [-] | |
Ref: https://www.fourmilab.ch/documents/univac/fang/hsource/sched... |