ความแตกต่างระหว่างตัวกำหนดตารางเวลาระยะสั้นและระยะยาว (พร้อมตาราง)

สารบัญ:

Anonim

ระบบปฏิบัติการมีงานมากมายเรียงกันทุกนาที มันถูกออกแบบมาเพื่อเชื่อมต่อโปรแกรมทั้งหมดและดำเนินการตามข้อเสนองาน การจัดกำหนดการกระบวนการเป็นงานที่สำคัญสำหรับระบบปฏิบัติการ ระบบปฏิบัติการประมวลผลงานต่างๆ ในสถานะต่างๆ พร้อมวิ่งและรอ

เหตุผลสำคัญสำหรับการจัดกำหนดการกระบวนการคือช่วยให้ระบบปฏิบัติการจัดสรรช่วงเวลาที่แน่นอนของโปรเซสเซอร์สำหรับทุกกระบวนการ งานหลักของการตั้งเวลากระบวนการคือการทำให้ตัวประมวลผลทำงานตลอดเวลาได้อย่างราบรื่นเพื่อรับประสบการณ์เวลารอขั้นต่ำสำหรับโปรแกรมทั้งหมด

มีสถานะกระบวนการอยู่สามสถานะ: กำลังทำงาน รอ และพร้อม การจัดกำหนดการกระบวนการมีคิวที่แตกต่างกันสำหรับสถานะต่างๆ งานทั้งหมดที่มีสถานะคล้ายคลึงกันจะถูกส่งไปยังคิวเดียวกัน หากสถานะของงานใดๆ เปลี่ยนไป สถานะจะเปลี่ยนเป็นคิวที่เกี่ยวข้อง

มีสามประเภทของคิวที่พร้อมใช้งานสำหรับการจัดกำหนดการกระบวนการ ได้แก่ คิวงาน คิวพร้อม และคิวอุปกรณ์ กระบวนการของระบบถูกเก็บไว้ในคิวงาน คิวพร้อมจัดลำดับงานทั้งหมดที่รอดำเนินการในขณะที่คิวอุปกรณ์ดูแลอุปกรณ์ต่อพ่วงและอุปกรณ์ระบบภายใน

ตัวกำหนดตารางเวลาระยะสั้นและระยะยาว

ความแตกต่างระหว่างตัวจัดกำหนดการระยะสั้นและตัวจัดกำหนดการระยะยาวคือวิธีการดำเนินการงาน Short Term Scheduler ช่วยอำนวยความสะดวกในการเลือกกระบวนการจาก Ready Queue และจัดสรรให้กับโปรเซสเซอร์เพื่อดำเนินการ ในขณะที่ Long term scheduler จะช่วยในการเลือกกระบวนการจากกลุ่มงานและจัดสรรในคิวที่พร้อม

สองประเภทคือตัวจัดกำหนดการทำงานควบคู่กันเพื่ออำนวยความสะดวกในการจัดกำหนดการกระบวนการ ตัวกำหนดตารางเวลาระยะสั้นและระยะยาวเป็นซอฟต์แวร์ระบบที่จัดการการจัดตารางกระบวนการอย่างมีประสิทธิภาพ

ตารางเปรียบเทียบระหว่างตัวกำหนดตารางเวลาระยะสั้นและระยะยาว (ในรูปแบบตาราง)

พารามิเตอร์ของการเปรียบเทียบ ตัวกำหนดตารางเวลาระยะสั้น ตัวกำหนดตารางเวลาระยะยาว
งาน จะเลือกกระบวนการจากคิว Ready เพื่อส่งไปยัง CPU กระบวนการถูกเลือกจากกลุ่มงานส่งต่อไปยังคิวที่พร้อม
ความถี่ ความถี่ของการจัดตารางระยะสั้นมีมากขึ้น ตัวจัดกำหนดการระยะยาวไม่บ่อยเท่ากับระยะสั้นในการจัดกำหนดการกระบวนการ
การควบคุมโปรแกรมหลายโปรแกรม ตัวจัดกำหนดการระยะสั้นมีการควบคุมน้อยกว่าสำหรับการเขียนโปรแกรมหลายรายการ Long-term Scheduler สามารถควบคุมการเขียนโปรแกรมหลายตัวได้
ระบบแบ่งเวลา ตัวจัดกำหนดการระยะสั้นมีสถานะน้อยที่สุดในระบบการแบ่งปันเวลา ตัวกำหนดตารางเวลาระยะยาวไม่มีอยู่ในระบบการแบ่งปันเวลา
ชื่อทางเลือก มันถูกเรียกว่าเป็น CPU Scheduler เรียกอีกอย่างว่าตัวกำหนดตารางเวลางาน

