C Library The system call interface is a little too low-level Actually, C language is too low-level as well The system, thus, usually includes a standard C library It implements a function-call API for the hw-specific syscall mechanism It offers file I/O with buffering (it helps system calls) It offers string operations (it helps C language) It gives names to numbers, by accessing system files (it adds policy) The system library is called "C" library but it isn't specific to C. Most programs, most languages, rely on libc for their work There are several implementations of the library, both big and small You can write your own C library, and it's fun There also exist programs that do not use libc, and it's fun The POSIX standard covers most abstraction levels Both system calls and standard library, for example.