My Menu

Tugas Sistem Operasi Kelompok 1 (Akmal Farant Faiz ; 2KA14)


Round Robin
Algoritma ini menggilir proses yang ada di antrian. Proses akan mendapat jatah sebesar time quantum. Jika time quantum-nya habis atau proses sudah selesai, CPU akan dialokasikan ke proses berikutnya. Tentu proses ini cukup adil karena tak ada proses yang diprioritaskan, semua proses mendapat jatah waktu yang sama dari CPU yaitu (1/n), dan tak akan menunggu lebih lama dari (n-1)q dengan q adalah lama 1 quantum.
Algoritma ini sepenuhnya bergantung besarnya time quantum. Jika terlalu besar, algoritma ini akan sama saja dengan algoritma first come first served. Jika terlalu kecil, akan semakin banyak peralihan proses sehingga banyak waktu terbuang.
Permasalahan utama pada Round Robin adalah menentukan besarnya time quantum. Jika time quantum yang ditentukan terlalu kecil, maka sebagian besar proses tidak akan selesai dalam 1 quantum. Hal ini tidak baik karena akan terjadi banyak switch, padahal CPU memerlukan waktu untuk beralih dari suatu proses ke proses lain (disebut dengan context switches time). Sebaliknya, jika time quantum terlalu besar, algoritma Round Robin akan berjalan seperti algoritma first come first served. Time quantum yang ideal adalah jika 80% dari total proses memiliki CPU burst time yang lebih kecil dari 1 time quantum.
Gambar 14.4. Urutan Kejadian Algoritma Round Robin

Gambar 14.5. Penggunaan Waktu Quantum

 

Contoh Perhitungan Round Robin Scheduling


Dari tabel di atas, tentukan average waiting time dengan menggunakan prinsip FCFS!
Saya jelaskan sedikit disini, Arrival Times adalah waktu ketika proses berada di memori utama, sebelum proses tersebut mulai dikerjakan oleh CPU. Burst Times adalah waktu yang dibutuhkan untuk menyelesaikan keseluruhan proses.

Hal pertama yang harus dilakukan yaitu menggambarkan kronologi eksekusi proses di atas dengan Gantt Chart. Berikut gambarnya:
Penjelasan:
Mengenai penjelasan dari Gantt Chart di atas akan saya bahas satu per satu di bagian ini. Ketika CPU tidak mengerjakan sesuatu atau dalam posisi 0 datang sebuah proses yang dinamakan P1 yang membutuhkan waktu penyelesaian yang berjumlah 8. Karena FCFS ini melakukan proses menurut kapan proses itu datang atau yang bisa kita katakan sebagai proses antrian, maka proses selanjutnya akan di kerjakan setelah proses yang berada di depannya selesai untuk di kerjakan. Tadi proses P1 selesai di kerjakan di 8, sementara itu ada P2,P3,dan P4 yang sedang menunggu untuk di kerjakan selanjutnya.
Ketika  P1 selesai dikerjakan di 8, maka akan di lanjutkan dengan pengerjaan P2 yang memiliki waktu pengerjaan sebesar 7, sehingga proses P2 akan selesai di kerjakan pada posisi 15. P1 dan P2 sudah selesai pengerjaannya, tinggal menunggu pengerjaan daripada P3 dan P4. Dan begitupun selanjutnya sampai P4 selesai untuk di proses. Saya ingatkan di sini, FCFS dalam prosesnya tidak mengizinkan sebuah penyelaan dari segi apapun, walaupun proses yang menunggu memiliki prioritas yang lebih tinggi.
Hal kedua yang dilakukan untuk menghitung average waiting time yaitu dengan menghitung berapa lama waktu tunggu yang dihasilkan oleh proses tersebut. Untuk menhitungnya dapat dilakukan dengan cara mengurangkan waktu eksekusi dengan waktu datang.


Jadi lama waktu tunggu dari keseluruhan proses tersebut berjumlah 28.
Hal ketiga dan juga hal yang terakhir yang harus dilakukan yaitu menghitung Average Waiting Time dari semua proses tersebut, yaitu dengan cara sebagai berikut:

No comments:

Post a Comment