Langsung aja
Penjadwalan CPU
- Konsep Dasar.
- Kriteria Penjadwalan.
- Algoritma Penjadwalan.
- Penjadwalan Multiple-Processor.
- Penjadwalan Real-Time.
- Evaluasi Algorithm.
Konsep Dasar
- Memaksimalkan kinerja CPU melalui multiprograming.
- CPU I/O Burst Cycle >> Eksekusi proses terdiri dari siklus eksekusi CPU dan I/O wait.
- Pendistribusian CPU burst.
Penjadwalan CPU
Algorima Scheduling :
- Memilih dari proses-proses yang berada di memori (ready to excute) dan memberikan jatah CPU ke salah satu proses tersebut.
- Keputusan untuk menjadwalkan CPU mengikuti 4 keadaan di bawah ini :
- Apabila proses berpindah dari keadaan runnning ke waiting.
- Apabila proses berpindah dari keadaan running ke ready.
- Apabila proses berpindah dari keadaan waiting ke ready.
- Apabila proses berhenti.
- Penjadawalan 1 dan 4 termasuk nonpreemptive.
- Penjadwalan lainya (2,3) termasuk preemptive.
Jenis Penjadawalan
- Preemptive : OS dapat mengambil (secara interupt, preempt) CPU dari satu proses setiap saat.
- Non-preemptive : Setiap proses secara sukarela (berkala) memberikan CPU ke OS.
Contoh : Penjadwalan untuk switch dari running ke wait atau terminate : non-preemptive. Penjadwalan proses dari running ke ready : pre-emptive.
Kriteria Penjadwalan
- Utilitas CPU : Menjadikan CPU terus menerus sibuk (menggunkan CPU semaksimal mungkin).
- Throughput : Memaksimalkan jumlah proses yang selesai dijalankan (per satuan waktu).
- Turn Around Time : Minimalkan waktu selesai eksekusi suatu proses (sejak di submit sampai selesai).
- Waiting Time : Minimalkan waktu tunggu proses (jumlah waktu yang dihabiskan menunggu di ready queue).
- Response time : minimalkan waktu response dari sistem terhadap user (interaktif, time-sharing system), sehingga interaksi dapat berlangsung dengan cepat.
Kriteria Penjadwalan yang Optimal
- Memaksimalkan utilitas CPU.
- Memaksimumkan throughput.
- Meminimumkan turnaround time.
- Meminimumkan waiting time.
- Meminimumkan response time.
Algoritma Penjadwalan
- First Come, First Served (FCFS).
- Shortest Job First (SJF).
- Priority Scheduling.
- Round Robin (RR).
First Come First Served (FCFS)
- Yaitu pertama datang dilayani tidak peduli apakah burst timenya panjang atau pendek, proses diselesaikan dulu baru proses berikutnya.
- Penjadwalan FCFS merupakan penjadwalan non-preemptive dan penjadwalan tidak berprioritas.
- Ketentuan dari penjadwalan FCFS adalah :
- Proses-proses diberi jatah waktu pemroses, diurut dengan waktu kedatanganya.
- Begitu proses mendapatkan jatah waktu pemroses, proses dijalankan sampai proses tersebut selesai walaupun ada proses lain yang datang, proses tersebut berada dalam antrian sistem atau disebut ready queue.
Shortest Job First (SJF)
Pada penjadwalan SJF, proses yang akan memiliki CPU Burst paling kecil akan dilayani terlebih dahulu. Terdahulu dua skema, yaitu :
- Non Preemptive : Jika CPU diberikan pada proses maka tidak bisa ditunda sampai CPU Burst selesai.
- Preemptive : Jika proses baru datang dengan panjang CPU burst lebih pendek dari sisa waktu proses yang saat itu sedang dieksekusi, proses ini di tunda dan diganti dengan proses baru. Skema ini disebut dengan Shortest Remaining Time First (SRFT).
Contoh Soal Penjadwalan
Proses-proses berikut merupakan proses yang akan dikerjakan oleh CPU :
Penyelesaian FCFS
Waktu tunngu setiap proses :
P1 = 0 = 0
P2 = 12 - 2 = 10
P3 = 20 - 3 = 17
P4 = 25 - 5 = 20
P5 = 27 - 9 = 18
Jumlah total waktu tunggu = 65
Rata-rata waktu tunggu untuk setiap proses adalah (Avg) : 65/5 = 13 satuan waktu
Penyelesaian FCFS
Jika urutan dibalik(proses dibalik) dari P5 hingga P1 dengan waktu burst time dan waktu arrival yang sama, maka akan terdapat waktu menganggur CPU (idle time), sehingga panjang waktu yang di butuhkan untuk menyelesaikan 5 proses tersebut menjadi 29 atau bertambah satu dari waktu yang dibutuhkan sebelumnya.
Waktu tunggu setiap proses :
P5 = 0 = 0
P4 = 2 - 2 = 0
P3 = 4 - 3 = 1
P2 = 9 - 5 = 4
P1 = 17 - 9 = 8
Jumlah total waktu tunggu = 13
Rata-rata waktu tunggu untuk setiap proses adalah (avg) : 13/5 = 2.6 satuan waktu
Penyelesaian SJF- Non Preemptive
Waktu tunggu setiap proses :
P1 = 0 =
P2 = 20 - 2 = 8
P3 = 15 - 3 = 12
P4 = 13 - 5 = 8
P5 = 12 - 9 = 3
Jumlah total waktu tunggu = 41
Rata-rata waktu tunggu untuk setiap proses adalah (Avg) : 41/5 = 8,2 satuan waktu
Penyelesaian SJF-Preemptive
Waktu tunggu setiap proses :
P1 = 0 + (18-2) = 16
P2 = 11-3 = 8
P3 = 7 - 5 = 2
P4 = 5 - 5 = 0
P5 = 10 - 9 = 1
Jumlah total waktu tunggu = 27
Rata-rata waktu tunggu untuk setiap proses adalah (Avg) : 27/5 = 5,4 satuan waktu.
Thats it
Terima Kasih Semoga bermanfaat
No comments:
Post a Comment