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 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.