Một chủ đề người dùng và một chủ đề hạt nhân là gì?


13

Tôi biết một luồng là gì và tôi biết chúng hoạt động như thế nào, nhưng tôi khá bối rối không biết luồng của người dùngluồng nhân là gì về những gì họ được phép làm.

Bạn có thể vui lòng làm rõ những gì một chủ đề người dùng có thể làm và những gì một chủ đề hạt nhân có thể làm gì?


1
Câu hỏi này đã được trả lời trên SO: stackoverflow.com/questions/5957570/kernel-space-vs-user-space
Shadok

Vâng câu hỏi đã được hỏi nhưng không được trả lời đúng. Tất cả những gì đã được trả lời từ 5 hoặc 6 điều mà người đó hỏi là về không gian người dùng và không gian hạt nhân.
Fasih Khatib

1
Tôi nghĩ định nghĩa từ Dave Rager ngắn gọn và chính xác: "Không gian hạt nhân và không gian người dùng là sự tách biệt giữa các chức năng hệ điều hành đặc quyền và các ứng dụng người dùng bị hạn chế."
Shadok

Câu trả lời:


13

Một luồng nhân, đôi khi được gọi là LWP (Quá trình nhẹ) được tạo và lên lịch bởi kernel. Các luồng kernel thường đắt hơn so với các luồng của người dùng và các lệnh gọi hệ thống để trực tiếp tạo các kernel kernel rất cụ thể về nền tảng.

Một luồng người dùng thường được tạo bởi một thư viện luồng và lập lịch được quản lý bởi chính thư viện luồng (Nó chạy trong chế độ người dùng). Tất cả các chủ đề người dùng thuộc về quá trình tạo ra chúng. Ưu điểm của chủ đề người dùng là chúng có thể mang theo được. Sự khác biệt chính có thể thấy khi sử dụng các hệ thống đa bộ xử lý, các luồng người dùng được quản lý hoàn toàn bởi thư viện luồng không thể chạy song song trên các CPU khác nhau, mặc dù điều này có nghĩa là chúng sẽ chạy tốt trên các hệ thống không xử lý. Do các luồng nhân sử dụng bộ lập lịch kernel, các luồng kernel khác nhau có thể chạy trên các CPU khác nhau. Nhiều hệ thống thực hiện phân luồng khác nhau,

Một mô hình luồng nhiều-một-ánh xạ nhiều quy trình người dùng trực tiếp đến một luồng nhân, luồng nhân có thể được coi là tiến trình chính. Một mô hình luồng một-một ánh xạ trực tiếp từng luồng người dùng đến một luồng nhân, mô hình này cho phép xử lý song song trên các hệ thống đa bộ xử lý. Mỗi luồng nhân có thể được coi là một VP (Quá trình ảo) được quản lý bởi bộ lập lịch.

Nguồn: Đáp án

Ngoài ra, bạn có thể tìm thấy thông tin trong wikipedia chương 3 - 3 Quy trình, luồng nhân, luồng người dùng và sợi:

Chủ đề


Tôi không nghĩ rằng đó là một ý tưởng tốt để sao chép mà dường như không biết chính xác cuộc tranh luận thực sự là gì và không biết hoàn toàn câu trả lời. Không phải là một LWP thường được tạo trên đầu của một chuỗi kernel làm cầu nối giữa cái cuối cùng này và luồng người dùng sao? Ngoài ra, câu trả lời này rất khó hiểu vì nó liên tục chuyển đổi thuật ngữ và cuối cùng bạn không hiểu nếu ví dụ, một chuỗi nhân là một quá trình, v.v.
nbro
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.