• No results found

2.2 การจ ดการตารางงานของซ พ ย ( CPU Scheduling )

N/A
N/A
Protected

Academic year: 2021

Share "2.2 การจ ดการตารางงานของซ พ ย ( CPU Scheduling )"

Copied!
12
0
0

Loading.... (view fulltext now)

Full text

(1)

2.2

การจัดการตารางงานของซีพียู ( CPU Scheduling )

- CPU Utilization

2.2.1 ช่วงเวลากระท าของซีพียู และ ของอุปกรณ์น าเข้ากับส่งออก ( CPU – I/O Burst Cycle )

:

Load Store Add Store

Read from file

CPU burst I/O burst Store Increment index Write to file CPU burst I/O burst

:

รูปที่ 2.2.A ที่แสดงถึงช่วงเวลาการท างานของโปรเซสโดยซีพียูและ อุปกรณ์น าเข้ากับส่งออก

2.2.2 การจัดการตารางงานแบบสามารถแย่งช่วงเวลาได้และแบบแย่งช่วงเวลาไม่ได้ ( Preemptive and Non-preemptive Scheduling ) 2.2.3 เกณฑ์พิจารณาการจัดการตารางงาน( Scheduling Criteria) - Best Algorithm 1. “CPU Utilization” 2. “Throughput” 3. “Turnaround time” 4. “Waiting time” 5. “Response time”

Wait for I/O

(2)

2.2.4 อัลกอลิทึ่มของจัดการตารางงาน( Scheduling Algorithm)

1. การจัดการตารางงานแบบมาก่อนได้ท าก่อน ( First-Come , First-Served Scheduling : FCFS) - Ready queue ( First-in First -out queue : FIFO queue )

ตัวอย่างที่ 2.2.ก

ถ้ามีโปรเซสทั้งหมดเข้ามาถึง Ready queue ที่เวลา 0 มิลลิวินาที(millisecond ) ตามล าดับคือ P1 , P2 , P3 โดยมีข้อมูลความต้องการเวลาให้ซีพียูกระท า( burst time )ของแต่ละโปรเซสเป็นดังนี้ และก าหนดหน่วยเวลา เป็นมิลลิวินาที ให้ท าการจัดการตารางงานแบบมาก่อนได้ท าก่อน( First-Come , First-Served Scheduling ) แล้วท าการค านวณหา Waiting time และ Turnaround time ของแต่ละโปรเซส รวมทั้ง Average waiting time

Process Burst time

P1 24 P2 3 P3 3 วิธีท า ท าการวาด แก็นท์ชาท ( Gantt chart ) ออกมาได้ดังนี้ P1 P2 P3 0 24 27 30

จะได้ว่า P1 มี Waiting time = 0 มิลลิวินาที และมี Turnaround time = ( 0 + 24 ) = 24 มิลลิวินาที P2 มี Waiting time = 24 มิลลิวินาที และมี Turnaround time = ( 24 + 3 ) = 27 มิลลิวินาที P3 มี Waiting time = 27 มิลลิวินาที และมี Turnaround time = ( 27 + 3 ) = 30 มิลลิวินาที ดังนั้น Average waiting time = ( 0 + 24 + 27 ) / 3 = 17 มิลลิวินาที

Ans

2. การจัดการตารางงานแบบมาทีหลังได้ท าก่อน ( Last-In / First-out Scheduling ) ตัวอย่างที่ 2.2.ข

ก าหนดให้ข้อมูลเหมือนกับตัวอย่าง 2.2.ก เพียงแต่ให้มีการจัดการตารางงานแบบมาทีหลังได้ท าก่อน ( Last-In / First-out Scheduling ) แล้วท าการค านวณหา Waiting time และ Turnaround time ของแต่ละโปรเซส รวมทั้ง Average waiting time เช่นกัน

วิธีท า ท าการวาด แก็นท์ชาท ออกมาได้ดังนี้

(3)

