Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Inferno represents services and resources in a file-like name hierarchy. Programs access them using only the file operations open, read/write, and close. `Files' are not just stored data, but represent devices, network and protocol interfaces, dynamic data sources, and services.

Great. But `open()` needs to be hyper-extensible. Think of URI q-params and HTTP request headers as `open()` options. Think of all the `ioctl()` APIs that have arisen because "files" are a relatively poor way to represent devices. But most importantly `open()` needs to be async.

I'd be very interested in an OS where all system calls that can block are async, and where something like io_uring is the only way to make system calls.

The "everything is a file" thing is fine, but we need more innovation around that if that metaphor is going to stick.



> I'd be very interested in an OS where all system calls that can block are async,

Welcome to WinRT application model as it was introduced in Windows 8.

Sadly it was yet another reason why the Windows development community rebelled against it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: