0. Lập trình C/C++ chuyên sâu trong từng nội dung cơ bản
1. Linux Kernel chung
2. Quản lí Linux Kernel
3. Tối ưu tham số Linux Kernel cho các phần mềm, ứng dụng
4. User space và Kernel space
5. Lập trình Linux
6. Phân tích vmlinuz
7. Phân tích initramfs
8. Biên dịch (compile) Linux Kernel
9. Phân tích file quản lí thiết bị
10. Phân tích cơ chế log của Linux Kernel
11. Phân tích cơ chế bộ nhớ của Linux Kernel
12. Phân tích mạng Unix Domain Socket (UDS)
13. Phân tích udev
14. Linux Kernel chạy Real Time

4.1 User space, kernel space ở Linux Kernel x86 32 bit

User space là môi trường để người dùng thao tác với hệ điều hành

phần mềm, ứng dụng chạy ở đây

Kernel space là môi trường để hệ điều hành chạy

→ làm việc trực tiếp với phần cứng + quản lí những cái chạy ở user space

Từ dãy (range) địa chỉ nhớ chia ra thành user spacekernel space

Không mất tính tổng quát ta có

Biên dịch trong Linux Kernel là 1 mớ bòng bong này

Processor type and featuresMemory split

kernel spacelow memory nha

Tài liệu CPU của Intel nói thía này

Trong cái sổ hộ khẩu (registry) của CPU có 1 ông đăng kí (register) địa chỉ nhớđể điều khiển

→ tên là CR3 (Control Register) sẽ cho chạy ở user space hay kernel space

Trang 2947 + 2948 sách Intel 64 and IA-32 Architectures Software Developer’s Manual Combined Volumes: 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D, and 4

https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html

Hình này trang 158 sách ở trên á, giải thích ở trang 2949

https://www.kernel.org/doc/html/latest/mm/highmem.html

lahf_lm là zì zạ?

https://www.kernel.org/doc/html/latest/mm/highmem.html#i386-pae

Bạn nào kiếm cho mềnh 1 cái hình nhìn dễ hiểu hơn được hem?

Processor type and featuresHigh Memory Support