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

11.1 Trang nhớ Huge page

 Đơn giản

 Chi tiết hơn

 Các phần mềm, ứng dụng xài địa chỉ nhớ ảo được hệ điều hành (OS) cấp

 OS kết hợp với MMU trong CPU dịch địa chỉ nhớ ảo (virtual memory) sang địa chỉ nhớ vật lí (physical memory)

 Khi dịch địa chỉ nhớ có cơ chế lưu tạm bằng TLB (Translation Lookaside Buffer) trong MMU của CPU để tăng tốc độ

 Theo wikipedia thì có thể ở giữa

  • CPU và CPU cache
  • CPU cache và RAM (bộ nhớ chính – main memory)
  • Các L1, L2, L3 cache

https://en.wikipedia.org/wiki/Translation_lookaside_buffer

 Theo kiến trúc CPU Intel Nehalem 2008 thì đây:

ITLB = Instruction TLB

DTLB = Data TLB

https://slideplayer.com/slide/2811832/

 TLB chứa các dòng (entries) ghi lại địa chỉ nhớ ảo nào sang địa chỉ nhớ vật lí nào

https://slideplayer.com/slide/2811832/

→ từ đó tới giờ có cải tiến nào thêm hông thì hổng bít, bạn nào bít thì cho mình bít nhen

 Ngoài MMU còn có IOMMU nữa

https://www.kernel.org/doc/html/latest/x86/iommu.html

https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_management_unit

Processor type and featuresEnable 5-level page tables support

CR3 là zì zạ?

 Biên dịch chức năng này trong kernel

Pseudo filesystems HugeTLB file system support

?

 Tài liệu của phần mềm chính chủ nói zìa cách xài Huge Page