ตัวกำหนดตารางเวลาระยะสั้นคืออะไร?

ตัวจัดกำหนดการระยะสั้นคือซอฟต์แวร์ระบบที่เลือกกระบวนการจากคิวที่พร้อมใช้งานและส่งไปยังตัวประมวลผลเพื่อดำเนินการ ตัวจัดกำหนดการระยะสั้นจะเรียกว่าตัวจัดกำหนดการ CPU

ในระบบการแบ่งปันเวลา ตัวกำหนดตารางเวลาระยะสั้นมีอยู่น้อยที่สุด การดำเนินการของตัวจัดกำหนดการในระยะสั้นเกิดขึ้นบ่อยครั้งและบ่อยกว่าตัวจัดกำหนดการระยะยาวด้วย

ระดับของมัลติโปรแกรมมิ่งยังมีจำกัดและควบคุมได้น้อยกว่า ตัวกำหนดตารางเวลาระยะสั้นใช้อัลกอริธึมที่ตัดสินใจว่ากระบวนการใดจะถูกกำหนดเวลาสำหรับการดำเนินการ

การดำเนินการของกระบวนการใช้เวลาสองสามมิลลิวินาที และนี่คือสาเหตุหนึ่งที่ทำให้บ่อยกว่าตัวจัดกำหนดการระยะยาว อัลกอริธึมที่ตัดสินใจเลือกกระบวนการมีความสำคัญอย่างยิ่งเนื่องจากเป็นตัวกำหนดว่าจะดำเนินการใดต่อไป

ต้องเลือกกระบวนการที่มีเวลารอนานจากคิวที่พร้อม นั่นหมายถึงว่าเมื่อกระบวนการถูกเลือกแล้ว กระบวนการอื่นๆ ทั้งหมดจะรอถึงตาของมัน

หากตัวกำหนดตารางเวลาระยะสั้นทำผิดพลาดในการเลือกกระบวนการที่มีเวลาต่อเนื่องนาน จะเกิดข้อผิดพลาดที่เรียกว่าความอดอยาก

ความอดอยากเป็นความผิดพลาดของตัวจัดกำหนดการในระยะสั้นในการดำเนินการตามกระบวนการที่ถูกต้อง นี้สามารถสังเกตได้ในความล่าช้าในการเปิดไฟล์, ความล่าช้าในการเปิดโปรแกรมที่ขอ

ตัวกำหนดตารางเวลาระยะยาวคืออะไร?

ตัวกำหนดตารางเวลาระยะยาวคือซอฟต์แวร์ระบบที่เลือกกระบวนการจากกลุ่มงานและนำออกไปยังคิวที่พร้อมสำหรับกระบวนการต่อไปโดยตัวจัดกำหนดการระยะสั้น มีหลายกรณีที่ส่งโปรแกรมจำนวนมากเพื่อดำเนินการ และหลายครั้งที่การดำเนินการทั้งหมดในทันทีไม่สามารถทำได้

งานเหล่านี้ถูกเก็บไว้ในพูลที่เรียกว่าพูลงาน งานต่างๆ จะต้องรอถึงตาที่ของมัน ในขณะที่ตัวกำหนดตารางเวลาระยะยาวจะเลือกกระบวนการที่มีเวลารอนาน และส่งไปยังคิวที่พร้อมสำหรับการดำเนินการ

ตัวจัดกำหนดการระยะยาวเรียกอีกอย่างว่าตัวจัดกำหนดการงาน ความถี่ของกระบวนการของตัวจัดกำหนดการระยะยาวจะน้อยกว่าเมื่อเปรียบเทียบกับตัวกำหนดตารางเวลาระยะสั้น

ตัวกำหนดตารางเวลาระยะยาวจะจัดการหลายโปรแกรมในแบบอเนกประสงค์ต่างจากตัวจัดกำหนดการระยะสั้น เป็นโปรแกรมที่แยกโปรแกรมตามไทม์ไลน์และฟีดไปยังคิวที่พร้อม

