diff options
author | garhve <git@garhve.com> | 2023-01-02 06:02:01 +0800 |
---|---|---|
committer | garhve <git@garhve.com> | 2023-01-02 06:02:01 +0800 |
commit | be772f40c42711de54a3331db2781b1511acba9d (patch) | |
tree | 0808a7750d3c1055b0e86071c219d872775b1f92 /content/post/architecture of linux kernel.md | |
parent | 3ae5ecf803ed2d4ece2c9da6d91aae0f075c5b0c (diff) |
change to zola
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... |