Keputusan CPU Scheduling mungkin terjadi ketika sebuah proses:
- Switch dari running menjadi waiting state.
- Switch dari running menjadi ready state.
- Switch dari waiting menjadi ready.
- Ketika terjadi terminasi.
Modul dispatcher memberikan kontrol atas CPU ke proses yang dipilih oleh short-term scheduler;hal ini berkaitan dengan:
- Switching context.
- Switching to user mode.
- Melompat ke lokasi yang tepat dalam program pengguna untuk me-restart program.
Scheduling juga mempunyai opimization criteria :
- Penggunaan CPU secara maksimal.
- Throughput Maksimal.
- Waktu pemakaian yang maksimal.
- Waktu tunggu yang minimum.
- Waktu respon yang minimum.
Scheduling mempunya beberapa tujuan, yaitu:
- All systems
- Memberikan setiap proses pembagian CPU yang adil.
- Melihat bahwa ada kebijakan yang dinyatakan dilakukan.
- Menjaga semua bagian dari system yang sibuk. - Batch sytems
- Maksimalkan pekerjaan per jam.
- Meminimalkan waktu antara pengajuan dan terminasi.
- Menjaga CPU sibuk sepanjang waktu. - Interactive systems
- Menanggapi permintaan cepat.
- Memenuhi harapan pengguna. - Real-time systems
- Mencegah hilangnya data.
- Menghindari penurunan kualitas dalam sistem multimedia.
Beberapa cara atau algoritma yang digunakan dalam scheduling :
- First-Come First-Serve
- Shortest Job First
- Interactive Scheduling Alogrithm
- Round-robin scheduling- Priority scheduling
- Multiple queues
- Shortest process next
- Guaranteed scheduling
- Lottery scheduling
- Fair-share scheduling
Tugas dari Buku Textbook Sisop halaman 427, bagian 9.2 :
9.2 Consider the following set of processes:
Process Name | Arrival Time | Processing Time |
A | 0 | 3 |
B | 1 | 5 |
C | 3 | 2 |
D | 9 | 5 |
E | 12 | 5 |
Perform the same analysis as depicted in Table 9.5 and Figure 9.5 for this set.
Jawab :
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
EmoticonEmoticon