อ่าน 2 นาที
กระบวนการว่างของระบบ
ในระบบปฏิบัติการ Windows NT กระบวนการ System Idle Process ประกอบด้วย เธรด เคอร์เนลหนึ่งเธรดขึ้นไปซึ่งจะทำงานเมื่อไม่มีเธรดอื่นใดที่สามารถกำหนดให้ทำงานบนซีพียูได้...
กระบวนการว่างของระบบ
| กระบวนการว่างของระบบ | |
|---|---|
![]() โปรแกรมจัดการงานของ WindowsในWindows XPแสดงการใช้งานกระบวนการที่ไม่ได้ใช้งานของระบบอยู่ที่ 99% ซึ่งบ่งชี้ว่าไม่มีกระบวนการอื่นใดใช้เวลา CPU อย่างมีนัยสำคัญ | |
| ระบบปฏิบัติการ | ไมโครซอฟต์ วินโดวส์ |
| พิมพ์ | เคอร์เนล |
ในระบบปฏิบัติการWindows NT กระบวนการ System Idle Process ประกอบด้วย เธรดเคอร์เนลหนึ่งเธรดขึ้นไปซึ่งจะทำงานเมื่อไม่มีเธรดอื่นใดที่สามารถกำหนดให้ทำงานบนซีพียูได้ ในระบบมัลติโปรเซสเซอร์ จะมีเธรดว่างหนึ่งเธรดที่เชื่อมโยงกับแต่ละคอร์ของซีพียู สำหรับระบบที่มี การเปิดใช้ งานไฮเปอร์เธรดดิ้ง จะมีเธรดว่างหนึ่งเธรดสำหรับแต่ละโปรเซสเซอร์เชิงตรรกะ
จุดประสงค์หลักของกระบวนการที่ไม่ได้ใช้งานและเธรดของมันคือการกำจัดกรณีพิเศษที่อาจเกิดขึ้นในตัวจัดตารางงาน หากไม่มีเธรดที่ไม่ได้ใช้งาน อาจมีกรณีที่ไม่มีเธรดใดพร้อมทำงาน (หรือ "พร้อมใช้งาน" ในแง่ของสถานะการจัดตารางงานของ Windows) เนื่องจากเธรดที่ไม่ได้ใช้งานจะอยู่ในสถานะพร้อมใช้งานเสมอ (หากยังไม่ทำงาน) จึงไม่สามารถเกิดกรณีดังกล่าวได้ ดังนั้นเมื่อใดก็ตามที่ตัวจัดตารางงานถูกเรียกใช้เนื่องจากเธรดปัจจุบันออกจาก CPU เธรดอื่นก็จะสามารถทำงานบน CPU นั้นได้เสมอ แม้ว่าจะเป็นเพียงเธรดที่ไม่ได้ใช้งานของ CPU นั้นก็ตาม เวลา CPU ที่จัดสรรให้กับกระบวนการที่ไม่ได้ใช้งานจึงบ่งชี้ถึงปริมาณเวลา CPU ที่ไม่จำเป็นหรือไม่ต้องการโดยเธรดอื่น ๆ ในระบบ
ตัวจัดตารางงานจะถือว่าเธรดที่ไม่ได้ใช้งานเป็นกรณีพิเศษในแง่ของลำดับความสำคัญในการจัดตารางงานเธรด เธรดที่ไม่ได้ใช้งานจะถูกจัดตารางงานราวกับว่าแต่ละเธรดมีลำดับความสำคัญต่ำกว่าที่สามารถกำหนดให้กับเธรดทั่วไปได้
เนื่องจากหน้าที่ของกระบวนการที่ไม่ได้ใช้งาน การวัดเวลาการใช้งาน CPU ของมัน (ซึ่งสามารถดูได้ผ่านทางWindows Task Manager เป็นต้น ) อาจทำให้ผู้ใช้เข้าใจผิดว่ากระบวนการที่ไม่ได้ใช้งานนั้นกำลังใช้ CPU อยู่มากเกินไป อย่างไรก็ตาม กระบวนการที่ไม่ได้ใช้งานนั้นไม่ได้ใช้ทรัพยากรคอมพิวเตอร์ (แม้ว่าจะระบุว่าทำงานอยู่ที่เปอร์เซ็นต์สูงก็ตาม) การ "ใช้งาน" เวลา CPU ของมันเป็นเพียงการวัดว่าเวลา CPU ส่วนใดไม่ได้ถูกใช้งานโดยเธรดอื่นๆ
ใน Windows 2000 และเวอร์ชันที่ใหม่กว่านั้น เธรดในกระบวนการ System Idle Process ยังถูกใช้เพื่อประหยัดพลังงานCPU ด้วย รูปแบบการประหยัดพลังงานที่แน่นอนจะขึ้นอยู่กับเวอร์ชันของระบบปฏิบัติการ และความสามารถของฮาร์ดแวร์และ เฟิร์มแวร์ของระบบนั้นๆ ตัวอย่างเช่น บน โปรเซสเซอร์ x86ใน Windows 2000 เธรดที่ไม่ได้ใช้งานจะรันลูป คำสั่ง หยุดการทำงาน ซึ่งจะทำให้ CPU ปิดส่วนประกอบภายในหลายอย่างจนกว่า จะมี การร้องขอการขัดจังหวะเข้ามา Windows เวอร์ชันที่ใหม่กว่านั้นใช้กลไกการประหยัดพลังงาน CPU ที่ซับซ้อนกว่า ในระบบเหล่านี้ เธรดที่ไม่ได้ใช้งานจะเรียกใช้รูทีนในHardware Abstraction Layerเพื่อลดความเร็วสัญญาณนาฬิกาของ CPU หรือเพื่อใช้กลไกการประหยัดพลังงานอื่นๆ
แหล่งข้อมูลที่มีรายละเอียดมากกว่านี้สามารถดูได้จากระบบตรวจสอบประสิทธิภาพของ Windows (เข้าถึงได้ด้วยโปรแกรม perfmon) ซึ่งมีการจำแนกประเภทการใช้งาน CPU ที่ละเอียดกว่า นอกจากนี้ยังสามารถเข้าถึงข้อมูลการจำแนกประเภทเวลาการใช้งาน CPU บาง ส่วน ได้ผ่านทาง Task Managerซึ่งสามารถแสดงการใช้งาน CPU แยกตาม CPU และจำแนกตามเวลาที่ใช้ในโค้ดของผู้ใช้เทียบกับโค้ดของเคอร์เนล
