Thời gian CPU người dùng so với thời gian CPU hệ thống?


80

Bạn có thể giải thích thêm về "thời gian CPU người dùng" và "thời gian CPU hệ thống"? Tôi đã đọc rất nhiều, nhưng tôi không thể hiểu nó rõ ràng.



Câu trả lời:


62

Sự khác biệt là liệu thời gian được sử dụng trong không gian người dùng hay không gian nhân. Thời gian CPU của người dùng là thời gian dành cho bộ xử lý chạy mã chương trình của bạn (hoặc mã trong thư viện); thời gian CPU hệ thống là thời gian dành để chạy mã trong nhân hệ điều hành thay mặt cho chương trình của bạn.


1
cái nào được sử dụng để chạy các tệp "* .dll"?
user472221,

4
@ user472221 dll là một khái niệm Win. Câu hỏi của bạn không được OS giáp
TS Belisarius

1
@ user472221 Câu trả lời của tôi dựa trên UNIX / Linux; khái niệm tương tự sẽ được áp dụng trên Windows. Tôi đoán rằng hầu hết các tệp DLL là không gian người dùng, mặc dù tôi không chắc chắn nơi Windows vẽ đường thẳng. Nếu bạn thực sự muốn tìm hiểu xem chương trình của bạn đang sử dụng thời gian CPU ở đâu, hãy sử dụng một trình biên dịch.
Michael Ekstrand

1
"Không gian người dùng" và "không gian nhân" có giống như "chế độ người dùng / nhân" không? Nếu hạt nhân đang chạy, nhưng ở chế độ người dùng, thì tài khoản này là thời gian người dùng hay thời gian hệ thống? Hay đây là sự khác biệt thực tế chỉ khi trên một kênh nhỏ?
Antonis Christofides

Tại sao phải phân biệt user hay kernel? Ví dụ, hạt nhân có phải là một luồng đơn nên nếu quá trình của tôi đang buộc hạt nhân bằng một lệnh gọi hệ thống thì những người khác phải đợi?
JohnMudd

27

Thời gian CPU của người dùng : Lượng thời gian bộ xử lý làm việc trên chương trình cụ thể.

Thời gian CPU hệ thống : Lượng thời gian bộ xử lý làm việc trên các chức năng của hệ điều hành được kết nối với chương trình cụ thể đó.


7
Nguồn gốc của văn bản này là gì?
nhấn phím

10
Tổ chức máy tính và Thiết kế: Các phần cứng / Interface Phần mềm - By David A. Patterson, John L. Hennessy - Trang 30
N Randhawa

1
Vì vậy, nó có thể có thời gian 0 hệ thống đối với một số quá trình nếu kernel là miễn phí của bất kỳ thực hiện trên thread cụ thể nếu tôi hiểu tốt
HoCo_

22

Thuật ngữ 'thời gian CPU của người dùng' có thể hơi gây hiểu nhầm lúc đầu. Nói một cách rõ ràng, tổng thời gian (thời gian thực của CPU) là sự kết hợp giữa lượng thời gian CPU dành để thực hiện một số hành động cho một chương trình và lượng thời gian CPU dành để thực hiện các lệnh gọi của hệ thống thay mặt chương trình. Khi một chương trình lặp qua một mảng, nó đang tích lũy thời gian CPU của người dùng. Ngược lại, khi một chương trình thực hiện một lệnh gọi hệ thống chẳng hạn như execute hoặc fork, thì nó đang tích lũy thời gian CPU của hệ thống.


4

Dựa trên wikipedia :

  • Thời gian người dùng là lượng thời gian CPU bận thực thi mã trong không gian người dùng.
  • Thời gian hệ thống là khoảng thời gian CPU bận thực thi mã trong không gian hạt nhân. Nếu giá trị này được báo cáo cho một luồng hoặc một quy trình, thì nó đại diện cho lượng thời gian mà hạt nhân đang thực hiện công việc thay mặt cho ngữ cảnh thực thi, ví dụ, sau khi một luồng đưa ra một lệnh gọi hệ thống.
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.