SlideShare a Scribd company logo
1 of 36
Penjadwalan CPU
Kelompok
1.Pratama Gilang (8113120021)
2.Novita Dewi (8113120020)
3.Nur Laili (8113120019)
4.Rendy Hayat (8113120022)
Penjadwalan CPU
 Konsep Dasar dan Definisi
 Kriteria Penjadualan
 Algoritma Penjadualan
Konsep Dasar Penjadwalan
 Sistem Operasi modern umumnya merupakan
sistem multitasking.
 Tujuan Utama : untuk mempunyai proses
berjalan secara bersamaan, untuk
memaksimalkan kinerja dari CPU.
 Pemanfaatan CPU maksimum diperoleh
dengan
multiprogramming.
 Proses dapat juga dibagi atas 2 macam :
a. I/O-bound process – menghabiskan waktu lebih
banyak untuk mengerjakan I/O daripada di CPU
b. CPU-bound process – jarang melakukan permintaan
I/O, menggunakan lebih banyak waktunya di CPU
Sistem dengan kinerja yang terbaik akan memiliki
kombinasi proses CPU bound dan I/O bound yang
seimbang.
Definisi Penjadwalan Proses
 Definisi: kumpulan kebijaksanaan dan
mekanisme sistem operasi yang mengatur
urutan dan jangka waktu eksekusi proses-
proses yang aktif.
 Tugas: memilih proses, menentukan kapan
serta berapa lama proses tersebut boleh
menggunakan processor
Komponen Penjadwalan Proses
Untuk menjalankan penjadwalan, Sistem
Operasi
membutuhkan sejumlah komponen:
1. Antrian Penjadwalan (Scheduler
Queue)
- Ready queue
- I/O queue
- Job queue
Komponen Penjadwalan Proses
2. Penjadwal (Scheduler)
suatu program dengan algoritma tertentu yang
menyeleksi proses yang akan dieksekusi. Jenis
scheduler :
a. penjadwal jangka pendek (short-term Scheduler)
 menyeleksi proses yang berada di antrian
b. Penjadwalan jangka menengah (Medium-term
Scheduler)
 Jika ruang memori utama tidak cukup menampung
proses, Sistem Operasi akan melakukan swapping
yaitu memindahkan image process ke memori
sekunder seperti disk.
 c. Dispatcher
suatu program SO yang berfungsi melakukan
pengalihan eksekusi dari proses yang running ke
proses yang dipilih oleh “short-term scheduler”.
Bertugas memindahkan isi register prosesor ke PCB
proses yang dihentikan. Dispatch latency –
terdapat waktu yang terbuang (CPU idle) dimana
dispatcher menghentikan satu proses dan
menjalankan proses lain.
Kriteria Penjadwalan Proses
Dalam melakukan penjadwalan proses, Sistem Operasi
mempertimbangkan sejumlah faktor:
1. Keadilan (fairness)
Memastikan bahwa setiap proses mendapat giliran
yg adil, tetapi tidak selalu berarti jatah waktu yang
sama,perlu dipastikan tidak terjadi proses yang tidak
terlayani dalam jangka waktu yang lama.
2. Efisiensi (processor utilization)
penggunaan waktu CPU (CPU time) seoptimal
mungkin  processor terpakai terus menerus selama
masih ada antrian ready.
3. Waktu tanggapan (response time)
mempercepat (secepat dan sependek mungkin) waktu
tanggap dengan pemakai secara interaktif. Response time
adalah waktu antara pengguna memberikan input dengan SO
memberikan output atau umpan balik ke pengguna.
4. Waiting time
harus seminim mungkin. Hal ini merupakan durasi waktu yang
dihabiskan suatu proses dalam antrian ready selama siklus
hidupnya.
5. Turn around time
harus seminim mungkin. Merupakan durasi waktu dari suatu
proses aktif dalam sistem sampai dengan selesai.
6. Throughput
rata-rata proses yang dapat diselesaikan per satuan waktu. Nilai
throughput harus tinggi.
Kriteria Penjadwalan yang
Optimal
 Memaksimumkan utilisasi CPU
 Memaksimumkan throughput
 Meminimukan turnaround time
 Meminimumkan waiting time
 Meminimumkan response time
Strategi Dasar Penjadwalan
 Non-preemptive (Run to completion)
Algoritma Penjadwalan dimana
proses-proses yg sedang running
tidak bisa dihentikan sementara, dan
harus running terus sampai selesai.
Strategi ini bisa membahayakan
sistem/proses lain bila terjadi crash,
maka SO tidak berfungsi. Umumnya
digunakan pada sistem sekuential
Strategi Dasar Penjadwalan
 Preemptive
Algoritma penjadwalan yg
memungkinkan beberapa proses yg
sedang running, bisa dihentikan
sementara. Cocok untuk Sistem
Operasi yang menerapkan
multitasking, real time dan time
sharing.
Algoritma Penjadwalan
 First-come, first-served (FCFS)
 Shortest-Job-First (SJF)
 Shortest-Remaining-Time-First (SRTF)
 Priority
 Round-Robin (RR)
 Multilevel Queue
 Multilevel Feedback Queue
