>>21825There have been roughly 5 waves of form factors of computers:
1. mainframes
the operating systems written for mainframes tended to be extremely expansive and general, and thoroughly engineered from first principles. they also provided tons of facilities for deduplicating effort between programs. this is exemplified by multics, where there is no distinction between memory pages and disk files, and where since all memory regions (called segments) were secured with a sophisticated ACL-based permission system, they could be shared between programs and users. the multics people basically tried as hard as possible to save on programmer labor. they defined standard interfaces between all programming languages on the system, and also, made all languages linkable to the shell, thus making all libraries on the system callable commands. due to the memory access being protected by the hardware, it was possible to write the kernel in the same way as the rest of the operating system, thus there was not a distinction between kernel mode and user mode like in modern operating systems. the kernel was just another library that implemented the kernel's functionality. this makes it similar to the modern notion of an exokernel, but preceding it by several decades. multics was so resilient to hardware failure that it was possible to split the mainframe into two computers while it was still running, like a biological cell dividing, by removing hardware pieces and reassembling them elsewhere. it even had a graphics system, though one which is quite alien to the normal understanding of it. basically the graphics system more resembled a CAD program than anything else, but this was combined with a standardized ontology or inventory which was shared between programs. thus for example if you were to define a model such as a teapot, then there would be one "teapot" object on the system shared between all programs, instead of being created and recreated over and over again by different programs. here again you can see the great attention paid to labor saving for programmers. multics had a vision of computing becoming a public utility, charged at a flat rate of computing time. it is very obvious to see the socialist implications of this line of thinking.
https://www.youtube.com/watch?v=Q0Post too long. Click here to view the full text.