Pertemuan Ke - 9 · 2018. 7. 16. · Pertemuan Ke - 9 Penjadwalan CPU. Penjadwalan CPU •Konsep...

Post on 09-Sep-2020

17 views 0 download

Transcript of Pertemuan Ke - 9 · 2018. 7. 16. · Pertemuan Ke - 9 Penjadwalan CPU. Penjadwalan CPU •Konsep...

Pertemuan Ke - 9Penjadwalan CPU

Penjadwalan CPU

• Konsep Dasar dan Definisi Penjadwalan CPU

• Kriteria Penjadualan

• Algoritma Penjadualan

Konsep Dasar Penjadwalan

• SO modern umumnya merupakan sistemmultitasking.

• Tujuan Utama: agar beberapa proses dapatberjalan secara bersamaan, hal ini untukmemaksimalkan kinerja CPU.

• Pemanfaatan CPU maksimum diperolehdengan multiprogramming

• CPU-I/O Burst Cycle-Pelaksanaan proses terdiri dari suatu siklus tunggu I/O dan eksekusi CPU

Konsep Dasar Penjadwalan

Proses dapat juga dibagi atas 2 macam:

a. I/O-bound process – menghabiskan waktu lebihbanyak untuk mengerjakan I/O daripada di CPU

b. CPU-bound process – jarang melakukanpermintaan I/O, menggunakan lebih banyakwaktunya di CPU

Sistem dengan kinerja yang terbaik akan memilikikombinasi proses CPU bound dan I/O bound yangseimbang.

Definisi Penjadwalan Proses

Definisi

• Kumpulan kebijaksanaan dan mekanismesistem operasi yang mengatur urutan danjangka waktu eksekusi proses-proses yangaktif.

Tugas

• Memilih proses, menentukan kapan sertaberapa lama proses tersebut bolehmenggunakan processor

Komponen Penjadwalan Proses

1. Antrian Penjadwalan (Scheduler Queue)

a. Ready queue

b. I/O queue

c. Job queue

2. Penjadwal (Scheduler)

a. Short-Term Scheduler

b. Medium-Term Scheduler

c. Long-Term Scheduler

Komponen Penjadwalan Proses

Penjadwal ( Scheduler )

Suatu program dengan algoritma tertentu yangmenyeleksi proses yang akan dieksekusi.

Jenis scheduler :a. Penjadwal jangka pendek (short-term

scheduler).

b. Penjadwalan jangka menengah ( medium-termscheduler )

c. Dispatcher

Komponen Penjadwalan Proses

Jenis scheduler :

a. Penjadwal jangka pendek (short-termscheduler) menyeleksi proses yang beradadiantrian ready.

Komponen Penjadwalan Proses

Jenis scheduler :b. Penjadwalan jangka menengah (Medium-term

Scheduler) Jika ruang memori utama tidak cukup menampung proses,

SO akan melakukan swapping yaitu memindahkan imageprocess ke memori sekunder seperti disk.

Umumnya yang dikorbankan adalah proses yang berstatusblocked atau menunggu event.

Jika event sudah selesai, image process harus dikembalikanke memori utama.

Medium-term scheduler bertugas menyeleksi proses yangakan diswapping (swap-out) dan yang akan dikembalikan kememori utama (swap-in).

Komponen Penjadwalan Proses

Jenis scheduler :

c. Dispatcher suatu program SO yang berfungsi melakukan

pengalihan eksekusi dari proses yang running keproses yang dipilih oleh “short-term scheduler”.

Bertugas memindahkan isi register prosesor kePCB proses yang dihentikan.

Dispatch latency – terdapat waktu yang terbuang(CPU idle) dimana dispatcher menghentikan satuproses dan menjalankan proses lain

Kriteria Penjadwalan Proses

Dalam melakukan penjadwalan proses, SOmempertimbangkan sejumlah faktor:

1. Keadilan (Fairness)

2. Efisiensi (Processor Utilization)

3. Waktu tanggapan (Response time)

4. Waiting Time

5. Turn Around Time

Kriteria Penjadwalan Proses

1. Keadilan (Fairness)

a. Memastikan bahwa setiap proses mendapatgiliran yang adil, tetapi tidak selalu berarti jatahwaktu yang sama.

b. Perlu dipastikan tidak terjadi proses yang tidakterlayani dalam jangka waktu yang lama.

Kriteria Penjadwalan Proses

2. Efisiensi (Processor Utilization)

Penggunaan waktu CPU (CPU Time) seoptimalmungkin processor terpakai terus menerus selamamasih ada antrian ready.

Kriteria Penjadwalan Proses

