SCHED_DEADLINE

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 22 martie 2021; verificările necesită 25 de modificări .

SCHED_DEADLINE  — programatorul în timp real în nucleul Linux [1] [2] , implementează algoritmul de programare a celei mai apropiate date scadente (EDF), a fost adăugat la nucleul Linux începând cu versiunea 3.14, lansată pe 30 martie 2014 [3] [4 ] ] .

Nucleul Linux conține mai multe tipuri de programatori de sarcini [5] . În mod implicit, kernel-ul folosește Completely Fair Scheduler ( CFS ), care a apărut pentru prima dată în nucleu începând cu versiunea 2.6.23 [ 6 ] .  Acest planificator implicit este cunoscut și sub numele de SCHED_NORMAL , dar nucleul conține, de asemenea, două programatoare în timp real, denumite SCHED_FIFO (în timp real , primul-intrat-primul-out ) și SCHED_RR (în timp real round-robin ), fiecare dintre acestea având prioritate față de cea implicită [ 5] .

Istorie

Patch-ul a fost distribuit periodic comunității de dezvoltare a nucleului prin lista de corespondență a nucleului Linux . Fiecare lansare a fost aliniată cu cea mai recentă versiune a nucleului și a ținut cont de notele din ediția anterioară. Pe măsură ce planificatorul a devenit mai popular, mai mulți dezvoltatori de kernel s-au alăturat dezvoltării.

Proiectul a fost inițial numit și introdus SCHED_EDFcomunității de kernel Linux în 2009 [7] . Sub acest nume, a fost prezentat la Real-Time Linux Workshop [8] câteva săptămâni mai târziu . Numele a fost schimbat în SCHED_DEADLINE la cererea comunității Linux kernel [9] .

Următoarele versiuni ale planificatorului au fost lansate de-a lungul anilor:

Articole de pe site- urile Linux Weekly News [20] și Phoronix [21] au susținut că acestea SCHED_DEADLINEar putea fi în nucleul principal chiar în următoarele versiuni. În cele din urmă, după patru ani și nouă lansări, patch-ul a fost acceptat și inclus în versiunea principală a nucleului 3.14 [3] [4] .

Alte informații

Proiectul are o pagină web oficială [22] . Codul sursă este disponibil public prin GitHub [23] , înlocuind fostul depozit cu Gitorious [24] .

Linux Weekly News [1] [25] , Slashdot [26] , OSNews [2] [27] și LinuxToday [28] au mai multe articole despre planificator. Există și un videoclip postat pe YouTube [29] .

SCHED_DEADLINEa fost integrat și în proiectul Yocto [17] . De asemenea, a existat interes pentru includerea acesteia în proiectul Linaro [30] .

Note

  1. 1 2 [1] Arhivat pe 11 decembrie 2014 la Wayback Machine Linux Weekly News, Programarea termenului limită pentru Linux
  2. 1 2 [2] Arhivat 11 decembrie 2014 la Wayback Machine OSNews, Deadline Scheduling in the Linux Kernel
  3. 1 2 1.1. Clasa de programare a termenului limită pentru o programare mai bună în timp real . Nucleul Linux 3.14 . kernelnewbies.org (30 martie 2014). Preluat la 2 aprilie 2014. Arhivat din original la 15 ianuarie 2021.
  4. 1 2 [3] Arhivat pe 4 ianuarie 2015 la Wayback Machine Phoronix, Kernel-ul Linux 3.14 are deja multe caracteristici interesante
  5. 1 2 Bar, Moshe The Linux Scheduler . Jurnalul Linux . Preluat la 14 aprilie 2012. Arhivat din original la 2 februarie 2021.
  6. Molnár, Ingo [patch] Modular Scheduler Core și Completely Fair Scheduler [CFS] . lista de corespondență linux-kernel (13 aprilie 2007). Preluat: 11 decembrie 2014.
  7. 1 2 [4] Arhivat pe 23 decembrie 2014 la Wayback Machine Prima lansare a SCHED_DEADLINE (numită și SCHED_EDF)
  8. [5] Arhivat la 4 noiembrie 2013 la Wayback Machine Dario Faggioli, Fabio Checconi, Michael Trimarchi, Claudio Scordino, An EDF scheduling class for the Linux kernel, 11th Real-Time Linux Workshop (RTLW), Dresda, Germania, septembrie 2009.
  9. [6] Arhivat 23 decembrie 2014 la cererea de modificare a numelui mașinii Wayback de la SCHED_EDF la SCHED_DEADLINE
  10. [7] Arhivat 23 decembrie 2014 la Wayback Machine Prima versiune a SCHED_DEADLINE
  11. [8] Arhivat 23 decembrie 2014 la Wayback Machine A doua versiune a SCHED_DEADLINE
  12. [9] Arhivat 23 decembrie 2014 la Wayback Machine , a treia versiune a SCHED_DEADLINE
  13. [10] Arhivat 23 decembrie 2014 la Wayback Machine A patra versiune a SCHED_DEADLINE
  14. [11] Arhivat pe 11 decembrie 2014 la Wayback Machine Fifth versiune a SCHED_DEADLINE
  15. [12] Arhivat 11 decembrie 2014 la Wayback Machine Sixth versiune a SCHED_DEADLINE
  16. [13] Arhivat 11 decembrie 2014 la Wayback Machine Seventh versiune a SCHED_DEADLINE
  17. 1 2 [14] Arhivat 11 decembrie 2014 la Wayback Machine Eighth versiune a SCHED_DEADLINE
  18. [15] Arhivat 11 decembrie 2014 la Wayback Machine Ninth versiune a SCHED_DEADLINE
  19. [16] Se comite îmbinarea SCHED_DEADLINE în nucleul principal
  20. J. Corbet, Deadline scheduling: coming soon?, Linux Weekly News . Consultat la 11 decembrie 2014. Arhivat din original la 11 octombrie 2014.
  21. [17] Arhivat 6 noiembrie 2014 la Wayback Machine Phoronix, SCHED_DEADLINE va fi adăugat la Linux 3.14
  22. [18] Arhivat 15 decembrie 2014 pe pagina oficială Wayback Machine a proiectului SCHED_DEADLINE
  23. [19] Noul depozit public GitHub
  24. [20] Arhivat 27 decembrie 2010 la depozitul Wayback Machine Previous Gitorious
  25. [21] Arhivat 11 decembrie 2014 la Wayback Machine Linux Weekly News, Adăugarea de perioade la SCHED_DEADLINE
  26. [22] Arhivat pe 11 decembrie 2014 la Wayback Machine Slashdot , Programarea termenului propus pentru kernelul Linux
  27. [23] Arhivat 11 decembrie 2014 la Wayback Machine OSNews , noua versiune a SCHED_DEADLINE pentru Linux disponibilă
  28. [24] Arhivat 11 decembrie 2014 la Wayback Machine LinuxToday, Adăugarea de perioade la SCHED_DEADLINE
  29. [25] Arhivat la 1 noiembrie 2014 la videoclipul Wayback Machine SCHED_DEADLINE de pe YouTube
  30. [26] Arhivat 26 decembrie 2014 la Wayback Machine SCHED_DEADLINE pe Linaro