4 ms·
For Linux it makes sense because there is no project running the entire operating system. The kernel's system call interface is stable because there is no other
by jeremyjh 6y ago
For Linux it makes sense because there is no project running the entire operating system. The kernel's system call interface is stable because there is no other "Linux" system interface. For an OS that maintains a libc they can make a different choice.
- quotemstr 6y agoSo we should endure technical mediocrity forever because we couldn't get our act together socially? There is a way out. I've previously proposed on LKML that the Linux kernel team provide an official userspace system call library that sits below libc and that all libc implementations would share. We'd forbid new system calls being called except through this library. Optionally, we'd enforce this constraint on all system calls. This is how Fuchsia works, by the way: all Fuchsia system calls must go through one giant vDSO.
- jeremyjh 6y agoI agree this is a better architecture but this creates more work for the kernel team but doesn't free them from ABI stability constraints anywhere in the near-term. It would take 10-15 years to pay off I think.