3. Waktu tanggapan (Response time)

– Mempercepat (secepat dan sependek mungkin)waktu tanggap dengan pemakai secara interaktif.

– Response time adalah waktu antara penggunamemberikan input dengan SO memberikan outputatau umpan balik ke pengguna.

Kriteria Penjadwalan Proses

4. Waktu Tunggu (Waiting Time)

Harus seminim mungkin. Merupakan durasi waktuyang dihabiskan suatu proses dalam antrian readyselama siklus hidupnya

Kriteria Penjadwalan Proses

5. Turn Around Time

Turn around time harus seminim mungkin.Merupakan durasi waktu dari suatu proses ataujob masuk ke dalam sistem sampai dengan selesai.

Turn arround time = waktu eksekusi + waktumenunggu

Kriteria Penjadwalan Proses

6. Throughput

Throughput rata-rata proses ( jumlah kerja ) yangdapat diselesaikan per satuan waktu. Nilaithroughput harus tinggi, karena lebih tinggi angkatroughput, maka lebih banyak kerja yang dapatdilakukan sistem.

Kriteria Penjadwalan yang Optimal

1. Memaksimumkan utilisasi CPU

2. Memaksimumkan throughput

3. Meminimukan turnaround time

4. Meminimumkan waiting time

5. Meminimumkan response time

Strategi Dasar Penjadwalan

1. Non-preemptive (Run to completion)

2. Preemptive

Strategi Dasar Penjadwalan

1. Non-preemptive (Run to completion)

a. Algoritma Penjadualan dimana proses-prosesyang sedang running tidak bisa dihentikansementara, dan harus running terus sampaiselesai.

b. Strategi ini bisa membahayakan sistem atauproses lain, artinya bila terjadi crash, maka SOtidak berfungsi.

c. Umumnya digunakan pada sistem sekuensial

Strategi Dasar Penjadwalan

2. Preemptive

a. Algoritma penjadualan yang memungkinkanbeberapa proses yang sedang running, bisadihentikan sementara.

b. Algoritma ini cocok untuk SO yang menerapkanmultitasking, real time, dan time sharing.

Pemicu terjadinya penjadwalan

Kapan keputusan untuk algoritma dilakukan adalah saat suatu proses:

1. Switch dari status running ke waiting.

2. Switch dari status running ke ready.

3. Switch dari status waiting ke ready.

4. Terminates.

Algoritma Penjadwalan

• First-come, first-served (FCFS)

• Shortest-Job-First (SJF)

• Priority

• Guaranteed

• Round-Robin (RR)

• Multilevel Queue

• Multilevel Feedback Queue

• Two Level Scheduling

First-Come, First-Served (FCFS)

1. Setiap proses diberi jadwal eksekusi berdasarkanurutan waktu kedatangan.

2. FCFS jarang digunakan secara tersendiri tetapi dikombinasikan dengan algoritma lain karena:

a. Timbul masalah“waiting time”terlalu lama jikadidahului oleh proses yang waktu selesainya lama.

b. Job yang pendek harus menunggu job yang panjang

c. Job yang penting harus menunggu job yang kurang penting.

First-Come, First-Served (FCFS)

3. Algoritma penjadwalan ini bersifat non-preemptive

4. FCFS cocok untuk sistem batch

5. Sangat jarang berinteraksi dengan user.

6. Sangat buruk untuk sistem interaktif atau realtime karena cenderung memberikanresponse time yang buruk.

First-Come, First-Served (FCFS)

• FCFS merupakan algoritma yang paling, dengan skema proses yang

meminta CPU mendapat prioritas.Implementasi dari FCFS mudah diatasi dengan

queue.

First-Come, First-Served (FCFS)

Contoh:

• Ada tiga buah proses yang datang secara bersamaanyaitu pada 0 ms, P1 memiliki burst time 24 ms, P2memiliki burst time 3 ms, dan P3 memiliki burst time 3ms. Hitunglah waiting time rata-rata dan turnaroundtime (burst time + waiting time) dari ketiga prosestersebut dengan menggunakan algoritma FCFS.Waiting time untuk P1 adalah 0 ms (P1 tidak perlumenunggu), sedangkan untuk P2 adalah sebesar 24 ms(menunggu P1 selesai), dan untuk P3 sebesar 27 ms(menunggu P1 dan P2 selesai).

First-Come, First-Served (FCFS)

Gambar. Kedatangan Proses

First-Come, First-Served (FCFS)

Misal urutan kedatangan adalah P1, P2, P3 Gantt Chart untuk ini adalah:

