Tôi đang đọc bài viết Wikipedia để quản lý quy trình . Tôi tập trung vào Linux. Tôi không thể tìm ra mối quan hệ và sự khác biệt giữa cuộc gọi hệ thống, tin nhắn truyền và ngắt, trong các khái niệm và mục đích của chúng. Có phải tất cả đều cho các quy trình thực hiện yêu cầu kernel cho tài nguyên và dịch vụ?
Một số trích dẫn từ bài báo và một số khác:
Có hai cách có thể để HĐH lấy lại quyền kiểm soát bộ xử lý trong quá trình thực thi chương trình để HĐH thực hiện phân bổ lại hoặc cấp phát:
- Quá trình đưa ra một cuộc gọi hệ thống (đôi khi được gọi là ngắt phần mềm); ví dụ: yêu cầu I / O xảy ra yêu cầu truy cập một tệp trên đĩa cứng.
- Một sự cố gián đoạn phần cứng xảy ra; ví dụ, một phím được nhấn trên bàn phím hoặc hết giờ (được sử dụng trong đa nhiệm ưu tiên).
Có hai kỹ thuật mà một chương trình thực thi trong chế độ người dùng có thể yêu cầu các dịch vụ của kernel:
* System call * Message passing
ngắt là một tín hiệu không đồng bộ cho biết sự cần thiết phải chú ý hoặc một sự kiện đồng bộ trong phần mềm cho thấy sự cần thiết phải thay đổi trong thực thi.
Một ngắt phần cứng làm cho bộ xử lý lưu trạng thái thực thi của nó và bắt đầu thực thi một trình xử lý ngắt. Các ngắt phần mềm thường được triển khai như các hướng dẫn trong tập lệnh, điều này gây ra chuyển đổi ngữ cảnh sang trình xử lý ngắt tương tự như ngắt phần cứng.