First-Come, First-Served
(FCFS)
 Setiap proses diberi jadwal eksekusi
berdasarkan urutan waktu kedatangan.
 FIFO jarang digunakan secara tersendiri tetapi
dikombinasikan dengan algoritma lain karena:
 Timbul masalah “waiting time” terlalu lama jika
didahului oleh proses yang waktu selesainya lama.
 Job yang pendek harus menunggu job yang
panjang
 Job yang penting harus menunggu job yang kurang
penting.
First-Come, First-Served
(FCFS)
 FIFO algoritma penjadwalan non-
preemptive
 FIFO cocok untuk sistem batch  sangat
jarang berinteraksi dengan user.
 Sangat buruk untuk sistem interaktif atau real
time karena cenderung memberikan
response time yang buruk.
FCFS (Cont.)
 Example: Process Burst Time
P1 24ms
P2 3ms
P3 3ms
 Asumsi ketiga proses masuk bersamaan, yaitu detik ke 0
 Diketahui proses yang tiba adalah P1, P2, P3. Gantt chart-nya adalah :
 Secara umum rumus untuk menghitung waiting time adalah
t waiting = t end – t start – t burst time
 Waiting time untuk P1 = 0ms; P2 = 24ms; P3 = 27ms
 Average waiting time: (0 + 24 + 27)/3 = 17ms
FCFS (Cont.)
 Diketahui proses yang tiba adalah P2, P3, P1. Gant
chart-nya adalah :
 Waiting time untuk P1 = 6ms; P2 = 0ms; P3 = 3ms
 Average waiting time: (6 + 0 + 3)/3 = 3ms
 Lebih baik dari kasus sebelumnya
 Convoy effect proses yang pendek diikuti
proses yang panjang
 Ide dari algoritma penjadwalan SJF (Shortest Job
First)
SJF (Shortest Job First)
Pada penjadwalan SJF, proses yang memiliki CPU burst paling kecil
dilayani
terlebih dahulu. Terdapat dua skema :
1. Non preemptive, bila CPU diberikan pada proses, maka tidak bisa
ditunda
sampai CPU burst selesai.
2. Preemptive, jika proses baru datang dengan panjang CPU burst lebih
pendek dari sisa waktu proses yang saat itu sedang dieksekusi, proses
ini ditunda dan diganti dengan proses baru. Skema ini disebut
dengan Shortest-Remaining-Time-First (SRTF)
Ada beberapa kekurangan dari algoritma ini yaitu:
 Susahnya untuk memprediksi burst time proses yang akan dieksekusi
selanjutnya. Diasumsikan waktu running (burst time) sudah diketahui.
 Proses yang mempunyai burst time yang besar akan memiliki waiting
time yang besar pula karena yang dieksekusi terlebih dahulu adalah
proses dengan burst time yang lebih kecil.
Contoh Non-Preemptive SJF
Process Arrival Time Burst Time
P1 0.0ms 7ms
P2 2.0ms 4ms
P3 4.0ms 1ms
P4 5.0ms 4ms
 SJF (non-preemptive)
 Waiting time P1=0, P2=6, P3=3ms, P4=7ms
 Average waiting time = (0 + 6 + 3 + 7)/4 = 4ms
