Algoritma FIFO (First In First Out)
Algoritma ini adalah algoritma yang paling sederhana. Prinsip dari algoritma ini adalah seperti prinsip antrian (antrian tak berprioritas), halaman yang masuk lebih dulu maka akan keluar lebih dulu juga. Algoritma ini menggunakan struktur data stack. Apabila tidak ada frame kosong saat terjadi page fault, maka korban yang dipilih adalah frame yang berada di stack paling bawah, yaitu halaman yang berada paling lama berada di memori.Pada awalnya, algoritma ini dianggap cukup mengatasi masalah tentang pergantian halaman, sampai pada tahun 70-an, Belady menemukan keanehan pada algoritma ini yang dikenal kemudian dengan anomali Belady. Anomali Belady adalah keadaan di mana page fault rate meningkat seiring dengan pertambahan jumlah frame , seperti yang bisa dilihat pada contoh di bawah ini.
SJF
(Shortest Job First)
Pada
algoritma ini setiap proses yang ada di ready queue akan dieksekusi
berdasarkan burst time terkecil. Hal ini mengakibatkan waiting time
yang pendek untuk setiap proses dan karena hal tersebut maka waiting time
rata-ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini
adalah algoritma yang optimal.
|
Process
|
Arrival
Time
|
Burst
Time
|
|
P1
|
0.0
|
7
|
|
P2
|
2.0
|
4
|
|
P3
|
4.0
|
1
|
|
P4
|
5.0
|
4
|
Contoh: Ada 4 buah proses yang
datang berurutan yaitu P1 dengan arrival time pada 0.0 ms dan burst
time 7 ms, P2 dengan arrival time pada 2.0 ms dan burst time
4 ms, P3 dengan arrival time pada 4.0 ms dan burst time 1 ms, P4
dengan arrival time pada 5.0 ms dan burst time 4 ms. Hitunglah waiting
time rata-rata dan turnaround time dari keempat proses tersebut
dengan mengunakan algoritma SJF.
Average waiting time rata-rata untuk ketiga proses tersebut adalah sebesar (0
+6+3+7)/4=4 ms.
Average waiting time rata-rata untuk ketiga prses tersebut adalah sebesar
(9+1+0+2)/4=3 ms.
Penjadwalan
Round Robin (RR)
Posted by Ari Muzakir on
November 6th, 2012
Konsep dasar dari algoritma ini
adalah dengan menggunakan time-sharing. Pada dasarnya algoritma ini sama dengan
FCFS, hanya saja bersifat preemptive. Setiap proses mendapatkan waktu CPU yang
disebut dengan waktu quantum (quantum time) untuk membatasi waktu proses,
biasanya 1-100 milidetik. Setelah waktu habis, proses ditunda dan ditambahkan
pada ready queue.
Jika suatu proses memiliki CPU burst lebih kecil dibandingkan dengan waktu quantum, maka proses tersebut akan melepaskan CPU jika telah selesai bekerja, sehingga CPU dapat segera digunakan oleh proses selanjutnya. Sebaliknya, jika suatu proses memiliki CPU burst yang lebih besar dibandingkan dengan waktu quantum, maka proses tersebut akan dihentikan sementara jika sudah mencapai waktu quantum, dan selanjutnya mengantri kembali pada posisi ekor dari ready queue, CPU kemudian menjalankan proses berikutnya.
Jika suatu proses memiliki CPU burst lebih kecil dibandingkan dengan waktu quantum, maka proses tersebut akan melepaskan CPU jika telah selesai bekerja, sehingga CPU dapat segera digunakan oleh proses selanjutnya. Sebaliknya, jika suatu proses memiliki CPU burst yang lebih besar dibandingkan dengan waktu quantum, maka proses tersebut akan dihentikan sementara jika sudah mencapai waktu quantum, dan selanjutnya mengantri kembali pada posisi ekor dari ready queue, CPU kemudian menjalankan proses berikutnya.
Round-Robin dengan quantum = 1
No comments:
Post a Comment