จะได้ว่า P1 มี Waiting time = 6 มิลลิวินาที และมี Turnaround time = ( 6 + 24 ) = 30 มิลลิวินาที P2 มี Waiting time = 3 มิลลิวินาที และมี Turnaround time = ( 3 + 3 ) = 6 มิลลิวินาที P3 มี Waiting time = 0 มิลลิวินาที และมี Turnaround time = ( 0 + 3 ) = 3 มิลลิวินาที ดังนั้น Average waiting time = ( 6 + 3 + 0 ) / 3 = 3 มิลลิวินาที

จะเห็นว่า จากข้อมูลของโปรเซสของทั้งสองตัวอย่างข้างต้นเหมือนกัน หากมีการจัดล าดับการเข้าท า ของโปรเซสให้แตกต่างกัน สามารถจะท าให้ระบบมีผลของ Average waiting time เปลี่ยนแปลงไปได้มากเช่นกัน

Ans

3. การจัดการตารางงานแบบงานสั้นท าก่อน ( Shortest – Job – First Scheduling : SJF ) ตัวอย่างที่ 2.2.ค

ถ้ามีโปรเซสทั้งหมดเข้ามาถึง Ready queue แล้วที่เวลา 0 มิลลิวินาที โดยมีข้อมูลความต้องการเวลาให้ ซีพียูกระท าของแต่ละโปรเซสเป็นดังนี้ และก าหนดหน่วยเวลาเป็นมิลลิวินาที ให้ท าการจัดการตารางงานแบบ งานสั้นท าก่อน ( Shortest – Job – First Scheduling ) แล้วท าการค านวณหา Waiting time และ Turnaround time ของแต่ละโปรเซส รวมทั้ง Average waiting time

Process Burst time

P1 6 P2 8 P3 7 P4 3 วิธีท า ท าการวาด แก็นท์ชาท ออกมาได้ดังนี้ P4 P1 P3 P2 0 3 9 16 24

จะได้ว่า P1 มี Waiting time = 3 มิลลิวินาที และมี Turnaround time = ( 3 + 6 ) = 9 มิลลิวินาที P2 มี Waiting time = 16 มิลลิวินาที และมี Turnaround time = ( 16 + 8 ) = 24 มิลลิวินาที P3 มี Waiting time = 9 มิลลิวินาที และมี Turnaround time = ( 9 + 7 ) = 16 มิลลิวินาที P4 มี Waiting time = 0 มิลลิวินาที และมี Turnaround time = ( 0 + 3 ) = 3 มิลลิวินาที ดังนั้น Average waiting time = ( 3 + 16 + 9 + 0 ) / 4 = 7 มิลลิวินาที

(4)

การจัดการตารางงานแบบงานสั้นท าก่อนนี้ สามารถพิจารณาได้เป็น 2 แบบ คือ แบบสามารถแย่งช่วง เวลาได้และแบบแย่งไม่ได้ ดังนี้

3(1). การจัดการตารางงานแบบเวลางานที่เหลือสั้นท าก่อน ( Shortest – Remaining -Time – First Scheduling )

- Preemptive SJF : ( arrival time ) ตัวอย่างที่ 2.2.ง

ถ้ามีโปรเซสต่างๆเข้ามาถึง Ready queue ตามเวลาที่มาถึง โดยมีข้อมูลความต้องการเวลาให้ ซีพียูกระท าของแต่ละโปรเซสเป็นดังนี้ และก าหนดหน่วยเวลาเป็นมิลลิวินาที ให้ท าการจัดการตารางงานแบบ เวลางานที่เหลือสั้นท าก่อน ( Shortest – Remaining -Time – First Scheduling ) หรือ Preemptive SJF นั่นเอง แล้วท าการค านวณหา Waiting time และ Turnaround time ของแต่ละโปรเซส รวมทั้ง Average waiting time

Process Arrival time Burst time

P1 0 8 P2 1 4 P3 2 9 P4 3 5 วิธีท า ท าการวาด แก็นท์ชาท ออกมาได้ดังนี้ P1 P2 P4 P1 P3 0 1 5 10 17 26