P1 P3 P2
73 160
P4
8 12
Contoh Preemptive SJF
(Shortest-Remaining-Time-First (SRTF)
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
 SJF (preemptive)
 Average waiting time = (9 + 1 + 0 +2)/4 =
3ms
P1 P3P2
42 110
P4
5 7
P2 P1
16
Shortest-Remaining-Time-First (SRTF)
 Meskipun algoritma ini optimal, namun pada
kenyataannya sulit untuk diimplementasikan
karena sulit untuk mengetahui panjang CPU burst
berikutnya.
Penjadwalan Prioritas
 Algoritma:
 Setiap proses akan mempunyai prioritas (bilangan
integer).
 CPU diberikan ke proses dengan prioritas tertinggi
(smallest integer = highest priority).
 Preemptive: proses dapat di interupsi jika terdapat
prioritas lebih tinggi yang memerlukan CPU.
 Nonpreemptive: proses dengan prioritas tinggi
akan mengganti pada saat pemakain time-slice
habis.
 Jika beberapa proses memiliki prioritas yang sama,
maka akan digunakan algoritma FCFS
Penjadwalan Prioritas
 Problem = Starvation
 Proses dengan prioritas terendah mungkin tidak
akan pernah dieksekusi
 Solution = Aging
 Prioritas akan naik jika proses makin lama
menunggu waktu jatah CPU.
Starvation adalah kondisi dimana proses yang
kekurangan resource tidak akan pernah mendapat
resource yang dibutuhkan sehingga mengalami
starvation (kelaparan),biasanya terjadi setelah
deadlock.
Penjadwalan Prioritas
Process Burst Time Priority
P1 10 3
P2 1 1
P3 2 3
P4 1 4
P5 5 2
 gantt chart :
RR (Round Robin)
 Merupakan penjadwalan preemptive.
 Setiap proses dianggap penting dan mendapat
jatah waktu CPU (time slice/quantum) tertentu
misalkan 10 atau 100 milidetik.
 Setelah waktu tersebut maka proses akan di-
preempt dan dipindahkan ke ready queue.
 Adil dan sederhana.
RR (Round Robin)
Contoh RR (Q= 20)
Process Burst Time
P1 53ms
P2 17ms
P3 68ms
P4 24ms
 Gantt Chart
 Waiting time P1= 134 – 0 – 53 = 81ms
P2= 37 – 0 – 17 = 20ms
P3= 162 – 0 – 68 = 94ms
P4= 121 – 0 – 24 = 97ms
Rata2 = (81+20+94+97)/4 = 73ms
 Tipikal: lebih lama waktu rata-rata turnaround dibandingkan SJF,
tapi mempunyai response terhadap user lebih cepat.
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3
0 20 37 57 77 97 117 121 134 154 162
Multilevel Queue
 Kategori proses sesuai dengan sifat proses:
 Interaktif (response cepat)
 Batch dll
 Partisi “ready queue” dalam beberapa tingkat
(multilevel) sesuai dengan proses:
 Setiap queue menggunakan algoritma schedule sendiri
 Foreground proses (interaktif, high prioritiy): RR
 Background proses (batch, low priority): FCFS
 Setiap queue mempunyai prioritas yang fixed.
Multilevel Queue
Multilevel Feedback Queue
 mirip sekali dengan algoritma multilevel queue
 Perbedaannya ialah algoritma ini mengizinkan proses untuk
pindah antrian
 Algoritma ini didefinisikan melalui beberapa parameter,
antara lain:
a. Jumlah antrian.
b. Algoritma penjadwalan tiap antrian.
c. Kapan menaikkan proses ke antrian yang lebih tinggi.
d. Kapan menurunkan proses ke antrian yang lebih rendah.
e. Antrian mana yang akan dimasuki proses yang
membutuhkan.
Multilevel Feedback Queue
 Semua proses yang baru datang akan
diletakkan pada queue 0 ( quantum= 8 ms).
 Jika suatu proses tidak dapat diselesaikan
dalam 8 ms, maka proses tersebut akan
dihentikan dan dipindahkan ke queue 1
( quantum= 16 ms).
 Queue 1 hanya akan dikerjakan jika tidak
ada lagi proses di queue 0, dan jika suatu
proses di queue 1 tidak selesai dalam 16 ms,
maka proses tersebut akan dipindahkan ke
queue 2.
 Queue 2 akan dikerjakan bila queue 0 dan 1
kosong, dan akan berjalan dengan
algoritma FCFS.
Multilevel Feedback Queue
Penjadwalan Multiple-Processor
 Seperti halnya pada prosesor tunggal, prosesor
jamak juga membutuhkan penjadwalan.
Namun pada prosesor jamak, penjadwalannya
jauh lebih kompleks daripada prosesor tunggal
karena pada prosesor jamak memungkinkan
adanya load sharing antar prosesor yang
menyebabkan penjadwalan menjadi lebih
kompleks
Penjadwalan Multiple-Processor
 Penjadwalan asymmetric multiprocessing atau
penjadwalan master/slave menangani semua
keputusan penjadwalan, pemrosesan I/O, dan
aktivitas sistem lainnya hanya dengan satu
prosesor ( master). Dan prosesor lainnya ( slave)
hanya mengeksekusi proses.
 SMP ( Symmetric multiprocessing) adalah
pendekatan kedua untuk penjadwalan prosesor
jamak. Dimana setiap prosesor menjadwal
dirinya sendiri (self scheduling).
Sekian & Terima kasih

More Related Content

What's hot

Pengantar Sistem Berkas (Lanjutan)
Pengantar Sistem Berkas (Lanjutan)Pengantar Sistem Berkas (Lanjutan)
Pengantar Sistem Berkas (Lanjutan)formatik
 
Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)Ajeng Savitri
 
Contoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyContoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyZaenal Khayat
 
Sistem Waktu Nyata (Real Time System)
Sistem Waktu Nyata (Real Time System)Sistem Waktu Nyata (Real Time System)
Sistem Waktu Nyata (Real Time System)rein sahren
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum AlgoritmaEnvaPya
 
Bab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanBab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanCliquerz Javaneze
 
Penggunaan SUBQUERY SQL SERVER (USING SUBQUERIES)
Penggunaan SUBQUERY SQL SERVER (USING SUBQUERIES)Penggunaan SUBQUERY SQL SERVER (USING SUBQUERIES)
Penggunaan SUBQUERY SQL SERVER (USING SUBQUERIES)difa febri
 
Fisiologi Kerja Telkom University PK&E
Fisiologi Kerja Telkom University PK&EFisiologi Kerja Telkom University PK&E
Fisiologi Kerja Telkom University PK&Eaanansor
 
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapCheria Asyifa
 
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaDEDE IRYAWAN
 
