• Tidak ada hasil yang ditemukan

Modul 5 Penjadwalan CPU

N/A
N/A
Protected

Academic year: 2018

Membagikan "Modul 5 Penjadwalan CPU"

Copied!
57
0
0

Teks penuh

(1)
(2)

• Utilisasi (pemanfaatan) CPU secara maksimum dapat

diperoleh dengan

multiprogramming

• Multiprogramming adalah

kegiatan menjalankan beberapa program pada memori pada satu waktu

• Suatu proses terdiri dari dua siklus yaitu Burst I/O

dan Burst CPU yang dilakukan

bergantian hingga proses

(3)
(4)

Definisi

 Penjadwalan merupakan kumpulan kebijaksanaan dan

mekanisme di sistem operasi yang berkaitan dengan

urutan kerja yang dilakukan sistem komputer.

 Penjadwalan bertugas memutuskan proses mana yang

(5)

Kriteria Penjadwalan

1. Adil

Semua proses-proses mendapat jatah waktu pemrosesan

2. Efisiensi

Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.

Menjaga agar pemroses tetap dalam keadaan sibuk

(6)

Kriteria Penjadwalan

3. Waktu tanggap (response time)

waktu yang dihabiskan dari saat karakter terakhir dari

perintah dimasukkan sampai hasil pertama muncul di layar (terminal) → terminal response time

4. Waktu tanggap pada sistem waktu nyata (real-time)

waktu dari saat kejadian (internal atau eksternal)

(7)

Kriteria Penjadwalan

5. Turn arround time

waktu yang dihabiskan dari saat program

mulai masuk

ke sistem sampai proses

diselesaikan sistem

.

turn arround time

= waktu eksekusi +

(8)

Kriteria Penjadwalan

6. Throughput

• jumlah kerja atau jumlah job yang dapat diselesaikan

dalam satu unit waktu.

• Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses per satu interval waktu.

(9)

Kriteria Penjadwalan

Max CPU utilizationMax throughput

Min turn around time Min waiting time

(10)
(11)

Tipe Penjadwalan

1. Penjadwal jangka pendek (short-term scheduler)

Short-term scheduler digunakan untuk memilih proses yang

siap dieksekusi pada antrian ready, dan salah satunya

dialokasikan ke CPU,

• Proses dieksekusi hanya beberapa milidetik sebelum menunggu I/O.

(12)

Tipe Penjadwalan

2. Penjadwal jangka menengah

Aktifitas pemindahan proses yang tertunda dari memori utama ke memori sekunder (swapping) → tersedia ruang untuk proses lain

(13)

Tipe Penjadwalan

3. Penjadwal jangka panjang

bekerja terhadap antrian batch dan memilih batch

berikutnya yang harus dieksekusi.

Batch biasanya adalah proses-proses dengan

penggunaan sumber daya yang intensif (yaitu waktu

pemroses, memori, perangkat masukan/keluaran)

program-program ini berprioritas rendah, digunakan

sebagai pengisi (agar pemroses sibuk) selama periode

aktivitas job-job interaktif rendah.

Sasaran utama penjadwal jangka panjang adalah

(14)

Strategi Penjadwalan

 Penjadwalan nonpreemptive

 Proses yang sedang berjalan tidak dapat disela.

 Sekali proses berada di status running (sedang

berjalan), maka proses tersebut akan dieksekusi terus

sampai proses berhenti karena selesai atau diblok

untuk menunggu I/O atau untuk meminta beberapa

layanan dari sistem operasi

(15)

Strategi Penjadwalan

 Penjadwalan preemptive

 Proses yang sedang berjalan dapat diinterupsi dan

dipindah ke status ready oleh sistem operasi sehingga

(16)

Strategi Penjadwalan

1. running ke waiting time

2. running ke ready state

3. waiting ke ready state

4. terminates

Proses 1 dan 4 adalah proses Non Preemptive, dimana proses tersebut tidak bisa di-interrupt.

(17)

Dispatcher

Dispatcher adalah suatu modul yang akan

memberikan kontrol pada CPU terhadap

penyeleksian proses yang dilakukan selama short-term scheduling

Waktu yang diperlukan oleh dispatcher untuk

(18)

Algoritma Penjadwalan

1.FIFO in, First-out) atau FCFS (First-come, First-serve)

2.SJF (Shortest Job First)

3.RR (Round Robin)

(19)

Algoritma Penjadwalan

Average Waiting Time / AWT (rata-rata waktu tunggu) :

(Waktu dilayani – Waktu paket tiba) / Banyaknya paket

Average Turn Around Time / ATAT (waktu penyelesaian) :

