library call |
system call |
the C library is the same on every ANSI C implementation |
the system calls are different in each OS |
is a call to a routine in a library |
is a call to the kernel for a service |
linked with the user address space |
is an entry point to the OS |
executes in the user address space |
executes in the kernel address space |
counts as part of the “user” time |
counts as part of the “system” time |
has the lower overhead of a procedure call |
has high overhead context switch to kernel and back |
there are about 300 routines in the C library libc |
There are about 90 system calls in Unix |
Documented in Section 3 of the UNIX manual |
Documented in Section 2 of the UNIX manual |
typical C library calls: system, fprintf, malloc |
typical system calls: chdir, fork, write, brk |