Simulasi Sistem Peristiwa Diskrit (SSPD)
Simulasi Sistem Peristiwa Diskrit (SSPD)Simulasi Sistem Peristiwa Diskrit (SSPD)
Simulasi Sistem Peristiwa Diskrit (SSPD)Endang Retnoningsih
 
7 Metode Pencarian Data Array
7 Metode Pencarian Data Array7 Metode Pencarian Data Array
7 Metode Pencarian Data ArraySimon Patabang
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomataBanta Cut
 

What's hot (20)

Modul belajar java I/O (Input/Ouptut)
Modul belajar java I/O (Input/Ouptut)Modul belajar java I/O (Input/Ouptut)
Modul belajar java I/O (Input/Ouptut)
 
Sejarah dan Perkembangan Memori External
Sejarah dan Perkembangan Memori ExternalSejarah dan Perkembangan Memori External
Sejarah dan Perkembangan Memori External
 
Ppt teori antrian
Ppt teori antrianPpt teori antrian
Ppt teori antrian
 
Pengantar Sistem Berkas (Lanjutan)
Pengantar Sistem Berkas (Lanjutan)Pengantar Sistem Berkas (Lanjutan)
Pengantar Sistem Berkas (Lanjutan)
 
Ch 11 - Priority
Ch 11 - PriorityCh 11 - Priority
Ch 11 - Priority
 
Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)
 
Contoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyContoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzy
 
Sistem Waktu Nyata (Real Time System)
Sistem Waktu Nyata (Real Time System)Sistem Waktu Nyata (Real Time System)
Sistem Waktu Nyata (Real Time System)
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum Algoritma
 
Bab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanBab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi boolean
 
Penjadwalan Proses
Penjadwalan ProsesPenjadwalan Proses
Penjadwalan Proses
 
Penggunaan SUBQUERY SQL SERVER (USING SUBQUERIES)
Penggunaan SUBQUERY SQL SERVER (USING SUBQUERIES)Penggunaan SUBQUERY SQL SERVER (USING SUBQUERIES)
Penggunaan SUBQUERY SQL SERVER (USING SUBQUERIES)
 
Fisiologi Kerja Telkom University PK&E
Fisiologi Kerja Telkom University PK&EFisiologi Kerja Telkom University PK&E
Fisiologi Kerja Telkom University PK&E
 
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh Map
 
Ch 10
Ch 10Ch 10
Ch 10
 
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
 
Simulasi Sistem Peristiwa Diskrit (SSPD)
Simulasi Sistem Peristiwa Diskrit (SSPD)Simulasi Sistem Peristiwa Diskrit (SSPD)
Simulasi Sistem Peristiwa Diskrit (SSPD)
 
#1 PENGENALAN PYTHON
#1 PENGENALAN PYTHON#1 PENGENALAN PYTHON
#1 PENGENALAN PYTHON
 
7 Metode Pencarian Data Array
7 Metode Pencarian Data Array7 Metode Pencarian Data Array
7 Metode Pencarian Data Array
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 

Viewers also liked

Makalah sistem operasi
Makalah sistem operasiMakalah sistem operasi
Makalah sistem operasinovita dewi
 
7. Algoritma Scheduling
7. Algoritma Scheduling7. Algoritma Scheduling
7. Algoritma SchedulingHaddad Sammir
 
CPU scheduling algorithms in OS
CPU scheduling algorithms in OSCPU scheduling algorithms in OS
CPU scheduling algorithms in OSharini0810
 

Viewers also liked (7)

Penjadualan CPU
Penjadualan CPUPenjadualan CPU
Penjadualan CPU
 
CPU Scheduling Algorithms
CPU Scheduling AlgorithmsCPU Scheduling Algorithms
CPU Scheduling Algorithms
 
Makalah sistem operasi
Makalah sistem operasiMakalah sistem operasi
Makalah sistem operasi
 
7. Algoritma Scheduling
7. Algoritma Scheduling7. Algoritma Scheduling
7. Algoritma Scheduling
 
6. Scheduling
6. Scheduling6. Scheduling
6. Scheduling
 
Cpu scheduling
Cpu schedulingCpu scheduling
Cpu scheduling
 
CPU scheduling algorithms in OS
CPU scheduling algorithms in OSCPU scheduling algorithms in OS
CPU scheduling algorithms in OS
 

Similar to Kelompok 5 cpu schedule

Penjadwalan Proses CPU.ppt
Penjadwalan Proses CPU.pptPenjadwalan Proses CPU.ppt
Penjadwalan Proses CPU.pptUkiUngga
 
Penjadwalan Proses CPU.ppt
Penjadwalan Proses CPU.pptPenjadwalan Proses CPU.ppt
Penjadwalan Proses CPU.pptUkiUngga
 
Penjadwalan-Proses.ppt
Penjadwalan-Proses.pptPenjadwalan-Proses.ppt
Penjadwalan-Proses.pptMuhamadMuslih7
 
