Penjadwalan round-robin: memungkinkan daftar suatu proses beberapa kali?

9

Dalam penjadwal round-robin, menambahkan proses beberapa kali ke daftar proses adalah cara yang murah untuk memberikan prioritas yang lebih tinggi.

Saya ingin tahu seberapa praktis pendekatan ini. Apa manfaatnya dibandingkan teknik-teknik lain seperti memberikan proses irisan waktu yang lebih lama (manfaat: kurang waktu switching) atau mempertahankan daftar terpisah dari proses prioritas tinggi. Secara khusus, bagaimana daftar proses beberapa kali mempengaruhi keadilan dan reaktivitas?

(Dari latihan 2.16 dalam Sistem Operasi Andrew Tanenbaum : Desain dan Implementasi 1st ed.)

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Tannenbaum menulis banyak buku. Mungkin maksud Anda Sistem Operasi .
Dave Clarke
@ DaveClarke Ya, terima kasih telah menunjukkan ini. (Dan sebenarnya, semua yang saya miliki di sini adalah terjemahan, tapi saya rasa itu tidak ada bagian dari teks.)
Gilles 'SO-stop being evil'

Jawaban:

4

Keuntungan dari pendekatan ini adalah penjadwalan round robin sangat efisien, jadi Anda tidak perlu bergantung pada penjadwal yang lebih kompleks, yang akan mencuri siklus. Memperkenalkan irisan waktu yang lebih lama untuk proses prioritas yang lebih tinggi akan mengurangi respons dari utas lainnya dan mempersulit OS untuk melompat masuk untuk menangani interupsi dan sebagainya. Mempertahankan daftar proses yang terpisah akan membutuhkan penjadwal yang jauh lebih kompleks, yang akan lebih mahal dalam hal siklus. Tapi saya tidak melihat bagaimana akan ada masalah dengan keadilan. Saya kira masalahnya adalah bahwa rinciannya cukup sederhana: proses hanya dapat memiliki kelipatan bilangan bulat dari irisan waktu dasar.

Satu poin negatif adalah bahwa menghapus suatu proses akan lebih mahal, karena setiap kemunculan proses harus dihapus dari antrian. Mungkin ini bisa dilakukan dengan malas.

Dave Clarke
sumber
2

Menambahkan tugas ke antrian penjadwalan round-robin beberapa kali membuka masalah untuk memastikan bahwa entri tetap didistribusikan secara wajar. Ini mudah untuk memastikan jika sistem tidak mengizinkan pembuatan atau penghapusan tugas yang dinamis, tetapi tidak mungkin secara umum.

Selain proses yang lebih kompleks untuk menghapus item dari antrian, kemiringan akhir entri proses dalam antrian akan menghasilkan perilaku tidak seimbang yang lebih mudah untuk membuat adil dengan berbagai tingkat prioritas.

Pekka
sumber
Apakah keinginan untuk memiliki prioritas tidak kontradiksi keadilan?
Raphael