10 CHƯƠNG · ~80 BÀI TẬP · LANG: C / NODE.JS / SHELL

Hệ điều hành
từ kernel đến memory

Lộ trình 10 chương học sâu OS cho lập trình viên Việt Nam chuẩn bị phỏng vấn. Mỗi chương: lý thuyết chi tiết, ví dụ Linux/Node.js chạy được, sơ đồ ASCII, bài tập, và quiz cuối bài. Học xong, bạn trả lời được mọi câu hỏi OS trong vòng phỏng vấn backend / DevOps.

Tại sao học OS?

OS là nền tảng vô hình dưới mọi đoạn code. Không hiểu OS, bạn vẫn code được — nhưng:

10
Chương lý thuyết
~80
Bài tập + thực hành
Linux
Môi trường chính
Lần debug được giải
⚙️ Cách học hiệu quả nhất
Mở terminal Linux/macOS và thử thật: strace ls xem syscall thực, ps -eLf xem thread, htop xem process state. OS không thể học bằng cách "chỉ đọc" — nó là hệ thống đang chạy ngay dưới ngón tay bạn.

Lộ trình 10 chương

Học theo thứ tự — chương sau xây trên kiến thức chương trước. Click vào card để vào học.

Xem trước — Process State Diagram

Đây là sơ đồ trạng thái process bạn sẽ học chi tiết ở Chương 02:

┌──────────────┐ admit │ │ exit ───────▶ │ NEW │ ──┐ │ │ │ └──────┬───────┘ │ │ scheduler │ ▼ │ ┌──────────────┐│ ││ READY │◀────┐ │ │ │ │ │ └──────┬───────┘ │ │ │ dispatch │ │ ▼ │ │ ┌──────────────┐ │ │ │ │ done│ ▼ │ RUNNING │─────┴───▶ ┌────────────┐ │ │ │ TERMINATED │ └──────┬───────┘ └────────────┘ │ I/O wait ▼ ┌──────────────┐ │ │ │ BLOCKED │ │ │ └──────────────┘ │ I/O ready └─────────────▶ READY

5 trạng thái: NEW (mới sinh), READY (sẵn sàng chạy), RUNNING (đang chạy trên CPU), BLOCKED (đợi I/O), TERMINATED (đã xong).

Cách dùng tài liệu này

  1. Đọc giáo trình tổng quan trước (10-15 phút).
  2. Học tuần tự từ Chương 01 → 10. Tránh nhảy cóc — kiến thức xếp tầng (process → thread → sync → deadlock...).
  3. Mỗi chương: đọc lý thuyết → xem sơ đồ ASCII → thử lệnh trong terminal thật → làm quiz.
  4. Cài Linux VM hoặc dùng macOS để có shell Unix-like. Windows dùng WSL2.
  5. Sau 10 chương, đọc thêm sách Operating Systems: Three Easy Pieces (free) để củng cố.
⚠️ OS không phải toán
Đừng cố thuộc lòng. Hãy hiểu tại sao mỗi cơ chế tồn tại. Khi đó dù phỏng vấn hỏi câu lạ, bạn vẫn suy luận ra được. Học OS là học cách hệ thống vận hành, không phải thuộc list.
Đọc trước Giáo trình tổng quan Chương kế tiếp Chương 01: Kernel & Syscalls →