Sistem Operasi - Penjadwalan CPU -                                         S ISTEM O PERASI                               ...
Sistem Operasi - Penjadwalan CPU -AGENDA          1     R EVIEW          2     OVERVIEW & O BYEKTIF          3     KONSEP ...
Sistem Operasi - Penjadwalan CPU -   ReviewO UTLINE          1     R EVIEW          2     OVERVIEW & O BYEKTIF          3 ...
Sistem Operasi - Penjadwalan CPU -   ReviewP ERTEMUAN KE -4                  Konsep thread: lightweight process, satuan pe...
Sistem Operasi - Penjadwalan CPU -   ReviewP ERTEMUAN KE -4                  Pustaka                           POSIX, Java...
Sistem Operasi - Penjadwalan CPU -   Overview & ObyektifO UTLINE          1     R EVIEW          2     OVERVIEW & O BYEKTI...
Sistem Operasi - Penjadwalan CPU -   Overview & Obyektif                  Mempelajari konsep penjadwalan CPU sebagai dasar...
Sistem Operasi - Penjadwalan CPU -   KonsepO UTLINE          1     R EVIEW          2     OVERVIEW & O BYEKTIF          3 ...
Sistem Operasi - Penjadwalan CPU -   KonsepT ENTANG PENJADWALAN CPU                  Memaksimalkan penggunaan CPU diperole...
Sistem Operasi - Penjadwalan CPU -   KonsepS IKLUS CPU-I/O                                     G AMBAR : Siklus CPU - I/O
Sistem Operasi - Penjadwalan CPU -   KonsepCPU- BURST TIME                                     G AMBAR : CPU burst time
Sistem Operasi - Penjadwalan CPU -   KonsepP ENJADWAL CPU                  Memilih proses yang telah berada di memori untu...
Sistem Operasi - Penjadwalan CPU -   KonsepI LUSTRASI                                     G AMBAR : Kondisi proses
Sistem Operasi - Penjadwalan CPU -   KonsepD ISPATCHER                  Modul pada OS yang memindahkan kendali CPU dari sa...
Sistem Operasi - Penjadwalan CPU -   KonsepI LUSTRASI                                     G AMBAR : Context switch
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaO UTLINE          1     R EVIEW          2     OVERVI...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaK RITERIA PENJADWALAN                  CPU utilizatio...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaK RITERIA                  Memaksimalkan:            ...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaA LGORITMA : FCFS                                    ...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaA LGORITMA : FCFS         Untuk kasus yang sama: urut...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaA LGORITMA : SJF                  Penjadwalan berdasa...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaA LGORITMA : SJF                                     ...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaP ENENTUAN PANJANG CPU BURST                  Hanya e...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaI LUSTRASI                                      G AMB...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaA LGORITMA : P RIORITAS                  Setiap prose...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaA LGORITMA : ROUND ROBIN                  Berdasarkan...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaA LGORITMA : RR, TIME SLICE =4                       ...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaH UBUNGAN time slice VS . contect switch             ...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaA LGORITMA : RR                                      ...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaA LGORITMA : A NTRIAN BERTINGKAT                  Mul...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaI LUSTRASI                                      G AMB...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaA LGORITMA : A NTRIAN UMPAN BALIK BERTINGKAT         ...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaI LUSTRASI                  3 antrian masing-masing: ...
Sistem Operasi - Penjadwalan CPU -   Kriteria penjadwalan & algoritmaI LUSTRASI                                      G AMB...
Sistem Operasi - Penjadwalan CPU -   Penjadwalan threadO UTLINE          1     R EVIEW          2     OVERVIEW & O BYEKTIF...
Sistem Operasi - Penjadwalan CPU -   Penjadwalan threadKONSEP                  Penjadwalan berbeda antara user level dan k...
Sistem Operasi - Penjadwalan CPU -   Penjadwalan threadI LUSTRASI : POSIX                  PTHREAD SCOPE PROCESS: menjadwa...
Sistem Operasi - Penjadwalan CPU -   Penjadwalan threadI LUSTRASI : POSIX         /* create the threads */         for (i ...
Sistem Operasi - Penjadwalan CPU -   Penjadwalan threadJAVA                  JVM: menggunakan Preemptive, Priority-Based S...
Sistem Operasi - Penjadwalan CPU -   Penjadwalan pada multiprosesorO UTLINE          1     R EVIEW          2     OVERVIEW...
Sistem Operasi - Penjadwalan CPU -   Penjadwalan pada multiprosesor                  Penjadwalan lebih kompleks ketika dit...
Sistem Operasi - Penjadwalan CPU -   Penjadwalan pada multiprosesorM ULTICORE                  Beberapa prosesor dikemas d...
Sistem Operasi - Penjadwalan CPU -   Contoh pada berbagai OSO UTLINE          1     R EVIEW          2     OVERVIEW & O BY...
Sistem Operasi - Penjadwalan CPU -   Contoh pada berbagai OSS OLARIS                                     G AMBAR : Solaris...
Sistem Operasi - Penjadwalan CPU -   Contoh pada berbagai OSS OLARIS                                     G AMBAR : Penjadw...
Sistem Operasi - Penjadwalan CPU -   Contoh pada berbagai OSS OLARIS                                     G AMBAR : Penjadw...
Sistem Operasi - Penjadwalan CPU -   Contoh pada berbagai OSW INDOWS XP                                     G AMBAR : Prio...
Upcoming SlideShare
Loading in …5
×

Os05

476 views
392 views

Published on

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
476
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Os05

  1. 1. Sistem Operasi - Penjadwalan CPU - S ISTEM O PERASI - P ENJADWALAN CPU - Arya Adhyaksa Waskita Fakultas Ilmu Komputer Universitas Pembangunan Nasional Veteran Jakarta 31 Maret 2012
  2. 2. Sistem Operasi - Penjadwalan CPU -AGENDA 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 KONSEP 4 K RITERIA PENJADWALAN & ALGORITMA 5 P ENJADWALAN THREAD 6 P ENJADWALAN PADA MULTIPROSESOR 7 C ONTOH PADA BERBAGAI OS
  3. 3. Sistem Operasi - Penjadwalan CPU - ReviewO UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 KONSEP 4 K RITERIA PENJADWALAN & ALGORITMA 5 P ENJADWALAN THREAD 6 P ENJADWALAN PADA MULTIPROSESOR 7 C ONTOH PADA BERBAGAI OS
  4. 4. Sistem Operasi - Penjadwalan CPU - ReviewP ERTEMUAN KE -4 Konsep thread: lightweight process, satuan penggunaan CPU responsif, resource sharing, ekonomis, skalabilitas kernel & user thread Thread terhadap pemrograman multicore / parallel: berbagi aktifitas, penyeimbang beban, memecah data & ketergantungan data pengujian & debug Model: many-to-one, many-to-many, one-to-one
  5. 5. Sistem Operasi - Penjadwalan CPU - ReviewP ERTEMUAN KE -4 Pustaka POSIX, Java, Win32 Isu terkait thread create & terminate SIGNAL handler thread pools thread specific data
  6. 6. Sistem Operasi - Penjadwalan CPU - Overview & ObyektifO UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 KONSEP 4 K RITERIA PENJADWALAN & ALGORITMA 5 P ENJADWALAN THREAD 6 P ENJADWALAN PADA MULTIPROSESOR 7 C ONTOH PADA BERBAGAI OS
  7. 7. Sistem Operasi - Penjadwalan CPU - Overview & Obyektif Mempelajari konsep penjadwalan CPU sebagai dasar multiprogramming Mempelajari algoritma penjadwalan CPU Mempelajari kriteria penjadwalan & penentuan algoritma
  8. 8. Sistem Operasi - Penjadwalan CPU - KonsepO UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 KONSEP 4 K RITERIA PENJADWALAN & ALGORITMA 5 P ENJADWALAN THREAD 6 P ENJADWALAN PADA MULTIPROSESOR 7 C ONTOH PADA BERBAGAI OS
  9. 9. Sistem Operasi - Penjadwalan CPU - KonsepT ENTANG PENJADWALAN CPU Memaksimalkan penggunaan CPU diperoleh dengan multiprogramming Eksekusi proses terdiri dari: CPU I/O wait
  10. 10. Sistem Operasi - Penjadwalan CPU - KonsepS IKLUS CPU-I/O G AMBAR : Siklus CPU - I/O
  11. 11. Sistem Operasi - Penjadwalan CPU - KonsepCPU- BURST TIME G AMBAR : CPU burst time
  12. 12. Sistem Operasi - Penjadwalan CPU - KonsepP ENJADWAL CPU Memilih proses yang telah berada di memori untuk dieksekusi (mengalokasikan CPU ke proses tersebut) Penjadwalan CPU dapat terjadi saat proses berpindah dari kondisi (non-preemptive): running ke waiting running ke ready waiting ke ready selesai (terminasi) Non-preemptive: sekali CPU dialokasikan ke suatu proses, CPU hanya akan di-dealokasi ketika proses selesai
  13. 13. Sistem Operasi - Penjadwalan CPU - KonsepI LUSTRASI G AMBAR : Kondisi proses
  14. 14. Sistem Operasi - Penjadwalan CPU - KonsepD ISPATCHER Modul pada OS yang memindahkan kendali CPU dari satu proses ke proses lain pada short term scheduler Melibatkan: switching context pindah ke user mode pindah dari ke lokasi yang tepat pada program untuk restart Waktu tunda perpindahan: Dispatch Latency
  15. 15. Sistem Operasi - Penjadwalan CPU - KonsepI LUSTRASI G AMBAR : Context switch
  16. 16. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaO UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 KONSEP 4 K RITERIA PENJADWALAN & ALGORITMA 5 P ENJADWALAN THREAD 6 P ENJADWALAN PADA MULTIPROSESOR 7 C ONTOH PADA BERBAGAI OS
  17. 17. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaK RITERIA PENJADWALAN CPU utilization: tingkat penggunaan CPU Throughput: jumlah proses yang diselesaikan per satuan waktu Turnaround time: waktu tunggu sejak sebuah proses di-submit hingga selesai eksekusi Waiting time: total waktu sebuah proses berada dalam ready queue Response time: waktu tunggu sejak sebuah proses di-submit sampai respon pertama diperoleh
  18. 18. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaK RITERIA Memaksimalkan: CPU utilization throughput Meminimalkan: turnaround time waiting time response time
  19. 19. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaA LGORITMA : FCFS Proses Burst time P1 24 P2 3 P3 3 G AMBAR : Diagram Gantt: First Come First Served Rerata: turnaround time = . . . waiting time = . . .
  20. 20. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaA LGORITMA : FCFS Untuk kasus yang sama: urutan kedatangan adalah P 2 , P 3 , P 1 G AMBAR : Diagram Gantt: First Come First Served Rerata: turnaround time = . . . waiting time = . . .
  21. 21. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaA LGORITMA : SJF Penjadwalan berdasarkan CPU burst Kendala: sulit mengestimasi CPU burst (di awal) Proses Burst time P1 6 P2 8 P3 7 P4 3
  22. 22. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaA LGORITMA : SJF G AMBAR : Diagram Gantt: Shortest Job First Rerata: turnaround time = . . . waiting time = . . .
  23. 23. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaP ENENTUAN PANJANG CPU BURST Hanya estimasi Berdasarkan: CPU burst sebelumnya rerata eksponensial τn+1 = αtn + (1 − α) τn tn = panjang CPU burst aktual τn+1 = prediksi CPU burst α = 1, hanya CPU burst terakhir yang dipertimbangkan α = 0, CPU burst terakhir tidak dipertimbangkan
  24. 24. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaI LUSTRASI G AMBAR : Prediksi panjang CPU burst berikutnya
  25. 25. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaA LGORITMA : P RIORITAS Setiap proses memiliki atribut terkait prioritas Nilai atribut kecil lebih prioritas dibanding nilai atribut besar Kendala: Starvation, proses dengan prioritas rendah memiliki kemungkinan tidak dieksekusi Solusi: Aging, dengan berjalannya waktu prioritas sebuah proses naik
  26. 26. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaA LGORITMA : ROUND ROBIN Berdasarkan time slice, setiap proses diberi kesempatan dieksekusi selama time slice Proses yang melampaui time slice padahal belum selesai, dipindahkan ke antrian paling belakang Kinerja: time slice besar: FIFO time slice kecil: overhead, terlalu banyak context switch
  27. 27. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaA LGORITMA : RR, TIME SLICE =4 Proses Burst time P1 24 P2 3 P3 3 G AMBAR : Diagram Gantt: RR dengan time slice=4 Rerata: turnaround time = . . . waiting time = . . .
  28. 28. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaH UBUNGAN time slice VS . contect switch G AMBAR : Time slice vs. contect switch
  29. 29. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaA LGORITMA : RR G AMBAR : Hubungan turnaround time vs. time slice
  30. 30. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaA LGORITMA : A NTRIAN BERTINGKAT Multilevel Queue Ready queue dipisah foreground (interaktif) background (batch) Setiap antrian memiliki algoritma yang berbeda: foreground (interaktif): RR background (batch): FCFS Penjadwalan harus dilakukan antar antrian: Prioritas tetap: kemungkinan starvation Time slice: 80% foreground vs. 20% background
  31. 31. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaI LUSTRASI G AMBAR : Antrian bertingkat
  32. 32. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaA LGORITMA : A NTRIAN UMPAN BALIK BERTINGKAT Sebuah proses dapat berpindah antar berbagai antrian, penerapan aging Didefinisikan melalui beberapa parameter: jumlah antrian algoritma penjadwalan antar antrian metode upgrade & downgrade proses metode untuk menentukan antrian yang dimasuki ketika perlu layanan
  33. 33. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaI LUSTRASI 3 antrian masing-masing: Q1 = RR 8 ms Q2 = RR 16 ms Q3 = FCFS Penjadwalan: Sebuah proses yang memasuki Q1 akan mendapat alokasi waktu 8 ms. Jika tidak selesai dipindahkan ke Q2 Di Q2 , sebuah proses mendapatkan tambahan 16 ms. Jika belum selesai juga, dipindahkan ke Q3
  34. 34. Sistem Operasi - Penjadwalan CPU - Kriteria penjadwalan & algoritmaI LUSTRASI G AMBAR : Penjadwalan umpan balik betingkat
  35. 35. Sistem Operasi - Penjadwalan CPU - Penjadwalan threadO UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 KONSEP 4 K RITERIA PENJADWALAN & ALGORITMA 5 P ENJADWALAN THREAD 6 P ENJADWALAN PADA MULTIPROSESOR 7 C ONTOH PADA BERBAGAI OS
  36. 36. Sistem Operasi - Penjadwalan CPU - Penjadwalan threadKONSEP Penjadwalan berbeda antara user level dan kernel level thread User level: process contention scope, thread bersaing di dalam proses yang sama Kernel level: system contention scope, thread bersaing dengan thread lain dalam mendapatkan layanan CPU
  37. 37. Sistem Operasi - Penjadwalan CPU - Penjadwalan threadI LUSTRASI : POSIX PTHREAD SCOPE PROCESS: menjadwal thread menggunakan PCS PTHREAD SCOPE SYSTEM: menjadwal thread menggunakan SCS #include <pthread.h> #include <stdio.h> #define NUM THREADS 5 int main(int argc, char *argv[]) { int i; pthread t tid[NUM THREADS]; pthread attr t attr; /* get the default attributes */ pthread attr init(&attr); /* set the scheduling algorithm to PROCESS or SYSTEM */ pthread attr setscope(&attr, PTHREAD SCOPE SYSTEM); /* set the scheduling policy - FIFO, RT, or OTHER */ pthread attr setschedpolicy(&attr, SCHED OTHER);
  38. 38. Sistem Operasi - Penjadwalan CPU - Penjadwalan threadI LUSTRASI : POSIX /* create the threads */ for (i = 0; i < NUM THREADS; i++) pthread create(&tid[i],&attr,runner,NULL); /* now join on each thread */ for (i = 0; i < NUM THREADS; i++) pthread join(tid[i], NULL); } /* Each thread will begin control in this function */ void *runner(void *param) { printf("I am a threadn"); pthread exit(0); }
  39. 39. Sistem Operasi - Penjadwalan CPU - Penjadwalan threadJAVA JVM: menggunakan Preemptive, Priority-Based Scheduling Algorithm FIFO digunakan jika ada beberapa thread dengan prioritas yang sama Prioritas: minimum: Thread.MIN_PRIORITY maksimum: Thread.MAX_PRIORITY normal: Thread.NORM_PRIORITY JMV menjadwal eksekusi thread ketika: ada thread yang selesai dieksekusi ada thread dengan prioritas lebih tinggi
  40. 40. Sistem Operasi - Penjadwalan CPU - Penjadwalan pada multiprosesorO UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 KONSEP 4 K RITERIA PENJADWALAN & ALGORITMA 5 P ENJADWALAN THREAD 6 P ENJADWALAN PADA MULTIPROSESOR 7 C ONTOH PADA BERBAGAI OS
  41. 41. Sistem Operasi - Penjadwalan CPU - Penjadwalan pada multiprosesor Penjadwalan lebih kompleks ketika diterapkan dalam arsitektur multiprosesor Opsi: prosesor homogen prosesor asimetrik: tidak mendukung sharing data, ada I/O device yang hanya terhubung dengan satu prosesor, program yang dikompilasi sebuah prosesor hanya bisa dijalankan di prosesor tersebut prosesor simetrik: mendukung sharing data self scheduling, tidak boleh terjadi dua prosesor menjadwal proses yang sama
  42. 42. Sistem Operasi - Penjadwalan CPU - Penjadwalan pada multiprosesorM ULTICORE Beberapa prosesor dikemas dalam satu chip Lebih cepat & konsumsi daya lebih rendah G AMBAR : Multithreaded pada multicore
  43. 43. Sistem Operasi - Penjadwalan CPU - Contoh pada berbagai OSO UTLINE 1 R EVIEW 2 OVERVIEW & O BYEKTIF 3 KONSEP 4 K RITERIA PENJADWALAN & ALGORITMA 5 P ENJADWALAN THREAD 6 P ENJADWALAN PADA MULTIPROSESOR 7 C ONTOH PADA BERBAGAI OS
  44. 44. Sistem Operasi - Penjadwalan CPU - Contoh pada berbagai OSS OLARIS G AMBAR : Solaris dispatch table
  45. 45. Sistem Operasi - Penjadwalan CPU - Contoh pada berbagai OSS OLARIS G AMBAR : Penjadwalan pada Solaris
  46. 46. Sistem Operasi - Penjadwalan CPU - Contoh pada berbagai OSS OLARIS G AMBAR : Penjadwalan Solaris2
  47. 47. Sistem Operasi - Penjadwalan CPU - Contoh pada berbagai OSW INDOWS XP G AMBAR : Prioritas Windows XP

×