Tôi đang nghiên cứu CPU và tôi biết cách nó đọc một chương trình từ bộ nhớ và thực hiện các hướng dẫn của nó. Tôi cũng hiểu rằng một hệ điều hành phân tách các chương trình trong các quy trình và sau đó luân phiên giữa mỗi chương trình nhanh đến mức bạn nghĩ rằng chúng đang chạy cùng một lúc, nhưng thực tế mỗi chương trình chỉ chạy một mình trong CPU. Nhưng, nếu HĐH cũng là một loạt mã chạy trong CPU, làm thế nào nó có thể quản lý các tiến trình?
Tôi đã suy nghĩ và lời giải thích duy nhất tôi có thể nghĩ là: khi HĐH tải một chương trình từ bộ nhớ ngoài vào RAM, nó sẽ thêm các hướng dẫn riêng vào giữa các hướng dẫn chương trình gốc, do đó chương trình được thực thi, chương trình được thực thi có thể gọi HĐH và làm một số việc. Tôi tin rằng có một hướng dẫn mà HĐH sẽ thêm vào chương trình, điều đó sẽ cho phép CPU trở lại mã OS một thời gian. Ngoài ra, tôi tin rằng khi HĐH tải một chương trình, nó sẽ kiểm tra xem có một số hướng dẫn bị cấm (sẽ chuyển sang các địa chỉ bị cấm trong bộ nhớ) và sau đó loại bỏ.
Tôi có suy nghĩ cứng nhắc không? Tôi không phải là sinh viên CS, nhưng thực tế, là một sinh viên toán. Nếu có thể, tôi sẽ muốn có một cuốn sách hay về điều này, vì tôi không tìm thấy ai giải thích cách HĐH có thể quản lý một quy trình nếu HĐH cũng là một loạt mã chạy trong CPU và nó không thể chạy cùng một thời gian của chương trình. Các cuốn sách chỉ nói rằng hệ điều hành có thể quản lý mọi thứ, nhưng bây giờ làm thế nào.