System calls are called in Kernel mode. When a user program invokes a system call, it runs with the privileges of System kernel. Whereas Library routines are functions with similar functionality to system calls with programming language specific parameters, arguments are run in user mode, i.e., with limited privileges. But at underlying layers they make use of System calls.