Let's return to OS services.
How do programs and applications request services from the operating system? They use system calls.
System calls (or syscalls) are low-level functions (usually written in C, C++, or even Assembly) that a program can call to request the OS to perform a certain service, such as allocating memory for a variable, creating a file, or send a message to another program. Linux distributions use about 300 system calls, while Windows uses about 2000(!)
About 90% of all the syscalls used on Linux are shared by all Linux distributions (including macOS,) but there are exceptions.
Because of those exceptions, programmers prefer to use API functions, which are more portable than system calls.