A FOSS proposal for a new type of OS for a new type of computer (2021)
<i>When a computer&#x27;s permanent storage is all right there in the processors&#x27; memory map, there is no need for disk controllers or filesystems. It&#x27;s all just RAM.</i><p>And errors are forever.<p>There were once LISP, Smalltalk, and Forth environments where you saved the entire state of the system, rather than using files. This was not a good thing. Only one person could really work on something. If you messed up the image, undoing the mess was hard. Revision control? What&#x27;s that?<p>Progress has been made by learning how to minimize and discard state. What makes the web backend application industry go is that almost all the state is in the database. Database systems are well debugged and reliable today. This allows for mediocre quality in web apps.<p>Containers are another example of discarding state. Don&#x27;t sysadmin, just flush and reload. So is the transition from object-oriented to functional programming.<p>No, making memory persistent is not the answer.<p>We do need to be thinking about new OS designs, because the hardware world is changing.<p>- Lots of RAM. Swapping out to disk, even SSD, is so last-cen. The moment that happens performance degrades so badly you may as well restart.<p>- Lots of CPUs. There are now 128-core CPUs. NVidia just announced a 144-core ARM CPU.  The OS and hardware need to be really serious about interprocess communication. It&#x27;s an afterthought in Unix&#x2F;Linux. Needs to be at least as good as QNX. Probably better, and with hardware support.<p>- Different kinds of compute units. GPUs need to be first-class players in the OS. There are going to be more special purpose devices, for machine learning.<p>- SSD is fast enough that buffering SSD in RAM is mostly unnecessary.