อ่าน 1 นาที
เรียกใช้คิว
ในคอมพิวเตอร์สมัยใหม่กระบวนการ หลายอย่าง ทำงานพร้อมกัน กระบวนการที่ทำงานอยู่จะถูกจัดเรียงไว้ในอาร์เรย์ที่เรียกว่าคิวการทำงานหรือrunqueue...
เรียกใช้คิว
ในคอมพิวเตอร์สมัยใหม่กระบวนการ หลายอย่าง ทำงานพร้อมกัน กระบวนการที่ทำงานอยู่จะถูกจัดเรียงไว้ในอาร์เรย์ที่เรียกว่าคิวการทำงานหรือrunqueue คิวการทำงานอาจมีค่าลำดับความสำคัญสำหรับแต่ละกระบวนการ ซึ่ง ตัวจัดตารางเวลาจะใช้ค่าเหล่านี้เพื่อพิจารณาว่าควรเรียกใช้กระบวนการใดต่อไป เพื่อให้แน่ใจว่าแต่ละโปรแกรมได้รับทรัพยากรอย่างยุติธรรม แต่ละโปรแกรมจะทำงานเป็นระยะเวลาหนึ่ง (quantum) ก่อนที่จะหยุดชั่วคราวและถูกส่งกลับไปยังคิวการทำงาน เมื่อโปรแกรมหนึ่งถูกหยุดเพื่อให้โปรแกรมอื่นทำงาน โปรแกรมที่มีลำดับความสำคัญสูงสุดในคิวการทำงานจะได้รับอนุญาตให้ทำงาน
กระบวนการต่างๆ จะถูกลบออกจากคิวการทำงานเมื่อร้องขอให้พักการทำงาน กำลังรอทรัพยากรพร้อมใช้งาน หรือถูกยุติการทำงานแล้ว
ใน ระบบปฏิบัติการ Linux (ก่อนเคอร์เนล 2.6.23) CPU แต่ละตัวในระบบจะมีคิวการทำงาน ซึ่งจะเก็บอาร์เรย์ของกระบวนการที่ใช้งานอยู่และหมดอายุไว้ อาร์เรย์แต่ละตัวประกอบด้วยตัวชี้ 140 ตัว (หนึ่งตัวสำหรับแต่ละระดับความสำคัญ) ไปยังรายการเชื่อมโยงแบบสอง ทิศทาง ซึ่งอ้างอิงถึงกระบวนการทั้งหมดที่มีลำดับความสำคัญที่กำหนด ตัวจัดตารางเวลาจะเลือกกระบวนการถัดไปจากอาร์เรย์ที่ใช้งานอยู่ที่มีลำดับความสำคัญสูงสุด เมื่อควอนตัมของกระบวนการหมดอายุลง กระบวนการนั้นจะถูกย้ายไปยังอาร์เรย์ที่หมดอายุด้วยลำดับความสำคัญบางอย่าง เมื่ออาร์เรย์ที่ใช้งานอยู่ไม่มีกระบวนการเหลืออยู่ ตัวจัดตารางเวลาจะสลับอาร์เรย์ที่ใช้งานอยู่และอาร์เรย์ที่หมดอายุ จึงเป็นที่มาของชื่อ ตัวจัดตารางเวลา O (1)
ในระบบปฏิบัติการ UNIXหรือLinuxคำ สั่ง sarใช้สำหรับตรวจสอบคิวการทำงาน (run queue)
คำ สั่ง vmstat สำหรับระบบปฏิบัติการ UNIXหรือLinuxสามารถใช้ตรวจสอบจำนวนกระบวนการที่อยู่ในคิวรอทำงานหรือรอการทำงานได้เช่นกัน โดยจำนวนกระบวนการเหล่านี้จะปรากฏในคอลัมน์ 'r'
ตัวอย่าง:
$ vmstat กระบวนการ -----------หน่วยความจำ---------- ---สวอป-- -----IO---- -ระบบ-- ------ซีพียู----- rb swpd free buff cache si so bi bo in cs us sy id wa st 2 0 0 4579152 324416 4619528 0 0 402 236 3357 15 20 2 78 0 0
มีโมเดลสองแบบสำหรับคิวการทำงาน (Run Queue): แบบแรกกำหนดคิวการทำงานให้กับโปรเซสเซอร์ทางกายภาพแต่ละตัว และแบบที่สองมีคิวการทำงานเพียงคิวเดียวในระบบ
ดูเพิ่มเติม
- Completely Fair Schedulerคืออัลกอริธึมการจัดตารางเวลาที่ Linux ใช้มาตั้งแต่เคอร์เนลเวอร์ชัน 2.6.23
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เรียกใช้คิว
ในคอมพิวเตอร์สมัยใหม่กระบวนการ หลายอย่าง ทำงานพร้อมกัน กระบวนการที่ทำงานอยู่จะถูกจัดเรียงไว้ในอาร์เรย์ที่เรียกว่าคิวการทำงานหรือrunqueue...
ดูเพิ่มเติม
Completely Fair Scheduler คืออัลกอริธึมการจัดตารางเวลาที่ Linux ใช้มาตั้งแต่เคอร์เนลเวอร์ชัน 2.6.23 ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Run_queue&oldid=1258661300 "