PENJADWALAN Sistem Operasi – TIKB1023 Munengsih Sari Bunga Politeknik Indramayu TIKB1023/Sistem Operasi/MSB
1
Tujuan Mahasiswa mengetahui komponenkomponen yang membangun sebuah komputer. Mahasiswa mengetahui bagaimana komponen-komponen itu bekerja dan saling bekerja sama untuk menmenuhi kebutuhan aplikasi dan pengguna akhir.
TIKB1023/Sistem Operasi/MSB
2
Pendahuluan Beberapa program menempati memori utama sekaligus. Program akan dijalankan bergantian. Tujuan dari penjadwalan prosesor: Memberikan prosesor pada setiap process sepanjang waktu sedemikian hingga memenuhi tujuan sistem: rata-rata respone time yang cepat, lebih banyak program dapat diselesaikan (throughput) dan efisiensi prosesor. TIKB1023/Sistem Operasi/MSB
3
Tipe Penjadwalan Prosesor 1. Apakah masih akan menerima program baru client untuk masuk ke pool process? (longterm scheduling) 2. Apakah program di pool process akan dimasukkan ke memori? (medium-term scheduling) 3. Dari program-program yang ada di memori utama, yang mana yang akan dijalankan oleh prosesor? (short-term scheduling) TIKB1023/Sistem Operasi/MSB
4
Penjadwalan & Perpindahan Status Proses (Gambar 1) Dari proses-proses yang menunda permintaan IO yang mana yang akan ditangani oleh piranti IO yang tersedia? (I/O scheduling)
TIKB1023/Sistem Operasi/MSB
5
Kriteria Penjadwalan Dari sudut pandang pengguna, algoritma dapat dipilih berdasarkan paramater berikut: Turnaround time : waktu sejak proses dikirim hingga selesai carilah algoritma yang memberikan rata-rata turnaround time terpendek. Response time : waktu sejak proses dikirim hingga mendapat respon pertama kali carilah algoritma yang memberikan rata-rata respon time terpendek TIKB1023/Sistem Operasi/MSB
6
Kriteria Penjadwalan Deadline : waktu terakhir proses harus selesai dikerjakan pilih algoritma yang memaksimalkan jumlah proses yang dapat diselesaikan sebelum atau dalam waktu deadline-nya. Predictability : apakah perilaku (hasil) algoritma dapat diprediksi pilihlah algoritma yang memberikan kepastian dijalankannya program pengguna.
TIKB1023/Sistem Operasi/MSB
7
Kriteria Penjadwalan Dari sudut pandang sistem, diinginkan efektivitas dan efisiensi penggunaan prosesor. Algoritma dapat dipilih berdasarkan parameter berikut: Throughput : jumlah proses yang dapat diselesaikan dalam satuan waktu carilah algoritma yang memberikan jumlah proses selesai terbanyak. Prosesor Utilization : berapa persen prosesor sibuk carilah algoritma yang membuat prosesor sangat sibuk. TIKB1023/Sistem Operasi/MSB
8
Kriteria Penjadwalan Fairness : apakah sistem memberlakukan setiap proses dengan ‘perhatian’ yang sama pilih algoritma yang paling adil. Enforcing priorities : jika sistem memberlakukan prioritas, apakah algoritma mendukungnya. Balancing resources : apakah algoritma memberikan resource pada proses-proses yang membutuhkan secara seimbang.
TIKB1023/Sistem Operasi/MSB
9
Algoritma Penjadwalan 1. FCFS (First Come First Served) program yang pertama kali datang pertama kali dilayani hingga selesai 2. Round Robin, mirip FCFS dilayani dalam waktu yang terbatas (time quantum/time slice), jika belum selesai diantrikan lagi. 3. SPN (Shortest Process Next) / SJF (Shortest Job First) proses dengan prediksi waktu eksekusi terpendek akan dipilih, dilayani hingga selesai. TIKB1023/Sistem Operasi/MSB
10
Algoritma Penjadwalan 4. SRT (Shortest Remaining Time), mirip SPN dilayani dalam waktu yang terbatas, jika belum selesai diantrikan lagi. 5. HRRN (Highest Response Ratio Next) proses dengan rasio respon tertinggi akan dipilih. Rasio Respon = (waktu tunggu+prediksi waktu servis)/(prediksi waktu servis) 6. Feedback/ Multilevel Feedback proses di antrian level 1 dikerjakan mirip Round Robin. Jika belum selesai diantrikan di level 2. jika belum selesai diantrikan lagi di level berikutnya sampai level terendah. Kuantum waktu dibuat sama/makin lama TIKB1023/Sistem Operasi/MSB 11 makin besar.
Contoh Kasus Tabel 1. Contoh Penjadwalan Proses
TIKB1023/Sistem Operasi/MSB
12
Urutan eksekusi proses-proses pada masing-masing algoritma (Gambar 2)
TIKB1023/Sistem Operasi/MSB
13
Urutan eksekusi proses-proses pada masing-masing algoritma (Gambar 2)
TIKB1023/Sistem Operasi/MSB
14
Urutan eksekusi proses-proses pada masing-masing algoritma (Gambar 3)
TIKB1023/Sistem Operasi/MSB
15
Mode keputusan: situasi dimana proses sedang dikerjakan dapat atau tidak dapat dihentikan di tengah jalan. Dibagi menjadi 2: Nonpreemptive : proses yang sedang dijalankan tidak dapat dihentikan di tengah jalan. Preemptive : dibutuhkan usaha yang lebih agar sistem dapat mendukung aktivitas preemptive. TIKB1023/Sistem Operasi/MSB
16
Tabel 2. Perbandingan Turnaround time beragam algoritma
TIKB1023/Sistem Operasi/MSB
17
Tabel 3. Karakteristik beragam algoritma penjadwalan
TIKB1023/Sistem Operasi/MSB
18
Penjadwalan Fair Share Proses-proses dari pengguna yang satu tidak terkait dengan proses pengguna lain. Sistem multiuser, para penguna dapat membentuk group/kelompok. Dalam PBO dimungkinkan satu program terdiri dari beberapa thread. Pengguna membutuhkan penjadwalan yang fairshare: berbagi yang lebih adil, yang besar mendapat kuantum waktu yang lebih besar dan yang kecil mendapatkan kuantum waktu yang kecil. TIKB1023/Sistem Operasi/MSB
19
Penjadwalan Multiprosesor Ada banyak prosesor dalam sistem multiprosesor. Synchronization granularity : seberapa sering sinkronisasi proses-proses dalam prosesor-prosesor itu dilakukan. Dalam komputer dual-core, prosesornya dua. Dalam multiprosesor, prosesornya banyak. Bagaimana menjalankan program-program pengguna dalam komputer multiprosesor? Bagaimana jika programnya sendiri terdiri dari beberapa thread? TIKB1023/Sistem Operasi/MSB
20
4 pendekatan yang dapat dipilih: 1. Load sharing : berbagi beban, semua program diantrikan dalam antrian, prosesor yang menganggur akan mengambil antrian terdepan dan menjalankannya. 2. Gang scheduling : sekumpulan thread yang saling terkait diantrikan pada sekumpulan prosesor pada saat yang sama, satu thread satu prosesor. 3. Dedicated prosesor assignment : pada sebuah program diberikan sejumlah prosesor sebanyak thread yang ada dalam program itu. 4. Dynamic scheduling : jumlah thread yang diaktifkan dari suatu program dapat diubah-ubah. TIKB1023/Sistem Operasi/MSB
21
Tabel 4. Synchronization Granularity dan Process
TIKB1023/Sistem Operasi/MSB
22
Pilihan pada pendekatan load sharing: 1. FCFS : thread-thread dari job yang datang diantrikan dalam antrian bersama. Prosesor menganggur akan memanggil thread terdepan. 2. Smallest number of threads first : ada antrian sesuai prioritas. Prioritas tertinggi diberikan pada program dengan jumlah thread terkecil. 3. Preemptive smallest number of threads first : mirip sebelumnya, jika sebelumnya dikerjakan sampai selesai, disini dapat dihentikan dulu untuk melayani program baru dengan jumlah thread sedikit. TIKB1023/Sistem Operasi/MSB
23
Penjadwalan Real-Time Komputasi real time adalah tipe komputasi yang kebenarannya tidak hanya ditentukan oleh hasil logic komputasi tetapi juga waktu hasil itu diperoleh. Hard real time jika tugas harus selesai dalam deadline. Soft real time jika tidak ada keharusan selesai dalam deadline. Bagaimana menjadwal program-program dalam sistem seperti ini? TIKB1023/Sistem Operasi/MSB
24
Ada beberapa pilihan: Static table-driven approaches : disini dijalankan analisis statis dari tugas-tugas mana yang antri, deadline mana yang terdekat itu yang dijadwal duluan. Program baru, jika datang pada saat jadwal dijalankan, akan diperhatikan untuk jadwal berikutnya. Static priority-driven preemptive approaches : tuags-tugas diprioritaskan berdasarkan batasan waktu mereka. Pada saat dijalankan, jika ada tugas dengan prioritas lebih tinggi, tugas yang sedang dijalankan dapat dihentikan. TIKB1023/Sistem Operasi/MSB
25
Ada beberapa pilihan: Dynamic planning-based approaches : tugas-tugas sudah direncanakan untuk dijalankan, hanya jika ada tugas baru datang dan memungkinkan untuk dijalankan, maka akan diterima untuk dijalankan. Dynamic best effort approaches : jalankan semua tugas yang datang, jika deadline tidak terpenuhi, batalkan. TIKB1023/Sistem Operasi/MSB
26
Tugas yang akan dijadwalkan harus dilengkapi dengan data: Kapan siap dijalankan (ready time) Kapan harus mulai dikerjakan (starting deadline) Kapan harus selesai (completion deadline) Berapa lama waktu eksekusi (processing time) Apa saja yang dibutuhkan (resource requirement) Tingkat prioritas (priority) Apakah ia terdiri dari sub-sub tugas (subtask structure) TIKB1023/Sistem Operasi/MSB
27
Kasus: Tabel 5. Dua Tugas Periodik pada sistem real-time
TIKB1023/Sistem Operasi/MSB
28
Penjadwalan tugas real-time
TIKB1023/Sistem Operasi/MSB
29
Kasus lain yang mungkin terjadi adalah tugas-tugas datang dalam jangka waktu yang tidak tentu (aperiodic). Penjadwalan dapat dilakukan berdasarkan kapan tugas itu harus mulai dikerjakan, atau kapan tugas itu harus selesai.
TIKB1023/Sistem Operasi/MSB
30
Soal Latihan 1.
2. 3. 4.
5.
Tidak hanya menjadwal eksekusi program di memori utama yang ditangani dalam penjadwalan prosesor. Sebutkan yang lain! Apa beda turnaroundtime dengan response time? Apa beda penjadwalan preemptive dengan nonpreemptive? Program dijalankan dari yang pertama datang, tidak dikerjakan sampai selesai, tetapi hanya sebatas kuantum waktu. Apa nama penjadwalan ini? Program dijalankan dari yang memiliki prediksi waktu eksekusi terpendek, tidak dikerjakan sampai selesai, tetapi hanya sebatas kuantum waktu. Apa nama penjadwalan ini?
TIKB1023/Sistem Operasi/MSB
31
Soal Latihan 6. Pemrosesan paralel atau multitasking dalam suatu aplikasi tunggal, pada ukuran grain termasuk dalam level... 7. Yang mirip dengan penjadwalan Shortest Process Next pada versi load sharing adalah... 8. Apa beda tugas periodic dan aperiodic dalam sistem real time? TIKB1023/Sistem Operasi/MSB
32
Soal Latihan 9. Perhatikan kumpulan proses berikut:
lakukan analisa seperti pada gambar 2 dan tabel 3. TIKB1023/Sistem Operasi/MSB
33
Soal Latihan 10. Tunjukkan penjadwalan tugas real time berikut, lakukan seperti gambar 3.
TIKB1023/Sistem Operasi/MSB
34