Page 31 - สถาปัตยกรรมคอมพิวเตอร์และระบบปฏิบัติการ
P. 31
การจ ัดเวลาซ ีพียูและก ารต ิดตาย 11-21
โพรเซส running
C waiting
B running
waiting
running running เวลา (มิลลิวินาที)
A 9 13 18 23 28 31
5
ภาพท ี่ 11.7 การจดั เวลาซีพยี วู ธิ ีเวยี นเทยี นของโพรเซส A B และ C ตามล �ำ ดับ
จากภาพท ี่ 11.7 เห็นได้ว่า
- โพรเซส A เข้ามาใน ready queue เป็นลำ�ดับแรก ดังนั้นจึงได้ครอบครองซีพียูเพื่อประมวลผลทันที
ใช้เวลาประมวลผล 5 มิลลิวินาทีจึงถูกขัดจังหวะ (interrupt) เพื่อให้โพรเซส B ในลำ�ดับถัดไปของ ready queue
เข้าใช้ซีพียูแทน
- โพรเซส A ต้องการเวลาการใช้ซีพียูทั้งหมด 23 มิลลิวินาทีแต่ประมวลผลได้เพียง 5 มิลลิวินาที ดังนั้น
จึงต้องการเวลาก ารใช้ซ ีพียูอ ีก 23 — 5 = 18 มิลลิวินาที โพรเซส A ต้องไปต่อท ้ายค ิวเพื่อป ระมวลผ ลงานท ี่เหลือใน
ร อบถัดไป
- เมื่อโพรเซส B ได้ครอบครองซีพียู และใช้เวลาประมวลผลเพียง 4 มิลลิวินาทีจึงประมวลผลงานเสร็จ
ดงั น ัน้ เวลาร อค อยข องโพรเซส B เทา่ กบั ระยะเวลาท โี่ พรเซส B เขา้ ม าใน ready queue จนก ระทัง่ ไดใ้ ชซ้ พี ยี ปู ระมวลผ ล
ตั้งแต่เวลา 0 ถึง 5 = 5 มิลลิว ินาที และเวลาค รบร อบง าน เท่ากับเวลาร อค อย บวกด ้วยเวลาท ี่ใช้ซ ีพียูจ นง านเสร็จ เท่ากับ
5 + 4 = 9 มิลลิว ินาที
- ต่อจ ากน ั้นโพรเซส C ได้เข้าใช้ซ ีพียูเป็นลำ�ดับต่อมาและใช้เวลาป ระมวลผลเพียง 4 มิลลิวินาทีจึงป ระมวล
ผลงานเสร็จ ดังน ั้น เวลาร อค อยข องโพรเซส C เท่ากับ ระยะเวลาท ี่โพรเซส C เข้าม าใน ready queue จนกระทั่งได้ใช้
ซีพียู ตั้งแต่เวลา 0 ถึง 9 = 9 มิลลิวินาที และเวลาค รบรอบง าน เท่ากับเวลาร อคอย บวกด้วยเวลาท ี่โพรเซส C ใช้ซ ีพียู
ประมวลผลงานจ นเสร็จ เท่ากับ 9 + 4 = 13 มิลลิว ินาที
- ต่อจากน ั้นโพรเซส A ได้เข้าใช้ซีพียูอีกค รั้งห นึ่ง ซึ่ง ณ เวลาน ี้โพรเซส A ต้องการเวลาเพื่อประมวลผลงาน
อีก 18 มิลลิว ินาที
- โพรเซส A ได้รับเวลาป ระมวลผ ลซ ีพียูจากระบบร อบละ 5 มิลลิว ินาทีอ ย่างต ่อเนื่อง เนื่องจากไม่มีโพรเซส
ใหม่เพิ่มเข้ามาใน ready queue ดังน ั้นโพรเซส A จึงได้ประมวลผลงานจนก ระทั่งเสร็จในเวลา 31 มิลลิวินาที สามารถ
คำ�นวณห าเวลารอคอยของโพรเซส A ได้จ ากเวลาระยะเวลาที่โพรเซส A ไม่ได้ครอบค รองซ ีพียู คือในช่วงเวลา 5 ถึง
13 = 13 — 5 = 8 มิลลิว ินาที และเวลาครบรอบง านของโพรเซส A เท่ากับเวลาร อคอย บวกด้วยเวลาในการประมวล
ผลงานจนเสร็จ เท่ากับ 8 + 23 = 31 มิลลิวินาที