Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Penjadwalan Proses Oleh : Defiana Arnaldy, M.Si 0818 0296 4763

Presentasi serupa


Presentasi berjudul: "Penjadwalan Proses Oleh : Defiana Arnaldy, M.Si 0818 0296 4763"— Transcript presentasi:

1 Penjadwalan Proses Oleh : Defiana Arnaldy, M.Si

2 OVERVIEW Konsep Dasar Penjadwalan Proses Kriteria Penjadwalan Algoritma Penjadwalan Two Queues Scheduling Multilevel Feedback Queue Scheduling Multiple-Processor Scheduling Real Time Scheduling Penjadwalan Thread Evaluasi Algoritma

3 Konsep Penjadwalan CPU Penjadualan CPU adalah basis dari multi programming sistem operasi Dengan men-switch CPU diantara proses, sistem operasi dapat membuat komputer produktif

4 Konsep Dasar Penjadwalan Tujuan dari multi programming adalah untuk mempunyai proses berjalan secara bersamaan Ketika suatu proses harus menunggu, Sistem operasi dapat saja akan menghentikan CPU dari suatu proses yang sedang dieksekusi dan memberikan sumberdaya kepada proses yang lainnya

5 Konsep Dasar Penjadwalan CPU Scheduler ▫CPU adalah salah satu sumber dari komputer yang penting yang menjadi sentral dari sentral penjadualan di sistem operasi ▫Kapanpun CPU menjadi idle, sistem operasi harus memilih salah satu proses untuk masuk kedalam antrian ready (siap) untuk dieksekusi  short term scheduler.

6 Konsep Dasar Penjadwalan CPU Scheduler ▫Keputusan untuk menjadwalkan CPU mengikuti 4 keadaan berikut: 1.Proses berpindah dari status Running  Waiting 2.Proses berpindah dari status Running  Ready 3.Proses berpindah dari status Waiting  Ready 4.Proses berhenti ▫Proses 1 dan 4  Non-preemptive ▫Proses 2 dan 3  preemtive

7 Penjadwalan Preemptive dan Non Preemptive Penjadwalan preemptive : Strategi yang mengijinkan proses yang sedang dieksekusi untuk ditangguhkan sementara digunakan oleh windows 95 ke atas Penjadwalan non preemptive : Sekali CPU telah dialokasikan untuk sebuah proses, maka tidak dapat di ganggu digunakan oleh windows 3.X

8 Konsep Dasar Penjadwalan Dispatcher ▫Suatu modul yang akan memberikan kontrol pada CPU terhadap penyeleksian proses yang dilakukan selama short-term scheduling. ▫Fungsi-fungsi yang terkandung dalam dispatcher: 1.Switching context 2.Switching ke user-mode 3.Melompat ke lokasi tertentu pada user program untuk memulai program

9 Kriteria Penjadualan Algoritma penjadualan CPU yang berbeda mempunyai property yang berbeda. Dalam memilih algoritma yang digunakan untuk situasi tertentu, kita harus memikirkan properti yang berbeda untuk algoritma yang berbeda. Banyak kriteria yang dianjurkan untuk membandingkan penjadualan CPU algoritma.

10 Kriteria Penjadualan 1.CPU utilization  kita ingin menjaga CPU sesibuk mungkin. CPU utilization akan mempunyai range dari 0% - 100%. Di sistem yang sebenarnya mempunyai range dari 40% - 90% 2.Throughput  banyak proses yang diselesaikan per unit waktu. Untuk proses yang lama mungkin satu proses per jam; untuk proses yang sebentar mungkin 10 proses perdetik. Sasaran dari penjadwalan adalah memaksimalkan jumlah proses yang dilayani per satu interval waktu.

11 Kriteria Penjadualan 3.Turnaround time  Banyaknya waktu yang diperlukan untuk mengeksekusi proses, mulai dari menunggu untuk meminta tempat di memori utama, menunggu di ready queue, eksekusi oleh CPU, dan mengerjakan I/O sampai semua proses terselesaikan. Turn around time = waktu eksekusi + waktu tunggu 4.Waiting time  Waktu yang diperlukan oleh suatu proses untuk menunggu di ready queue. Waiting time ini tidak memengaruhi eksekusi proses dan penggunaan I/O

12 Kriteria Penjadualan 5.Response time  di sistem yang interaktif, turnaround time mungkin bukan waktu yang terbaik untuk kriteria. Sering sebuah proses dapat memproduksi output diawal, dan dapat meneruskan hasil yang baru sementara hasil yang sebelumnya telah diberikan ke user. Ukuran yang lain adalah waktu dari pengiriman permintaan sampai respon yang pertama di berikan. Ini disebut response time, yaitu waktu untuk memulai memberikan respon, tetapi bukan waktu yang dipakai output untuk respon tersebut. Biasanya yang dilakukan adalah memaksimalkan CPU utilization dan throughput, dan minimalkan turnaround time, waiting time, dan response time dalam kasus tertentu kita mengambil rata-rata.

