summaryrefslogtreecommitdiff
path: root/content/post/architecture of linux kernel.md
diff options
context:
space:
mode:
authorgarhve <git@garhve.com>2023-01-02 06:02:01 +0800
committergarhve <git@garhve.com>2023-01-02 06:02:01 +0800
commitbe772f40c42711de54a3331db2781b1511acba9d (patch)
tree0808a7750d3c1055b0e86071c219d872775b1f92 /content/post/architecture of linux kernel.md
parent3ae5ecf803ed2d4ece2c9da6d91aae0f075c5b0c (diff)
change to zola
Diffstat (limited to 'content/post/architecture of linux kernel.md')
-rw-r--r--content/post/architecture of linux kernel.md26
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...