3 ms·
It's Linux style. Syscalls are last resort - they're low level and have to be maintained forever. Instead, there are more robust and purpose specific abstractio
by q3k 7y ago
It's Linux style. Syscalls are last resort - they're low level and have to be maintained forever. Instead, there are more robust and purpose specific abstractions built on top of them:
- ioctls on char/blkdevs for either physical or logical devices (which also allow for a 'handle' paradigm of operation, and for event polling via epoll/select)
- sysfs and procfs entries for system and process tunables and data
- debugfs for day to day debugging (which is explicitely unstable and not enabled in most production kernels)
- prctl, fcntl, ...
In addition, all of the above is 'automatically' ported across architectures. Some Linux architecture ports have their own syscall tables (with own numbering) and need to be explicitly modified any time a syscall is added.