SisOp Session 9 & Session 10
*Session 9
Scheduling
Process Behaviour
- Process-bound
- I/O bound
CPU scheduler
- Memilih dari antara proses – proses di memori yang siap untuk dieksekusi dan alokasikan CPU ke salah satu dari proses tersebut.
- Keputusan penjadawalan CPU dapat terjadi ketika proses :
- Perubahan dari running state ke waiting state
- Perubahan dari running state ke ready state
- Perubahan dari waiting state ke ready state
- Terminates
- Penjadwalan pada 1 – 4 itu bersifat nonpreemptive.
- Semua penjadwalan yang lainnya bersifat preemptive.
Types of scheduler
- Long-term scheduling : Keputusan untuk menambah proses yang akan dieksekusi.
- Medium-term scheduling : keputusan untuk menambah sejumlah proses yang hanya sebagian atau penuh di memori penuh.
- Short-term scheduling : keputusan penjadwalan sesuai proses yang tersedia akan dieksekusi prosessor.
- I/O scheduling : Keputusan untuk proses I/O yang tertunda akan ditangani oleh perangkat I/O yang tersedia.
Scheduling and Process state transitions
Long Term Scheduler
* Menentukan program mana yang akan dimasukkan ke system untuk diproses
* Mengontrol derajat multiprogramming :
- Semakin banyak proses yang dibuat maka semakin kecil persentase waktu dari tiap proses yang akan dieksekusi.
- Dapat membatasi pelayanan kepada set saat proses.
Medium Term Scheduler
* Bagian dari fungsi swapping
* Swapping-keputusan didasarkan pada kebutuhan untuk mengelola tingkat multiprogramming :
- Mempertimbangkan memori yang dibutuhkan
Short Term Scheduler
* Dikenal sebagai dispatcher
* Paling sering mengeksekusi
* Terjadi ketika ada event yang memungkinkan terjadinya pemblokiran proses saat ini atau yang dapat memberikan kesempatan untuk mendahului proses yang sedang berjalan dalam mendukung lain
Example : Clock interrupts, I/O interrupts, Operating system calls, Signals (e.g., semaphores)
Short Term Scheduling criteria
- User-oriented criteria
- Berhubungan dengan perilaku sistem yang dialami oleh user (waktu respon).
- Penting pada hampir semua sistem.
- System-oriented criteria
- Fokus pada efektifitas dan efisiensi dari prosessor.
- Secara umum adalah bagian penting yang minor dari single-user systems.
Dispatcher
- Modul Dispatcher memberi control pada CPU ke proses yang dipilih dari short-term scheduler; melibatkan :
– Mengubah konteks
– Mengubah ke mode user
– Lompat ke lokasi yang layak di program user untuk merestart program tersebut.
- Dispatch latency : waktu yang dibutuhkan dispatcher untuk menghrntikan sebuah proses dan memulai proses lain.
Scheduling Criteria
- CPU utilization : menjaga CPU sesibuk mungkin
- Throughput : pemrosesan dari eksekusi yang komplit per time unit
- Turnaround time : Jumlah dari waktu yang dibutuhkan untuk mengeksekusi proses tertentu
- Waiting time : Jumlah waktu menunggu sebuah proses untuk mencapai tahap ready
- Response time : jumlah waktu yang diperlukan untuk sebuah request yang diberikan hingga menerima respon (bukan output).
Optimization Criteria
- Max CPU utilization
- Max throughput
- Min turnaround time
- Min waiting time
- Min response time
Goals of scheduling
Batch Scheduling algorithm
First-Come First-Serve : Proses yang dikerjakan di CPU dengan urutan sesuai dengan yang diminta.
pros : Mudah dipahami dan mudah deprogram
cons : Pekerjaan yang singkat mungkin akan menunggu lama hinggan gilirannya diproses
Shortest Job First : Menggunakan panjang dar CPU burst untuk mengatur jadwal dengan waktu tersingkat
Punya 2 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, maka akan mendahului. Skema ini dikenal sebagai Shortest-Remaining-Time-First (SRTF).
*Session 10
Scheduling
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
Round Robin Scheduling
- Penjadwalan Round Robin (RR) dilakukan secara bergiliran berdasarkan antrian, prosessor mengerjakan sesaat setiap proses berturut-turut. Proses yang telah dieksekusi prosessor dan belum selesai akan kembali ke antrian terakhir (FIFO).
- Semua proses dianggap penting dan diberi sejumlah waktu proses yang disebut quantum atau time-slice dimana prose itu berjalan.
– Konsep dasar algoritma ini menggunakan time sharing
– Pada dasarnya, prinsip hampir sama dengan FCFS, tapi bersifat preemptive
– proses akan dibatasi waktu prosesnya, yang disebut quantum time
Effect of Size of Preemption Time Quantum
Virtual Round Robin
Shortest Process Next
- Kebijakan nonpreemptive dimana proses dengan waktu pemrosesan terpendek diharapkan dipilih berikutnya.
- Sebuah proses singkat akan melompat ke kepala antrian
- Jika perkiraan programmer secara substansial di bawah waktu berjalan yang sebenarnya, sistem dapat membatalkan pekerjaan
Shortest Remaining Time Next
- Versi preemptive dari SPN
- Scheduler selalu memilih proses yang memiliki waktu proses yang tersisa terpendek diharapkan
Highest Respone Ratio Next
- Memilih proses berikutnya dengan rasio terbesar
- Menarik karena menyumbang usia proses
Feedback Scheduling
Feedback Performance
Performance Comparison
Interactive Scheduling Algorithm
Guaranteed Scheduling
- Pada sistem single user dengan proses n berjalan, masing-masing harus mendapatkan 1 / n dari siklus CPU
- Rasio 0,5 berarti bahwa proses hanya punya setengah dari apa itu harus memiliki
- Rasio 2,0 berarti bahwa proses telah memiliki dua kali lebih banyak seperti yang berhak
Fair Share Scheduling
- Keputusan penjadwalan berdasarkan set proses
- Setiap pengguna diberikan bagian dari prosesor
- Tujuannya adalah untuk memantau penggunaan untuk memberikan sumber daya yang lebih sedikit untuk pengguna yang sumber dayanya lebih telah memiliki.
Comparison of Scheduling algorithms
Policy vs Mechanism
- Memisahkan apa yang diperbolehkan untuk dilakukan dengan bagaimana hal itu dilakukan
– Proses mengetahui thread children mana yang penting dan perlu prioritas
- Algoritma penjadwalan parameterized
– mekanisme di kernel
- Parameter diisi oleh proses pengguna
– kebijakan yang ditetapkan oleh proses pengguna
Tugas dari buku halaman 427 nomor 9.2
Jawaban :
1. 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
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
3. 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
Thanks…