การจัดกำหนดการกระบวนการใน OS: เครื่องมือจัดกำหนดการระยะยาว ปานกลาง และระยะสั้น

การจัดกำหนดการกระบวนการคืออะไร?

การจัดตารางเวลากระบวนการ เป็นงานระบบปฏิบัติการที่จัดตารางเวลากระบวนการในสถานะต่างๆ เช่น พร้อม รอ และกำลังทำงาน

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

คิวการจัดตารางกระบวนการ

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

คิวระบบปฏิบัติการมีสามประเภท:

  1. คิวงาน – ช่วยให้คุณจัดเก็บกระบวนการทั้งหมดในระบบ
  2. พร้อมคิว – คิวประเภทนี้ช่วยให้คุณตั้งค่าทุกกระบวนการที่อยู่ในหน่วยความจำหลัก ซึ่งพร้อมและรอดำเนินการ
  3. คิวอุปกรณ์ – เป็นกระบวนการที่ถูกบล็อกเนื่องจากไม่มีอุปกรณ์ I/O
คิวการจัดตารางกระบวนการ
คิวการจัดตารางกระบวนการ

ในแผนภาพที่กำหนดข้างต้น

  • สี่เหลี่ยมผืนผ้าแสดงถึงคิว
  • วงกลมหมายถึงทรัพยากร
  • ลูกศรแสดงถึงการไหลของกระบวนการ
  1. ทุกกระบวนการใหม่จะใส่ไว้ในคิว Ready ก่อน โดยจะรออยู่ในคิวพร้อมจนกระทั่งได้รับการประมวลผลเพื่อดำเนินการในที่สุด ที่นี่ กระบวนการใหม่จะถูกใส่ไว้ในคิวที่พร้อมใช้ และรอจนกว่าจะได้รับเลือกสำหรับการดำเนินการหรือถูกส่งไป
  2. กระบวนการหนึ่งได้รับการจัดสรร CPU และกำลังดำเนินการอยู่
  3. กระบวนการควรออกคำขอ I/O
  4. จากนั้นควรวางไว้ในคิว I/O
  5. กระบวนการควรสร้างกระบวนการย่อยใหม่
  6. กระบวนการนี้ควรรอการสิ้นสุด
  7. ควรถอดออกจาก CPU อย่างรุนแรง ซึ่งส่งผลให้ขัดจังหวะ เมื่อการขัดจังหวะเสร็จสิ้น ควรส่งกลับไปยังคิวที่พร้อม

แบบจำลองกระบวนการสองสถานะ

แบบจำลองกระบวนการสองสถานะคือ:

  • สถานะการทำงาน
  • สถานะไม่ทำงาน

เล่น

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

ไม่ได้ทำงาน

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

วัตถุประสงค์การจัดกำหนดการ

นี่คือวัตถุประสงค์ที่สำคัญของการจัดกำหนดการกระบวนการ

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

ประเภทของตัวกำหนดเวลากระบวนการ

ตัวกำหนดเวลาคือซอฟต์แวร์ระบบประเภทหนึ่งที่ช่วยให้คุณจัดการการกำหนดเวลากระบวนการได้

Process Scheduler มีสามประเภทหลักๆ:

  1. กำหนดการระยะยาว
  2. กำหนดการระยะสั้น
  3. กำหนดการระยะกลาง

กำหนดการระยะยาว

ตัวกำหนดเวลาระยะยาวเรียกอีกอย่างว่าก กำหนดเวลางาน- ตัวกำหนดเวลานี้จะควบคุมโปรแกรมและเลือกกระบวนการจากคิวและโหลดลงในหน่วยความจำเพื่อดำเนินการ นอกจากนี้ยังควบคุมระดับของการเขียนโปรแกรมหลายโปรแกรมด้วย

อย่างไรก็ตาม เป้าหมายหลักของตัวกำหนดเวลาประเภทนี้คือการเสนองานที่สมดุล เช่น งานตัวประมวลผล งาน I/O ที่ช่วยให้สามารถจัดการหลายโปรแกรมได้

กำหนดการระยะกลาง

การจัดกำหนดการระยะกลางเป็นส่วนสำคัญของ การแลกเปลี่ยน- ช่วยให้คุณสามารถจัดการกับกระบวนการที่ถูกสลับออกได้ ในเครื่องมือกำหนดตารางเวลานี้ กระบวนการที่ทำงานอยู่สามารถถูกระงับได้ ซึ่งจะทำให้มีการร้องขอ I/O

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

กำหนดการระยะสั้น

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

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

เทียบกับระยะยาว เทียบกับระยะสั้น ระยะกลาง

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

สวิตช์บริบทคืออะไร

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

สรุป

  • การจัดกำหนดการกระบวนการเป็นงานระบบปฏิบัติการที่จัดกำหนดการกระบวนการในสถานะต่างๆ เช่น พร้อม รอ และกำลังทำงาน
  • โมเดลกระบวนการสองสถานะคือ 1) กำลังทำงาน และ ) ไม่ทำงาน
  • การกำหนดเวลากระบวนการช่วยเพิ่มจำนวนผู้ใช้แบบโต้ตอบให้สูงสุดภายในเวลาตอบสนองที่ยอมรับได้
  • ตัวกำหนดเวลาคือซอฟต์แวร์ระบบประเภทหนึ่งที่ช่วยให้คุณจัดการการกำหนดเวลากระบวนการได้
  • ตัวกำหนดตารางเวลาสามประเภทคือ 1) ระยะยาว 2) ระยะสั้น 3) ระยะกลาง
  • ตัวกำหนดเวลาระยะยาวจะควบคุมโปรแกรมและเลือกกระบวนการจากคิวและโหลดลงในหน่วยความจำเพื่อดำเนินการ
  • ตัวกำหนดเวลาระยะกลางช่วยให้คุณสามารถจัดการกับกระบวนการที่สลับออกได้
  • เป้าหมายหลักของตัวกำหนดเวลาระยะสั้นคือการเพิ่มประสิทธิภาพของระบบตามเกณฑ์ที่กำหนด
  • ระยะยาวเรียกอีกอย่างว่าตัวกำหนดเวลางาน ในขณะที่ระยะสั้นเรียกอีกอย่างว่า ตัวกำหนดเวลาซีพียูและระยะกลางเรียกอีกอย่างว่าตัวกำหนดเวลาการสลับ