Re:Fomos: Experimental OS, built with Rust
by aseipp on Wednesday August 30, 2023 @07:31AM
(#37320433)
You're completely right, and the argument is a total red herring from start to finish. "Cooperative multitasking isn't bad; for example, try this program that fills up your hard drive. Sometimes Blender's UI thread doesn't respond." Ok? And? Complete non-sequitur.
People did not move away from cooperative multitasking for operating systems because it solved every "run-away usage of resource" problem for all time. They did it specifically because, as you note, it makes incredibly simple application-level errors, whether they are design-level (UI thread blocked) or simple errors (accidental infinite loop) totally devastating to the entire state of the system. This is pretty bad whenever your system is designed to run arbitrary computer programs -- but even if it isn't (e.g. fixed taskset in cooperative microcontroller OSs), it's just not robust to any kind of runaway failure, and you need to be very careful to ensure it's reliable.
People did not move away from cooperative multitasking for operating systems because it solved every "run-away usage of resource" problem for all time. They did it specifically because, as you note, it makes incredibly simple application-level errors, whether they are design-level (UI thread blocked) or simple errors (accidental infinite loop) totally devastating to the entire state of the system. This is pretty bad whenever your system is designed to run arbitrary computer programs -- but even if it isn't (e.g. fixed taskset in cooperative microcontroller OSs), it's just not robust to any kind of runaway failure, and you need to be very careful to ensure it's reliable.