4 ms·
Interesting idea, but I think he's a little too hung up about programming languages. I think there's space for new operating systems and that doesn't necessaril
by bryan_w 5y ago
Interesting idea, but I think he's a little too hung up about programming languages. I think there's space for new operating systems and that doesn't necessarily preclude the use of any programming language.
We could have OSes that don't use files, that save state and are able to resume in seconds, and we can do all of that in C (I don't think we would want to but we could). Also there doesn't exist a world where grandma (or even the Kool kids today) is going to learn smalltalk in order to use an OS.
The main hurdle I see with all of this is hardware initialization -- how to handle, from cold boot, the fact that your network card has no idea what frames has been sent and what have it has been received.
The first step I see in all of this is creating an operating system where the kernel has no concept of being booted. One thing people struggle to wrap their head around with optane is "what does kernel upgrades look like" which would be messy in existing OSes.
- jka 5y ago> Also there doesn't exist a world where grandma (or even the Kool kids today) is going to learn smalltalk in order to use an OS. I'd agree that well-designed operating systems shouldn't require anyone to undestand programming to begin to use them, but equally I'd argue that anyone should be able to look at the code that's running on their computer and inspect it. It's one way (often a very effective way) to learn about software in the first place. The technology landscape will no doubt look very different in another twenty years, and while it's relatively well-understood that anyone can contribute to FOSS projects regardless of age or experience, it's worth improving that opportunity when possible (both technically and socially). There's some kind of analogy with web development here; the ability to view source for webpages and tinker with the HTML/CSS/JS easily is an educational pathway. > The first step I see in all of this is creating an operating system where the kernel has no concept of being booted. If both the operating system and network card are safe to initialize from cold at any point (and with robust software and protocol design, they should be), then even with peer-to-peer commodity memory as a storage medium, statelessness should be perfectly achievable, I think? Slightly off-topic: you may be interested in Linux's kexec[1] functionality (it provides the ability for a running kernel to load and run another kernel). [1] - https://wiki.archlinux.org/title/Kexec https://wiki.archlinux.org/title/Kexec
- zozbot234 5y agoA single-level store based OS uses even more files than current OS's like Windows or Linux. Because every memory mapping is notionally persisted to disk and is thus a file. Whereas currently you have "anonymous" mappings that are understood as ephemeral, with no "files" in storage backing them.