KUNCI JAWABAN Matematika Kelas 11 Halaman 24 Uji Kompetensi 1.2 BAB 1
KUNCI JAWABAN Matematika Kelas 11 Halaman 24 Uji Kompetensi 1.2 BAB 1KUNCI JAWABAN Matematika Kelas 11 Halaman 24 Uji Kompetensi 1.2 BAB 1
KUNCI JAWABAN Matematika Kelas 11 Halaman 24 Uji Kompetensi 1.2 BAB 1Ngakakaja
 
V. Penjadwalan Proses (1).ppt
V. Penjadwalan Proses (1).pptV. Penjadwalan Proses (1).ppt
V. Penjadwalan Proses (1).pptrespatibuja
 
perhitungan penjadwalan cpu fcfs dan sjf premtive dan non premtive
perhitungan penjadwalan cpu fcfs dan sjf premtive dan non premtiveperhitungan penjadwalan cpu fcfs dan sjf premtive dan non premtive
perhitungan penjadwalan cpu fcfs dan sjf premtive dan non premtivesayaxioami1
 
Pertemuan 3.1. penjadwalan proses
Pertemuan 3.1. penjadwalan prosesPertemuan 3.1. penjadwalan proses
Pertemuan 3.1. penjadwalan prosesSetyady Peace
 
Materi Penjadwalan CPU & Algoritma Penjadwalan CPU
Materi Penjadwalan CPU & Algoritma Penjadwalan CPUMateri Penjadwalan CPU & Algoritma Penjadwalan CPU
Materi Penjadwalan CPU & Algoritma Penjadwalan CPUImadeGautama
 
42519051 Bab V Penjadwalan CPU
42519051 Bab V Penjadwalan CPU 42519051 Bab V Penjadwalan CPU
42519051 Bab V Penjadwalan CPU AbdulRahman1543
 
5.penjadwalan proses
5.penjadwalan proses5.penjadwalan proses
5.penjadwalan prosesnasib silaban
 
Penjadwalan Proses.pptx
Penjadwalan Proses.pptxPenjadwalan Proses.pptx
Penjadwalan Proses.pptxAlbertLobo7
 
Penjadwalan_Proses_I.pptx
Penjadwalan_Proses_I.pptxPenjadwalan_Proses_I.pptx
Penjadwalan_Proses_I.pptxapaanyaakulupa
 
Tugas kelompok 1 sistem operasi
Tugas kelompok 1 sistem operasiTugas kelompok 1 sistem operasi
Tugas kelompok 1 sistem operasiTaufikRahman106
 
Sri Astuti - Penjadwalan CPU
Sri Astuti - Penjadwalan CPUSri Astuti - Penjadwalan CPU
Sri Astuti - Penjadwalan CPUbelajarkomputer
 
Unit3
Unit3Unit3
Unit3n k
 

Similar to Kelompok 5 cpu schedule (20)

Penjadwalan Proses CPU.ppt
Penjadwalan Proses CPU.pptPenjadwalan Proses CPU.ppt
Penjadwalan Proses CPU.ppt
 
Penjadwalan Proses CPU.ppt
Penjadwalan Proses CPU.pptPenjadwalan Proses CPU.ppt
Penjadwalan Proses CPU.ppt
 
Penjadwalan-Proses.ppt
Penjadwalan-Proses.pptPenjadwalan-Proses.ppt
Penjadwalan-Proses.ppt
 
KUNCI JAWABAN Matematika Kelas 11 Halaman 24 Uji Kompetensi 1.2 BAB 1
KUNCI JAWABAN Matematika Kelas 11 Halaman 24 Uji Kompetensi 1.2 BAB 1KUNCI JAWABAN Matematika Kelas 11 Halaman 24 Uji Kompetensi 1.2 BAB 1
KUNCI JAWABAN Matematika Kelas 11 Halaman 24 Uji Kompetensi 1.2 BAB 1
 
V. Penjadwalan Proses (1).ppt
V. Penjadwalan Proses (1).pptV. Penjadwalan Proses (1).ppt
V. Penjadwalan Proses (1).ppt
 
perhitungan penjadwalan cpu fcfs dan sjf premtive dan non premtive
perhitungan penjadwalan cpu fcfs dan sjf premtive dan non premtiveperhitungan penjadwalan cpu fcfs dan sjf premtive dan non premtive
perhitungan penjadwalan cpu fcfs dan sjf premtive dan non premtive
 
Pertemuan 3.1. penjadwalan proses
Pertemuan 3.1. penjadwalan prosesPertemuan 3.1. penjadwalan proses
Pertemuan 3.1. penjadwalan proses
 
Materi Penjadwalan CPU & Algoritma Penjadwalan CPU
Materi Penjadwalan CPU & Algoritma Penjadwalan CPUMateri Penjadwalan CPU & Algoritma Penjadwalan CPU
Materi Penjadwalan CPU & Algoritma Penjadwalan CPU
 
42519051 Bab V Penjadwalan CPU
42519051 Bab V Penjadwalan CPU 42519051 Bab V Penjadwalan CPU
42519051 Bab V Penjadwalan CPU
 
