Preemptive vs. Non-Preemptive Scheduling ในระบบปฏิบัติการ
เนื้อหา
- สารบัญ: ความแตกต่างระหว่างการกำหนดเวลาแบบ Preemptive และ Non-Preemptive ในระบบปฏิบัติการ
- แผนภูมิเปรียบเทียบ
- กำหนดเวลาไว้ล่วงหน้า
- กำหนดการที่ไม่ต้องเสียภาษี
- ความแตกต่างที่สำคัญ
- ข้อสรุป
- วิดีโออธิบาย
ความแตกต่างที่สำคัญระหว่างการกำหนดเวลาแบบ preemptive และ non-preemptive ในระบบปฏิบัติการคือการกำหนดเวลาแบบ preemptive จะเกิดขึ้นเมื่อกระบวนการทำงานจากสถานะการทำงานไปยังสถานะพร้อมในขณะที่การกำหนดเวลาแบบไม่ยึดเอาเสียก่อนเกิดขึ้นเมื่อกระบวนการสิ้นสุดลง
ระบบปฏิบัติการเป็นสะพานเชื่อมระหว่างผู้ใช้กับซอฟต์แวร์ระบบปฏิบัติการในวิทยาการคอมพิวเตอร์เป็นแนวคิดที่สำคัญที่สุด ในระบบปฏิบัติการการกำหนดเวลาแบบ preemptive และ non-preemptive เป็นแนวคิดที่สำคัญที่สุด
มีตัวกำหนดตารางเวลาของ CPU ที่รับผิดชอบในการจัดสรรกระบวนการให้กับ CPU ตัวกำหนดตารางเวลาของ CPU รอให้ CPU ว่างและเมื่อทรัพยากรของ CPU ว่างจะทำให้เกิดกระบวนการอื่น การกำหนดตารางเวลาแบบ Preemptive เกิดขึ้นเมื่อกระบวนการรันจากสถานะการทำงานไปยังสถานะพร้อมในขณะที่การกำหนดเวลาแบบไม่ต้องเสียสิทธิ์จะเกิดขึ้นเมื่อกระบวนการกำลังสิ้นสุดลง ในการกำหนดตารางเวลาไว้ล่วงหน้ากระบวนการสามารถกำหนดเวลาได้ในขณะที่กระบวนการจัดตารางเวลาที่ไม่ต้องเสียสิทธิ์ไม่สามารถกำหนดตารางเวลาได้การเตรียมการล่วงหน้าเกิดขึ้นเมื่อกระบวนการสลับจากสถานะกำลังทำงานเป็นสถานะพร้อม ในการกำหนดเวลา CPU รอบการจองไว้ล่วงหน้าจะถูกจัดสรรให้ดำเนินการและนั่นเป็นช่วงเวลาที่ จำกัด กระบวนการที่ต้องรออยู่ในคิวพร้อมและรอให้ CPU แตก กระบวนการต้องอยู่ในคิวพร้อมจนกว่า CPU จะพร้อมสำหรับการดำเนินการ จากนั้นมีลำดับความสำคัญที่กระบวนการที่จะมาพร้อมกับลำดับความสำคัญสูงจะได้รับทรัพยากรก่อนจากนั้นกระบวนการที่มีลำดับความสำคัญน้อยกว่า กระบวนการทั้งหมดนี้เรียกว่าการกำหนดตารางเวลาไว้ล่วงหน้า Robin Robin เป็นตัวอย่างของการกำหนดตารางเวลาไว้ล่วงหน้า
การจัดตารางเวลาที่ไม่ต้องเสียสิทธิ์เกิดขึ้นเมื่อกระบวนการกำลังสิ้นสุดลง เมื่อกระบวนการมีทรัพยากรโดย CPU และเมื่อทรัพยากรถูกใช้โดยกระบวนการนั้นกระบวนการนั้นจะถูกยกเลิกโดย CPU การกำหนดเวลาล่วงหน้าขัดจังหวะกระบวนการทันทีที่กระบวนการที่มีลำดับความสำคัญสูงเข้ามาและในกรณีของการกำหนดเวลาที่ไม่ต้องเสียภาษีจะไม่มีการหยุดชะงักและกระบวนการจะสิ้นสุดลงเมื่อกระบวนการเสร็จสมบูรณ์ เมื่อกระบวนการที่มี CPU burst time ที่ยาวนานกำลังดำเนินการกระบวนการจะต้องรอและด้วยวิธีนี้เวลารอเฉลี่ยจะเพิ่มขึ้น
สารบัญ: ความแตกต่างระหว่างการกำหนดเวลาแบบ Preemptive และ Non-Preemptive ในระบบปฏิบัติการ
- แผนภูมิเปรียบเทียบ
- กำหนดเวลาไว้ล่วงหน้า
- กำหนดการที่ไม่ต้องเสียภาษี
- ความแตกต่างที่สำคัญ
- ข้อสรุป
- วิดีโออธิบาย
แผนภูมิเปรียบเทียบ
รากฐาน | กำหนดเวลาไว้ล่วงหน้า | กำหนดการที่ไม่ต้องเสียภาษี |
ความหมาย | การกำหนดตารางเวลาแบบล่วงหน้าเกิดขึ้นเมื่อกระบวนการรันจากสถานะการทำงานไปยังสถานะพร้อม | การจัดตารางเวลาที่ไม่ต้องเสียสิทธิ์เกิดขึ้นเมื่อกระบวนการกำลังสิ้นสุดลง
|
ขัดจังหวะ | มีการหยุดชะงักในการกำหนดตารางเวลาไว้ล่วงหน้า | ไม่มีการหยุดชะงักในการกำหนดเวลาที่ไม่ต้องเสียภาษี |
คล่องตัว | การกำหนดเวลาไว้ล่วงหน้านั้นมีความยืดหยุ่น | การกำหนดเวลาที่ไม่ต้องเสียภาษีไม่ยืดหยุ่น |
ราคา | การกำหนดตารางเวลาไว้ล่วงหน้านั้นคุ้มค่า | การจัดตารางเวลาที่ไม่ต้องเสียค่าธรรมเนียมนั้นไม่มีประสิทธิภาพ |
กำหนดเวลาไว้ล่วงหน้า
การกำหนดเวลาล่วงหน้าเกิดขึ้นเมื่อกระบวนการสลับจากสถานะการทำงานเป็นสถานะพร้อม ในการกำหนดตารางเวลาไว้ล่วงหน้ารอบ CPU จะถูกจัดสรรให้ดำเนินการและนั่นเป็นช่วงเวลาที่ จำกัด กระบวนการที่ต้องรออยู่ในคิวพร้อมและรอให้ CPU แตก กระบวนการต้องอยู่ในคิวพร้อมจนกว่า CPU จะพร้อมสำหรับการดำเนินการ จากนั้นมีลำดับความสำคัญที่กระบวนการที่จะมาพร้อมกับลำดับความสำคัญสูงจะได้รับทรัพยากรก่อนจากนั้นกระบวนการที่มีลำดับความสำคัญน้อยกว่า กระบวนการทั้งหมดนี้เรียกว่าการกำหนดตารางเวลาไว้ล่วงหน้า Robin Robin เป็นตัวอย่างของการกำหนดตารางเวลาไว้ล่วงหน้า
กำหนดการที่ไม่ต้องเสียภาษี
การจัดตารางเวลาที่ไม่ต้องเสียสิทธิ์เกิดขึ้นเมื่อกระบวนการกำลังสิ้นสุดลง เมื่อกระบวนการมีทรัพยากรโดย CPU และเมื่อทรัพยากรถูกใช้โดยกระบวนการนั้นกระบวนการนั้นจะถูกยกเลิกโดย CPU การกำหนดเวลาล่วงหน้าขัดจังหวะกระบวนการทันทีที่กระบวนการที่มีลำดับความสำคัญสูงเข้ามาและในกรณีของการกำหนดเวลาที่ไม่ต้องเสียภาษีจะไม่มีการหยุดชะงักและกระบวนการจะสิ้นสุดลงเมื่อกระบวนการเสร็จสมบูรณ์ เมื่อกระบวนการที่มี CPU burst time ที่ยาวนานกำลังดำเนินการกระบวนการจะต้องรอและด้วยวิธีนี้เวลารอเฉลี่ยจะเพิ่มขึ้น
ความแตกต่างที่สำคัญ
- การกำหนดตารางเวลาแบบ Preemptive เกิดขึ้นเมื่อกระบวนการรันจากสถานะการทำงานไปยังสถานะพร้อมในขณะที่การกำหนดเวลาแบบไม่มีการยึดเอาไว้จะเกิดขึ้นเมื่อกระบวนการกำลังสิ้นสุดลง
- มีการขัดจังหวะในการกำหนดเวลาไว้ล่วงหน้าในขณะที่ไม่มีการหยุดชะงักในการกำหนดเวลาที่ไม่ต้องเสียภาษี
- การกำหนดตารางเวลาแบบ preemptive นั้นมีความยืดหยุ่นในขณะที่การกำหนดเวลาแบบ preemptive นั้นไม่ยืดหยุ่น
- การกำหนดเวลาล่วงหน้าเป็นต้นทุนที่มีประสิทธิภาพในขณะที่การกำหนดตารางเวลาไว้ล่วงหน้านั้นไม่คุ้มค่า
ข้อสรุป
ในบทความด้านบนนี้เราจะเห็นความแตกต่างที่ชัดเจนระหว่างการกำหนดเวลาแบบ preemptive และ non-preemptive พร้อมตัวอย่าง