PENJADUALAN CPU -...

21
PENJADUALAN CPU Konsep & Algoritma

Transcript of PENJADUALAN CPU -...

Page 1: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

PENJADUALAN CPU Konsep & Algoritma

Page 2: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

KONSEP DASAR

Penjadualan CPU adalah basis dari multi-programming sistem operasi

Tujuan dari multi-programming adalah untuk mempunyai proses berjalan secara bersamaan, untuk memaksimalkan kinerja dari CPU

Pengeksekusian dari proses terdiri atas siklus CPU Burst dan M/K Wait

Page 3: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

PENJADUALAN CPU

Algoritma Penjadualan : Memilih dari proses-

proses yang berada di memori (ready to execute)

dan memberikan jatah CPU ke salah satu proses

tersebut.

Jenis Penjadualan:

Preemptive

Non-Preemptive

Page 4: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

JENIS PENJADUALAN

Penjadualan CPU mungkin akan dijalankan ketika proses:

1. Berubah dari running ke waiting state

2. Berubah dari running ke ready state

3. Berubah dari waiting ke ready

4. Terminates

Penjadualan 1 dan 4 termasuk Non-Preemptive

Penjadualan 2 dan 3 termasuk Preemptive

Preemptive: OS dapat mengambil (secara interrupt, preempt) CPU dari satu proses setiap saat.

Non-preemptive: setiap proses secara sukarela (berkala) memberikan CPU ke OS.

Page 5: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

KRITERIA PENJADUALAN

CPU utilization: menjaga CPU sesibuk mungkin

(menggunakan CPU semaksimal mungkin)

Throughput: memaksimalkan proses yang diselesaikan

per unit waktu

Turnaround 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 sistim

terhadap user (interaktif, time-sharing system),

sehingga interaksi dapat berlangsung dengan cepat.

Page 6: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

KRITERIA PENJADUALAN YANG OPTIMAL

Memaksimumkan utilisasi CPU

Memaksimumkan throughput

Meminimukan turnaround time

Meminimumkan waiting time

Meminimumkan response time

Page 7: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

ALGORITMA PENJADUALAN

First-come, first-served (FCFS)

Shortest-Job-First (SJF)

Priority

Round-Robin (RR)

Multilevel Queue

Multilevel Feedback Queue

Page 8: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

FIRST-COME, FIRST-SERVED (FCFS)

algoritma ini akan mendahulukan proses yang

lebih dulu datang

proses akan mengantri sesuai waktu

kedatangannya.

Kelemahan algoritma ini adalah waiting time

rata-rata yang cukup lama

convoy effect, dimana proses lain menunggu satu

proses besar mengembalikan sumber daya CPU

Page 9: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

FCFS (2)

Page 10: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

FCFS (3)

Page 11: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

LATIHAN FCFS

Proses Burst Time Waiting Time

P1 10

P2 1

P3 2

P4 1

P5 5

Rata2 Waiting Time

Page 12: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

SHORTEST-JOB FIRST

Proses diatur menurut panjang CPU burst berikutnya

Algoritma ini memiliki 2 skema: preemptive dan

nonpreemptive

Non- Preemptive : CPU hanya satu kali diberikan pada

suatuproses, maka proses tersebut tetap akan memakai

CPU hingga proses tersebut melepaskannya

Preemptive: Jika ada proses datang dengan sisa CPU

burst yang lebih kecil daripada yang sedang dieksekusi,

maka proses tersebut akan menggantikan proses yang

sedang dieksekusi. Skema ini dikenal dengan Shortest-

Remaining-Time-First (SRTF)

Page 13: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

SJF NON-PREEMPTIVE

Page 14: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

SJF PREEMPTIVE

Page 15: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

PRIORITY

Algoritma ini memberikan skala prioritas kepada tiap

proses.

Skala diberikan dalam bentuk integer.

Proses yang mendapat prioritas tertinggi akan

didahulukan.

Beberapa sistem menggunakan integer kecil untuk

prioritas tertinggi, beberapa sistem menggunakan

integer besar.

Algoritma ini dapat preemptive maupun non-

preeemptive. Jika preemptive maka proses dapat

diinterupsi oleh proses yang prioritasnya lebih tinggi.

Nonpreemptive: proses dengan prioritas tinggi akan

mengganti pada saat pemakain time-slice habis.

Page 16: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

PRIORITY (2)

Problem = starvation

Proses dengan prioritas terendah mungkin tidak

akan pernah dieksekusi

Solusi = aging

Prioritas akan naik jika proses makin lama

menunggu waktu jatah CPU

Page 17: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

LATIHAN PRIORITY

Proses Burst Time Priority

P1 7 2

P2 4 1

P3 1 1

P4 4 2

Rata2 Waiting Time

Page 18: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

ROUND-ROBIN

Algoritma ini menggilir proses yang ada di

antrian.

Proses akan mendapat jatah sebesar time

quantum. Jika time quantum-nya habis atau

proses sudah selesai CPU akan dialokasikan ke

proses berikutnya.

Algoritma ini sepenuhnya bergantung besarnya

time quantum. Jika terlalu besar, algoritma ini

akan sama saja dengan algoritma first-come first-

served

Page 19: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

ROUND-ROBIN (Q=20)

Page 20: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

MULTILEVEL QUEUE

Algoritma ini mengelompokkan antrian dalam

beberapa buah antrian

Antrian-antrian tersebut diberi prioritas

Antrian yang lebih rendah tak boleh mendapat

alokasi selama ada antrian tinggi yang

belum kebagian.

Tiap antrian boleh memiliki algoritma yang

berbeda

juga dapat menjatah waktu CPU untuk tiap

antrian. Semakin tinggi tingkatannya, semakin

besar jatah waktu CPU-nya.

Page 21: PENJADUALAN CPU - felix.staff.unisbank.ac.idfelix.staff.unisbank.ac.id/files/2018/10/PENJADUALAN-CPU.pdf · Algoritma Penjadualan : Memilih dari proses-proses yang berada di memori

MULTILEVEL FEEDBACK QUEUE

Algoritma ini mirip sekali dengan algoritma Multilevel Queue

Perbedaannya ialah algoritma ini mengizinkan proses untuk pindah antrian

Jika suatu proses menyita CPU terlalu lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah