Từ những bài đọc của tôi về Hệ điều hành (đọc tài liệu cơ bản trên Wikipedia, các trang công nghệ, v.v.) tôi đã biết rằng Hệ điều hành là một chương trình cho phép các chương trình và ứng dụng tương tác với phần cứng một cách hiệu quả và an toàn.
Tuy nhiên, tôi bối rối về cách Hệ điều hành giám sát hoạt động của máy tính khi chính nó cần được vận hành.
Ý tôi là sao Chà, theo cách tôi tưởng tượng một Hệ điều hành hoạt động, là trên máy tính, sẽ có hai CPU. Một cái chạy HĐH mọi lúc, và cái khác mà HĐH sử dụng để chạy máy tính. Tuy nhiên, hóa ra HĐH đang chạy trên cùng một CPU mà các tiến trình khác đang có. Điều này giống như một người quản lý phải làm việc trên cùng một dây chuyền sản xuất với nhân viên của mình và chỉ được sử dụng các công cụ quyền lực khi một nhân viên khác hoàn thành công việc với họ. Anh ta sẽ không phải là một người quản lý rất hiệu quả, vì anh ta sẽ không có khả năng ra lệnh nếu nhân viên của anh ta thậm chí hơi vô kỷ luật.
Vậy làm thế nào để HĐH chỉ chạy một phần thời gian trên cùng một CPU phải chia sẻ giữa tất cả các tiến trình khác? Làm thế nào để kết thúc công việc này?