Page 30 - สถาปัตยกรรมคอมพิวเตอร์และระบบปฏิบัติการ
P. 30
11-20 สถาปัตยกรรมค อมพิวเตอร์แ ละร ะบบป ฏิบัติการ
2.4 เวียนเทียนหรือราวโรบิน (Round Robin scheduling: RR) เป็นวิธีการจัดเวลาซีพียูที่เหมาะสำ�หรับ
การประมวลผ ลในระบบแบ่งปันเวลา (time-sharing) วิธีก ารนี้ค ล้ายก ับว ิธีม าก่อนได้ก่อนแบบตัดตอน แตกต ่างท ี่ว ิธี
การน ี้ม ีก ารก ำ�หนดห น่วยข องเวลาในก ารป ระมวลผ ลเรียกว ่าไทม์สไลด์ (time-sliced) หรือเวลาค ว อนต ัม (quantum
time) โดยทั่วไปกำ�หนดให้มีค่าได้ตั้งแต่ 10-100 มิลลิวินาที
การค ัดเลือกโพรเซสเพื่อเข้าใช้ซ ีพียูโดยวิธีเวียนเทียนน ี้ โพรเซสต่าง ๆ จะถ ูกน ำ�มาเก็บใน ready queue ที่
มีการจ ัดเก็บแ บบค ิววงกลม (circular queue) ซึ่งโพรเซสท ี่เข้าม าใน ready queue จะถูกเก็บเรียงต่อเนื่องก ันแ ละ
โพรเซสสุดท้ายที่เข้ามาในค ิวจ ะชี้กลับไปยังโพรเซสแ รกของค ิวในล ักษณะว งกลม ตัวจ ัดเวลาซีพียูจะคัดเลือกโพรเซส
แรกข อง ready queue มาป ระมวลผ ลก อ่ นแ ละก ำ�หนดเวลาใหเ้ ขา้ ใชซ้ พี ยี ไูดไ้ มเ่ กนิ 1 คว อนต มั เมือ่ โพรเซส ป ระมวลผ ล
ครบเวลาท ี่กำ�หนดจะเกิดการข ัดจังหวะ (interrupt) เพื่อให้โพรเซสใหม่ในลำ�ดับถัดไปข อง ready queue เข้าใช้ซีพียู
แทน กรณีที่โพรเซสเก่ายังประมวลผลไม่เสร็จจะถูกนำ�ไปต่อเป็นคิวสุดท้ายใน ready queue เพื่อรอเข้าใช้ซีพียูใน
รอบถัดไป การเข้าใช้ซีพียูของโพรเซสวิธีเวียนเทียนนี้ทุกโพรเซสจะได้เข้าใช้ซีพียูในแต่ละรอบเท่ากันและสามารถ
ประมวลผลได้ไม่เกินระยะเวลาที่ระบบ
ในกรณีที่โพรเซสที่ได้รับการคัดเลือกให้ใช้ซีพียูมีระยะเวลาที่ต้องการใช้ซีพียูน้อยกว่าระยะเวลาควอนตัม
โพรเซสนั้นจะถ ูกป ระมวลผ ลเท่ากับร ะยะเวลาท ี่ต ้องการจ ริง ต่อจ ากนั้นระบบจะค ัดเลือกโพรเซสในลำ�ดับต่อไปเข้าใช้
ซีพียูอย่างต ่อเนื่องโดยไม่ต้องร อให้ค รบร ะยะเวลาท ี่กำ�หนด วิธีก ารน ี้อาจทำ�ให้ค่าเฉลี่ยของเวลาร อค อยม ีค ่าส ูงก ว่าว ิธี
อื่น ๆ แสดงด ังตัวอย่างท ี่ 5
ตวั อยา่ งท ่ี 5 กำ�หนดให้มีโพรเซส ถูกส ่งมาป ระมวลผ ลโดยว ิธีเวียนเทียน (RR) ณ เวลา 0 นาฬิกา จำ�นวน 3
โพรเซส ได้แก่ โพรเซส A B และ C กำ�หนดให้เวลาควอนต ัมเท่ากับ 5 มิลลิว ินาที โดยแ ต่ละโพรเซสต้องการร ะยะ
เวลาเข้าใช้ซีพียู ดังนี้
โพรเซส ระยะเวลาเข้าใช้ซีพียู (มิลลิวนิ าที)
A 23
B 4
C 4
ดังนั้น ทั้งสามโพรเซสจะถูกน ำ�ม าเก็บใน ready queue ตามล ำ�ดับคือโพรเซส A B และ C โดย โพรเซส C
เชื่อมต ่อก ับโพรเซส A ในล ักษณะว งกลม เมื่อเริ่มประมวลผล โพรเซสทั้งส ามจ ะถูกป ระมวลผ ลตามลำ�ดับ ดังภ าพที่
11.7 ดังนี้