การจัดกำหนดการกระบวนการใน OS: เครื่องมือจัดกำหนดการระยะยาว ปานกลาง และระยะสั้น
การจัดกำหนดการกระบวนการคืออะไร?
การจัดตารางเวลากระบวนการ เป็นงานระบบปฏิบัติการที่จัดตารางเวลากระบวนการในสถานะต่างๆ เช่น พร้อม รอ และกำลังทำงาน
การกำหนดเวลากระบวนการช่วยให้ OS สามารถจัดสรรช่วงเวลาของการทำงานของ CPU สำหรับแต่ละกระบวนการได้ เหตุผลสำคัญอีกประการหนึ่งสำหรับการใช้ระบบการกำหนดเวลากระบวนการก็คือ ทำให้ CPU ไม่ว่างตลอดเวลา ซึ่งจะทำให้คุณได้รับเวลาตอบสนองขั้นต่ำสำหรับโปรแกรมต่างๆ
คิวการจัดตารางกระบวนการ
คิวการจัดกำหนดการกระบวนการช่วยให้คุณรักษาคิวที่แตกต่างกันสำหรับสถานะกระบวนการและ PCB แต่ละรายการ กระบวนการทั้งหมดของสถานะการดำเนินการเดียวกันจะอยู่ในคิวเดียวกัน ดังนั้น เมื่อใดก็ตามที่สถานะของกระบวนการได้รับการแก้ไข PCB จะต้องยกเลิกการเชื่อมโยงจากคิวที่มีอยู่ ซึ่งจะย้ายกลับไปยังคิวสถานะใหม่
คิวระบบปฏิบัติการมีสามประเภท:
- คิวงาน – ช่วยให้คุณจัดเก็บกระบวนการทั้งหมดในระบบ
- พร้อมคิว – คิวประเภทนี้ช่วยให้คุณตั้งค่าทุกกระบวนการที่อยู่ในหน่วยความจำหลัก ซึ่งพร้อมและรอดำเนินการ
- คิวอุปกรณ์ – เป็นกระบวนการที่ถูกบล็อกเนื่องจากไม่มีอุปกรณ์ I/O
ในแผนภาพที่กำหนดข้างต้น
- สี่เหลี่ยมผืนผ้าแสดงถึงคิว
- วงกลมหมายถึงทรัพยากร
- ลูกศรแสดงถึงการไหลของกระบวนการ
- ทุกกระบวนการใหม่จะใส่ไว้ในคิว Ready ก่อน โดยจะรออยู่ในคิวพร้อมจนกระทั่งได้รับการประมวลผลเพื่อดำเนินการในที่สุด ที่นี่ กระบวนการใหม่จะถูกใส่ไว้ในคิวที่พร้อมใช้ และรอจนกว่าจะได้รับเลือกสำหรับการดำเนินการหรือถูกส่งไป
- กระบวนการหนึ่งได้รับการจัดสรร CPU และกำลังดำเนินการอยู่
- กระบวนการควรออกคำขอ I/O
- จากนั้นควรวางไว้ในคิว I/O
- กระบวนการควรสร้างกระบวนการย่อยใหม่
- กระบวนการนี้ควรรอการสิ้นสุด
- ควรถอดออกจาก CPU อย่างรุนแรง ซึ่งส่งผลให้ขัดจังหวะ เมื่อการขัดจังหวะเสร็จสิ้น ควรส่งกลับไปยังคิวที่พร้อม
แบบจำลองกระบวนการสองสถานะ
แบบจำลองกระบวนการสองสถานะคือ:
- สถานะการทำงาน
- สถานะไม่ทำงาน
เล่น
ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร Operaระบบติ้งเมื่อใดก็ตามที่มีการสร้างกระบวนการใหม่ กระบวนการนั้นจะถูกป้อนเข้าสู่ระบบซึ่งควรจะทำงานอยู่
ไม่ได้ทำงาน
กระบวนการที่ไม่ได้ทำงานอยู่จะถูกเก็บไว้ในคิว ซึ่งกำลังรอจนกว่าจะดำเนินการ แต่ละรายการในคิวจะชี้ไปที่กระบวนการเฉพาะ
วัตถุประสงค์การจัดกำหนดการ
นี่คือวัตถุประสงค์ที่สำคัญของการจัดกำหนดการกระบวนการ
- เพิ่มจำนวนผู้ใช้เชิงโต้ตอบให้สูงสุดภายในเวลาตอบสนองที่ยอมรับได้
- บรรลุความสมดุลระหว่างการตอบสนองและการใช้ประโยชน์
- หลีกเลี่ยงการเลื่อนออกไปอย่างไม่มีกำหนดและบังคับใช้ลำดับความสำคัญ
- นอกจากนี้ควรอ้างอิงถึงกระบวนการที่ถือครองทรัพยากรหลักด้วย
ประเภทของตัวกำหนดเวลากระบวนการ
ตัวกำหนดเวลาคือซอฟต์แวร์ระบบประเภทหนึ่งที่ช่วยให้คุณจัดการการกำหนดเวลากระบวนการได้
Process Scheduler มีสามประเภทหลักๆ:
- กำหนดการระยะยาว
- กำหนดการระยะสั้น
- กำหนดการระยะกลาง
กำหนดการระยะยาว
ตัวกำหนดเวลาระยะยาวเรียกอีกอย่างว่าก กำหนดเวลางาน- ตัวกำหนดเวลานี้จะควบคุมโปรแกรมและเลือกกระบวนการจากคิวและโหลดลงในหน่วยความจำเพื่อดำเนินการ นอกจากนี้ยังควบคุมระดับของการเขียนโปรแกรมหลายโปรแกรมด้วย
อย่างไรก็ตาม เป้าหมายหลักของตัวกำหนดเวลาประเภทนี้คือการเสนองานที่สมดุล เช่น งานตัวประมวลผล งาน I/O ที่ช่วยให้สามารถจัดการหลายโปรแกรมได้
กำหนดการระยะกลาง
การจัดกำหนดการระยะกลางเป็นส่วนสำคัญของ การแลกเปลี่ยน- ช่วยให้คุณสามารถจัดการกับกระบวนการที่ถูกสลับออกได้ ในเครื่องมือกำหนดตารางเวลานี้ กระบวนการที่ทำงานอยู่สามารถถูกระงับได้ ซึ่งจะทำให้มีการร้องขอ I/O
กระบวนการที่กำลังทำงานอยู่อาจถูกระงับได้หากทำการร้องขอ I/O กระบวนการที่ถูกระงับไม่สามารถสร้างความคืบหน้าจนเสร็จสมบูรณ์ได้ เพื่อที่จะลบกระบวนการออกจากหน่วยความจำ และเพิ่มพื้นที่สำหรับกระบวนการอื่นๆ กระบวนการที่ถูกระงับควรถูกย้ายไปยังที่จัดเก็บข้อมูลรอง
กำหนดการระยะสั้น
การจัดกำหนดการระยะสั้นเรียกอีกอย่างว่า ตัวกำหนดเวลาซีพียู- เป้าหมายหลักของตัวกำหนดตารางเวลานี้คือการเพิ่มประสิทธิภาพของระบบตามเกณฑ์ที่กำหนด สิ่งนี้ช่วยให้คุณเลือกจากกลุ่มของกระบวนการที่พร้อมที่จะดำเนินการและจัดสรร CPU ให้กับหนึ่งในนั้น ผู้มอบหมายงานจะให้การควบคุม CPU แก่กระบวนการที่เลือกโดยตัวกำหนดตารางเวลาระยะสั้น
ความแตกต่างระหว่างตัวกำหนดเวลา
เทียบกับระยะยาว เทียบกับระยะสั้น ระยะกลาง
ระยะยาว | ระยะสั้น | ระยะกลาง |
---|---|---|
ระยะยาวเรียกอีกอย่างว่าตัวกำหนดเวลางาน | ระยะสั้นเรียกอีกอย่างว่า CPU scheduler | ระยะกลางเรียกอีกอย่างว่าตัวกำหนดเวลาการแลกเปลี่ยน |
ขาดหายไปหรือน้อยที่สุดในระบบแบ่งเวลา | ไม่มีนัยสำคัญในลำดับการแบ่งเวลา | ตัวกำหนดเวลานี้เป็นองค์ประกอบของระบบการแบ่งเวลา |
ความเร็วน้อยกว่าเมื่อเทียบกับตัวกำหนดตารางเวลาระยะสั้น | ความเร็วนั้นเร็วที่สุดเมื่อเทียบกับตัวกำหนดเวลาระยะสั้นและระยะกลาง | ให้ความเร็วปานกลาง |
อนุญาตให้คุณเลือกกระบวนการจากโหลดและรวมกลับเข้าไปในหน่วยความจำ | โดยจะเลือกเฉพาะกระบวนการที่อยู่ในสถานะพร้อมของการดำเนินการเท่านั้น | ช่วยให้คุณส่งกระบวนการกลับไปยังหน่วยความจำ |
ให้การควบคุมเต็มรูปแบบ | ให้การควบคุมน้อยลง | ลดระดับของการเขียนโปรแกรมหลายโปรแกรม |
สวิตช์บริบทคืออะไร
เป็นวิธีการเก็บ/กู้คืนสถานะของซีพียูใน PCB เพื่อให้สามารถกลับมาดำเนินการจากจุดเดิมได้ในภายหลัง วิธีการสลับบริบทมีความสำคัญสำหรับระบบปฏิบัติการแบบมัลติทาสก์
สรุป
- การจัดกำหนดการกระบวนการเป็นงานระบบปฏิบัติการที่จัดกำหนดการกระบวนการในสถานะต่างๆ เช่น พร้อม รอ และกำลังทำงาน
- โมเดลกระบวนการสองสถานะคือ 1) กำลังทำงาน และ ) ไม่ทำงาน
- การกำหนดเวลากระบวนการช่วยเพิ่มจำนวนผู้ใช้แบบโต้ตอบให้สูงสุดภายในเวลาตอบสนองที่ยอมรับได้
- ตัวกำหนดเวลาคือซอฟต์แวร์ระบบประเภทหนึ่งที่ช่วยให้คุณจัดการการกำหนดเวลากระบวนการได้
- ตัวกำหนดตารางเวลาสามประเภทคือ 1) ระยะยาว 2) ระยะสั้น 3) ระยะกลาง
- ตัวกำหนดเวลาระยะยาวจะควบคุมโปรแกรมและเลือกกระบวนการจากคิวและโหลดลงในหน่วยความจำเพื่อดำเนินการ
- ตัวกำหนดเวลาระยะกลางช่วยให้คุณสามารถจัดการกับกระบวนการที่สลับออกได้
- เป้าหมายหลักของตัวกำหนดเวลาระยะสั้นคือการเพิ่มประสิทธิภาพของระบบตามเกณฑ์ที่กำหนด
- ระยะยาวเรียกอีกอย่างว่าตัวกำหนดเวลางาน ในขณะที่ระยะสั้นเรียกอีกอย่างว่า ตัวกำหนดเวลาซีพียูและระยะกลางเรียกอีกอย่างว่าตัวกำหนดเวลาการสลับ