Page 29 - สถาปัตยกรรมคอมพิวเตอร์และระบบปฏิบัติการ
P. 29

การจ​ ัดเ​วลาซ​ ีพียู​และก​ าร​ติด​ตาย 11-19

       -	 ต่อ​จาก​นั้น​โพรเซส C ได้​เข้า​ใช้​ซีพียู​เป็น​ลำ�ดับ​ต่อ​มา โดย​ต้อง​รอ​โพรเซส B โพรเซส E และโพรเซส A​
ประมวลผ​ ล​จนเ​สร็จ​ก่อน ดัง​นั้นเ​วลาร​ อ​คอยก​ าร​ใช้​ซีพียู​ของโพรเซส C เท่ากับ 3 + 8 + 11 =  22 มิลลิ​วินาที โพรเซส
C  จึงไ​ด้เ​ข้าใ​ช้ซ​ ีพียูแ​ ละใ​ช้เ​วลาป​ ระมวลผ​ ลง​ าน 5 มิลลิว​ ินาทีจ​ ึงป​ ระมวลผ​ ลเ​สร็จ ดังน​ ั้นเ​วลาค​ รบร​ อบง​ านข​ องโ​พรเซส C
คือเ​วลาร​ อค​ อยก​ าร​ใช้ซ​ ีพียูข​ อง โพรเซส B โพรเซส E และโ​พรเซส A บวก​ด้วย​เวลาท​ ี่เ​ข้า​ใช้ซ​ ีพียูข​ อง​โพรเซส C เท่ากับ
22 + 5 = 27 มิลลิว​ ินาที

       -	 โพรเซส D ได้​เข้า​ใช้​ซีพียู​เป็น​ลำ�ดับ​สุดท้าย โดย​ต้อง​รอ​คอย​การ​ใช้​ซีพียู​ของ​โพรเซส B E A และ C​
ตาม​ลำ�ดับจ​ น​เสร็จ​ก่อนโ​ดยต​ ้อง​เสียเ​วลาร​ อ​คอยท​ ั้ง​สิ้นเ​ท่ากับ 3 + 8 + 11 + 5  =  27 มิลลิ​วินาที​จากน​ ั้น​จึง​ได้​เข้าใ​ช​้
ซีพียู​โดยใ​ช้​เวลาใ​นก​ าร​ประมวลผ​ ล​งาน 3 มิลลิ​วินาที ดัง​นั้น​เวลาค​ รบ​รอบง​ าน​ของโ​พรเซส D คือ เ​วลา​รอค​ อย​การใ​ช​้
ซีพียู​ของ​โพรเซส B E A และ C บวกด​ ้วยเ​วลาเ​ข้าใ​ช้ซ​ ีพียูข​ องโ​พรเซส D เท่ากับ 27 + 3 =  30 มิลลิว​ ินาที

       สรปุ ค​ า่ เวลา​รอค​ อยและเวลา​ครบ​รอบ​งาน ได้ด​ ังนี้

โพรเซส      เวลารอคอย (มลิ ลวิ นิ าท)ี  เวลาครบรอบงาน (มลิ ลิวนิ าที)
  B                  0                             3
  E                  3                             11
  A                 11                             22
  C                 22                             27
  D                 27                             30

คา่ เฉลย่ี      63/5 = 12.6                    93/5 = 18.6

       การก​ ำ�หนด​ค่าค​ วาม​สำ�คัญ (priority) ให้​แต่​ละ​โพร​เซส​ ​สามารถ​กระทำ�​ได้ 2 แนวทาง​คือ
            1) 	ก�ำ หนดภ​ ายในร​ ะบบค​ อมพวิ เตอร์ สามารถพ​ ิจารณาจ​ ากจ​ ำ�นวนแ​ ฟ้มท​ ี่โ​พรเ​ซสใ​ช้ง​ าน หรือร​ ะยะเ​วลา​

เขา้ ใ​ชซ​้ พี ียู หรือร​ ะยะเ​วลาท​ ตี​่ ้องการใ​ชอ้​ ปุ กรณอ์​ ินพตุ ห​ รอื เ​อาตพ์ ุต หรือข​ นาดข​ องห​ น่วยค​ วามจ​ ำ�หลกั ท​ โี​่ พรเ​ซสต​ ้องการ
หรือ​อัตราส่วน​เฉลี่ย​ของ​ระยะ​เวลา​ที่​ต้องการ​ใช้​อุปกรณ์​อินพุต​หรือ​เอาต์พุต​ต่อ​ระยะ​เวลา​เข้า​ใช้​ซีพียู หรือ​ระ​ยะ​เวลา​
ค​ ​วอน​ตัมใ​นก​ ารป​ ระมวล​ผลแ​ ต่ละ​โพรเซส

            2) 	ก�ำ หนดภ​ ายนอกร​ ะบบค​ อมพวิ เตอร์ สามารถ​พิจารณาไ​ด้​จาก ประเภทข​ อง​โพรเซส ประเภท​ของผ​ ู้​ใช้
หรือห​ น่วย​งานข​ อง​โพรเซส เป็นต้น

       การ​จัด​เวลา​ตาม​ความ​สำ�คัญ​นี้​สามารถ​จัดการ​ได้​ทั้ง​แบบ​ตัดตอน​หรือ​แบบ​ไม่​ตัดตอน ปัญหา​ของ​วิธี​การ​นี้​
ที่​สำ�คัญ​คือ การ​อด​ตาย (starvation) ซึ่ง​เป็น​เหตุการณ์​ที่​มี​หลาย​โพร​เซส​พร้อม​ถูก​ประมวล​ผลอ​ยู่​ที่ ready queue
แต่​มี​ความ​สำ�คัญ​ตํ่า​เป็น​อันดับ​ท้าย ๆ ระบบ​จะ​คัด​เลือก​โพร​เซส​ที่​มี​ความ​สำ�คัญ​สูง​กว่า​เข้า​ใช้​ซีพียู​ซึ่ง​โพร​เซส​ที่​มี​
ความส​ ำ�คัญส​ ูงก​ ว่าท​ ยอยเ​ข้าม​ าใ​น ready queue อย่างต​ ่อเ​นื่อง ทำ�ใ​หโ้​พรเ​ซสท​ ีม่​ คี​ วามส​ ำ�คัญต​ ํ่าท​ ีอ่​ ยูใ่​น ready queue
ก่อนห​ น้าไ​มไ่​ดร้​ ับก​ ารค​ ัดเ​ลือกต​ ้องร​ อค​ อยอ​ ย่างไ​ม่มกี​ ำ�หนด การแ​ ก้ไขก​ ารเ​กิดก​ ารอ​ ดต​ ายน​ ีร้​ ะบบป​ ฏิบัตกิ​ ารส​ ามารถใ​ช​้
วิธี​ที่​เรียก​ว่า เอด​จิ้ง (aging) โดยท​ ำ�การเ​พิ่มล​ ำ�ดับค​ วามส​ ำ�คัญ​ของ​โพรเ​ซสใ​ห้​สูง​ขึ้น​ในท​ ุก ๆ ระยะ​เวลา​รอค​ อย ทำ�ใ​ห​้
โพร​เซส​ที่​ลำ�ดับ​ความ​สำ�คัญ​ตํ่า​จะ​มี​ค่า​ความ​สำ�คัญ​สูง​ขึ้น ๆ ทำ�ให้​มี​โอกาส​ได้​ครอบ​ครอง​ซีพียู​ไม่​ต้อง​ค้าง​อยู่​ที่ ready
queue นานเ​กิน​ไป
   24   25   26   27   28   29   30   31   32   33   34