Penjadwalan.pdf
Penjadwalan.pdfPenjadwalan.pdf
Penjadwalan.pdf
 
5.penjadwalan proses
5.penjadwalan proses5.penjadwalan proses
5.penjadwalan proses
 
Penjadwalan Proses.pptx
Penjadwalan Proses.pptxPenjadwalan Proses.pptx
Penjadwalan Proses.pptx
 
Penjadwalan_Proses_I.pptx
Penjadwalan_Proses_I.pptxPenjadwalan_Proses_I.pptx
Penjadwalan_Proses_I.pptx
 
Tugas kelompok 1 sistem operasi
Tugas kelompok 1 sistem operasiTugas kelompok 1 sistem operasi
Tugas kelompok 1 sistem operasi
 
CPU Scheduling(1).pptx
CPU Scheduling(1).pptxCPU Scheduling(1).pptx
CPU Scheduling(1).pptx
 
MF427_06_103754.ppt
MF427_06_103754.pptMF427_06_103754.ppt
MF427_06_103754.ppt
 
Sri Astuti - Penjadwalan CPU
Sri Astuti - Penjadwalan CPUSri Astuti - Penjadwalan CPU
Sri Astuti - Penjadwalan CPU
 
Pertemuan 9 rev 310108_ok
Pertemuan 9 rev 310108_okPertemuan 9 rev 310108_ok
Pertemuan 9 rev 310108_ok
 
Unit3
Unit3Unit3
Unit3
 
algoritma
algoritmaalgoritma
algoritma
 

