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 ดังนี้
   25   26   27   28   29   30   31   32   33   34   35