ตัวกำหนดตารางเวลาระยะยาวมีความรับผิดชอบมากขึ้นในการเลือกกระบวนการที่ทำให้งานอินพุต/เอาท์พุตและโปรเซสเซอร์เชื่อมโยงกันในแนวเดียวกัน สิ่งนี้ทำให้มั่นใจได้ถึงปริมาณงานของระบบที่เหมาะสมที่สุดและการทำงานที่เหมาะสมด้วย

เป็นที่เข้าใจว่างานหลักของตัวจัดกำหนดการระยะยาวคือการจัดเตรียมงานแบบผสมให้กับคิวที่พร้อม สิ่งนี้ถูกเลือกเพิ่มเติมโดยตัวกำหนดตารางเวลาระยะสั้นสำหรับการดำเนินการ

ความแตกต่างหลักระหว่างตัวกำหนดตารางเวลาระยะสั้นและระยะยาว

  1. ดิ ความแตกต่างที่สำคัญระหว่างตัวจัดกำหนดการระยะสั้นและตัวกำหนดตารางเวลาระยะยาว คือ ตัวจัดกำหนดการระยะสั้นจะเลือกกระบวนการจากคิวพร้อมทีละรายการแล้วป้อนไปยัง CPU เพื่อดำเนินการต่อไป ในขณะที่ตัวจัดกำหนดการระยะยาวจะเลือกกระบวนการจากที่เก็บข้อมูลจำนวนมากของงานที่เรียกว่ากลุ่มงาน และส่งไปยังคิวที่พร้อม.
  2. ตัวจัดกำหนดการระยะสั้นมักเลือกกระบวนการจากคิวที่พร้อมใช้บ่อยกว่าตัวจัดกำหนดการระยะยาวจากกลุ่มงาน
  3. ตัวกำหนดตารางเวลาระยะสั้นมีการควบคุมน้อยกว่าสำหรับการเขียนโปรแกรมหลายรายการในขณะที่ตัวกำหนดตารางเวลาระยะยาวจะควบคุมระดับของการเขียนโปรแกรมหลายรายการ
  4. ตัวจัดกำหนดการระยะสั้นมีอยู่น้อยที่สุดในระบบการแบ่งปันเวลา ในขณะที่ตัวจัดกำหนดการระยะยาวไม่มีอยู่ในระบบการแบ่งปันเวลา
  5. ตัวกำหนดตารางเวลาระยะสั้นจะจัดสรรงานให้กับ CPU สำหรับกระบวนการของมัน ดังนั้นจึงเรียกอีกอย่างว่าตัวกำหนดตารางเวลาของ CPU ในขณะที่ตัวจัดกำหนดการระยะยาวจะจัดสรรงานเพื่อให้คิวพร้อมสำหรับการดำเนินการต่อไปโดยตัวจัดกำหนดการระยะสั้นจะเรียกว่าเป็นงาน ตัวกำหนดตารางเวลา

บทสรุป

การจัดกำหนดการกระบวนการมีวัตถุประสงค์ที่สำคัญในการสร้างสมดุลระหว่างการตอบสนองและการใช้ประโยชน์ สิ่งนี้จะเพิ่มจำนวนผู้ใช้ให้สูงสุดโดยเสนอเวลารอขั้นต่ำสำหรับโปรแกรมในการประมวลผล กำหนดการจะเกิดขึ้นควบคู่กันไปและต้องไม่พลาดในไทม์ไลน์

ฟังก์ชันการทำงานของตัวจัดกำหนดการระยะยาวและระยะสั้นมีความสำคัญอย่างยิ่งในการทำให้ระบบทำงานได้อย่างราบรื่น หากมีข้อผิดพลาดในการดำเนินการ ก็สามารถระบุได้อย่างง่ายดายว่ากำหนดการระยะสั้นมีข้อบกพร่องหรือตัวกำหนดตารางเวลาระยะยาว โดยส่วนใหญ่ ระบบอาจช้าในการเสนอคำสั่งที่หลากหลายสำหรับ CPU ในการประมวลผล

อย่างไรก็ตาม ควรสังเกตว่า ในการเข้าถึง CPU นั้น จะต้องผ่านกระบวนการคัดเลือกตัวกำหนดตารางเวลาระยะสั้นและระยะยาว

  1. https://ieeexplore.ieee.org/abstract/document/5532867/
  2. https://arxiv.org/abs/1111.5348

ความแตกต่างระหว่างตัวกำหนดตารางเวลาระยะสั้นและระยะยาว (พร้อมตาราง)