Page 18 - สถาปัตยกรรมคอมพิวเตอร์และระบบปฏิบัติการ
P. 18
11-8 สถาปัตยกรรมคอมพิวเตอร์แ ละระบบป ฏิบัติก าร
สรุปค า่ เวลารอค อยและเวลาครบร อบงาน ได้ดังนี้
โพรเซส เวลารอคอย (มลิ ลิวนิ าที) เวลาครบรอบงาน (มลิ ลิวินาท)ี
B 0 4
C 4 8
A 8 31
4 14.3
คา่ เฉลีย่
เห็นได้ว่าถ้าเปลี่ยนลำ�ดับการเข้าใช้ซีพียูโดยเลือกให้โพรเซสที่มีระยะเวลาเข้าใช้ซีพียู (CPU-burst time)
น้อยก ว่าเข้าใชก้ ่อนจ ะท ำ�ใหค้ ่าเฉลี่ยข องเวลาร อค อย และค ่าเฉลี่ยเวลาค รบร อบง านล ดล ง สำ�หรับว ิธกี ารม าก ่อนไดก้ ่อน
(FCFS) จากตัวอย่างนี้เห็นได้ว่าถ้าโพรเซสใดได้ครอบครองซีพียู โพรเซสนั้นจะประมวลผลคำ�สั่งไปจนกระทั่ง
เสรจ็ ส นิ้ เปน็ ว ธิ กี ารจ ดั การเวลาแ บบไมต่ ดั ตอน(nonpreemptivescheduling)วธิ กี ารน ไี้ มเ่ หมาะส �ำ หรบั ก ารป ระมวลผ ล
แบบแ บ่งปันการใช้เวลา (time-sharing system)
2.2 งานสั้นได้ทำ�ก่อน (Shortest-Job-First Scheduling: SJF) วิธีการนี้พิจารณาจากค่าของเวลาการใช้
ซีพียูโดยคัดเลือกโพรเซสจาก ready queue ที่มีระยะเวลาการใช้ซีพียูที่สั้นที่สุด แต่ถ้ามีค่าเท่ากันจะใช้วิธีมาก่อน
ได้ก่อนมาเป็นเกณฑ์ในการคัดเลือก อัลกอริทึมงานสั้นได้ทำ�ก่อนนี้สามารถจัดการเวลาใช้ซีพียูที่เป็นได้ทั้งแบบ
ไม่ต ัดตอน (nonpreemptive scheduling) หรือแบบต ัดตอน (preemtive scheduling) ก็ได้ ดังตัวอย่างต่อไปนี้
ตวั อย่างท ่ี 2 กำ�หนดให้มีโพรเซสถูกส ่งม าป ระมวลผ ล เวลา 0 นาฬิกา จำ�นวน 4 โพรเซสได้แก่ โพรเซส A,
B C และ D สมมติร ะบบปฏิบัติการใช้ว ิธีก ารจ ัดเวลาซีพียูง านส ั้นได้ทำ�ก ่อน (SJF) แบบไม่ตัดตอน โดยแ ต่ละโพรเซส
ต้องการระยะเวลาเข้าใช้ซ ีพียู ดังนี้
โพรเซส ระยะเวลาเข้าใชซ้ ีพยี ู (มลิ ลิวินาที)
A 8
B 11
C 9
D 5
ดังนั้น ทั้งส ี่โพรเซสจ ะถูกน ำ�ม าเก็บใน ready queue เมื่อเริ่มประมวลผล โพรเซส D จะถูกคัดเลือกให้เข้าใช้
ซพี ยี กู อ่ นเนือ่ งจากม รี ะยะเวลาเขา้ ใชซ้ พี ยี สู ัน้ ท ีส่ ดุ ใชเ้ วลาป ระมวลผ ล 5 มลิ ลวิ นิ าทโี ดยซ พี ยี ไู มถ่ กู ต ดั ตอนจ นป ระมวลผ ล
โพรเซส D เสร็จ ต่อจากนั้นโพรเซส A จะถูกคัดเลือกเป็นลำ�ดับถัดไป ตามด้วยโพรเซส C และ B ตามลำ�ดับ
ซึง่ โพรเซสใดก ต็ ามท ไี่ ดร้ บั ค ดั เลอื กใหใ้ ชซ้ พี ยี จู ะไดค้ รอบค รองซ พี ยี จู นก ระทัง่ ป ระมวลผ ลง านจ นเสรจ็ โดยไมถ่ กู ต ดั ตอน
จากร ะบบปฏิบัติก าร ดังภ าพท ี่ 11.3 ดังนี้