Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Penjadwalan CPU.

Presentasi serupa


Presentasi berjudul: "Penjadwalan CPU."— Transcript presentasi:

1 Penjadwalan CPU

2 Konsep Dasar Memaksimalkan kerja CPU dengan menggunakan sistem operasi berbasis Sistem multiprogramming, dengan mengatur proses yang dikerjakan oleh processor. CPU–I/O Burst Cycle – Terdiri dari waktu eksekusi process eksekusi proses di CPU ditambah dengan waktu tunggu I/O. Proses dapat digambarkan sebagai : I/O-bound Proses – membutuhkan lebih banyak waktu komputasi CPU-bound Proses – membutuhkan waktu eksekusi yang lebih pendek

3 Kriteria untuk mengukur dan optimasi kinerja penjadwalan:
Adil (fairness) Efisiensi Waktu tanggap (response time) Turn arround time Throughput

4 Kriteria untuk mengukur dan optimasi kinerja penjadwalan:
Adil (Fairness) Adil adalah proses-proses diperlakukan sama yaitu mendapat jatah waktu layanan pemroses yang sama dan tidak ada proses yang tidak kebagian layanan pemroses sehingga mengalami startvation. Startvation adalah kondisi bahwa proses tidak pernah berjalan karena tidak dijadwalkan untuk berjalan. Sasaran penjadwalan seharusnya menjamin setiap proses mendapat pelayanan dari pemroses secara adil. Efisiensi Efisiensi atau utilisasi pemroses yang dihitung dengan perbandingan (rasio) waktu sibuk pemroses dengan total waktu operasi sistem komputer secara keseluruhan. Sasaran penjadwalan adalah menjaga agar pemroses tetap dalam keadaan sibuk sehingga efisiensi sistem komputer mencapai nilai maksimum. Keadaan sibuk berarti pemroses tidak menganggur. Layanan pemroses termasuk waktu yang dihabiskan untuk mengeksekusi program pemakai dan layanan sistem operasi secara efektif, bukan untuk melakukan penjadwalan itu sendiri.

5 Kriteria untuk mengukur dan optimasi kinerja penjadwalan:
Waktu Tanggap (Response Time) Waktu tanggap berbeda untuk Sistem interaktif Sistem waktu nyata Waktu tanggap pada sistem interaktif Waktu tanggap dalam sistem interaktif didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan oleh program atau transaksi sampai hasil pertama muncul di perangkat masukan keluaran seperti layar (terminal). Waktu tanggap untuk sistem interaktif biasa disebut terminal response time. Waktu tanggap pada sistem waktu nyata Pada sistem waktu nyata (real-time), waktu tanggap didefinisikan sebagai waktu dari saat kemunculan suatu kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan terhadap kejadian dieksekusi.

6 Kriteria untuk mengukur dan optimasi kinerja penjadwalan:
Turn Arround Time Turn arround time adalah waktu yang dihabiskan dari saat proses atau job mulai masuk ke sistem sampai proses itu diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan proses berada di sistem, diekspresikan sebagai penjumlahan waktu eksekusi (waktu pelayanan proses/ job) dan waktu menunggu dari proses itu, yaitu: Turn arround time = waktu eksekusi + waktu menunggu Sasaran penjadwalan adalah meminimalkan turn arround time.

7 Kriteria untuk mengukur dan optimasi kinerja penjadwalan:
Throughput Throuphput adalah jumlah kerja yang dapat diselesaikan selama satu selang/unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah proses/job pemakai yang dapat dieksekusi dalam satu unit/interval waktu tertentu.Sasaran penjadwalan adalah memaksimalkan jumlah job/proses yang dilayani per satu interval waktu. Lebih tinggi angka throughput maka lebih banyak kerja yang dilakukan sistem. Kriteria-kriteria tersebut saling bergantung dan dapat saling bertentangan sehingga tidak dimungkinkan optimasi semua kriteria secara simultan. Contoh Untuk memberi waktu tanggap kecil umumnya memerlukan penjadwalan yang sering beralih-alih di antara proses-proses yang ada. Cara ini meningkatkan overhead sistem sehingga menurunkan efisiensi.

8 Penjadwalan CPU

9 Penjadwalan CPU Penjadwalan CPU dapat terjadi ketika sebuah proses:
1. Bertukar dari tahap run ke wait 2. Bertukar dari tahap run ke ready 3. Bertukar dari tahap wait ke ready 4. Batal/Terminates Penjadwalan no 1 – 4 merupakan nonpreemptive Sedangkan yang lain is preemptive

10 Penjadwalan CPU Penjadwalan Jangka Pendek Penjadwalan Jangka Menengah
Menentukan diantara proses yang telah siap dieksekusi (terletak di memory) untuk dieksekusi oleh CPU. Terjadi sangat sering dan membutuhkan waktu sangat pendek (milliseconds) Penjadwalan Jangka Menengah Memilih dan membawa sebuah proses yang akan dibawa dari Suspend ke antrian ready. Jarang Terjadi dan sangat lambat (detik, menit)

