Comment by pjmlp

Comment by pjmlp 2 months ago

3 replies

Anyone that has developed for Android, WebOS, ChromeOS is fully aware that the Linux kernel is an implementation detail, full of features not available upstream, like drivers written in Rust, which remains to be seen if it will ever have them.

Also given that the kernel is not exposed to userspace, other than to device vendors, it could be replaced by something else with very little impact to userspace, other than whatever people are doing in their rooted devices or via ADB shell, both meanigless for common consumers.

randomdata 2 months ago

> it could be replaced by something else

It is not really Linux-based if something else. Assuming the Linux-based property remains, though, isn't that still Linux, even if it ultimately is taken down roads Linus would have never approved of?

  • jart 2 months ago

    If a userspace process can't tell, then does it really matter? That's what qemu user teaches us. The Linux ABI is simple enough that a single dev could emulate probably 85% of it in pretty short order. What keeps Linux going is the supremacy of its internals. I've thought of so many ways to benchmark OS performance and I don't think I've ever seen modern Linux fare poorly.

    • cesarb 2 months ago

      > The Linux ABI is simple enough that a single dev could emulate probably 85% of it in pretty short order.

      Microsoft tried it (with WSL1), and gave up. The remaining 15% is the hard part, and plenty of software will depend on something within that 15%. Sure, there are only a couple hundred system calls, and most of them are pretty simple, but then there are the multiplexed system calls (ioctl, fcntl, ptrace, io_uring, etc), the fileystem-based ABI (procfs, sysfs, etc), the ever-growing set of flags to otherwise simple system calls, and even a network-like protocol between userspace and the kernel (netlink).