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

Postingan populer dari blog ini

Membuat Segitiga Sama Sisi Menggunakan Bahasa C

Fungsi dan Prosedur dalam Bahasa C