2013-07-17 31 views
6

Liệu hạt nhân Linux có thể được coi là một quá trình đơn lẻ với nhiều luồng có thể không? Ngoài ra những gì xác định chuyển đổi giữa các mô-đun quản lý bộ nhớ, bộ lập lịch, hệ thống tệp vv trong hạt nhân.Liệu hạt nhân Linux có thể được coi là một quá trình đơn lẻ

+0

Đây không phải là bài tập về nhà, đúng không? –

+0

@MarcusJohansson Không phải là câu hỏi về bài tập về nhà – user567879

+0

Nhân theo định nghĩa không phải là một quá trình (vì nó chạy trên kim loại trần). Quá trình cần một hạt nhân để được quản lý! Phần cứng trần không biết quy trình. –

Trả lời

9

Nhân Linux không thể được coi là một quá trình, bởi vì đây là một trong những trách nhiệm của nó để quản lý các quy trình.

Bạn có thể coi hạt nhân là trình xử lý ngắt lớn. Sau khi hạt nhân cấp bộ xử lý cho luồng, cách duy nhất để lấy lại điều khiển là ngắt (hoặc các cuộc gọi hệ thống, cũng là ngắt). Khi gián đoạn xảy ra, hạt nhân ngay lập tức được kiểm soát, và xử lý một cách thích hợp gián đoạn. Tại thời điểm này các phần khác nhau của hạt nhân có thể được gọi.

Hạt nhân đa luồng vì nó có thể xử lý nhiều gián đoạn trên các bộ xử lý khác nhau cùng một lúc. Mặt khác, có các luồng hạt nhân, được quản lý theo cùng một cách như các luồng người dùng (không có sự khác nhau giữa các chủ đề hạt nhân và người dùng cho trình lập lịch biểu).

+0

'Không có sự khác biệt giữa chủ đề hạt nhân và người dùng cho lịch trình'. Sau đó, làm thế nào các chủ đề hạt nhân được lên kế hoạch? – user567879

+2

Các luồng hạt nhân này được lập lịch theo cùng một cách, như các luồng người dùng, trong cùng một hàng đợi, tuân theo cùng các quy tắc. Trình lập lịch biểu thậm chí không biết liệu luồng là luồng người dùng hay hạt nhân. –

+0

@ user567879 Tôi đã trả lời câu hỏi của bạn chưa? –

Các vấn đề liên quan