System calls
- https://en.wikipedia.org/wiki/System_call
- Programmatic way in which a computer program requests a service from the OS on which it is executed
- Number of System calls depends on:
- Kernel Version (OS version)
- Hardware Architecture (x86, x86_64, ARM)
- For x86_64/AMD64, ~450 system calls defined
Standard C Library
- It provides wrapper functions for system calls
- The library can be compiled for different architecture
- Windows ISO also needs to be downloaded based on architecture (x86_64 vs ARM)
- Linux
- MacOS
- Windows
- Library: UCRT (Universal C Runtime)
- No public source code available
- Can be found in Windows SDK
Process Control
File Management
Communication
- libraries:
select, poll
epoll — replacement for select and poll
strace
- It can be used to print system calls getting called internally
strace ls -al