Waiting time rata-ratanya adalah sebesar(0+24+27)/3 =17ms. Turnaround time untuk P1 sebesar 24 ms, sedangkanuntuk P2 sebesar 27 ms (dihitung dari awal kedatangan P2hingga selesai dieksekusi), untuk P3 sebesar 30 ms.Turnaround time rata-rata untuk ketiga proses tersebutadalah (24+27+30)/3 = 27 ms.

First-Come, First-Served (FCFS)

• Rumus Menghitung Waitung Time dan Average Waiting Time

SJF (Shortest Job First)

Pada penjadwalan SJF, proses yang memiliki CPUburst paling kecil dilayani terlebih dahulu.Terdapat dua skema:1. Non preemptive,

bila CPU diberikan pada proses, maka tidak bisaditunda sampai CPU burst selesai.

2. Preemptive, jika proses baru datang dengan panjang CPU burstlebih pendek dari sisa waktu proses yang saat itusedang dieksekusi, proses ini ditunda dan digantidengan proses baru. Skema ini disebut denganShortest-Remaining-Time-First (SRTF)

SJF Non Preemptive

• SJF Non Preemptive adalah algoritmapenjadwalan yang menjalankan prosesberdasarkan proses dengan burst timeterkecil.

SJF Non Preemptive

• Perhatikan tabel berikut ini

Proses Burst Time

P1 7

P2 4

P3 1

P4 4

Berdasarkan tabel berikut :1. Gambarkan gant chart SJF

Non Preemptive2. Buat tabel waktu tunggu3. Hitung rata – rata waktu

tunggu (Average Waiting Time)

SJF Non Preemptive

a. Gant Chart

b. Tabel Waktu TungguProses Waktu Tunggu

P1 9

P2 1

P3 0

P4 5

c. Rata-rata Waktu Tunggu

AWT = (9 + 1 + 0 + 5) / 4AWT = 15 / 4AWT = 3, 75 ms

Shortest Job First Preemptive

• SJF algoritma mungkin adalah yang palingoptimal, karena ia memberikan rata-rataminimum waiting untuk kumpulan dari prosesyang mengantri.

SJF Preemptive

• SJF algoritma adalah algoritma penjadwalanyang mengizinkan proses yang lebih pendekmenghentikan proses yang sedang jalan.

SJF Preemptive

• Perhatikan tabel berikut ini

Proses Arrival Time Burst Time

P1 0 7

P2 2 4

P3 4 1

P4 5 4

Berdasarkan tabel berikut :1. Gambarkan gant chart

SJF Preemptive2. Buat tabel waktu tunggu3. Hitung rata – rata waktu

tunggu (Average Waiting Time)

SJF Preemptive

a. Gant Chart

b. Tabel Waktu TungguProses Waktu Tunggu

P1 11 – 2 = 9

P2 5 – 4 = 1

P3 4 – 4 = 0

P4 7 – 5 = 2

c. Rata-rata Waktu Tunggu

AWT = (9 + 1 + 0 + 2) / 4AWT = 12 / 4AWT = 3 ms

Tugas1Perhatikan Tabel Berikut Ini

Proses Arrival Time (ms) Burst Time (ms)

P1 0 8

P2 3 4

P3 4 5

P4 5 6

P5 6 4

Berdasarkan tabel tersebut, maka anda diminta untukmembuat Gantt Chart, Tabel Waktu Tunggu, danmenghitung Avarage Waiting Time (AWT) untukalgoritma penjadwalan :1. FCFS2. SJF3. SJF Preemptive

Tugas2

Perhatikan Tabel Berikut :

Proses Burst Time (ms)

P1 3

P2 4

P3 2

P4 3

P5 5

P6 4

Berdasarkan tabel disamping, maka buatlah dengan algoritma penjadwalan FCFS :a. Gantt Chartb. Tabel Waktu Tungguc. Hitung AWT

Tugas3

Perhatikan Tabel Berikut

Proses Burst Time (ms)

P1 4

P2 2

P3 3

P4 4

P5 2

P6 5

Berdasarkan tabel disamping, maka buatlah dengan algoritma penjadwalan SJF Non Preemptive :a. Gantt Chartb. Tabel Waktu Tungguc. Hitung AWT

Tugas 4

Perhatikan Tabel Berikut

Proses Arrival Time (ms)

Burst Time (ms)

P1 0 6

P2 1 4

P3 3 2

P4 4 3

P5 5 4

Berdasarkan tabel disamping, maka buatlah dengan algoritma penjadwalan SJF Preemptive :a. Gantt Chartb. Tabel Waktu Tungguc. Hitung AWT