Tôi là người mới dùng Linux Kernel.
Tôi biết rằng có hai bối cảnh
1. Process Bối cảnh, chạy trong không gian người dùng hoặc trong Kernel Space (cho ví dụ: như là một phần của cuộc gọi System)
2. Gián đoạn ContextTrong ngữ cảnh nào, luồng Kernel chạy trong Linux?
trong tình huống Kernel Thread (không liên quan đến bất kỳ Chủ đề Người dùng nào, ví dụ: nhiệm vụ tuôn ra) chạy?
Có bối cảnh nào khác ngoài ngữ cảnh Quy trình và gián đoạn trong hạt nhân Linux không?
Về cơ bản các * điểm * của đề hạt nhân là để cho phép các hạt nhân để thực thi mã trong bối cảnh quá trình, nhưng không trực tiếp thay mặt cho một không gian người dùng đặc biệt quá trình. – caf
@Pavan: Trình xử lý ngắt được tạo luồng (softirqs) thể hiện các đặc tính của ngữ cảnh ngắt (bạn có thể không ngủ), vì vậy tuyên bố rằng chúng là ngữ cảnh quá trình là mâu thuẫn. –
@ jørgensen Nếu bạn đọc tài liệu hướng dẫn GPIO tại đây-http: //www.kernel.org/doc/Documentation/gpio.txt, nó nói - 'Truy cập các GPIO như vậy yêu cầu một ngữ cảnh có thể ngủ, ví dụ một trình xử lý IRQ luồng ' Vì vậy, nó ngụ ý rằng xử lý ngắt chuỗi có thể ngủ phải không? Bạn đúng về softirqs. Nhưng họ không phải là loại duy nhất của trình xử lý ngắt luồng phải không? Hoặc, thậm chí, nó thực sự đề cập đến softirqs khi họ nói xử lý ngắt chuỗi? –