P1 มี Waiting time = 10-1 = 9 มิลลิวินาที และมี Turnaround time = ( 9 + 8 ) = 17 มิลลิวินาที P2 มี Waiting time = 1-1 = 0 มิลลิวินาที และมี Turnaround time = ( 0 + 4 ) = 4 มิลลิวินาที P3 มี Waiting time = 17-2 = 15 มิลลิวินาที และมี Turnaround time = ( 15 + 9 ) = 24 มิลลิวินาที P4 มี Waiting time = 5-3 = 2 มิลลิวินาที และมี Turnaround time = ( 2 + 5 ) = 7 มิลลิวินาที ดังนั้น Average waiting time = ( 9 + 0 + 15 + 2 ) / 4 = 6.5 มิลลิวินาที

(5)

3(2). การจัดการตารางงานแบบแย่งช่วงเวลาไม่ได้ของงานสั้นท าก่อน ( Non-preemptive Shortest – Job – First Scheduling : Non-preemptive SJF )

ตัวอย่างที่ 2.2.จ

ก าหนดให้ข้อมูลเหมือนกับตัวอย่าง 2.2.ง เพียงแต่ให้มีการจัดการตารางงานแบบแย่งช่วงเวลาไม่ได้ของ งานสั้นท าก่อน ( Non-preemptive SJF ) แล้วท าการค านวณหา Waiting time และ Turnaround time ของแต่ละโปรเซส รวมทั้ง Average waiting time เช่นกัน

วิธีท า ท าการวาด แก็นท์ชาท ออกมาได้ดังนี้ P1 P2 P4 P3 0 8 12 17 26

P1 มี Waiting time = 0-0 = 0 มิลลิวินาที และมี Turnaround time = ( 0 + 8 ) = 8 มิลลิวินาที P2 มี Waiting time = 8-1 = 7 มิลลิวินาที และมี Turnaround time = ( 7 + 4 ) = 11 มิลลิวินาที P3 มี Waiting time = 17-2 = 15 มิลลิวินาที และมี Turnaround time = ( 15 + 9 ) = 24 มิลลิวินาที P4 มี Waiting time = 12-3 = 9 มิลลิวินาที และมี Turnaround time = ( 9 + 5 ) = 14 มิลลิวินาที

ดังนั้น Average waiting time = ( 0 + 7 + 15 + 9 ) / 4 = 7.75 มิลลิวินาที

(6)

4. การจัดการตารางงานแบบงานยาวท าก่อน ( Longest – Job – First Scheduling )

ตัวอย่างที่ 2.2.ฉ

ก าหนดให้ข้อมูลเหมือนกับตัวอย่าง 2.2.ค เพียงแต่ให้มีการจัดการตารางงานแบบงานยาวท าก่อน ( Longest – Job – First Scheduling ) แล้วท าการค านวณหา Waiting time และ Turnaround time ของแต่ละโปรเซส รวมทั้ง Average waiting time เช่นกัน

วิธีท า ท าการวาด แก็นท์ชาท ออกมาได้ดังนี้

P2 P3 P1 P4

0 8 15 21 24

จะได้ว่า P1 มี Waiting time = 15 มิลลิวินาที และมี Turnaround time = ( 15 + 6 ) = 21 มิลลิวินาที P2 มี Waiting time = 0 มิลลิวินาที และมี Turnaround time = ( 0 + 8 ) = 8 มิลลิวินาที P3 มี Waiting time = 8 มิลลิวินาที และมี Turnaround time = ( 8 + 7 ) = 15 มิลลิวินาที P4 มี Waiting time = 21 มิลลิวินาที และมี Turnaround time = ( 21 + 3 ) = 24 มิลลิวินาที ดังนั้น Average waiting time = ( 15 + 0 + 8 + 21 ) / 4 = 11 มิลลิวินาที

Ans

5. การจัดการตารางงานแบบล าดับความส าคัญ ( Priority Scheduling ) - high priority -> low priority ( low number , high number) ตัวอย่างที่ 2.2.ช

ถ้ามีโปรเซสทั้งหมดเข้ามาถึง Ready queue ที่เวลา 0 มิลลิวินาทีตามล าดับคือ P1 , P2 , P3 , P4 , P5 โดยมี ข้อมูลความต้องการเวลาให้ซีพียูกระท าและล าดับความส าคัญ(Priority)ของแต่ละโปรเซสเป็นดังนี้ และก าหนด หน่วยเวลาเป็นมิลลิวินาที รวมทั้งให้ใช้เลขค่าต่ า(low number)หมายถึงมีความส าคัญมาก ให้ท าการจัดการตาราง งานแบบล าดับความส าคัญ ( Priority Scheduling ) แล้วท าการค านวณหา Waiting time และ Turnaround time ของแต่ละโปรเซส รวมทั้ง Average waiting time

