UNIX system calls are used to manage the file system, control processes, and to provide interprocess communication. The UNIX system interface consists of about 80 system calls (as UNIX evolves this number will increase). The following table lists about 40 of the more important system call:
GENERAL CLASS SPECIFIC CLASS SYSTEM CALL --------------------------------------------------------------------- File Structure Creating a Channel creat() Related Calls open() close() Input/Output read() write() Random Access lseek() Channel Duplication dup() Aliasing and Removing link() Files unlink() File Status stat() fstat() Access Control access() chmod() chown() umask() Device Control ioctl() --------------------------------------------------------------------- Process Related Process Creation and exec() Calls Termination fork() wait() exit() Process Owner and Group getuid() geteuid() getgid() getegid() Process Identity getpid() getppid() Process Control signal() kill() alarm() Change Working Directory chdir() ---------------------------------------------------------------------- Interprocess Pipelines pipe() Communication Messages msgget() msgsnd() msgrcv() msgctl() Semaphores semget() semop() Shared Memory shmget() shmat() shmdt() ---------------------------------------------------------------------- [NOTE: The system call interface is that aspect of UNIX that has changed the most since the inception of the UNIX system. Therefore, when you write a software tool, you should protect that tool by putting system calls in other subroutines within your program and then calling only those subroutines. Should the next version of the UNIX system change the syntax and semantics of the system calls you've used, you need only change your interface routines.]
Original Link: http://www.di.uevora.pt/~lmr/syscalls.html