Sistem Operasi (Pertemuan 5)
Session 9
CPU Scheduling
- Memilih dari antara proses di memori yang siap untuk mengeksekusi, dan mengalokasikan CPU untuk salah satu dari mereka.
- CPU Scheduling dapat terjadi ketika proses:
- Saklar dari running ke keadaan waiting.
- Switch dari running ke keadaan ready.
- Switch dari waiting ke ready.
- Crimping.
- Scheduling di bawah 1 dan 4 adalah non preemptive.
- Semua scheduling lainnya adalah preemptive.
Long Term Scheduler
- Menentukan program mana yang mengaku sistem untuk pengolahan.
- Mengontrol derajat multiprogramming
- Semakin banyak proses, semakin kecil persentase waktu bahwa setiap proses dapat dieksekusi.
- Dapat membatasi, gunanya untuk memberikan pelayanan yang memuaskan kepada set saat proses.
Medium Term Scheduler
- Bagian dari fungsi swapping.
- Keputusan swapping didasarkan pada kebutuhan untuk mengelola tingkat multiprogramming
- mempertimbangkan kebutuhan memori dari proses swapped-out.
Short Term Scheduler
- Dikenal sebagai
- Paling sering mengeksekusi
- Membuat keputusan fine-grained dari proses yang mengeksekusi berikutnya.
- Dipanggil ketika sebuah peristiwa terjadi, yang dapat menyebabkan pemblokiran proses saat ini atau yang dapat memberikan kesempatan untuk mendahului proses yang sedang berjalan dengan membantu yang lain.
Scheduling Criteria
- Utilisasi CPU – menjaga CPU sesibuk mungkin.
- Throughput – # dari proses yang menyelesaikan eksekusi per satuan waktu.
- Perputaran waktu – jumlah waktu untuk mengeksekusi proses tertentu.
- Waktu menunggu – jumlah waktu proses yang telah menunggu dalam antrian.
- Waktu respon – jumlah waktu yang dibutuhkan dari saat permintaan disampaikan sampai tanggapan pertama diproduksi, bukan output (untuk lingkungan time-sharing).
Optimization Criteria
- Max CPU utilization.
- Max throughput.
- Min turnaround time.
- Min waiting time.
- Min response time.
Batch Scheduling Algorithm
- First Come First Serve
- Mudah dimengerti dan deprogram.
- Pekerjaan yang mudah akan menunggu lama, padahal bisa dikerjakan dengan cepat.
- Shortest Job First
- Penggabungan setiap proses panjang CPU burst berikutnya. Menggunakan panjangnya ini untuk menjadwalkan proses dengan waktu terpendek.
- Dua skema:
- nonpreemptive – sekali CPU diberikan ke proses itu tidak dapat mendahului sampai selesai CPU burst.
- preemptive – jika proses baru datang dengan panjang CPU burst lebih kecil dibandingkan saat proses eksekusi saat tersisa, mendahului. Skema ini dikenal sebagai Shortest-Remaining-Time-First (SRTF).
- SJF optimal – memberikan waktu tunggu rata-rata minimum untuk satu set proses.
Session 10
Interactive Scheduling Algorithm
- Round-robin scheduling
- Virtual Round Robin scheduling
- Shortest rocess Next
- Shortest Remaining Time Next
- Highest Response Ratio Next
- Feedback Scheduling
- Guaranteed Scheduling
- Fair Share Scheduling
- Real Time Scheduling
Jawab:
- First-Come First-Serve
Waiting time for A=0, B=2, C=5, D=1, E=3
Average Waiting Time = (0+2+5+1+3)/5 = 2, 2
- Shortest Job First – Non Preemptive
Waiting time for A=0, B=4, C=0, D=1, E=3
Average Waiting Time = (0+4+0+1+3)/5 = 1, 6
- Shortest Job First – Preemptive
Waiting time for A=0, B=4, C=0, D=1, E=3
Average Waiting Time = (0+4+0+1+3)/5 = 1, 6
Jason Rahardja
1701325271/BX01
www.binusmaya.binus.ac.id
www.skyconnectiva.com