ระบบปฏิบัติการ - การจัดกำหนดการกระบวนการ

คำจำกัดความ

การจัดกำหนดการกระบวนการเป็นกิจกรรมของตัวจัดการกระบวนการที่จัดการการลบกระบวนการที่กำลังทำงานอยู่ออกจาก CPU และการเลือกกระบวนการอื่นบนพื้นฐานของกลยุทธ์เฉพาะ

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

คิวการจัดกำหนดการกระบวนการ

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

ระบบปฏิบัติการจะเก็บรักษาคิวการจัดกำหนดการกระบวนการที่สำคัญดังต่อไปนี้ -

  • Job queue - คิวนี้จะเก็บกระบวนการทั้งหมดไว้ในระบบ

  • Ready queue- คิวนี้เก็บชุดของกระบวนการทั้งหมดที่อยู่ในหน่วยความจำหลักพร้อมและรอดำเนินการ กระบวนการใหม่จะอยู่ในคิวนี้เสมอ

  • Device queues - กระบวนการที่ถูกบล็อกเนื่องจากอุปกรณ์ I / O ไม่พร้อมใช้งานเป็นคิวนี้

ระบบปฏิบัติการสามารถใช้นโยบายที่แตกต่างกันเพื่อจัดการแต่ละคิว (FIFO, Round Robin, Priority ฯลฯ ) ตัวกำหนดตารางเวลา OS กำหนดวิธีการย้ายกระบวนการระหว่างคิวที่พร้อมและรันซึ่งสามารถมีได้เพียงรายการเดียวต่อหนึ่งคอร์ตัวประมวลผลบนระบบ ในแผนภาพด้านบนได้รวมเข้ากับ CPU แล้ว

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

แบบจำลองกระบวนการสองสถานะหมายถึงสถานะที่กำลังทำงานและไม่ทำงานซึ่งอธิบายไว้ด้านล่าง -

SN รัฐและคำอธิบาย
1

Running

เมื่อกระบวนการใหม่ถูกสร้างขึ้นกระบวนการจะเข้าสู่ระบบในสถานะที่กำลังทำงานอยู่

2

Not Running

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

ตัวจัดกำหนดการ

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

  • เครื่องมือจัดกำหนดการระยะยาว
  • เครื่องมือจัดกำหนดการระยะสั้น
  • เครื่องมือจัดกำหนดการระยะกลาง

เครื่องมือจัดกำหนดการระยะยาว

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

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

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

เครื่องมือจัดกำหนดการระยะสั้น

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

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

เครื่องมือจัดกำหนดการระยะกลาง

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

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

การเปรียบเทียบระหว่างเครื่องมือจัดกำหนดการ

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

สวิตช์บริบท

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

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

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

  • โปรแกรมเคาน์เตอร์
  • ข้อมูลการตั้งเวลา
  • ค่าลงทะเบียนฐานและ จำกัด
  • ทะเบียนที่ใช้อยู่ในปัจจุบัน
  • สถานะที่เปลี่ยนแปลง
  • ข้อมูลสถานะ I / O
  • ข้อมูลทางการบัญชี