5. penjadwalan proses

24
Penjadwalan Proses 1 PENJADWALAN PROSES 1. Konsep Dasar Penjadwalan Proses 1. Preemptive Scheduling 2. Dispatcher 2. Kriteria Penjadwalan 3. Algoritma Penjadwalan 1. FCFS Scheduling 2. SJF Scheduling 3. Priority Scheduling 4. Round Robin Scheduling

Upload: emil-fadillah

Post on 03-Jul-2015

200 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 5. Penjadwalan Proses

Penjadwalan Proses 1

PENJADWALAN PROSES

1. Konsep Dasar Penjadwalan Proses1. Preemptive Scheduling2. Dispatcher

2. Kriteria Penjadwalan3. Algoritma Penjadwalan

1. FCFS Scheduling2. SJF Scheduling3. Priority Scheduling4. Round Robin Scheduling

Page 2: 5. Penjadwalan Proses

Penjadwalan Proses 2

KONSEP DASAR

• Penjadwalan adalah fungsi dasar dari sistem operasi semua sumber komputer dijadwalkan sebelum digunakan

• Penjadwalan CPU adalah pemilihan proses dari ready queue untuk dapat dieksekusi

• Penjadwalan CPU didasarkan pada sistem operasi yang menggunakan prinsip multiprogramming

• Penjadwalan bertugas memutuskan :– Proses yang harus berjalan– Kapan dan selama berapa lama proses itu berjalan

Page 3: 5. Penjadwalan Proses

Penjadwalan Proses 3

KONSEP DASAR

• Pengeksekusian dari proses terdiri atas : – CPU eksekusi– I/O Wait

• Pengeksekusian proses dimulai dengan CPU burst kemudian diikuti I/O burst kemudian CPU burst lagi lalu I/O burst lagi dst, dilakukan secara bergiliran.Siklus burst dapat dilihat gbr disamping :

Page 4: 5. Penjadwalan Proses

Penjadwalan Proses 4

KONSEP DASAR

• Pada saat CPU Idle SO harus memilih proses yang ada dalam memori utama (ready queue) dan mengalokasikan CPU untuk mengeksekusinya CPU scheduler

Page 5: 5. Penjadwalan Proses

Penjadwalan Proses 5

PREEMPTIVE SCHEDULING

• Terdapat 2 strategi penjadwalan :– Penjadwalan Non Preemptive

• Jika proses sedang menggunakan CPU proses tersebut akan membawa CPU sampai proses tersebut melepaskannya (berhenti dalam keadaan wait)

– Penjadwalan Preemptive• Pada saat proses sedang menggunakan CPU

CPU dapat diambil alih oleh proses lain.• Dalam hal ini harus selalu dilakukan perbaikan

data

Page 6: 5. Penjadwalan Proses

Penjadwalan Proses 6

PREEMPTIVE SCHEDULING

• Penjadwalan CPU mungkin akan dijalankan ketika proses :1. Berubah dari running waiting state2. Berubah dari running ready state3. Berubah dari waiting ready4. Terminates

• Apabila model penjadwalan yang dipilih menggunakan keadaan no 1 dan 4 Non Preemptive

• Apabila model penjadwalan yang dipilih menggunakan keadaan no 2 dan 3 Preemptive

Page 7: 5. Penjadwalan Proses

Penjadwalan Proses 7

DISPATCHER

• Dispatcher adalah suatu modul yang akan memberikan kontrol pada CPU terhadap penyeleksian proses

• Dispatch Latency adalah waktu yang dibutuhkan untuk menghentikan suatu proses dan menjalankan proses yang lain

Page 8: 5. Penjadwalan Proses

Penjadwalan Proses 8

KRITERIA PENJADWALAN

• Kriteria yang digunakan dalam penjadwalan :– Adil

• Proses-proses diperlakukan sama, yaitu mendapat jatah waktu CPU yang sama dan tidak ada proses yang tidak dilayani

– CPU Utilization (Utilisasi CPU)• Diharapkan agar CPU selalu dalam keadaan sibuk

– Throughput• Adalah banyaknya proses yang selesai dikerjakan

dalam satu satuan waktu• Sasaran penjadwalan : memaksimalkan jumlah job

yang diproses dalam satu satuan waktu

Page 9: 5. Penjadwalan Proses

Penjadwalan Proses 9

KRITERIA PENJADWALAN– Turn Around Time

•Adalah banyaknya waktu yang diperlukan untuk mengeksekusi proses, dari mulai menunggu untuk meminta tempat di memori utama, menunggu di ready queue, eksekusi oleh CPU dan mengerjakan I/O

•Turn Around Time = waktu eksekusi + waktu tunggu

•Sasaran Penjadwalan : meminimalkan waktu turn Around Time

Page 10: 5. Penjadwalan Proses

Penjadwalan Proses 10

KRITERIA PENJADWALAN– Waiting Time

•Adalah waktu yang diperlukan oleh suatu proses untuk menunggu di ready queue

•Sasaran Penjadwalan : meminimalkan waiting time

– Response Time (waktu respon)• Adalah waktu yang diperlukan oleh suatu

proses dari minta dilayani hingga ada respon pertama menanggapi permintaan tersebut

• Sasaran penjadwalan : meminimalkan waktu tanggap

Page 11: 5. Penjadwalan Proses

Penjadwalan Proses 11

ALGORITMA PENJADWALAN

• Proses yang belum mendapatkan jatah alokasi dari CPU akan mengantri di ready queue

• Algoritma Penjadwalan diperlukan untuk mengatur giliran proses-proses tersebut