Process Burst time Priority

P1 10 3

P2 1 1

P3 2 3

P4 1 4

(7)

ก าหนดว่า ถ้าล าดับความส าคัญเท่ากันให้พิจารณาเรียงตามล าดับโปรเซสที่เข้ามา( หรือหมายเลขโปรเซส ) วิธีท า ท าการวาด แก็นท์ชาท ออกมาได้ดังนี้ P2 P5 P1 P3 P4 0 1 6 16 18 19 ได้ผล ดังนี้

P1 มี Waiting time = 6 มิลลิวินาที และมี Turnaround time = ( 6 + 10 ) = 16 มิลลิวินาที P2 มี Waiting time = 0 มิลลิวินาที และมี Turnaround time = ( 0 + 1 ) = 1 มิลลิวินาที P3 มี Waiting time = 16 มิลลิวินาที และมี Turnaround time = ( 16 + 2 ) = 18 มิลลิวินาที P4 มี Waiting time = 18 มิลลิวินาที และมี Turnaround time = ( 18 + 1 ) = 19 มิลลิวินาที P5 มี Waiting time = 1 มิลลิวินาที และมี Turnaround time = ( 1 + 5 ) = 6 มิลลิวินาที

ดังนั้น Average waiting time = ( 6 + 0 + 16 + 18 + 1 ) / 5 = 8.2 มิลลิวินาที

Ans 6. การจัดการตารางงานแบบราวด์โรบิน ( Round-Robin Scheduling : RR )

- time-sharing system : ( time quantum , time slice : 10 - 100 มิลลิวินาที ) ( FCFS Scheduling , preemption )

( ready queue : circular queue ) ตัวอย่างที่ 2.2.ซ

ถ้ามีโปรเซสทั้งหมดเข้ามาถึง Ready queue ที่เวลา 0 มิลลิวินาที ตามล าดับคือ P1 , P2 , P3 โดยมีข้อมูล

ความต้องการเวลาให้ซีพียูกระท าของแต่ละโปรเซสเป็นดังนี้ และก าหนดหน่วยเวลาเป็นมิลลิวินาที ให้ท าการ จัดการตารางงานแบบราวด์โรบิน ( Round-Robin Scheduling : RR ) และเวลาควอนตัมเท่ากับ 4 มิลลิวินาที แล้วท าการค านวณหา Waiting time และ Turnaround time ของแต่ละโปรเซส รวมทั้ง Average waiting time

Process Burst time

P1 24 P2 3 P3 3 วิธีท า ท าการวาด แก็นท์ชาท ออกมาได้ดังนี้ P1 P2 P3 P1 P1 P1 P1 P1

(8)

จะได้ P1 มี Waiting time = 0 +(10-4) = 6 มิลลิวินาที และมี Turnaround time = ( 6 + 24 ) = 30 มิลลิวินาที P2 มี Waiting time = 4 มิลลิวินาที และมี Turnaround time = ( 4 + 3 ) = 7 มิลลิวินาที P3 มี Waiting time = 7 มิลลิวินาที และมี Turnaround time = ( 7 + 3 ) = 10 มิลลิวินาที

ดังนั้น Average waiting time = ( 6 + 4 + 7 ) / 3 = 5.66 มิลลิวินาที

Ans

7. การจัดการตารางงานแบบคิวหลายระดับ ( Multilevel Queue Scheduling ) 7(1). มี คิว 2 ระดับ คือ ฟอร์กราวด์( forground ) และ แบ็คกราวด์( background ) forground : interactive , RR

background : batch , FCFS

7(2). มี คิว 5 ระดับ คือ ซิสเต็ม(System ), อินเตอร์แอกทีฟ(Interactive), อินเตอร์แอกทีฟอิดิทิ่ง (Interactive editing ) , แบ็ตช์( Batch) และ สติวเด้น( Student )

