GNU/Linux >> Belajar Linux >  >> Linux

Linux SCHED_OTHER, SCHED_FIFO dan SCHED_RR - perbedaan

SCHED_FIFO dan SCHED_RR disebut sebagai kebijakan "waktu nyata". Mereka menerapkan penjadwalan real-time prioritas tetap yang ditentukan oleh standar POSIX. Tugas dengan kebijakan ini mendahului setiap tugas lain, yang dengan demikian dapat dengan mudah menjadi kelaparan (jika mereka tidak melepaskan CPU).

Perbedaan antara SCHED_FIFO dan SCHED_RR adalah di antara tugas-tugas dengan prioritas yang sama, SCHED_RR melakukan round-robin dengan timelice tertentu; SCHED_FIFO, sebaliknya, membutuhkan tugas untuk menghasilkan prosesor secara eksplisit.

SCHED_OTHER adalah kebijakan penjadwalan berbagi waktu round-robin umum yang menjadwalkan tugas untuk rentang waktu tertentu bergantung pada tugas lain yang berjalan di sistem.

Perbarui :sejak Linux 3.14, ada kebijakan tambahan bernama SCHED_DEADLINE. Kebijakan ini menerapkan algoritme Server Bandwidth Konstan (CBS) di atas antrean Batas Waktu Pertama Pertama. Setiap tugas di bawah kebijakan ini diberi tenggat waktu, dan tugas dengan batas waktu paling awal dijalankan. Sumber daya terbaik yang menjelaskan algoritme ini adalah Penjadwalan tenggat waktu di kernel Linux.

Perbarui 2 :sejak Linux 4.13, SCHED_DEADLINE telah menggantikan CBS dengan algoritma Greedy Reclamation of Unused Bandwidth (GRUB).


Berikut adalah perbedaan antara SCHED_OTHER, SCHED_FIFO dan SCHED_RR berdasarkan Manual Linux (http://man7.org/linux/man-pages/man7/sched.7.html)

SCHED_FIFO:Penjadwalan masuk pertama keluar pertama

SCHED_FIFO hanya dapat digunakan dengan prioritas statis lebih tinggi dari 0, yang berarti bahwa ketika utas SCHED_FIFO dapat dijalankan, utas tersebut akan selalu mendahului utas SCHED_OTHER, SCHED_BATCH, atau SCHED_IDLE yang sedang berjalan. SCHED_FIFO adalah algoritme penjadwalan sederhana tanpa pemotongan waktu.

SCHED_RR:Penjadwalan round-robin

SCHED_RR adalah penyempurnaan sederhana dari SCHED_FIFO. Semua yang dijelaskan di atas untuk SCHED_FIFO juga berlaku untuk SCHED_RR, kecuali bahwa setiap utas hanya diizinkan berjalan untuk kuantum waktu maksimum. Jika utas SCHED_RR telah berjalan selama periode waktu yang sama dengan atau lebih lama dari kuantum waktu, utas tersebut akan diletakkan di akhir daftar untuk prioritasnya.

SCHED_OTHER:Penjadwalan berbagi waktu Linux default

SCHED_OTHER hanya dapat digunakan pada prioritas statis 0 (yaitu, utas berdasarkan kebijakan waktu nyata selalu memiliki prioritas di atas proses SCHED_OTHER. SCHED_OTHER adalah penjadwal pembagian waktu Linux standar yang ditujukan untuk semua utas yang tidak memerlukan mekanisme waktu nyata khusus.


Linux
  1. Demystifying namespace dan container di Linux

  2. Linux – Direktori Standar Dan/atau Umum Pada OS Unix/linux?

  3. Perbedaan Utama Linux Vs UNIX Kernel

  1. Perintah Linux:pekerjaan, bg, dan fg

  2. Fitur &Perbedaan Sistem File Linux Ext2, Ext3 dan Ext4

  3. Linux – Sysfs dan Devtmpfs?

  1. Linux Hapus File dan Direktori

  2. penggunaan wildcard linux di cp dan mv

  3. Apa perbedaan antara lsof dan netstat di linux?