Chặng 1, Bài 2: Hệ điều hành làm gì khi bạn không nhìn
Trước khi viết dòng mã đầu tiên, bạn cần biết ai đang thật sự chạy nó.
7 phút đọc
4 câu quiz
Chưa bắt đầu
Điều kiện hoàn thành & nhận XP
- Đọc hết 100% nội dung bài
- Hoàn thành "Kiểm tra nhanh" (0/4 câu)
Bài học này hỗ trợ xem video minh họa trực quan trên YouTube.
Xem video bài giảng trên YouTubeVì sao bài này quan trọng
Gần như mọi lỗi khó chịu của người mới học lập trình - "máy tôi chạy được mà máy bạn thì không", "cài xong rồi mà gõ lệnh vẫn báo không tìm thấy", "file đâu mất rồi" - đều là câu hỏi về hệ điều hành chứ không phải về ngôn ngữ. Hiểu hệ điều hành làm gì giúp bạn đọc được thông báo lỗi thay vì dán nó lên Google và hy vọng.
Chế độ Feynman (Giải thích siêu đơn giản)
Tài Tài giải thích bài học này theo cách dễ nhớ nhất cho học sinh lớp 5!
Bạn mở cùng lúc trình duyệt, trình soạn thảo và một chương trình đang tính toán nặng. Máy chỉ có 8 lõi CPU nhưng có tới 300 tiến trình đang chạy. Điều gì đang xảy ra?
Ba việc hệ điều hành làm
- Chia thời gian bộ xử lý: quyết định tiến trình nào được chạy trong vài mili giây tới.
- Chia bộ nhớ: cấp vùng nhớ cho từng tiến trình và ngăn tiến trình này đọc vùng của tiến trình kia.
- Đứng giữa mọi yêu cầu tới phần cứng: đọc tệp, gửi gói tin, vẽ lên màn hình đều phải đi qua nhân.
Vì sao phải đi qua nhân
Tiến trình, luồng và ảo giác song song
Tiến trình
Luồng
Từ vựng bạn sẽ gặp lại suốt khoá học
Đây là những từ xuất hiện trong hầu hết thông báo lỗi bạn sẽ đọc
- NhânKernel
- Phần lõi của hệ điều hành, chạy ở chế độ đặc quyền và là bên duy nhất được nói chuyện trực tiếp với phần cứng.
- Tiến trìnhProcess
- Một chương trình đang chạy, kèm vùng nhớ được cấp riêng và một mã số định danh gọi là PID.
- LuồngThread
- Một mạch thực thi bên trong tiến trình. Nhiều luồng của cùng tiến trình dùng chung vùng nhớ.
- Bộ lập lịchScheduler
- Bộ phận quyết định tiến trình nào được dùng CPU trong lát thời gian kế tiếp.
- Bộ nhớ ảoVirtual memory
- Bản đồ riêng của mỗi tiến trình, ánh xạ địa chỉ nó nhìn thấy sang địa chỉ RAM thật.
Vì sao điều này quan trọng với bạn ngay bây giờ
Hệ điều hành không phải thứ bạn sẽ viết. Nó là thứ bạn sẽ liên tục nhờ vả, và mọi thông báo lỗi khó hiểu đều là nó đang trả lời bạn.
Bài tiếp theo đi vào phần bạn chạm vào nhiều nhất: cách hệ điều hành sắp xếp tệp, và vì sao đường dẫn lại là thứ làm hỏng nhiều buổi học đầu tiên đến vậy.
Dừng & Kiểm tra
Điểm giữa bàiBộ nhớ ảo (virtual memory) giải quyết vấn đề gì?
Ví dụ thực tế · Máy của bạn
Mở Task Manager trên Windows hoặc Activity Monitor trên macOS ngay lúc này. Cột phần trăm CPU không bao giờ cộng lại thành 100% chia đều cho từng chương trình - nó nhảy liên tục, vì mỗi lần bạn nhìn là một ảnh chụp của việc chia lát thời gian đang diễn ra hàng nghìn lần mỗi giây.
Bạn mở Activity Monitor và thấy một tiến trình chiếm 180% CPU trên máy 8 lõi. Con số vượt quá 100% nghĩa là gì?
Đổ não 60 giây
Viết ra trước khi xem đáp án - nhớ lại khó hơn nhận ra, và đó là lý do nó hiệu quả
Không cuộn lên xem lại. Trong 60 giây, viết ra mọi thứ bạn còn nhớ từ bài này - gạch đầu dòng, sai chính tả, thiếu ý đều không sao.
Góp ý bài học
Bài học này thế nào? Đánh giá giúp chúng mình cải thiện nội dung nhé!
Cuộn xuống để làm quiz →