เป็นการเพิ่มจ านวนคิวมากขึ้นเพื่อรองรับประเภทหรือลักษณะการท างานของโปรเซสให้มากขึ้น โดยเรียงตามล าดับความส าคัญของโปรเซส ดังรูปที่ 2.2.C โดยแต่ละโปรเซสก็จะแยกกันเข้าที่คิวแตกต่างกัน

(9)

High priority low priority รูปที่ 2.2.B คิวหลายระดับ แบบ 2 ระดับ

Highest priority lowest priority รูปที่ 2.2.C คิวหลายระดับ แบบ 5 ระดับ System processes Interactive processes

Interactive editing processes

Batch processes

Student processes

Foreground

(10)

8. การจัดการตารางงานแบบคิวป้อนกลับหลายระดับ (Multilevel Feedback Queue Scheduling )

รูปที่ 2.2.D คิวป้อนกลับหลายระดับ

Quantum = 8 Quantum = 16 FCFS

(11)

อัลกอลิทึ่มหลักต่างๆที่กล่าวมาทั้งหมดของจัดการตารางงาน มีตัวอย่างของการค านวณโดยวาดใน ลักษณะของตารางเวลาการท างานของโปรเซสโดยซีพียู แทนแก็นชาต์ท ดังนี้ ตัวอย่างที่ 2..2.ฌ โปรเซส A , B ,C ,D, E มีข้อมูลให้มาดังนี้ แล้วท าการจัดตารางงาน(Scheduling)แบบ FCFS , SJF , SRTF ( หากโปรเซสที่จะถูกเลือกมีมากกว่า 1 โปรเซส ให้ใช้หลักการของ FCFS เข้าเสริมเพื่อประกอบการ ตัดสินใจ ) โดยวาดในลักษณะของตารางเวลาการท างานของโปรเซสโดยซีพียู แทนแก็นชาต์ท และค านวณหา ว่า Finish time , Waiting time และ Turnaround time ของแต่ละโปรเซส รวมทั้ง Average waiting time , Average turnaround time นี้ ( ก าหนดหน่วยเวลาเป็นมิลลิวินาที )

Process Arrival time Burst time

A 0 3 B 2 6 C 4 4 D 6 5 E 8 2 วิธีท า ท าการวาดตารางเวลาได้ดังนี้ 0 5 10 15 20 FCFS A B C D E SJF A B C D E SRTF A B C D E

(12)

แล้วท าการค านวณค่าต่างๆได้ดังผลตารางต่อไปนี้

Process A B C D E Average

Scheduling Arrival time 0 2 4 6 8

Burst time 3 6 4 5 2 FCFS Finish time 3 9 13 18 20 Turnaround time 3 7 9 12 12 8.60 Wait time 0 1 5 7 10 4.60 SJF Finish time 3 9 15 20 11 Turnaround time 3 7 11 14 3 7.60 Wait time 0 1 7 9 1 3.60 SRTF Finish time 3 15 8 20 10 Turnaround time 3 13 4 14 2 7.20 Wait time 0 7 0 9 0 3.20 Ans

References

Related documents

In a surprise move, the Central Bank of Peru (BCRP) reduced its benchmark interest rate by 25 basis points (bps) to 3.25% in mid-January following disappointing economic growth data

It is the (education that will empower biology graduates for the application of biology knowledge and skills acquired in solving the problem of unemployment for oneself and others

Aboriginal and Torres Strait Islander absolute cardiovascular risk assessment and management: systematic review of evidence to inform national guidelines.. Public Health

We nd that if individuals dier in initial wealth and if commodity taxes can be evaded at a uniform cost, preferences have to be weakly separable between consumption and labor

Control << ButtonBase >> Button CheckBox RadioButton DataGridView DataGrid << TextBoxBase >> TextBox RichTextBox GroupBox PictureBox StatusBar ToolBar TreeView

Development of the curriculum of the Master of Advanced Industrial Management European Academy on Industrial Management (AIM) Industrial enterprises & Organizations.

The results of our study confirm our hypothesis that IFAC member national accounting organizations belonging to countries in which Christianity is the predominant religion are

In general, human capital strategy including training, development, and empowerment is formulated in universities of medical sciences throughout the country and