OS là gì? Kernel & System Calls
FoundationCơ sở của tất cả. Hiểu vai trò OS, ranh giới user space / kernel space, và system call — cầu nối giữa app và kernel.
🎯 Mục tiêu học tập
- Hiểu OS làm gì và 4 chức năng chính (process management, memory, file, I/O)
- Phân biệt User Space vs Kernel Space, vì sao cần ranh giới đó
- Hiểu System Call — code chạy ở user space muốn làm gì với phần cứng đều phải qua syscall
- Phân loại OS: monolithic kernel (Linux) vs microkernel (Minix, seL4)
- Hiểu CPU mode bit (ring 0/3 trên x86)
📖 Nội dung chi tiết
- 1.1 OS là gì? Vai trò trung gian giữa app và phần cứng
- 1.2 User Space vs Kernel Space — tại sao tách
- 1.3 System Call — cách user app "yêu cầu" kernel làm việc
- 1.4 Ví dụ syscall thường:
read,write,open,fork,execve - 1.5 Trace syscall với
stracetrên Linux - 1.6 Kernel architectures: monolithic, microkernel, hybrid
- 1.7 Boot process: BIOS/UEFI → bootloader → kernel → init
- 1.8 Mode bit, privilege rings (ring 0 vs ring 3)
💡 Câu hỏi phỏng vấn kinh điển
- Tại sao app không gọi trực tiếp hardware mà phải qua kernel?
- Mode switch khác Context switch như thế nào?
- Kernel panic khác segfault thế nào?
- Linux dùng monolithic hay microkernel?