Project: First Come First Served Scheduling (FCFS)
โดย นาย กิตติอมร ชุ่มอ่วม 1590901763
นางสาว อริสรา คำจีนสี 1590900484
Data Structure คือ ความสัมพันธ์ระหว่างข้อมูลที่อยู่ในโครงสร้างนั้น ๆ รวมทั้งกระบวนการในการจัดการข้อมูลในโครงสร้าง หรือ การจัดเตรียมรูปแบบการเก็บข้อมูลในหน่วยความจำอย่างมีระเบียบแบบแผนการแทนข้อมูลให้อยู่ในรูปแบบที่ถูกต้อง ตลอดจนกรรมวิธีการเข้าถึงข้อมูลในโครงสร้างให้เป็นไปอย่างมีประสิทธิภาพ
First-Come, First-Served Scheduling: FCFS (มาถึงก่อนได้รับบริการก่อน) วิธีนี้เป็นวิธีที่ง่ายที่สุดในการจัดลำดับการทำงานของ process บน CPU โดยใช้หลักเกณฑ์ง่าย ๆ ว่า process ไหนที่ร้องขอใช้งาน CPU และเข้ารออยู่ใน ready queue ( process ที่อยู่ในหน่วยความจำหลัก ) ก่อนก็จะได้รับสิทธิ์ในการเข้าใช้งาน CPU ก่อน เมื่อ process แรกทำงานเสร็จ process ที่มาถึงในลำดับถัดไปก็จะได้สิทธิ์ในการทำงานบน CPU เป็นลำดับถัดไป ตัวอย่างข้างล่าแสดงถึงลำดับการมาถึงของ process และ burst บอกเวลาที่ใช้ในการทำงานบน CPU ตามลำดับ
Process Burst
P1 24
P2 3
P3 3
จากข้อมูลด้านบนเราสามารถคำนวณเวลาทั้งหมดที่ต้องใช้ไปเพื่อให้การทำงานของแต่ละ process เสร็จสมบูรณ์ (turnaround time) และเวลาที่ใช้ในการรอของแต่ละ process (waiting time)ได้ดังนี้
จากในรูปเวลาเฉลี่ยที่ต้องในการทำงานให้เสร็จสิ้นของ process ทั้งหมดคือ 27 และเวลาเฉลี่ยที่ต้องใช้ในการรอของ process ทั้งหมดคือ 17 ข้อเสียของวิธีนี้ก็คือ เวลาที่จะต้องรอคอยในการเข้าทำงานบน CPU ของ process ที่มาถึงในลำดับท้าย ๆ นั้นจะนานมาก และเวลาเฉลี่ยที่ต้องใช้ในการรอคอยก็สูงมากเช่นเดียวกัน FCFS จึงไม่เหมาะกับระบบที่เป็น time-sharing พึงสังเกตุว่า FCFS เป็นการจัดลำดับการทำงานแบบ non-preemptive
Flowchart การทำงานของโปรแกรม
วิธีการใช้งานโปรแกรม
- เมื่อเปิดหน้าโปรแกรมขึ้นมาแล้ว ให้ทำการป้อนค่า Arriver Time และ CPU Time ลงในช่องว่าง
- เมื่อป้อนค่าตามที่กำหนดครบแล้ว ให้กดปุ่ม Start
- หลังจากกดปุ่ม Start หน้าโปรแกรมจะแสดงผลลัพธ์ออกมา
วีดีโออธิบายการทำงานและCode
ประโยชน์ที่ได้จากการทำโปรเจคเรื่องนี้
ให้เป็นโปรแกรมสำหรับศึกษาการทำงานของอัลกอลิทึม First Come First Served และใช้ศึกษาเกี่ยวกับการทำงานของระบบในอดีต เพื่อเป็นแนวทางในการแก้ไขปัญหา และการพัฒนาต่อไปในอนาคต