4 ms·
> The Linux system API doesn't change much really? they added epoll, aio (they later added io_uring as a better aio), ebpf. Real threads were added with clone(
by MichaelMoser123 4y ago
> The Linux system API doesn't change much
really? they added epoll, aio (they later added io_uring as a better aio), ebpf. Real threads were added with clone(2). Routing changed from ipchains to iptables. They added all the stuff needed for containers: cgroups, namespaces and what else - the Linux system API saw lots of action.
Look here: lots of additions came since Linux 2.2 https://man7.org/linux/man-pages/man2/syscalls.2.html https://man7.org/linux/man-pages/man2/syscalls.2.html
They even added sysfs, as procfs is now regarded as 'old and cluttered'
Also lots of changes in glibc.
- ww520 4y agoThe old Linux system api has not been changed much. It’s still pretty much the same. The new addition doesn’t obsolete the old stuff. That’s why the book is still relevant.
- MichaelMoser123 4y agosystem calls don't change, however glibc does deprecate and remove features, occasionally. See: https://abi-laboratory.pro/?view=timeline&l=glibc https://abi-laboratory.pro/?view=timeline&l=glibc Correction: https://manpages.debian.org/testing/manpages-dev/syscalls.2.en.html https://manpages.debian.org/testing/manpages-dev/syscalls.2.... is listing some system calls as removed. I didn't know that. Strange things happen at sea. Also: things did disappear from procfs.
- gjvc 4y agoYou are correct. A good but perhaps small example which bit me this week is inotify; I could not build this tool https://github.com/mikesart/inotify-info https://github.com/mikesart/inotify-info on CentOS 7 (at work) because it's only on version 3.x of the kernel and is missing the statx(2) system call which was added in 4.11. The rate of change may be slow, but the kernel is a huge thing, so it's not entirely surprising these situations arise.