(20)

Penjadwalan FIFO

 Penjadwalan nonpreemptive dan tidak berprioritas

 Proses-proses diberi jatah waktu pemroses berdasarkan

waktu kedatangan

 Proses yang datang terlebih dahulu, juga dilayani terlebih dahulu

 Saat proses mendapat jatah waktu pemroses, proses

dijalankan sampai selesai

 Job lama membuat job pendek menunggu

(21)

Penjadwalan FIFO

 Contoh : ada 3 proses P1, P2, P3 dengan lama waktu

(22)

Penjadwalan FIFO

 Gantt Chart-nya :

 Waktu tunggu =

Waktu dilayani – Waktu paket tiba

P1 = 0 – 0 = 0 milidetik P2 = 24 – 0 = 24

P3= 27 – 0 = 27

 Rata-rata waktu tunggu (Average Waiting Time /

(23)

Penjadwalan FIFO

 Menentukan Turn Around Time

 Turn around time (waktu penyelesaian) =

Waktu selesai – Waktu paket tiba

P1 = 24 – 0 = 24 P2 = 27 – 0 = 27 P3 = 30 – 0 = 30

 Rata-rata turn around time (ATAT) = (24+27+30)/3 =

(24)

Penjadwalan FIFO

 Jika waktu kedatangan proses adalah P3, P2, P1 maka

Gantt Chartnya adalah :

 AWT = (0+3+6)/3 = 3 milidetik

(25)

Penjadwalan SJF (Shortest Job

First)

 Asumsi : waktu jalan proses (sampai selesai) sudah

diketahui sebelumnya

 Menjadwalkan proses dengan waktu terpendek lebih

(26)

Penjadwalan SJF (NON PRE)

 Contoh 1:

(27)

Penjadwalan SJF (NON PRE)

 Contoh 1:

 Gantt Chart :

 waktu tunggu (Waiting Time)

P1 = 3 – 0 = 3 ms P2 = 16 – 0 = 16 ms P3 = 9 – 0 = 9 ms P4 = 0 – 0 = 0 ms

 Average Waiting Time / AWT :

(28)

Penjadwalan SJF (NON PRE)

 Menentukan Turn Around Time

 Turn around time (waktu penyelesaian)

P1 = 9 – 0 = 9 ms

 P2 = 24 – 0 = 24 ms

 P3 = 16 – 0 = 16 ms

 P4 = 3 – 0 = 3 ms

(29)

Penjadwalan SJF (NON PRE)

 Contoh menentukan AWT untuk SJF nonpreemptive:

 A = waktu dilayani – waktu paket tiba = 0 – 0 = 0 milidetik

 B = waktu dilayani – waktu paket tiba = 8-2 = 6 milidetik

 C = waktu dilayani – waktu paket tiba = 7-4 = 3 milidetik

 D = waktu dilayani – waktu paket tiba = 12-5 = 7 milidetik

(30)

Penjadwalan SJF (NON PRE)

 Menentukan Turn Around Time

 A = waktu selesai – waktu paket tiba = 7 – 0 = 7 ms

 B = waktu selesai – waktu paket tiba = 12 – 2 = 10 ms

 C = waktu selesai – waktu paket tiba = 8 – 4 = 4 ms

 D = waktu selesai – waktu paket tiba = 16 – 5 = 11 ms

(31)

Penjadwalan SJF (NON PRE)

Proses

Saat Tiba Lama Proses

A

0

7

B

2

4

C

4

1

D

5

4

(32)

Penjadwalan SJF

(PRE)

 Contoh menentukan AWT untuk SJF preemptive :

• Penjadwalan dilakukan ulang dengan membandingkan proses yang masuk dengan proses yang sedang

dijalankan.

(33)

Penjadwalan SJF

(PRE)

 Contoh menentukan AWT untuk SJF preemptive :

 A = 0 + (11-2) – 0 = 9 milidetik

 B = 2 + (5-4) – 2 = 1 milidetik

 C = 4 + 0 – 4 = 0 milidetik

 D = 7 + 0 – 5 = 2 milidetik

(34)

Penjadwalan SJF

(PRE)

turn arround time = waktu eksekusi + waktu menunggu

 Contoh menentukan ATAT untuk SJF preemptive :

 A = 16 – 0 = 16 ms

 B = 7 – 2 = 5 ms

 C = 5 – 4 = 1 ms

 D = 11 – 5 = 6 ms

(35)

Penjadwalan SJF (PRE)

(36)
(37)
(38)
(39)
(40)
(41)

Penjadwalan Round Robin

(RR)

 Penjadwalan preemptive dan tanpa prioritas

 Semua proses dianggap penting dan diberi sejumlah waktu

pemroses yang disebut kwanta (quantum) atau time-slice

(42)

Penjadwalan Round Robin

(RR)

 Ketentuan algoritma RR :

 Jika quantum habis dan proses belum selesai  pemroses

dialihkan ke proses lain

 jika quantum belum habis dan proses menunggu suatu kejadian (selesainya I/O)  proses menjadi blocked dan pemroses dialihkan ke proses lain

 jika quantum belum habis tapi proses telah selesai  proses

(43)

Penjadwalan Round Robin

(RR)

 Contoh : kumpulan proses datang pada waktu 0

 Quantum 4 milidetik

 P1 mendapat 4 milidetik pertama

(44)

Penjadwalan Round Robin

(RR)

 Gambar Gantt Chart

 Waktu tunggu tiap proses

(45)

Penjadwalan Round Robin

(RR)

 Gambar Gantt Chart

 TAT

P1 = 30 P2 = 7 p3 = 10

(46)

Penjadwalan Round Robin

(RR)

 Contoh : Menentukan Turn Around Time untuk

(47)

Penjadwalan Round Robin

(RR)

 Contoh 3:

(48)

Penjadwalan Round Robin

(RR)

With arrival time

-Setiap ada paket yang selesai dieksekusi tetapi memiliki sisa paket maka akan dijadwalkan lagi ke antrian.

-Contoh (untuk soal berikutnya):

Proses1 : dieksekusi dari 0 – 2 ms

pada milidetik ke- 2 : Proses2 dan Proses3 datang ke

(49)

Penjadwalan Round Robin

(RR)

(50)
(51)

Penjadwalan PS

 Tiap proses dilengkapi dengan prioritas.

 CPU dialokasikan untuk proses yang memiliki

prioritas paling tinggi.

 Jika beberapa proses memiliki prioritas yang sama,

(52)

Penjadwalan PS

 Contoh : ada 5 proses P1,P2,P3,P4,P5

(53)

Penjadwalan PS

(54)

Penjadwalan PS

 Prioritas biasanya menyangkut masalah : waktu, memori yang

dibutuhkan, banyaknya file yang boleh dibuka, dan

perbandingan antara rata-rata I/O burst dengan rata-rata CPU burst.

 Priority schedulling bersifat preemptive atau nonpreemptive.

 Jika ada proses P1 yang datang pada saat P0 sedang berjalan,

(55)

Penjadwalan PS

 Seandainya prioritas P1 lebih besar dibanding dengan prioritas

P0 maka pada non preemptive, algoritma tetap akan

menyelesaikan P0 sampai habis CPU burst-nya, dan meletakkan P1 pada posisi head queue.

 Sedangkan pada preemptive, P0 akan dihentikan dulu, dan CPU

(56)
(57)

Penjadwalan Round Robin

(RR)

 Tentukan AWT dan ATAT

 quantum waktu (q) = 3

Proses

Saat Tiba Lama Proses

A

0

5

B

0

7

C

0

6

D

0

2

Referensi

Dokumen terkait

Proses antrean merupakan suatu proses yang berhubungan dengan kedatangan customer pada suatu fasilitas pelayanan, menunggu dalam baris antrean jika belum dapat

Proses antrian sendiri merupakan suatu proses yang berhubungan dengan kedatangan pelanggan pada suatu fasilitas pelayanan, menunggu dalam baris antrian jika belum dapat dilayani,

Sebaliknya, jika suatu proses memiliki CPU burst yang lebih besar dibandingkan dengan waktu quantum, maka proses tersebut akan dihentikan sementara jika

Karena sebuah NFA memungkinkan mempunyai lebih dari satu final state maka jika transisi telah sampai kesalah satu final state tapi karakter dari string masukan belum habis maka

Jika A adalah kejadian munculnya dua mata dadu yang jumlahnya habis dibagi tiga, maka tentukan peluang sukses 3 kali percobaan dalam eksperimen itu.. Suatu percobaan melantunkan

 Jika proses telah mengalokasi resource dan ingin mengalokasi resource lain – tapi tidak diperoleh (wait) : maka ia melepaskan semua resource yang telah dialokasi.  Proses

Proses antrian merupakan suatu proses yang berhubungan dengan kedatangan pelanggan pada suatu fasilitas pelayanan, menunggu dalam baris antrian jika belum dapat

Proses antrean merupakan suatu proses yang berhubungan dengan kedatangan customer pada suatu fasilitas pelayanan, menunggu dalam baris antrean jika belum dapat