|
|
|
|
|
by squeed
1488 days ago
|
|
I agree completely. Just look at io_uring and PowerShell, to name some examples. io_uring totally rethinks the notion of a "syscall". It is going to eat the world, and most of us are not even going to realize that it happened. PowerShell is a really cool example of re-imagining input and output. Namely, it is record-oriented ("Object") rather than byte-oriented. No more stringing together chains of fragile "awk" commands to make pipelines do what you want. (I know there is prior art here) If you think OS's are moving still, then you're the one stuck. |
|
Before someone jumps in and says we've had all these things before, including io_uring and eBPF (if you squint) and scaling to hundreds of CPUs and versioning filesystems etc. That is true. IRIX scaled on a select few workloads on multimillion dollar hardware and even that fell in a heap when you looked at it wrong. The early log structured filesystems that could do versioning and snapshots had horrific performance problems. IBM invented the hypervisor in the 1960s but it was hardly useful outside multimillion dollar machines for a long time. Asynchronous syscall batching has been tried (in Linux even) about 20 years ago, as have in-kernel virtual machines, etc.
So my point is not that there isn't a very long pipeline of research and ideas in computer science, it is that said long pipeline is still yielding great results as things get polished or stars align the right way and people keep standing on the shoulders of others, and the final missing idea falls into place or the right person puts in the effort to put idea into code. And those things have been continually going into practical operating systems that everybody uses.