SJF,SRF,RR

Program untuk Penjadwalan Shortest Job First (SJF) (Non-preemptive)

Pekerjaan terpendek pertama (SJF) atau pekerjaan tersingkat berikutnya, adalah kebijakan penjadwalan yang memilih proses menunggu dengan waktu eksekusi terkecil untuk dieksekusi berikutnya. SJN adalah algoritma non-preemptive.
  • Pekerjaan Terpendek pertama memiliki keuntungan memiliki waktu tunggu rata-rata minimum di antara semua algoritma penjadwalan.
  • Ini adalah Algoritma Greedy.
  • Ini dapat menyebabkan kelaparan jika proses yang lebih pendek terus datang. Masalah ini bisa diselesaikan dengan menggunakan konsep penuaan.
  • Hal ini praktis tidak layak karena Sistem Operasi mungkin tidak tahu waktu burst dan karena itu mungkin tidak mengurutkannya. Meskipun tidak mungkin untuk memprediksi waktu eksekusi, beberapa metode dapat digunakan untuk memperkirakan waktu eksekusi suatu pekerjaan, seperti rata-rata tertimbang dari waktu eksekusi sebelumnya. SJF dapat digunakan dalam lingkungan khusus di mana perkiraan waktu berjalan yang akurat tersedia.
Algoritma:
 1- Urutkan semua proses dalam urutan yang meningkat 
    menurut waktu meledak.
 2- Kemudian cukup, menerapkan FCFS .



Bagaimana cara menghitung waktu di bawah ini di Round Robin menggunakan program?
  1. Waktu Selesai: Waktu di mana proses menyelesaikan eksekusinya.
  2. Turn Around Time: Time Difference antara waktu penyelesaian dan waktu kedatangan. Turn Around Time = Waktu Selesai - Waktu Kedatangan
  3. Waiting Time (WT): Perbedaan Waktu antara berbalik waktu dan waktu burst.
    Waktu Tunggu = Turn Around Time - Burst Time
Dalam posting ini, kita mengasumsikan waktu kedatangan sebagai 0, jadi waktu putar dan penyelesaiannya sama.

Penjadwalan First Come First Serve(FCFS)

Dalam algoritma penjadwalan "First come first serve", seperti namanya, proses yang datang lebih dulu, dieksekusi terlebih dahulu, atau kita dapat mengatakan bahwa proses yang meminta CPU terlebih dahulu, mendapatkan CPU yang dialokasikan terlebih dahulu.
  • First Come First Serve, sama seperti FIFO (First in First out) struktur data Antrian, di mana elemen data yang ditambahkan ke antrian pertama, adalah orang yang meninggalkan antrean terlebih dahulu.
  • Ini digunakan dalam Sistem Batch .
  • Ini mudah dimengerti dan diimplementasikan secara terprogram, menggunakan struktur data Antrian, di mana proses baru masuk melalui ekor antrian, dan penjadwal memilih proses dari kepala antrean.
  • Contoh nyata dari penjadwalan FCFS adalah membeli tiket di loket tiket .

Menghitung Waktu Tunggu Rata-rata

Untuk setiap algoritma penjadwalan, waktu tunggu rata-rata adalah parameter penting untuk menilai kinerjanya.
AWT atau Waktu tunggu rata-rata adalah rata-rata waktu tunggu proses dalam antrian, menunggu penjadwal untuk memilihnya untuk dieksekusi.
Turunkan Waktu Tunggu Rata-rata, lebih baik algoritma penjadwalan.
Pertimbangkan proses P1, P2, P3, P4 yang diberikan dalam tabel di bawah, tiba untuk eksekusi dalam urutan yang sama, dengan Waktu Kedatangan 0 , dan diberikan Waktu Burst , mari kita cari waktu tunggu rata-rata menggunakan algoritma penjadwalan FCFS.
Penjadwalan First Come First Serve (FCFS)
Waktu tunggu rata-rata adalah 18.75 ms
Untuk proses yang diberikan di atas, P1 pertama akan disediakan dengan sumber daya CPU,
  • Oleh karena itu, waktu tunggu untuk P1 akan menjadi 0
  • P1 membutuhkan 21 ms untuk penyelesaian, maka waktu tunggu untuk P2 adalah 21 ms
  • Demikian pula, waktu tunggu untuk proses P3 akan menjadi waktu eksekusi P1 + waktu eksekusi untuk P2 , yang akan menjadi (21 + 3) ms = 24 ms .
  • Untuk proses P4 itu akan menjadi jumlah waktu pelaksanaan P1 , P2 dan P3 .
Grafik GANTT di atas dengan sempurna menunjukkan waktu tunggu untuk setiap proses.

Di sini kita memiliki rumus sederhana untuk menghitung berbagai waktu untuk proses yang diberikan:
Waktu Selesai : Waktu yang dibutuhkan untuk menyelesaikan eksekusi, mulai dari waktu kedatangan.
Turn Around Time : Waktu yang dibutuhkan untuk menyelesaikan setelah kedatangan. Dengan kata sederhana, ini adalah perbedaan antara waktu Penyelesaian dan waktu Kedatangan.
Waktu Tunggu : Total waktu proses harus menunggu sebelum eksekusi dimulai. Ini adalah perbedaan antara waktu Turn Around dan waktu Burst dari proses.

Program untuk penjadwalan Round Robin



Round Robin adalah algoritma penjadwalan CPU di mana setiap proses diberikan slot waktu tetap dengan cara siklik.
  • Ini sederhana, mudah diterapkan, dan bebas dari kelaparan karena semua proses mendapatkan bagian CPU yang adil.
  • Salah satu teknik yang paling umum digunakan dalam penjadwalan CPU sebagai inti.
  • Ini bersifat preemptif karena proses hanya diberikan pada CPU untuk sebagian waktu tetap.
  • Kerugiannya adalah lebih banyak overhead switching konteks.
Ilustrasi:
round-robin
Bagaimana cara menghitung waktu di bawah ini di Round Robin menggunakan program?

  1. Waktu Selesai: Waktu di mana proses menyelesaikan eksekusinya.
  2. Turn Around Time: Time Difference antara waktu penyelesaian dan waktu kedatangan. Turn Around Time = Waktu Selesai - Waktu Kedatangan
  3. Waiting Time (WT): Perbedaan Waktu antara berbalik waktu dan waktu burst.
    Waktu Tunggu = Turn Around Time - Burst Time
Dalam posting ini, kita mengasumsikan waktu kedatangan sebagai 0, jadi waktu putar dan penyelesaiannya sama.
Bagian yang sulit adalah menghitung waktu tunggu. Setelah waktu tunggu dihitung, waktu putar balik dapat dengan cepat dihitung.
  

Komentar