The details are as follows:
All operating systems provide entry points for multiple services, and the program requests services from the kernel. UNIX implementations of various versions provide clear definitions, a limited number of entry points that can directly enter the kernel. These entry points are called system calls.
System Call interfaces are always described in section 2nd of the UNIX programmer manual. Section 3rd defines general functions that can be used by programmers. Although these functions may call one or more kernel system calls, they are not the kernel entry points.
The technology used by UNIX is to set a function with the same name in the Standard C library for each system call.
From the perspective of the implementer, there is a major difference between system calls and library functions. However, from the user perspective, the difference is not very important. Both system calls and library functions are in the form of C functions, both of which provide services for applications. However, we should understand that, if necessary, we can replace library functions, but generally cannot replace system calls.
Applications can call system calls or library functions, while many library functions call system calls.
Another difference between system calls and library functions is that system calls usually provide a minimum interface, while library functions usually provide more complex functions.