System Calls and System Programs

System calls provide an interface between the process an the operating
system. System calls allow user-level processes to request some services from
the operating system which process itself is not allowed to do. In handling the
trap, the operating system will enter in the kernel mode, where it has access to
privileged instructions, and can perform the desired service on the behalf of
user-level process. It is because of the critical nature of operations that the
operating system itself does them every time they are needed. For example, for
I/O a process involves a system call telling the operating system to read or
write particular area and this request is satisfied by the operating system.

System programs provide basic functioning to users so that they do not need
to write their own environment for program development (editors, compilers) and
program execution (shells). In some sense, they are bundles of useful system
calls.