Kelompok 5 cpu schedule

  • 1. Penjadwalan CPU Kelompok 1.Pratama Gilang (8113120021) 2.Novita Dewi (8113120020) 3.Nur Laili (8113120019) 4.Rendy Hayat (8113120022)
  • 2. Penjadwalan CPU  Konsep Dasar dan Definisi  Kriteria Penjadualan  Algoritma Penjadualan
  • 3. Konsep Dasar Penjadwalan  Sistem Operasi modern umumnya merupakan sistem multitasking.  Tujuan Utama : untuk mempunyai proses berjalan secara bersamaan, untuk memaksimalkan kinerja dari CPU.  Pemanfaatan CPU maksimum diperoleh dengan multiprogramming.
  • 4.  Proses dapat juga dibagi atas 2 macam : a. I/O-bound process – menghabiskan waktu lebih banyak untuk mengerjakan I/O daripada di CPU b. CPU-bound process – jarang melakukan permintaan I/O, menggunakan lebih banyak waktunya di CPU Sistem dengan kinerja yang terbaik akan memiliki kombinasi proses CPU bound dan I/O bound yang seimbang.
  • 5. Definisi Penjadwalan Proses  Definisi: kumpulan kebijaksanaan dan mekanisme sistem operasi yang mengatur urutan dan jangka waktu eksekusi proses- proses yang aktif.  Tugas: memilih proses, menentukan kapan serta berapa lama proses tersebut boleh menggunakan processor
  • 6. Komponen Penjadwalan Proses Untuk menjalankan penjadwalan, Sistem Operasi membutuhkan sejumlah komponen: 1. Antrian Penjadwalan (Scheduler Queue) - Ready queue - I/O queue - Job queue
  • 7. Komponen Penjadwalan Proses 2. Penjadwal (Scheduler) suatu program dengan algoritma tertentu yang menyeleksi proses yang akan dieksekusi. Jenis scheduler : a. penjadwal jangka pendek (short-term Scheduler)  menyeleksi proses yang berada di antrian b. Penjadwalan jangka menengah (Medium-term Scheduler)  Jika ruang memori utama tidak cukup menampung proses, Sistem Operasi akan melakukan swapping yaitu memindahkan image process ke memori sekunder seperti disk.
  • 8.  c. Dispatcher suatu program SO yang berfungsi melakukan pengalihan eksekusi dari proses yang running ke proses yang dipilih oleh “short-term scheduler”. Bertugas memindahkan isi register prosesor ke PCB proses yang dihentikan. Dispatch latency – terdapat waktu yang terbuang (CPU idle) dimana dispatcher menghentikan satu proses dan menjalankan proses lain.
  • 9. Kriteria Penjadwalan Proses Dalam melakukan penjadwalan proses, Sistem Operasi mempertimbangkan sejumlah faktor: 1. Keadilan (fairness) Memastikan bahwa setiap proses mendapat giliran yg adil, tetapi tidak selalu berarti jatah waktu yang sama,perlu dipastikan tidak terjadi proses yang tidak terlayani dalam jangka waktu yang lama. 2. Efisiensi (processor utilization) penggunaan waktu CPU (CPU time) seoptimal mungkin  processor terpakai terus menerus selama masih ada antrian ready.
  • 10. 3. Waktu tanggapan (response time) mempercepat (secepat dan sependek mungkin) waktu tanggap dengan pemakai secara interaktif. Response time adalah waktu antara pengguna memberikan input dengan SO memberikan output atau umpan balik ke pengguna. 4. Waiting time harus seminim mungkin. Hal ini merupakan durasi waktu yang dihabiskan suatu proses dalam antrian ready selama siklus hidupnya. 5. Turn around time harus seminim mungkin. Merupakan durasi waktu dari suatu proses aktif dalam sistem sampai dengan selesai. 6. Throughput rata-rata proses yang dapat diselesaikan per satuan waktu. Nilai throughput harus tinggi.
  • 11. Kriteria Penjadwalan yang Optimal  Memaksimumkan utilisasi CPU  Memaksimumkan throughput  Meminimukan turnaround time  Meminimumkan waiting time  Meminimumkan response time
  • 12. Strategi Dasar Penjadwalan  Non-preemptive (Run to completion) Algoritma Penjadwalan dimana proses-proses yg sedang running tidak bisa dihentikan sementara, dan harus running terus sampai selesai. Strategi ini bisa membahayakan sistem/proses lain bila terjadi crash, maka SO tidak berfungsi. Umumnya digunakan pada sistem sekuential
  • 13. Strategi Dasar Penjadwalan  Preemptive Algoritma penjadwalan yg memungkinkan beberapa proses yg sedang running, bisa dihentikan sementara. Cocok untuk Sistem Operasi yang menerapkan multitasking, real time dan time sharing.
  • 14. Algoritma Penjadwalan  First-come, first-served (FCFS)  Shortest-Job-First (SJF)  Shortest-Remaining-Time-First (SRTF)  Priority  Round-Robin (RR)  Multilevel Queue  Multilevel Feedback Queue
  • 15. First-Come, First-Served (FCFS)  Setiap proses diberi jadwal eksekusi berdasarkan urutan waktu kedatangan.  FIFO jarang digunakan secara tersendiri tetapi dikombinasikan dengan algoritma lain karena:  Timbul masalah “waiting time” terlalu lama jika didahului oleh proses yang waktu selesainya lama.  Job yang pendek harus menunggu job yang panjang  Job yang penting harus menunggu job yang kurang penting.
  • 16. First-Come, First-Served (FCFS)  FIFO algoritma penjadwalan non- preemptive  FIFO cocok untuk sistem batch  sangat jarang berinteraksi dengan user.  Sangat buruk untuk sistem interaktif atau real time karena cenderung memberikan response time yang buruk.
  • 17. FCFS (Cont.)  Example: Process Burst Time P1 24ms P2 3ms P3 3ms  Asumsi ketiga proses masuk bersamaan, yaitu detik ke 0  Diketahui proses yang tiba adalah P1, P2, P3. Gantt chart-nya adalah :  Secara umum rumus untuk menghitung waiting time adalah t waiting = t end – t start – t burst time  Waiting time untuk P1 = 0ms; P2 = 24ms; P3 = 27ms  Average waiting time: (0 + 24 + 27)/3 = 17ms
  • 18. FCFS (Cont.)  Diketahui proses yang tiba adalah P2, P3, P1. Gant chart-nya adalah :  Waiting time untuk P1 = 6ms; P2 = 0ms; P3 = 3ms  Average waiting time: (6 + 0 + 3)/3 = 3ms  Lebih baik dari kasus sebelumnya  Convoy effect proses yang pendek diikuti proses yang panjang  Ide dari algoritma penjadwalan SJF (Shortest Job First)
  • 19. SJF (Shortest Job First) Pada penjadwalan SJF, proses yang memiliki CPU burst paling kecil dilayani terlebih dahulu. Terdapat dua skema : 1. Non preemptive, bila CPU diberikan pada proses, maka tidak bisa ditunda sampai CPU burst selesai. 2. Preemptive, jika proses baru datang dengan panjang CPU burst lebih pendek dari sisa waktu proses yang saat itu sedang dieksekusi, proses ini ditunda dan diganti dengan proses baru. Skema ini disebut dengan Shortest-Remaining-Time-First (SRTF) Ada beberapa kekurangan dari algoritma ini yaitu:  Susahnya untuk memprediksi burst time proses yang akan dieksekusi selanjutnya. Diasumsikan waktu running (burst time) sudah diketahui.  Proses yang mempunyai burst time yang besar akan memiliki waiting time yang besar pula karena yang dieksekusi terlebih dahulu adalah proses dengan burst time yang lebih kecil.
  • 20. Contoh Non-Preemptive SJF Process Arrival Time Burst Time P1 0.0ms 7ms P2 2.0ms 4ms P3 4.0ms 1ms P4 5.0ms 4ms  SJF (non-preemptive)  Waiting time P1=0, P2=6, P3=3ms, P4=7ms  Average waiting time = (0 + 6 + 3 + 7)/4 = 4ms P1 P3 P2 73 160 P4 8 12
  • 21. Contoh Preemptive SJF (Shortest-Remaining-Time-First (SRTF) Process Arrival Time Burst Time P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4  SJF (preemptive)  Average waiting time = (9 + 1 + 0 +2)/4 = 3ms P1 P3P2 42 110 P4 5 7 P2 P1 16
  • 22. Shortest-Remaining-Time-First (SRTF)  Meskipun algoritma ini optimal, namun pada kenyataannya sulit untuk diimplementasikan karena sulit untuk mengetahui panjang CPU burst berikutnya.
  • 23. Penjadwalan Prioritas  Algoritma:  Setiap proses akan mempunyai prioritas (bilangan integer).  CPU diberikan ke proses dengan prioritas tertinggi (smallest integer = highest priority).  Preemptive: proses dapat di interupsi jika terdapat prioritas lebih tinggi yang memerlukan CPU.  Nonpreemptive: proses dengan prioritas tinggi akan mengganti pada saat pemakain time-slice habis.  Jika beberapa proses memiliki prioritas yang sama, maka akan digunakan algoritma FCFS
  • 24. Penjadwalan Prioritas  Problem = Starvation  Proses dengan prioritas terendah mungkin tidak akan pernah dieksekusi  Solution = Aging  Prioritas akan naik jika proses makin lama menunggu waktu jatah CPU. Starvation adalah kondisi dimana proses yang kekurangan resource tidak akan pernah mendapat resource yang dibutuhkan sehingga mengalami starvation (kelaparan),biasanya terjadi setelah deadlock.
  • 25. Penjadwalan Prioritas Process Burst Time Priority P1 10 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2  gantt chart :
  • 26. RR (Round Robin)  Merupakan penjadwalan preemptive.  Setiap proses dianggap penting dan mendapat jatah waktu CPU (time slice/quantum) tertentu misalkan 10 atau 100 milidetik.  Setelah waktu tersebut maka proses akan di- preempt dan dipindahkan ke ready queue.  Adil dan sederhana.
  • 28. Contoh RR (Q= 20) Process Burst Time P1 53ms P2 17ms P3 68ms P4 24ms  Gantt Chart  Waiting time P1= 134 – 0 – 53 = 81ms P2= 37 – 0 – 17 = 20ms P3= 162 – 0 – 68 = 94ms P4= 121 – 0 – 24 = 97ms Rata2 = (81+20+94+97)/4 = 73ms  Tipikal: lebih lama waktu rata-rata turnaround dibandingkan SJF, tapi mempunyai response terhadap user lebih cepat. P1 P2 P3 P4 P1 P3 P4 P1 P3 P3 0 20 37 57 77 97 117 121 134 154 162
  • 29. Multilevel Queue  Kategori proses sesuai dengan sifat proses:  Interaktif (response cepat)  Batch dll  Partisi “ready queue” dalam beberapa tingkat (multilevel) sesuai dengan proses:  Setiap queue menggunakan algoritma schedule sendiri  Foreground proses (interaktif, high prioritiy): RR  Background proses (batch, low priority): FCFS  Setiap queue mempunyai prioritas yang fixed.
  • 31. Multilevel Feedback Queue  mirip sekali dengan algoritma multilevel queue  Perbedaannya ialah algoritma ini mengizinkan proses untuk pindah antrian  Algoritma ini didefinisikan melalui beberapa parameter, antara lain: a. Jumlah antrian. b. Algoritma penjadwalan tiap antrian. c. Kapan menaikkan proses ke antrian yang lebih tinggi. d. Kapan menurunkan proses ke antrian yang lebih rendah. e. Antrian mana yang akan dimasuki proses yang membutuhkan.
  • 32. Multilevel Feedback Queue  Semua proses yang baru datang akan diletakkan pada queue 0 ( quantum= 8 ms).  Jika suatu proses tidak dapat diselesaikan dalam 8 ms, maka proses tersebut akan dihentikan dan dipindahkan ke queue 1 ( quantum= 16 ms).  Queue 1 hanya akan dikerjakan jika tidak ada lagi proses di queue 0, dan jika suatu proses di queue 1 tidak selesai dalam 16 ms, maka proses tersebut akan dipindahkan ke queue 2.  Queue 2 akan dikerjakan bila queue 0 dan 1 kosong, dan akan berjalan dengan algoritma FCFS.
  • 34. Penjadwalan Multiple-Processor  Seperti halnya pada prosesor tunggal, prosesor jamak juga membutuhkan penjadwalan. Namun pada prosesor jamak, penjadwalannya jauh lebih kompleks daripada prosesor tunggal karena pada prosesor jamak memungkinkan adanya load sharing antar prosesor yang menyebabkan penjadwalan menjadi lebih kompleks
  • 35. Penjadwalan Multiple-Processor  Penjadwalan asymmetric multiprocessing atau penjadwalan master/slave menangani semua keputusan penjadwalan, pemrosesan I/O, dan aktivitas sistem lainnya hanya dengan satu prosesor ( master). Dan prosesor lainnya ( slave) hanya mengeksekusi proses.  SMP ( Symmetric multiprocessing) adalah pendekatan kedua untuk penjadwalan prosesor jamak. Dimana setiap prosesor menjadwal dirinya sendiri (self scheduling).