• Algoritma-algoritma penjadwalan :– FCFS (First Come First Serve)– SJF (Sortest Job First)– Priority– Round Robin

Page 12: 5. Penjadwalan Proses

Penjadwalan Proses 12

FCFS SCHEDULING

• Penjadwalan ini merupakan penjadwalan Non Preemptive

• Dalam penjadwalan FCFS (First Come First Serve) :– Proses yang pertama kali minta jatah waktu untuk

menggunakan CPU akan dilayani terlebih dahulu– Begitu proses mendapatkan jatah waktu CPU

proses dijalankan sampai selesai/ sampai proses tersebut melepaskannya, yaitu jika proses tersebut berhenti atau meminta I/O

Page 13: 5. Penjadwalan Proses

Penjadwalan Proses 13

FCFS SCHEDULING

• Contoh FCFS Scheduling

• Waktu tunggu P1=0, P2=24, P3=27• Waktu tunggu rata2x

= (0+24+27)/3 = 17

Page 14: 5. Penjadwalan Proses

Penjadwalan Proses 14

FCFS SCHEDULING

• Kelemahan Metode ini adalah :– Muncul istilah Convoy Effect, yaitu : proses

lain menunggu satu proses besar mengembalikan sumber daya CPU

– AWT metode ini cukup besar

Page 15: 5. Penjadwalan Proses

Penjadwalan Proses 15

SJF SCHEDULING• Mendahulukan proses dengan burst time terkecil• Ada 2 tipe :

Jika ada proses P1 yang datang pada saat P0 sedangberjalan akan dilihat CPU burst P1– Preemptive

• Jika CPU burst P1 lebih kecil dari sisa waktu yang dibutuhkan oleh P0 CPU ganti dialokasikan untuk P1

– Non Preemptive• Akan tetap menyelesaikan P0 sampai habis CPU burstnya

Page 16: 5. Penjadwalan Proses

Penjadwalan Proses 16

SJF SCHEDULING

• Contoh SJF Scheduling Non Preemptive– Waktu kedatangan sama

Page 17: 5. Penjadwalan Proses

Penjadwalan Proses 17

SJF SCHEDULING

• Contoh SJF Scheduling Non Preemptive– Waktu kedatangan tidak sama

Page 18: 5. Penjadwalan Proses

Penjadwalan Proses 18

SJF SCHEDULING

• Contoh SJF Scheduling Preemptive– Waktu kedatangan tidak sama

Page 19: 5. Penjadwalan Proses

Penjadwalan Proses 19

PRIORITY SCHEDULING

• Tiap proses diberi skala prioritas, proses yang mendapatkan prioritas tertinggi mendapat jatah waktu pemroses

• Jika beberapa proses memiliki prioritas yang sama akan digunakan algoritma FCFS

• Prioritas meliputi :– Waktu– Memori yang dibutuhkan– Banyaknya file yang dibuka– Perbandingan antara rata-rata I/O Burst dengan rata-

rata CPU Burst

Page 20: 5. Penjadwalan Proses

Penjadwalan Proses 20

PRIORITY SCHEDULING

• Algoritma Priority Scheduling dapat bersifat Preemptive atau Non Preemptive– Jika ada proses P1 yang datang pada saat P0

sedang berjalan akan dilihat prioritas P1, Jika prioritas P1>P0, maka :• Pada Non Preemptive

– Algoritma tetap akan menyelesaikan P0 sampai habis CPU burstnya dan meletakkan P1 pada posisi head queue

• Pada Preemptive– P0 akan dihentikan dulu dan CPU ganti dialokasikan

untuk P1

Page 21: 5. Penjadwalan Proses

Penjadwalan Proses 21

PRIORITY SCHEDULING

• Contoh Priority Scheduling

Page 22: 5. Penjadwalan Proses

Penjadwalan Proses 22

ROUND ROBIN SCHEDULING• Konsep dasar algoritma ini menggunakan time

sharing• Pada dasarnya, prinsip hampir sama dengan FCFS,

tapi bersifat preemptive• Tiap proses akan dibatasi waktu prosesnya, yang

disebut quantum time• Keuntungan algoritma round robin :

– Adanya keseragaman waktu• Kelemahannya :

– Jika quantum time sangat besar switching yang terjadi akan semakin sedikit (seperti FCFS)

– Jika quantum time terlalu kecil switching yang terjadi akan semakin banyak, sehingga banyak waktu yang terbuang

Page 23: 5. Penjadwalan Proses

Penjadwalan Proses 23

ROUND ROBIN SCHEDULING• Ketentuan Algoritma Round Robin adalah :

– Jika proses memiliki CPU Burst < Quantum Time, maka proses akan melepaskan CPU, jika telah selesai digunakan CPU dapat segera digunakan oleh proses selanjutnya

– Jika proses memiliki CPU Burst > Quantum Time, maka proses tersebut akan dihentikan jika sudah mencapai quantum time dan selanjutnya mengantri kembali pada posisi tail queue (ekor dari ready queue), CPU kemudian menjalankan proses berikutnya

– Jika quantum time belum habis dan proses menunggu suatu kejadian (selesainya operasi I/O), maka proses menjadi blocked dan CPU dialihkan ke proses lain

Page 24: 5. Penjadwalan Proses

Penjadwalan Proses 24

ROUND ROBIN SCHEDULING• Contoh Round Robin Scheduling, dengan quantum square = 4 ms

Proses Burst Time (ms)P1 24P2 3P3 3

Gant chart                             P1 P2 P3 P1 P1 P1 P1 P1

0              4 7 10 14 18 22 26 30

Proses Waiting Time (ms)P1 0 + (10 - 4) = 6P2 4P3 7