diff options
Diffstat (limited to 'content/post/architecture of linux kernel.md')
-rw-r--r-- | content/post/architecture of linux kernel.md | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/content/post/architecture of linux kernel.md b/content/post/architecture of linux kernel.md new file mode 100644 index 0000000..5547051 --- /dev/null +++ b/content/post/architecture of linux kernel.md @@ -0,0 +1,26 @@ ++++ +title = "Architecture of Linux Kernel" +date = 2022-09-03 +[taxonomies] +categories = ["cs"] +tags = ["linux"] +[extra] +math = true ++++ +## 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... |