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:
- Prima versiune a fost lansată pe 22 septembrie 2009 sub numele SCHED_EDF[7] .
- Prima versiune după schimbarea numelui în a SCHED_DEADLINEfost trimisă de LKML pe 16 octombrie 2009 [10] .
- A doua versiune a fost depusă la LKML pe 28 februarie 2010 și conținea prima versiune a protocolului Deadline Inheritance [11] .
- Cea de-a treia versiune a fost trimisă la LKML pe 29 octombrie 2010. A adăugat suport pentru programarea multiprocesor global/cluster prin migrarea dinamică a sarcinilor [12] .
- A patra versiune a fost trimisă la LKML pe 6 aprilie 2012 și a avut un suport mai bun pentru selecția rq pentru migrarea dinamică a sarcinilor și o mai bună integrare cu PREEMPT_RT [13] .
- A cincea versiune a fost transmisă la LKML la 23 mai 2012 [14] .
- A șasea versiune a fost depusă la LKML pe 24 octombrie 2012 [15] .
- A șaptea versiune a fost transmisă la LKML la 11 februarie 2013 [16] . Permisiunea de programare a fost limitată la microsecunde (pentru a evita depășirea), iar eticheta RFC a fost eliminată.
- A opta versiune a fost depusă la LKML pe 14 octombrie 2013 [17] .
- A noua versiune a fost transmisă la LKML pe 7 noiembrie 2013 [18] .
- Cea mai recentă versiune a fost acceptată în nucleul Linux mainstream (numărul de comitere a0fa1dd3cdbccec9597fe53b6177a9aa6e20f2f8 [19] ) și a făcut parte din kernel de atunci.
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 2 [1] Arhivat pe 11 decembrie 2014 la Wayback Machine Linux Weekly News, Programarea termenului limită pentru Linux
- ↑ 1 2 [2] Arhivat 11 decembrie 2014 la Wayback Machine OSNews, Deadline Scheduling in the Linux Kernel
- ↑ 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. (nedefinit)
- ↑ 1 2 [3] Arhivat pe 4 ianuarie 2015 la Wayback Machine Phoronix, Kernel-ul Linux 3.14 are deja multe caracteristici interesante
- ↑ 1 2 Bar, Moshe The Linux Scheduler . Jurnalul Linux . Preluat la 14 aprilie 2012. Arhivat din original la 2 februarie 2021.
(nedefinit)
- ↑ Molnár, Ingo [patch] Modular Scheduler Core și Completely Fair Scheduler [CFS] . lista de corespondență linux-kernel (13 aprilie 2007). Preluat: 11 decembrie 2014. (nedefinit)
- ↑ 1 2 [4] Arhivat pe 23 decembrie 2014 la Wayback Machine Prima lansare a SCHED_DEADLINE (numită și SCHED_EDF)
- ↑ [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.
- ↑ [6] Arhivat 23 decembrie 2014 la cererea de modificare a numelui mașinii Wayback de la SCHED_EDF la SCHED_DEADLINE
- ↑ [7] Arhivat 23 decembrie 2014 la Wayback Machine Prima versiune a SCHED_DEADLINE
- ↑ [8] Arhivat 23 decembrie 2014 la Wayback Machine A doua versiune a SCHED_DEADLINE
- ↑ [9] Arhivat 23 decembrie 2014 la Wayback Machine , a treia versiune a SCHED_DEADLINE
- ↑ [10] Arhivat 23 decembrie 2014 la Wayback Machine A patra versiune a SCHED_DEADLINE
- ↑ [11] Arhivat pe 11 decembrie 2014 la Wayback Machine Fifth versiune a SCHED_DEADLINE
- ↑ [12] Arhivat 11 decembrie 2014 la Wayback Machine Sixth versiune a SCHED_DEADLINE
- ↑ [13] Arhivat 11 decembrie 2014 la Wayback Machine Seventh versiune a SCHED_DEADLINE
- ↑ 1 2 [14] Arhivat 11 decembrie 2014 la Wayback Machine Eighth versiune a SCHED_DEADLINE
- ↑ [15] Arhivat 11 decembrie 2014 la Wayback Machine Ninth versiune a SCHED_DEADLINE
- ↑ [16] Se comite îmbinarea SCHED_DEADLINE în nucleul principal
- ↑ J. Corbet, Deadline scheduling: coming soon?, Linux Weekly News . Consultat la 11 decembrie 2014. Arhivat din original la 11 octombrie 2014. (nedefinit)
- ↑ [17] Arhivat 6 noiembrie 2014 la Wayback Machine Phoronix, SCHED_DEADLINE va fi adăugat la Linux 3.14
- ↑ [18] Arhivat 15 decembrie 2014 pe pagina oficială Wayback Machine a proiectului SCHED_DEADLINE
- ↑ [19] Noul depozit public GitHub
- ↑ [20] Arhivat 27 decembrie 2010 la depozitul Wayback Machine Previous Gitorious
- ↑ [21] Arhivat 11 decembrie 2014 la Wayback Machine Linux Weekly News, Adăugarea de perioade la SCHED_DEADLINE
- ↑ [22] Arhivat pe 11 decembrie 2014 la Wayback Machine Slashdot , Programarea termenului propus pentru kernelul Linux
- ↑ [23] Arhivat 11 decembrie 2014 la Wayback Machine OSNews , noua versiune a SCHED_DEADLINE pentru Linux disponibilă
- ↑ [24] Arhivat 11 decembrie 2014 la Wayback Machine LinuxToday, Adăugarea de perioade la SCHED_DEADLINE
- ↑ [25] Arhivat la 1 noiembrie 2014 la videoclipul Wayback Machine SCHED_DEADLINE de pe YouTube
- ↑ [26] Arhivat 26 decembrie 2014 la Wayback Machine SCHED_DEADLINE pe Linaro
Proiectul Linux |
---|
General |
|
---|
Răspândirea |
|
---|
Aplicații |
|
---|
Personalități |
|
---|
mass media |
|
---|
Liste |
|
---|
Mobilitate |
|
---|
Alte |
|
---|