11 Penjadwalan Non preempetive
Begitu proses diberikan waktu eksekusi, maka proses eksekusi tidak bisa diambil alih oleh proses yang lain Disebut juga “run to completion” Algoritma yang menggunakan metode Non- preempetive : FIFO (Firts In First Out) atau FIFS (First In First Serve) SJF (Shortest Job First)

12 Penjadwalan Preempetive
Eksekusi sebuah proses dapat diambil alih oleh proses yang lain yang mempunyai kreteria yang lebih tinggi. Proses yang disela oleh proses lainnya harus menunggu jatah layanan hingga statusnya menjadi ready Algoritma-algoritma yang menggunakan Metode Preempetive : Round Robin (RR) Multiple Feedback Queues (MFQ) Shortest Remaining Firts (FSF) Highest Ratio Next (HRN) Priority Schedulling (PS) Guaranteed Schedulling (GS)

13 FIFO (Firts In First Out) atau FIFS (First In First Serve)
Proses-proses diberi jatah waktu waktu eksekusi berdasarkan waktu kedatangan Eksekusi dilakukan hingga selesai tanpa bisa diganti oleh eksekusi proses yang lain. Kelebihan : proses yang lebih awal dikerjakan terlebih dahulu Kekurangan : Proses yang lebih penting atau proses yang lebih pendek eksekusinya diharuskan menunggu. Penjadwalan tidak memuaskan karena waktu tunggunya sangat lama Tidak cocok untuk sistem interaktif

14 First-Come, First-Served (FCFS) Scheduling
Proces Burst Time P1 24 P2 3 P3 3 Misalkan terdapat tiga buah proses yang datang dengan urutan : P1 , P2 , P3 Bagan Gantt untuk penjadwalan FCFS adalah sbb: Waktu tunggu masing-masing proses adalaha P1 = 0; P2 = 24; P3 = 27 Waktu tunggu rata-data: ( )/3 = 17 P1 P2 P3 24 27 30

15 FCFS Scheduling (Cont.)
Misalkan uruta waktu diubah antara P1, P2 dan P3 P2 , P3 , P1 Bagan Gantt untuk penjadwalan proses adalah sbb: Waktu tunggu masing-masing proses P1 = 6; P2 = 0; P3 = 3 Waktu Tunggu Rata-rata : ( )/3 = 3 Waktu tunggu rata-rata lebih rendah dari proses sebelumnya P1 P3 P2 6 3 30

16 Shortest-Job-First (SJF) Scheduling
Associate with each process the length of its next CPU burst. Use these lengths to schedule the process with the shortest time Two schemes: nonpreemptive – once CPU given to the process it cannot be preempted until completes its CPU burst preemptive – if a new process arrives with CPU burst length less than remaining time of current executing process, preempt. This scheme is know as the Shortest-Remaining-Time-First (SRTF) SJF is optimal – gives minimum average waiting time for a given set of processes

17 Algoritma Sort Job First
Penjadwalan ini mengasumsikan waktu proses (sampai selesai) diketahui sebelumnya Mekanisme penjadwalan SJF adalah lebih dulu menjadwalkan proses dengan waktu terpendek sampai selesai. Keunggulan : Penjadwalan SJF mempunya efiesiensi tinggi dan turn around time rendah

18 Contoh dari Non-Preemptive SJF
Process Arrival Time Burst Time P P P P SJF (non-preemptive) Waktu tunggu rata-rata = ( )/4 = 4 P1 P3 P2 7 3 16 P4 8 12

19 Contoh dari Preemptive SJF
Process Arrival Time Burst Time P P P P SJF (preemptive) Average waiting time = ( )/4 = 3 P1 P3 P2 4 2 11 P4 5 7 16

20 Priority Scheduling A priority number (integer) is associated with each process The CPU is allocated to the process with the highest priority (smallest integer  highest priority) Preemptive nonpreemptive SJF is a priority scheduling where priority is the predicted next CPU burst time Problem  Starvation – low priority processes may never execute Solution  Aging – as time progresses increase the priority of the process

21 Round Robin (RR) Each process gets a small unit of CPU time (time quantum), usually milliseconds. After this time has elapsed, the process is preempted and added to the end of the ready queue. If there are n processes in the ready queue and the time quantum is q, then each process gets 1/n of the CPU time in chunks of at most q time units at once. No process waits more than (n-1)q time units. Performance q large  FIFO q small  q must be large with respect to context switch, otherwise overhead is too high

22 Example of RR with Time Quantum = 20
Process Burst Time P1 53 P2 17 P3 68 P4 24 The Gantt chart is: Typically, higher average turnaround than SJF, but better response P1 P2 P3 P4 20 37 57 77 97 117 121 134 154 162


Download ppt "Penjadwalan CPU."

Presentasi serupa


Iklan oleh Google