From be772f40c42711de54a3331db2781b1511acba9d Mon Sep 17 00:00:00 2001 From: garhve Date: Mon, 2 Jan 2023 06:02:01 +0800 Subject: change to zola --- .../post/architecture-of-linux-kernel/index.html | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 public/post/architecture-of-linux-kernel/index.html (limited to 'public/post/architecture-of-linux-kernel') diff --git a/public/post/architecture-of-linux-kernel/index.html b/public/post/architecture-of-linux-kernel/index.html new file mode 100644 index 0000000..fb665a9 --- /dev/null +++ b/public/post/architecture-of-linux-kernel/index.html @@ -0,0 +1,94 @@ + + + + + + +Architecture of Linux Kernel | garhve's gibberish + + + + + + + + + + + +
+ + +
+ + +
+
+ +

+

Architecture of Linux Kernel
+

+

+

2022-09-03
+
+ + + /cs + + + + +  #linux + + +
+

+ +

+

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...

+ +

+ + + + + + + +
+
+ + + + + -- cgit v1.2.3-70-g09d2