Description
Modern microcontrollers nowadays support at least two privilege levels. Intel/AMD x86-64 family supports 4 levels, whilst ARM (32bit) microcontrollers support up to 7 levels (6 privileged, 1 non-privileged).
Modern operating systems support at least 2 levels:
- User space: For applications to run in unprivileged user mode
- Kernel space: For the kernel (and all its components) to run in privileged mode – kernel mode
Address of these 2 spaces are separate.
Applications in user mode will auto-linked to glibc(the GNU standard C library). Libraries only available in user mode, kernel mode doesn’t have this conception. An application only can through System call to access kernel. On the other hand, system calls are the only legal entry point into the kernel space.
Libraries APIs: man section 3 System calls APIs: man section 2
to be continue…