An immutable operating system
augustl.com
An immutable operating system
1–10 of 153 posts
Re: An immutable operating system
#2Re: An immutable operating system
#3The conclusion we kept coming back to is that it's technically not all that difficult to implement, but that to make it usable in the real world would mean that computers would have to get a lot more cautious about source vs. derived data.
The main thing is that on the one hand it seems pretty feasible to store all meaningful data a user generates over the course of using a computer and building an immutable persistent OS on top of that.
On the other hand though, when you think about doing this in the context of an actual computer as in use today you will very quickly run out of storage space.
What is separating these two scenarios is that a lot of data is (deterministically) derived from source inputs, but in the current state of technology it's impossible to determine what is derived data which can be easily recomputed and what is essential data without which the current state could not be reached.
I happened to just be reading this article on unikernels which coincidentally is something that would help get us a bit further along in that direction: http://queue.acm.org/detail.cfm?id=2566628
P.S. When thinking about this one key concept is to realize that you could can do things like implement a 'torrent file system' where a file is just a torrent hash which can be requested and signal when (parts of it) become available.
Re: An immutable operating system
#4If this kind of OS encourages hardware changes, that's one thing. But aside from performance, it probably won't look too different from current FP languages.
Re: An immutable operating system
#5I gave an un-conference talk at Clojure days Amsterdam called "Purely Functional OS" on this exact topic and we had an incredibly interesting discussion about the topic. The conclusion we kept coming back to is that it's technically not all that difficult to implement, but that to make it usable in the real world would mean that computers would have to get a lot more cautious about source vs. derived data. The main t…
Re: An immutable operating system
#6Re: An immutable operating system
#7This might actually have significant performance benefits. When everything is immutable, GC can also be inherently incremental. You just do your defrag copy faster than new object creation. Then you cam limit your stop-the-world to a small "catch-up" so your copy-from can become a copy-to. Incremental GC nirvana!
Re: An immutable operating system
#8An operating system whose main goal is not performance is forever going to be a toy of professors. Linux is a mess compared to the beautiful code that would comprise this OS, but it's a mess that runs fast on real hardware and let's people get stuff done. That matters.
Re: An immutable operating system
#9I imagine that this would be useful if doing many calculations on readonly values, but would take a performance hit for readwrite operations.
I'm not one for purely functional programming, but this seems like an interesting concept. I'm interested to see where it goes
Re: An immutable operating system
#10An operating system whose main goal is not performance is forever going to be a toy of professors. Linux is a mess compared to the beautiful code that would comprise this OS, but it's a mess that runs fast on real hardware and let's people get stuff done. That matters.