Operating System Services
All operating systems provide service points through which a general
application program may request services of the operating system kernel.
These points are variously termed
system calls,
system traps, or
syscalls.
It is considered desirable to minimise the number of system calls that an
operating system provides, in the belief that doing so simplifies design
and improves correctness. Unix 6th Edition (circa 1975) had 52 system calls,
whereas a modern Linux system boasts over 450
(see /usr/include/asm-generic/unistd.h).
We've recently seen an "explosion" in the number of system calls
provided, as systems attempt to support legacy and current 32-bit system
calls, while introducing new 64-bit and multi-processor calls.
Does the complexity of an OS's implementation matter?
Linux,
Windows (both about 2011).
Some material in this lecture is from three (historic) texts:
- Marc J. Rochkind,
- Advanced Unix Programming, Prentice-Hall, 1985.
- W. Richard Stevens,
- Advanced Programming in the Unix Environment, Addison-Wesley, 1992.
- Michael Kerrisk,
- The Linux Programming Interface, No Starch Press, 2010.
CITS2002 Systems Programming, Lecture 10, p1, 22nd August 2023.
|