Slide 7 Penjadwalan Process Penjadwalan Process v v

  • Slides: 21
Download presentation
Slide 7 – Penjadwalan Process

Slide 7 – Penjadwalan Process

Penjadwalan Process v v v Konsep Dasar Penjadwalan Proses. ü Preemptive & Non-Preemtive Scheduling.

Penjadwalan Process v v v Konsep Dasar Penjadwalan Proses. ü Preemptive & Non-Preemtive Scheduling. ü Dispatcher. Kriteria Penjadwalan. Algoritma Penjadwalan. ü FCFS (First Come First Server) Scheduling. ü SJF (Shortest Job First) Scheduling. ü Priority Scheduling. ü Round Robin Scheduling. 2

Overview Penjadwalan (1) v v Penjadwalan adalah fungsi dasar dari sistem operasi semua resources

Overview Penjadwalan (1) v v Penjadwalan adalah fungsi dasar dari sistem operasi semua resources 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. 3

Overview Penjadwalan (2) n Pada saat CPU Idle SO harus memilih proses yang ada

Overview Penjadwalan (2) n Pada saat CPU Idle SO harus memilih proses yang ada dalam memori utama (Ready Queue) dan mengalokasikan CPU untuk mengeksekusinya. 4

Preemtive & Non-Preemtive Schedulling v Terdapat 2 strategi penjadwalan : v v Penjadwalan Non

Preemtive & Non-Preemtive Schedulling v Terdapat 2 strategi penjadwalan : v v Penjadwalan Non Preemptive v Jika proses sedang menggunakan CPU proses tersebut akan membawa CPU sampai proses tersebut melepaskannya (berhenti dalam keadaan wait). Penjadwalan Preemptive v Pada saat proses sedang menggunakan CPU dapat diambil alih oleh proses lain. v Dalam hal ini harus selalu dilakukan perbaikan data. 5

Dispatcher n n Dispatcher adalah suatu modul yang akan memberikan kontrol pada CPU terhadap

Dispatcher n n 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. 6

Kriteria Scheduling (1) v Adil, proses-proses diperlakukan sama, dalam artian adil. Adil disini tidak

Kriteria Scheduling (1) v Adil, proses-proses diperlakukan sama, dalam artian adil. Adil disini tidak v CPU Utilization, diharapkan agar CPU selalu dalam keadaan sibuk, v Throughput, adalah banyaknya proses yang selesai dikerjakan dalam v Turn Around Time, adalah banyaknya waktu yang diperlukan untuk berarti terdapat perlakuan yang sama kepada setiap process, melainkan terdapat beberapa variabel seperti prioritas, dll yang akan dipelajari nanti. sehingga penggunaan CPU lebih optimal. satuan waktu. Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses dalam satuan waktu. mengeksekusi proses, dari mulai menunggu untuk meminta tempat di memori utama, menunggu di Ready Queue, eksekusi oleh CPU dan mengerjakan I/O. v Turn Around Time = waktu eksekusi + waktu tunggu. v Sasaran Penjadwalan adalah meminimalkan waktu Turn Around Time. 7

Kriteria Scheduling (2) v Waiting-Time, adalah waktu yang diperlukan oleh suatu proses untuk v

Kriteria Scheduling (2) v Waiting-Time, adalah waktu yang diperlukan oleh suatu proses untuk v Response-Time, adalah waktu yang diperlukan oleh suatu proses dari menunggu di ready queue. Sasaran Penjadwalan : meminimalkan waiting time. minta dilayani hingga ada respon pertama menanggapi permintaan tersebut. Sasaran penjadwalan : meminimalkan waktu tanggap. 8

Scheduling Algorithm n n n Proses yang belum mendapatkan jatah alokasi dari CPU akan

Scheduling Algorithm n n n 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 : n FCFS (First Come First Serve). n SJF (Sortest Job First). n Priority. n Round Robin. 9

FCFS Algorithm (1) n Penjadwalan ini merupakan penjadwalan Non n Dalam penjadwalan FCFS (First

FCFS Algorithm (1) n Penjadwalan ini merupakan penjadwalan Non n Dalam penjadwalan FCFS (First Come First Serve) : Preemptive. n n 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. 10

FCFS Algorithm (2) n Contoh FCFS Scheduling : 11

FCFS Algorithm (2) n Contoh FCFS Scheduling : 11

SJF (Shortest Job First) Algorithm (1) v v Mendahulukan proses dengan Burst-Time terkecil. Ada

SJF (Shortest Job First) Algorithm (1) v v Mendahulukan proses dengan Burst-Time terkecil. Ada 2 Tipe : Jika ada proses P 1 yang datang pada saat P 0 sedang berjalan akan dilihat CPU burst P 1 v Preemptive, Jika CPU burst P 1 lebih kecil dari sisa waktu yang dibutuhkan oleh P 0 CPU ganti dialokasikan untuk P 1. v Non Preemptive, Akan tetap menyelesaikan P 0 sampai habis CPU burstnya. 12

SJF Algorithm (2) n Contoh SJF Scheduling Non Preemptive n Waktu kedatangan sama 13

SJF Algorithm (2) n Contoh SJF Scheduling Non Preemptive n Waktu kedatangan sama 13

SJF Algorithm (3) n Contoh SJF Scheduling Non Preemptive n Waktu kedatangan tidak sama

SJF Algorithm (3) n Contoh SJF Scheduling Non Preemptive n Waktu kedatangan tidak sama 14

SJF Algorithm (4) n Contoh SJF Scheduling Preemptive n Waktu kedatangan tidak sama 15

SJF Algorithm (4) n Contoh SJF Scheduling Preemptive n Waktu kedatangan tidak sama 15

Priority Scheduling (1) v v v Tiap proses diberi skala prioritas, proses yang mendapatkan

Priority Scheduling (1) v v v 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 : v Waktu v Memori yang dibutuhkan v Banyaknya file yang dibuka v Perbandingan antara rata-rata I/O Burst dengan rata-rata CPU Burst 16

Priority Scheduling (2) v Algoritma Priority Scheduling dapat bersifat Preemptive atau Non Preemptive. Jika

Priority Scheduling (2) v Algoritma Priority Scheduling dapat bersifat Preemptive atau Non Preemptive. Jika ada proses P 1 yang datang pada saat P 0 sedang berjalan akan dilihat prioritas P 1, Jika prioritas P 1>P 0, maka : v v Pada Non Preemptive, Algoritma tetap akan menyelesaikan P 0 sampai habis CPU burstnya dan meletakkan P 1 pada posisi head queue. Pada Preemptive, P 0 akan dihentikan dulu dan CPU ganti dialokasikan untuk P 1. 17

Priority Scheduling (3) v Contoh Priority Scheduling 18

Priority Scheduling (3) v Contoh Priority Scheduling 18

Round Robin Algorithm (1) v v v Konsep dasar algoritma ini menggunakan time sharing

Round Robin Algorithm (1) v v v 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 : v Adanya keseragaman waktu Kelemahannya : v Jika quantum time sangat besar switching yang terjadi akan semakin sedikit (seperti FCFS) v Jika quantum time terlalu kecil switching yang terjadi akan semakin banyak, sehingga banyak waktu yang terbuang 19

Round Robin Algorithm (2) v Ketentuan Algoritma Round Robin adalah : Ø Jika proses

Round Robin Algorithm (2) v 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 20

Round Robin Algorithm (3) v Contoh Round Robin Scheduling : 21

Round Robin Algorithm (3) v Contoh Round Robin Scheduling : 21