System Calls
We can divide system calls into the following 6 general categories:
- Processes: create, load, terminate, abort, get attributes, wait for a process to finish, and allocate & free memory.
- Files: create, open, close, delete, read from, write to, move, get attributes of, and set attributes of files.
- Devices: request, release, read from, write to, move, attach, detach, get attributes of, and set attributes of devices.
- Information Maintenance: get & set time and date, get & set system data, and get & set process, file, or device attributes.
- Communication: create & delete a communication connection, send & receive messages, transfer status info, and attach or detach remote devices.
- Protection: get & set file access permissions (read, write, and execute) and get & set file owners.
Next, let's view some examples of system calls on Linux/Mac and Windows operating systems. The full list of Linux system calls is at https://man7.org/linux/man-pages/man2/syscalls.2.html.