Quá trình nào, nếu có, tồn tại giữa các PID 0 và 4 trên Windows 7?


Câu trả lời:


34

Không có ID tiến trình 1,2, or3 vì cách bảng xử lý kernel NT hoạt động.

Tay cầm luôn là bội số của bốn. Đối tượng xử lý Kernel xử lý được sử dụng cho cả xử lý quy trình và ID tiến trình / ID. Điều này xảy ra khi xử lý tất cả các giá trị bắt đầu từ 0x4 (bit 2) và InitialSystemProcess là quy trình đầu tiên được tạo ra, do đó, nó nhận được PID là 4. Quá trình nhàn rỗi không thực sự là một quá trình và bạn không thể mở nó. Nó có thể không có một PID thực sự nhưng hầu hết các công cụ coi nó là 0.

Thông tin thêm về bảng xử lý NT ở đây mặc dù điều này chỉ chính xác cho NT3-5 (xp), vì Windows 7 hiện tại yêu cầu bạn chỉ tham chiếu các thẻ điều khiển kernel nếu được đính kèm với PsInitialSystemProcess.

Thông tin thêm về Windows 7/8 Xử lý giới hạn từ Mark Russinovich

Thông tin thêm về "bội số của bốn" trong PID


6
Hmm thật thú vị, tôi không bao giờ nhận ra rằng tất cả các pids đều chia hết cho 4
agz 26/03/13

nghe có vẻ như họ đã sử dụng một chỉ số mảng được nhân lên trước cho PID
ratchet freak

Vẫn đang tự hỏi, những gì về tất cả các PID trong khoảng từ 4 đến 200 vẫn còn?
agz

@agz: Các số từ 4 đến 200-ish (và nhiều hơn nữa) đang được sử dụng bán cố định bởi các luồng trong quy trình được gọi là Hệ thống. ID tiến trình và luồng (thường được gọi là "ID khách hàng") đến từ cùng một "không gian số". Bạn có thể thấy ID luồng trong Process Explorer: Nhấp đúp vào quy trình, sau đó nhìn vào tab Chủ đề trong cửa sổ "Thuộc tính" kết quả.
Jamie Hanrahan

0

bạn có thể thấy tất cả các quy trình đó trong khoảng từ 4 đến 200 và nhiều hơn nữa trong khung xử lý - thuộc tính - quy trình của System Explorer System.

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.