Algoritma Penjadwalan Sistem Operasi dan Cara Menghitungnya


Sebagai mana yang telah kita ketahui sebelumnnya, bahwa di dalam sistem operasi terdapat berbagai proses yang terjadi di dalamnnya. Mulai dari sistem membuat sebuah operasi, mengalami interrupt sampai dengan proses akhir, atau terminated.  Tentu saja, anda masih ingat dengan proses antrian didalamnya, nah. terdapat algoritma penjadwalan, untuk menentukan siapa yang akan diproses duluan atau pun akhir. Kita akan membahasnya dalam 3 point.

Strategi Penjadwalan.

  1. Non-Preemptive, yaitu proses telah mendapatkan bagian waktunya dari penggunaan processor, dan selama masih dalam proses tersebut, proses yang lain harus menunggu, sampai proses tersebut siap. Atau dalam kata lain, tidak dapat diganggu gugat.
  2. Preemptive, berbeda dengan versi non, proses dapat diambil alih oleh proses yang lain meskipun sudah mendapatkan bagian waktu penggunaan processor. Bila suatu proses di ambil sebelum selesai, proses tersebut akan menunggu, sampai proses mendapatkan waktu penggunaan processor kembali
Dari strategi penjadwalan diatas,  terdapat setidak empat algoritma untuk masing-masing strategi. Algoritma penjadwalan berdasarkan non-preemptive ;
  1. First Come First Serve
  2. Shortest Job First
  3. Highest Radio Next
  4. Multiple Feedback Queue
Untuk algoritma penjadwalan strategi preemptive, antara lain;
  1. Round Robin
  2. Shortest Remaining First
  3. Priority Schedulling
  4. Guaranted Schedulling
Kita akan membahas terlebih dahulu, algoritma penjadwalan di sisi strategi non-preemptive yaitu dengan 2 bagian.


Fisrt Come First Serve

Nama lainnya adalah First In First Out, ( FIFO ), merupakan algoritma penjadwalan yang paling sederhana, tidak berprioritas, pembagian waktunya hanya berdasarkan waktu kedatangan, bila proses sudah mendapatkan bagian dari waktunya, proses tersebut akan di jalankan sampai selesai.

Berdasarkan hasil penelusuran penelitian, FCFS jarang digunakan secara mandiri, lebih sering di kombinasikan dengan skema yang lain.

Berikut ini adalah untuk menghitungnya
Contoh soal ; Hitung lah Turn Arround Time-nya dan berapakah rerata TA, jika diketahui terdapat 5 macam antrian proses, yaitu A-B-C-D-E denan waktu kedatangan semuanya 0-1-2-2-5. Lama proses berturut-turut antara lain : 5-2-6-8-3

Rumus yang digunakan ; TA = Waktu Tunggu + Lama Eksekusi
Rerata TA = Jumlah Seluruh TA / Jumlah Seluruh Job
Waktu Tunggu = Mulai Eksekusi - Waktu Tiba

Jawaban : Lihatlah tabel di bawah ini



Shortest Job First

Mekanismenya dengan menjalankan proses dengan bagian waktunya yang paling pendek, haruslah didahulukan terlebih dahulu

Contoh soal ; Terdapat 4 proses, yaitu A,B,C,D,E dengan masing-masing lama eksekusi 10,7,5,3,1 dan waktu tibanya 9,7,5,2,0

Jawabannya ;


Terdapat 2 langkah didalamnya, yaitu menentukan urutan prioritas berdasarkan proses yang terpendek dan menentukan proses mana yang akan dilayani prosessor

Round Robin

Inilah algoritma yang cukup rumit di pahami, namun mudah diimplementasikan, bersifat preempt by time, tanpa prioritas.

Berikut adalah contoh soal, sebuah prosessor dengan quantum 4 mendapatkan proses dengan waktu kedatangan yang sama, dengan nama proses A,B,C,D,E dan masing-masing memiliki waktu kedatangan 4,9,6,5,3.

Jawaban

Proses A
Waktu kedatangan - Quantum
4-4 = 0, Waktu = 4

Proses B
9-4=5
Sisa = 5, Waktu = 4

Proses C
6-4=2
Sisa = 2, Waktu = 4

Proses D
5-4 = 1
Sisa = 1, Waktu =4

Proses E
3-4=(-1)
Waktu = 4

Sisa waktu yang dimiliki sebuah proses, dimasukan kembali dalam antrian, sesuai urutan

Proses B
Sisa Waktu - Quantum
5-4 = 1
Sisa = 1
Waktu antrian = 4

Proses C
2-4 = (-2)
Waktu antrian = 2

Proses D
1-2 =(-3)
Waktu antrian = 1

Proses B
1-4 = (-3)
Waktu antrian = 1

Untuk memudahkan, buatlah tabel seperti dibawah ini

Setelah itu hitung rata-rata waktu tunggunya

Setelah itu barulah dapat di tentukan TA-nya


Ingin belajar bahasa pemograman web ? Coba klik di sini...

Post a Comment

1 Comments

  1. itu yang fcfs kok waktu kedatangan nilai nya berbeda dengan disoal ? malah nol semua

    ReplyDelete