CITS2002 Systems Programming  
next CITS2002 CITS2002 schedule  

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 the modern macOS system boasts 521 (see /usr/include/sys/syscall.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 two historic texts, both available in the Science Library:

Marc J. Rochkind,
Advanced Unix Programming, Prentice-Hall, 1985.

W. Richard Stevens,
Advanced Programming in the Unix Environment, Addison-Wesley, 1992.


CITS2002 Systems Programming, Lecture 11, p1, 2nd September 2019.