3 ms·
I'm currently reading "The Dream Machine" [1], about the first evolutions of computing. At the moment it's describing the period during and immediately after th
by davedx 10y ago
I'm currently reading "The Dream Machine" [1], about the first evolutions of computing. At the moment it's describing the period during and immediately after the Second World War, with computers like ENIAC. It blows my mind that in the space of around 20 years, we progressed from computers that were programmed by turning shafts and ran computations using systems of wheels and mechanical relays [2] to the Lunar Module Guidance Computer with its pre-emptive multitasking and automatic pilot.
Sometimes the rate of technological advance is just staggering.
[1] https://www.amazon.com/Dream-Machine-Licklider-Revolution-Computing/dp/0670899763 https://www.amazon.com/Dream-Machine-Licklider-Revolution-Co...
[2] https://en.wikipedia.org/wiki/Harvard_Mark_I https://en.wikipedia.org/wiki/Harvard_Mark_I
- spatulan 10y agoI thought the Lunar Guidance computer used cooperative multitasking.
- ekimekim 10y agoIIUC it was a bit of both. A unit of work was meant to be short lived, but if a higher priority unit of work came along it would be pre-empted and its state pushed out to a temporary store. There's a full description in the article, though it's buried a bit far down. Here's a snippet for grep-ability: if a low-priority job was executing and a high-priority job was scheduled, the low-priority job was suspended while the higher-priority job executed.