Algoritma Penjadwalan Pada Sistem Operasi
Nama Mata Kuliah : Network Operating System
Nama Dosen :
I Putu Agus Eka Pratama, S.T., M.T
Jurusan :
Teknologi Informasi
Fakultas :
Teknik
Universitas :
Universitas Udayana
Pertemuan 4
Mimin balik lagi
dan hari ini mimin bakal ngelanjutin materi Network Operating System yang sudah
mimin post sebelumnya. Materi yang akan mimin lanjutkan sekarang adalah
algoritma scheduling pada sistem operasi. Penasaran bagaimana sosoknya,
cekidot...
Shortest Process Next (SPN)
Shortest Process
Next atau juga dikenal dengan Shortest Job First dan Shortest Job Next adalah
algoritma penjadwalan pada sistem operasi yang mengutamakan untuk mengeksekusi
proses yang memiliki waktu eksekusi yang pendek. Algoritma ini memiliki
keuntungan dimana kesederhanaannya dan meminimalkan rata-rata setiap proses
harus menunggu sampai pelaksanaannya selesai. Namun algoritma ini memiliki
kelemahan dimana akan menyebabkan adanya starvation yang artinya proses dengan
waktu eksekusi terus ditambahkan kedalam antrian proses sehingga proses dengan
waktu eksekusi yang lama tidak kunjung di proses. Kekurangan lainnya yang
dimiliki adalah algoritma ini perlu menentukan total waktu eksekusi suatu
proses sementara sangat sulit untuk memprediksi waktu eksekusi secara sempurna,
namun terdapat beberapa metode yang dapat digunakan untuk memperkirakan waktu
eksekusi tersebut seperti weighted average of previous execution time.
Sebagai contoh
algoritma ini, perhatikan deretan proses berikut dengan waktu eksekusinya dalam
milidetik
Proses Waktu eksekusi
P1 6
P2 8
P3 7
P4 3
Maka berdasarkan
algoritma tersebut didapatkan penjadwalan sebagai berikut.
Proses yang pertama
kali akan dijalankan adalah P4 karena memiliki waktu eksekusi yang pendek yaitu
3 milidetik. Waktu tunggunya adalah 3 milidetik untuk proses P1 begitu juga
seterusnya hingga P2 yang memiliki waktu tunggu hingga 16 milidetik.
Multilevel Feedback Queue
Multilevel Feedback Queue adalah algoritma
yang memungkinkan sebuah proses dipindahkan ke queue yang lain dengan perbedaan
prioritas queue tersebut. Suatu proses yang menyita CPU terlalu lama akan
dipindahkan ke queue yang memiliki prioritas yang lebih rendah. Demikian pula
dengan proses yang telalu lama berapa pada queue yang prioritasnya rendah akan
dipindahkan ke queue yang prioritasnya lebih tinggi (menganggulangi adanya
starvation).
Sebagai contoh terdapat multilevel feedback
queue scheduler yang memiliki tiga buah queue dengan nomor dari 0 sampai 2.
Pertama-tama scheduler menjankan semua proses ke dalam queue 0. Proses pada
queue 1 akan dijalankan ketika queue 0 sudah kosong begitu juga dengan queue 2
yang akan dijalankan ketika queue 0 dan queue 1 kosong.
Sebuah proses memasuki queue 0. Proses pada
queue 0 diberikan waktu quantum selama 8 milidetik. Jika proses tersebut tidak
selesai dalam waktu yang diberikan pada queue tersebut maka proses tersebut
akan dipindahkan ke queue yang lebih rendah prioritasnya yaitu queue 1. Jika
queue 0 sudah kosong, maka proses yang ada pada bagian depan queue 1 akan
dijalankan dengan waktu quantum selama 16 milidetik. Jika proses belum juga
selesai maka akan dipindahkan ke queue 2. Proses pada queue 2 akan dijalankan
dengan menggunakan algoritma FCFS (First Come First Serve) namun akan dijalankan
ketika queue 0 dan queue 1 telah kosong.
Highest Response Ratio Next (HRRN)
Highest Response Ratio Next adalah algoritma
panjadwalan proses pada sistem operasi. Dengan algoritma ini akan dipilih
proses yang memiliki ratio Responds Time terbesar dengan menggunakan rumus
Responds Ratio = (w + s)/s dengan w adalah waktu tunggu proses dan s adalah
burst time proses. Sebagai contoh terdapat lima proses dengan waktu kedatangan
dan burst time pada tabel berikut.
Pada waktu/t = 0 terdapat hanya satu proses
yang ada yaitu A, jadi proses A langsung dikerjakan. Sama seperti proses A,
pada t = 3 terdapat satu proses yaitu proses B yang kemudian langsung diproses.
Pada t = 9 terdapat tiga proses yang harus dikerjakan yaitu C, D dan E. Wktu
tunggu dari masing-masing proses adalah c = 9-4 = 5, D = 9-6 = 3, dan E = 9-8 =
1. Berdasarkan waktu tunggu tersebut didapatkan respond rationya yaitu
masing-masing adalah C = 2.25 atau (5 + 4)/4, D = 1.6 atau (3 + 5)/5 dan E =
1.5 atau (1 + 2)/2. Dengan respond ratio tersebut didapat C adalah proses yang
dipilih karena memiliki respond time terbesar. Pada t = 13 terdapat dua proses
tersisa yaitu D dan E. Waktu tunggu proses D dan E saat ini adalah D = 13-6 = 7
dan E = 13-8 = 5. Dari waktu tunggu itu dapat dicari ratio respondnya yaitu D =
7+5/5 yaitu 2.4 dan E = 5+2/2 yaitu 3.5 maka dipilih E sebagai proses yang akan
dikerjakan. Setelah E selesai maka proses D yang langsung dikerjakan.
Shortest Remaining Time
Algoritma Shortest Remaining Time merupakan
bagian dari algoritma Short Job First tapi algoritma ini dapat menunda proses
yang telah berjalan untuk menjalankan proses yang memiliki waktu tunggu lebih
cepat. Sebagai contoh perhatikan proses berikut pada gambar ini.
Dari gambar tersebut dapat dibuat queue dari proses tersebut
Proses P1 datang pada pertama kali maka
langsung masuk ke queue dan dijalankan. Namun pada t = 1 pada saat P1
dijalankan, P2 datang dengan waktu tunggu lebih kecil dibandingkan P1 yaitu 4
milidetik sementara P1 baru berjalan 1 milidetik dan tersisa 7 milidetik.
Sehingga proses P1 ditunda. Begitu juga seterusnya.
Kaitan Penjadwalan dengan Network Operating System
Penjadwalan sangat berperan penting dalam
NOS. Peran penting penjadwalan pada NOS antara lain
Membantu penjadwalan dari semua service yang
ada di dalam server
Memanfaatkan cron untuk mendapatkan
penjadwalan terhadap suatu proses
Membantu sistem administrator didalam
memperoleh data dan informasi mengenai sistem pada server seperti user mana,
kapan dan berapa resource yang digunakan.
Praktik 1 : Melihat Log Pada Sistem Operasi Linux
Pada praktik ini akan melakukan identifikasi
pada file log yang ada pada sistem operasi linux. File log berisi kegiatan pada
saja yang dilakukan pada sistem. Untuk melihat file log pada linux digunakan
perintah nano var/log/syslog kemudian akan muncul log-log yang tercatat.
Buka file sysloh yang berada pada directory
/var/log/syslog dengan menggunakan nano. File tersebut berisi log pada sistem
operasi yang memberikan info waktu proses, user yang melakukan proses dan
proses apa yang dijalankan.gambar berikut adalah hasilnya
Praktik 2: Melihat Semua File Log
Pada directory /var/log terdapat beberapa file log
sistem oprasi linux. Gunakan perintah ls -lah untuk melihat info file tersebut.
Komentar
Posting Komentar