Lesson 01 — Kernel & System Call

Hệ điều hành là gì, user mode vs kernel mode, cơ chế syscall và quá trình boot.

1. Animation — Hành trình của một System Call

Nhấn Bước tiếp theo để xem từng bước khi ứng dụng gọi syscall read(fd, buf, 512). Quan sát cách CPU chuyển từ User Mode sang Kernel Mode và trở về.

USER MODE KERNEL MODE Application printf("Hello") → write(1,buf,5) rax=1 rdi=1 CPU Registers rax = 0 rdi = 0 rsi = 0x7fff... Mode: USER Kernel Handler sys_write() kiểm tra fd, buf ghi ra stdout Device / File stdout / terminal disk / socket set regs SYSCALL trap I/O request SYSRET return result
Nhấn ▶ Bước tiếp theo để bắt đầu. Chúng ta sẽ theo dõi lệnh write(fd=1, buf="Hello", count=5) — ghi "Hello" ra stdout.
Bước 0 / 5

2. Bảng System Call — Click để xem chi tiết

Click vào bất kỳ syscall nào để xem mô tả, tham số, và ví dụ thực tế.

Số hiệuTên syscallMô tả ngắnDùng trong
← Click vào một dòng để xem chi tiết

3. Quá trình Boot — Click để khám phá từng giai đoạn

Từ khi nhấn nút nguồn đến khi shell xuất hiện — 6 giai đoạn. Click vào mỗi bước để xem giải thích chi tiết.

4. User Mode vs Kernel Mode — So sánh

👤 User Mode (Ring 3)
  • Ứng dụng người dùng
  • Không truy cập I/O trực tiếp
  • Không đọc/ghi RAM tuỳ ý
  • Không tắt ngắt (interrupt)
  • Lệnh vi phạm → CPU exception
  • Ví dụ: Chrome, Python, bash
⚙ Kernel Mode (Ring 0)
  • OS Kernel
  • Truy cập mọi thiết bị I/O
  • Đọc/ghi bất kỳ địa chỉ RAM
  • Lập trình bảng trang (MMU)
  • Bật/tắt interrupt
  • Ví dụ: Linux kernel, NTFS driver
Cánh cửa duy nhất: System Call (SYSCALL instruction) User Mode muốn làm điều đặc quyền → gọi syscall → CPU trap → Kernel xử lý → SYSRET về User Mode