13 Beberapa istilah yg sering muncul Average Turn Around Time Rata-rata waktu total yg dibutuhkan sebuah proses dari datang sampai selesai dieksekusi oleh CPU Burst Time Waktu yg dibutuhkan utk mengeksekusi sebuah proses Average Waiting Time Rata-rata waktu yang dihabiskan proses selama berada pada status ready ( menunggu eksekusi CPU )

14 Algorithma Penjadwalan First-Come, First-Served ( FCFS ) Round Robin Schedulling Priority Schedulling Shortest-Job First Schedulling ( SJF ) Multilevel Queue Schedulling

15 First-Come, First-Served ▫Algoritma ini akan mendahulukan proses yang lebih dulu datang ▫Kelemahan algoritma ini adalah waiting time rata-rata yang cukup lama ▫Muncul istilah convoy effect, dimana proses lain menunggu satu proses besar mengembalikan sumber daya CPU ▫Algoritma ini nonpreemptive

16 Contoh Kasus Gant Chart : P1 P2 P TTT Waiting Time P1 = 0 | P2 = 24 – 1 = 23 | P3 = 27 – 2 = 25 Average Waiting Time = = Turn Around Time P1 = 24 | P2 = 27 – 1 = 26 | P3 = 30 – 2 = 28 P1 = Burst Time+ Waiting Time = = 24 P2 = = 26 Average Turn Arround Time = = 26 *waktu kedatangan menjadi urutan gant chart dan perhitungan PROSESBRUST TIMEWAKTU KEDATANGAN P1240 P231 P332

17 Round-Robin Schedulling ▫Algoritma ini menggilir proses yang ada di antrian. Proses akan mendapat jatah sebesar time quantum. ▫Jika time quantum-nya habis atau proses sudah selesai CPU akan dialokasikan ke proses berikutnya. ▫Tak ada proses yang diprioritaskan ▫Jika time quantum terlalu besar, sama saja dengan algoritma first-come first-served, jika terlalu kecil akan semakin banyak peralihan proses sehingga banyak waktu terbuang

18 Contoh Kasus Waiting Time P1 = = 6 | P2 = ( 3 – 1 wkt kdtg ) + ( ) = 5 Turn Around Time P1 = 15 | P2 = 12 – 1 = 11 PROSE S BRUST TIMEWKT KEDATANGAN P190 P261 Time Quantum 3 Gant Chart : TT P1P2P1P2P1 Average Waiting Time = = Average Turn Arround Time = =

19 Priority Schedulling ▫Algoritma ini memberikan skala prioritas kepada tiap proses ▫Proses yang mendapat prioritas terbesar akan didahulukan. ▫Algoritma ini dapat preemptive maupun nonpreeemptive ▫Kelemahan dari algoritma ini adalah proses dengan prioritas kecil tidak akan mendapat jatah CPU. Hal ini dapat diatasi dengan aging, yaitu semakin lama menunggu, prioritas semakin tinggi.

20 Contoh Kasus Priority Preemptive Waiting Time P1 = 0 + ( 10 – 1 ) = 9 | P2 = ( 1 – 1wkt kdtg) + ( 5 – 2 ) = 3 | P3 = ( 2 – 2wkt kdtg) = 0 Turn Around Time P1 = 18 | P2 = 10 – 1 = 9 | P3 = 5 – 2 = 3 PROSESBRUST TIMEWKT KEDATANGANPRIORITY P1903 P2612 P3321 Average Waiting Time = = Average Turn Arround Time = = Gant Chart : 0 TT P3 P2 P1 T 1 P2 2 P1

21 Contoh Kasus Priority Non-preemptive Waiting Time P1 = 0 | P2 = ( ) = 11 | P3 = ( ) = 7 Turn Around Time P1 = 9 | P2 = 18 – 1 = 17 | P3 = 12 – 2 = 10 PROSESBRUST TIMEWKT KEDATANGANPRIORITY P1903 P2612 P3321 Gant Chart : 0 TT P3 P2 P1 T Average Waiting Time = = Average Turn Arround Time = =

22 Shortest-Job First Schedulling ▫Proses diatur menurut panjang CPU burst berikutnya (lebih tepatnya shortest next CPU burst). ▫Waiting time rata-rata dari algoritma ini sangat kecil, sehingga layak disebut optimal ▫Kelemahan algoritma ini yaitu kita tak pernah tahu secara pasti panjang CPU burst proses berikutnya ▫Algoritma ini dapat merupakan preemptive atau nonpreemptive. Jika preemptive, jika ada proses datang dengan sisa CPU burst yang lebih kecil daripada yang sedang dieksekusi, maka proses tersebut akan menggantikan proses yang sedang dieksekusi

