ความแตกต่างที่สำคัญ – ผู้จัดกำหนดการ vs ผู้จัดส่ง
Scheduler และ Dispatcher เชื่อมโยงกับการตั้งเวลากระบวนการของระบบปฏิบัติการ ความแตกต่างที่สำคัญระหว่างตัวจัดกำหนดการและผู้ส่งคือตัวจัดกำหนดการจะเลือกกระบวนการจากหลายกระบวนการที่จะดำเนินการในขณะที่โปรแกรมเลือกจ่ายงานจะจัดสรร CPU สำหรับกระบวนการที่เลือกโดยตัวจัดกำหนดการ
ในระบบคอมพิวเตอร์ มีหลายโพรเซสกำลังทำงานอยู่ การจัดกำหนดการเป็นกระบวนการของระบบปฏิบัติการในการตัดสินใจว่าควรจัดสรรกระบวนการใดให้กับ CPU เพื่อดำเนินการหลายกระบวนการ
กำหนดการคืออะไร
มีตัวกำหนดตารางเวลาสามประเภทในระบบปฏิบัติการเป็นตัวกำหนดตารางเวลาระยะยาว ตัวกำหนดตารางเวลาระยะสั้น และตัวจัดกำหนดการระยะกลาง ตัวจัดกำหนดการระยะยาวเรียกอีกอย่างว่าตัวจัดกำหนดการงาน ในระบบคอมพิวเตอร์ มีกระบวนการหลายอย่างที่รอดำเนินการ กระบวนการเหล่านี้จะถูกวางไว้ในที่เก็บข้อมูลสำรองหรือคิวงานเพื่อดำเนินการในภายหลัง วัตถุประสงค์ของตัวจัดกำหนดการระยะยาวคือเพื่อเลือกกระบวนการจากคิวงานและนำกระบวนการนั้นไปยังคิวที่พร้อมใช้งานในหน่วยความจำหลัก
ตัวกำหนดตารางเวลาระยะสั้นเรียกอีกอย่างว่าตัวกำหนดตารางเวลาของ CPU งานของตัวจัดกำหนดการระยะสั้นคือการเลือกกระบวนการในคิวพร้อมที่ควรจัดสรรให้กับ CPU ตัวจัดกำหนดการระยะสั้นควรเลือกกระบวนการจากคิวที่พร้อม ในขณะที่กระบวนการก่อนหน้าจะเข้าสู่สถานะรอ ควรจะเร็วไม่เช่นนั้นเวลา CPU จะเสียเปล่า
รูปที่ 01: Process Scheduling
กระบวนการดำเนินการอาจต้องมีการดำเนินการ I/O ดังนั้น กระบวนการจะเข้าสู่สถานะรอ กระบวนการนี้ถูกกล่าวว่าถูกระงับ เพื่อการใช้งาน CPU สูงสุด กระบวนการอื่นควรรัน กระบวนการที่ถูกระงับจะถูกโอนกลับไปยังหน่วยความจำรอง หลังจากผ่านไประยะหนึ่ง กระบวนการถ่ายโอนสามารถกลับไปที่หน่วยความจำหลักและดำเนินการต่อไปจากตำแหน่งที่สิ้นสุด การถ่ายโอนกระบวนการที่ถูกระงับไปยังหน่วยความจำรองเรียกว่าการสลับออก การนำกระบวนการกลับไปที่หน่วยความจำหลักเรียกว่าการสลับเข้า การสลับเข้าและออกทำได้โดยตัวจัดกำหนดการขนาดกลาง
Dispatcher คืออะไร
เมื่อตัวกำหนดตารางเวลาระยะสั้นเลือกจากคิวที่พร้อม โปรแกรมเลือกจ่ายงานจะดำเนินการจัดสรรกระบวนการที่เลือกให้กับ CPU กระบวนการที่ทำงานอยู่จะเข้าสู่สถานะรอสำหรับการดำเนินการ IO เป็นต้น จากนั้น CPU จะถูกจัดสรรให้กับกระบวนการอื่นการสลับ CPU จากกระบวนการหนึ่งไปอีกกระบวนการหนึ่งนี้เรียกว่าการสลับบริบท ผู้มอบหมายงานดำเนินการต่างๆ รวมถึงการสลับบริบท การตั้งค่าการลงทะเบียนผู้ใช้ และการแมปหน่วยความจำ สิ่งเหล่านี้จำเป็นสำหรับกระบวนการในการดำเนินการและถ่ายโอนการควบคุม CPU ไปยังกระบวนการนั้น เมื่อจัดส่ง กระบวนการจะเปลี่ยนจากสถานะพร้อมเป็นสถานะกำลังทำงาน
บางครั้ง ผู้มอบหมายงานจะถือว่าเป็นส่วนหนึ่งของตัวกำหนดตารางเวลาระยะสั้น ดังนั้นทั้งหน่วยจึงเรียกว่าเป็นตัวกำหนดตารางเวลาระยะสั้น ในสถานการณ์สมมตินี้ งานของตัวจัดกำหนดการระยะสั้นคือการเลือกกระบวนการจากคิวที่พร้อมและเพื่อจัดสรร CPU สำหรับกระบวนการนั้นด้วย
ความสัมพันธ์ระหว่างผู้จัดกำหนดการและผู้จัดส่งคืออะไร
ผู้มอบหมายงานกำหนดกระบวนการที่เลือกโดยตัวจัดกำหนดการระยะสั้นให้กับ CPU
ตัวจัดกำหนดการและผู้จัดส่งต่างกันอย่างไร
ผู้จัดตารางเวลากับผู้จัดส่ง |
|
ตัวกำหนดตารางเวลาคือซอฟต์แวร์ระบบพิเศษที่จัดการการตั้งเวลากระบวนการโดยเลือกกระบวนการที่จะดำเนินการ | โปรแกรมเลือกจ่ายงานคือโมดูลที่ให้การควบคุม CPU ไปยังกระบวนการที่เลือกโดยตัวจัดกำหนดการระยะสั้น |
ประเภท | |
มีตัวกำหนดตารางเวลาสามประเภทที่เรียกว่า;
|
ไม่มีการจัดหมวดหมู่สำหรับผู้มอบหมายงาน |
งานหลัก | |
ตัวกำหนดตารางเวลาระยะยาวจะเลือกกระบวนการจากคิวงานและนำไปที่คิวที่พร้อม ตัวกำหนดตารางเวลาระยะสั้นจะเลือกกระบวนการในคิวที่พร้อม ตัวกำหนดตารางเวลากลางดำเนินการสลับเข้า สลับออกจากกระบวนการ |
โปรแกรมเลือกจ่ายงานจะจัดสรร CPU ให้กับกระบวนการที่เลือกโดยตัวจัดกำหนดการระยะสั้น |
สรุป – ผู้จัดกำหนดการ vs ผู้จัดส่ง
Scheduler และ Dispatcher ใช้ในการจัดกำหนดการกระบวนการของระบบปฏิบัติการ ความแตกต่างระหว่างตัวจัดกำหนดการและโปรแกรมเลือกจ่ายงานคือตัวจัดกำหนดการจะเลือกกระบวนการจากหลายกระบวนการที่จะดำเนินการในขณะที่โปรแกรมเลือกจ่ายงานจะจัดสรร CPU สำหรับกระบวนการที่เลือกโดยตัวจัดกำหนดการ