Project การจัดเวลาซีพียู CPU Scheduling แบบ SJF Non Preemptive

ชื่อ Project บทความ

การจัดเวลาซีพียู cpu scheduling แบบ sjf non preemptive

(บทความโดย นาย นที ไทยธรรม 1590901581 และ นายภาสกร สุวรรณโท 1590900989)

Data Structure and Algorithm ที่เลือก

คือ อาเรย์ (Array) คือ ประเภทของข้อมูลที่สามารถเก็บข้อมูลประเภทเดียวกันแบบเป็นลำดับได้ โดยข้อมูลนั้นจะอยู่ในตัวแปรตัวเดียวกันที่เรียกว่า ตัวแปรอาเรย์ มันใช้ index ในการเข้าถึงข้อมูล
ตัวอย่างเช่น

ตัวอย่างการใช้งาน

พิจารณาระบบที่ประกอบด้วยโพรเซสP1, P2, P3 และP4 โดยที่ทุกโพรเซสถูกรับเข้ามาในระบบพร้อมกัน

ตัวอย่างที่เป็น Non-preemptiveระบบคอมพิวเตอร์มี 3 โพรเซสที่ต้องการเข้าไปใช้งานซีพียูคือโพรเซส

P1 เข้าระบบเมื่อเวลา0.0 และต้องการใช้ซีพียู8 หน่วยเวลาโพรเซส

P2 เข้าระบบเมื่อเวลา0.4 และต้องการใช้ซีพียู4 หน่วยเวลาโพรเซส

P3 เข้าระบบเมื่อเวลา1.0 และต้องการใช้ซีพียู1 หน่วยเวลา

 

 

การแสดง Source Code และ Functions การทำงาน

จากโค้ดมีการ นำเข้า xlrd เป็นโมดูลในการเข้าถึงไฟล์  Excel เพราะเราจะดึงข้อมูลใน Excel มาใช้ในการคำนวณ ซึ่งใน Excel จะมีข้อมูลประมาณนี้

 

จะมีจำนวน Process , Burst Time , Arrival Time และ Priority อย่างละ 10

 

ฟังก์ชั่น  Bt  มีไว้เพื่อทำการเก็บค่า  Burst Time ที่มีการเรียงค่าจากน้อยไปมากเรียบร้อยแล้วตาม Concept  SJF เพื่อง่ายในการนำไปคำนวณต่อไป

ฟังก์ชั่น  Process มีไว้เพื่อเรียง Process ตามฟังก์ชั่น  Bt    ฟังก์ชั่นBt เรียงค่าแบบไหน ฟังก์ชั่น Process ก็จะเรียงแบบนั้น

 

ฟังก์ชั่น countAT มีไว้เพื่อคำนวณหาค่า TurnaroundTime

 

ฟังก์ชั่น countCT มีไว้เพื่อคำนวณเวลาที่ Process ทำเสร็จ

ฟังก์ชั่น  TurnaroundTime เป็นการคำนวณหาค่า TurnaroundTime โดยใช้ค่า CT (เวลาที่รันเสร็จ) – at(เวลาที่มาถึง) และฟังก์ชั่น WaitingTime เป็นการหาค่า  WaitingTime โดยใช้  TAT(TurnaroundTime) – bt(Burst Time)

ฟังก์ชั่น show จะแสดงผลรันที่ Process ทำงานเสร็จและ ฟังก์ชั่น showTurnaround จะแสดงค่า Turnaround ตามลำดับ และ ฟังก์ชั่น  showWaitingTime ก็จะแสดงค่า WaitingTime ตามลำดับ

ส่วนตรงนี้ก็จะเป็นการประกาศตัวแปรเท่ากับฟังก์ชั่น  และนำตัวแปรนั้นใส่เข้าไปเป็นพารามิเตอร์ส่งค่าให้ฟังก์ชั้นเพื่อไปคำนวณต่อไป

ผลลัพธ์การทำงาน ประกอบด้วย รูปภาพ และข้อความ

โปรแกรมจะโชว์ค่าที่แต่ละ Process ทำงานเสร็จตามแบบ  SJF

โปรแกรมจะโชว์ค่า  TurnaroundTime และ  WaitingTime ตามลำดับและมีค่าเฉลี่ยด้วย

YouTube Preview Image

 https://drive.google.com/open?id=1CXkOqey5sRN0XJ5vbU1I4BoZM2ItZyrI

 

 

  •  
  •  
  •  
  •  
  •  
  •  
NATI THAIYATHUM
at GlurGeek.Com

Leave a Reply