23 Contoh Kasus JFS Preemptive Waiting Time P1 = 0 + ( 10 – 1 ) = 9 | P2 = 0 + ( 5 – 2 ) = 3 | P3 = 0 Turn Around Time P1 = 18 | P2 = 10 – 1 = 9 | P3 = 5 – 2 = 3 PROSESBRUST TIMEWKT KEDATANGAN P190 P261 P332 Average Waiting Time = = Average Turn Arround Time = = Gant Chart : 0 TT P3 P2 P1 T 1 P2 2 P1

24 Contoh Kasus SJF Non-preemptive Waiting Time P1 = 0 | P2 = ( ) = 11 | P3 = ( ) = 7 Turn Around Time P1 = 9 | P2 = 18 – 1 = 17 | P3 = 12 – 2 = 10 PROSESBURST TIMEWKT KEDATANGAN P190 P261 P332 Gant Chart : 0 TT P3 P2 P1 T Average Waiting Time = = Average Turn Arround Time = =

25 Multilevel Queue Schedulling ▫Algoritma ini mengelompokkan antrian dalam beberapa buah antrian ▫Antrian-antrian tersebut diberi prioritas ▫Tiap antrian boleh memiliki algoritma yang berbeda ▫Semakin tinggi tingkatan prioritasnya, semakin besar jatah waktu CPU-nya

26 Latihan Soal… PROSESBRUST TIMEPRIORITYWKT KEDATANGAN P11030 P2213 P3524 Gambar Gant Chart dan Tentukan Avg. Waiting Time serta Avg. Turn Arround Time dari ketiga proses di atas dengan algoritma : a)FCFS b)SJF ( preemptive ) c)Round-Robin, q = 2 d)Round-Robin, q = 5 e)Priority ( non-preemptive )

27 Two Queues Scheduling Tujuan time sharing  menjaga proses user mendapat tanggapan baik dari CPU Salah satu cara mendapatkan tanggapan baik  tidak mengijinkan job panjang menghambat job pendek dengan cara mempunyai dua antrian Konsep dasar algoritma two Queue scheduling adalah multilevel queue.

28 Multilevel Feedback Queue Scheduling Konsep sama dengan multilevel queue Parameter yang digunakan: ▫Jumlah queue ▫Scheduling algoritma untuk tiap queue ▫Metode yang digunakan untuk memutuskan ketika upgrade suatu proses ▫Metode yang digunakan untuk memutuskan ketika menurunkan suatu proses ▫Metode yang digunakan untuk menentukan queue mana yang akan diproses ketika proses membutuhkan service

29 Multiple-Processor Scheduling Lebih kompleks  syarat processor identik Symmetric multiprocessing (SMP)  setiap processor menjadwalkan sendiri, setiap processor memeriksa ready queue dan memilih proses yang akan dieksekusi Inti penjadwalan multiprocessor: ▫Processor homogen ▫Berbagi beban ▫Asymetric multiprocessing  hanya satu processor yang mengakses struktur sistem data

30 Real Time Scheduling Sistem hard real time ▫Diperlukan untuk menyudahi suatu tugas penting dala sejumlah waktu Soft real time computing ▫Memerlukan proses penting yang menerima prioritas lebih sedikit dari sebelumnya

31 Evaluasi Algoritma Bagaimana memilih sebuah algoritma penjadwalan CPU untuk sistem-sistem tertentu. Dalam pemilihan algoritma kriteria utama : ▫Adil (fairness)  Adil adalah proses –proses diperlakukan sama yaitu mendapat jatah waktu pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami (starvation). ▫Efisiensi  Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio ) waktu sibuk pemroses

32 ▫Waktu Tanggap (response time)  Sistem Interaktif Waktu tanggap dalam sistem interaktif didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar (terminal). Waktu tanggap ini disebut terminal response time.  Sistem Realtime Pada sistem waktu nyata (real-time), waktu tanggap di definisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event respons time. Sasaran penjadwalan adalah meminimalkan waktu tanggap. ▫Turn Around Time  waktu yang dihabiskan dari ssat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem. ▫Throughput  Throughput adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu.

33 Evaluasi Algoritma Beberapa metode evaluasi ▫Pemodelan deterministik  Evaluasi analistik  menunjukkan pola ▫Pemodelan antrian ▫Simulasi ▫Implementasi

34 TERIMA KASIH


Download ppt "Penjadwalan Proses Oleh : Defiana Arnaldy, M.Si 0818 0296 4763"

Presentasi serupa


Iklan oleh Google