Tôi không chắc chắn nếu tôi hiểu khái niệm về phần cứng và phần mềm bị gián đoạn.
Nếu tôi hiểu chính xác, mục đích của việc ngắt phần cứng là để thu hút sự chú ý của CPU, một phần của việc thực hiện đa nhiệm CPU.
- Sau đó, những gì vấn đề một phần cứng bị gián đoạn? Đây có phải là quá trình trình điều khiển phần cứng?
- Nếu có, quá trình trình điều khiển phần cứng đang chạy ở đâu? Nếu nó đang chạy trên CPU, thì nó sẽ không phải chú ý đến CPU bằng cách ngắt phần cứng, phải không? Vì vậy, nó đang chạy ở nơi khác?
- Liệu một phần cứng làm gián đoạn CPU trực tiếp, hoặc trước tiên nó liên lạc với quá trình kernel và quá trình kernel sau đó liên lạc / làm gián đoạn CPU?
Mặt khác, tôi nghĩ mục đích của một ngắt phần mềm là cho một quá trình hiện đang chạy trên CPU để yêu cầu một số tài nguyên.
- Các nguồn lực là gì? Có phải tất cả đều ở dạng chạy quy trình? Ví dụ, quy trình trình điều khiển CPU và quy trình trình điều khiển bộ nhớ đại diện cho tài nguyên CPU và bộ nhớ? Quá trình điều khiển của các thiết bị I / O có đại diện cho tài nguyên I / O không? Các quy trình đang chạy khác mà quy trình muốn giao tiếp với các tài nguyên cũng vậy?
- Nếu có, phần mềm có làm gián đoạn liên lạc với các quy trình (đại diện cho tài nguyên) một cách gián tiếp thông qua quy trình kernel không? Có đúng không giống như ngắt phần cứng, ngắt phần mềm không bao giờ trực tiếp làm gián đoạn CPU, nhưng thay vào đó, nó làm gián đoạn / liên hệ với quá trình kernel?