Pertemuan 5 Penjadwalan Proses Matakuliah : Sistem Operasi Pertemuan 5 Penjadwalan Proses
Learning Outcomes Pada akhir pertemuan ini , diharapkan mahasiswa akan mampu : Mendemonstrasikan penjadwalan proses pada sistem interaktif, real time, dan thread
Outline Materi Tipe penjadwalan proses dari prosesor Algoritma dari penjadwalan: Round Robin Scheduling Penjadwalan dengan prioritas Multiple Queues Shortest process next Guaranteed Scheduling Lottery Scheduling Fair-share Scheduling
Type Of Processor Scheduling Long-Term scheduling Biasanya dilakukan saat proses baru dibuat/dimulai Medium-Term scheduling Biasanya dilakukan pada proses yang sebagian atau sepenuhnya resourcenya ada pada main memory Short-Term scheduling biasanya dilakukan pada proses yang sudah pada posisi ready untuk dijalankan oleh prosesor I/O scheduling Biasanya dilakukan pada proses yang sedang ditunda/pending akibat permintaan I/O
Type Of Processor Scheduling
Algoritma dari Penjadwalan Proses Algoritma dari sort-term scheduling mempunyai kriteria agar bisa dibandingkan antar algoritma yaitu: CPU utilization , pemanfaatan cpu harus maksimal yng dinyatakan dalam persentase 0-100% Througput, banyaknya proses yang dapat diseleseikan dalam satuan waktu. Turnaround time, Banyaknya waktu yang diperlukan untuk mengeksekusi proses, dari menunggu meminta tempat di main memory hingga dieksekusi oleh CPU Waiting Time, Waktu yang diperlukan proses untuk menunggu di ready queue. Response time, Waktu yang dibutuhkan proses dari permintaan untuk dilayani hingga ada respon pertama yang menanggapi permintaan tersebut Fairneness, meyakinkan bahwa tiap-tiap proses akan mendapatkan waktu penggunaan cpu yang adil. Unruk selanjutnya akan menggunakan Average waiting time (AWT) untuk membandingkan antar algoritma.
Algoritma dari Penjadwalan Proses Algoritma terdiri dari dua decision mode : Nonpreemptive jika ada proses yang berjalan akan terus dieksekusi oleh cpu sampai terminated atau di block / menunggu proses I/O yang diminta oleh proses tersebut. Preemptive Jika ada proses yang sedang berjalan kemudian di interupt maka akan dipindahkan ke status ready sehingga dapat melakukan proses yang lain.
First Come First served scheduling (FCFS) Proses yang pertama kali meminta jatah waktu akan dilayani terlebih dahulu. Misal ada 3 proses: P1 , P2, dan P3 Proses Burst time (ms) P1 24 P2 3 P3 P1 P2 p3 24 27 30 Maka AWT= (0+24+27) /3 = 17 ms
Shortest Job First Scheduler (SJF) Proses yang memiliki CPU burst paling kecil dilayani terlebih dahulu. Misal ada 3 proses: P1, P2, dan P3 Proses Burst time (ms) P1 24 P2 3 P3 P2 P3 P1 3 6 30 Maka AWT= (0+3+6) /3 = 3 ms
Shortest Job First Scheduler (SJF) Algoritma ini sulit di realisasikan karena sulit diprediksi burst time proses berikutnya. Namun dapat diprediksi dengan Rumus: aT0 + (1a)T1 dimana T0 Waktu proses yang sedang berjalan T1 Waktu proses berikutnya … dengan a = ½, Estimates: T0 , T0/2+ T1/2 , T0/4+ T1/4+ T2/2, T0/8+ T1/8+ T2/4+ T3/2
Priority Scheduling Proses dengan prioritas tertinggi di run terlebih dulu Untuk mencegah proses dengan prioritas tertinggi di run tanpa batas, maka digunakan clock-interrupt untuk menurunkan prioritas proses yang sedang run. Proses Burst time (ms) Priority P1 24 2 P2 3 1 P3 P2 P1 P3 3 27 30 Maka AWT= (0+3+27) /3 = 10 ms
Penjadwalan Round-Robin Setiap proses diberi interval waktu, disebut quantum, waktu untuk run. Pertukaran penggunaan CPU dari satu proses ke proses berikutnya membutuhkan waktu untuk tugas administrasi, yaitu : saving dan loading registers dan memory map, updating beberapa tabel dan list, dll. Proses pertukaran ini disebut process-switch atau context-switch.
Penjadwalan Round-Robin
Penjadwalan Round-Robin Jika Quantum time 4 ms, maka Proses Burst time (ms) P1 8 P2 3 P3 P1 P2 P3 4 7 10 14 Maka AWT= (6+4+7) /3 = 5,667 ms
Multiple Queue Sceduling Yaitu membagi beberapa prose s dalam group-group antrian Tiap-tiap group antrian dikerjakan dengan algoritma yang berbeda Dan jika proses tersebut sudah berada pada group antrian tertentu maka tidak akan bisa berpindah group antrian. Tiap group antrian memiliki prioritas.
Multilevel Feedback Queue Scheduling Merupakan pengembangan dari Multilevel Queue Perbedaanya adalah pada multilevel feedback queue dapat berpindah group antrian Jika suatu proses akan menggunakan CPU dlm waktu lama maka proses tersebut dapat berpindah ke group antrian yang lebih rendah skala prioritasnya Sebaliknya jika proses menggunakan CPU dlm waktu yang lebih singkat dapat berpindah ke group antrian yang prioritasnya lebih tinggi
Guaranted Sceduling Jika ada n user setiap user seharusnya 1/n * CPU Time Ratio = (waktu yg dipakai/waktu seharusnya) Dipilih Ratio yang paling kecil
Lottery Scheduling Simpler implementation Give process lottery tickets for various system resources, such as CPU time A lottery ticket is chosen at random, but the process holding more tickets gets better chance to be chosen
Fair-Share Scheduling Contoh: 2 user (CPU Time : @ 50 %), Jika user1 mempunyai proses A,B,C,D dan user2 mempunyai proses E, urutan sbb: A,E,B,E,C,E,D,E Jika user 1 mempunyai cpu time 2kali user 2 maka urutannya berubah menjadi : A,B,E,C,D,E,A,B,E,C,D,E
Quis Diketahui 4 buah proses P1,P2,P3 , dan P4 dengan burst time sebagai berikut Proses Burst Time (ms) P1 6 P2 8 P3 10 P4 5 Gambar Gant Chart dan hitunglah AWT! FCFS (First Come First Serve) SJF (Shortest Job First Sceduler) Round-Robin Scheduling (QT=4 ms)