shortest remaining time first
Megjelenés
Főnév
shortest remaining time first (tsz. shortest remaining time firsts)
- (informatika) A Shortest Remaining Time First (SRTF) egy preemptív CPU ütemezési algoritmus, amely a Shortest Job First (SJF) algoritmus kiterjesztése. A SRTF a legkisebb hátralévő futási idővel rendelkező folyamatot futtatja, és ha új, rövidebb futási idejű folyamat érkezik, akkor a jelenlegi folyamatot megszakíthatja és a rövidebb idejű folyamatot indítja el.
Működési elv:
- A rendszer mindig azt a folyamatot választja, amelyiknek a legkevesebb hátralévő végrehajtási ideje van.
- Preemptív jellegű: Ha egy új folyamat érkezik, amelynek kisebb hátralévő futási ideje van, mint a jelenleg futó folyamatnak, akkor a jelenlegi folyamatot megszakítják, és az új folyamatot indítják el.
Hogyan működik a folyamatok ütemezése?
- A rendszer először a legkisebb hátralévő futási idővel rendelkező folyamatot választja ki.
- Ha egy új, rövidebb hátralévő futási idejű folyamat érkezik, akkor a rendszer megszakítja a jelenlegi folyamatot, és elindítja az új folyamatot.
- A folyamatok addig futnak, amíg be nem fejeződnek, vagy újabb, rövidebb idejű folyamatok nem érkeznek.
Előnyök:
- Alacsony várakozási idő: A SRTF algoritmus minimalizálja az átlagos várakozási időt, mivel mindig a legkevesebb futási időt igénylő folyamatokat futtatja.
- Jobb, mint a SJF: A SRTF a SJF-nél előnyösebb, mivel preemptív, így jobban képes alkalmazkodni a dinamikusan változó környezetekhez.
Hátrányok:
- Starvation (Éhezés): Hosszú futási idejű folyamatok könnyen “éhezhetnek”, mivel folyamatosan előnyben részesítjük a rövidebb futási idejű új érkező folyamatokat.
- Túl sok kontextusváltás: Mivel a rendszer gyakran megszakítja a futó folyamatokat, a kontextusváltások gyakorisága magas lehet, ami megnöveli a rendszer túlterheltségét és a végrehajtás költségeit.
- Futási idők ismerete szükséges: Mint a SJF esetében, itt is szükség van a futási idők pontos ismeretére, ami nem mindig áll rendelkezésre.
Példa:
Tegyük fel, hogy három folyamatunk van, a következő hátralévő futási idők alapján:
| Folyamat | Hátralévő futási idő (S) |
|---|---|
| A | 6 |
| B | 4 |
| C | 2 |
- Kezdetben a C folyamatot választja, mivel annak a legkevesebb hátralévő futási ideje van (2).
- Ha a C befejeződik, a B folyamat kerül futtatásra, mivel annak a hátralévő futási ideje 4, ami kevesebb, mint A (6).
- Végül A következik, mivel a hátralévő futási ideje 6.
Tehát az ütemezés sorrendje a következő lenne: C -> B -> A.
Összegzés:
A Shortest Remaining Time First (SRTF) algoritmus hatékony módja annak, hogy minimalizáljuk a várakozási időt a CPU ütemezésében, de figyelembe kell venni a starvation és a kontextusváltások gyakoriságát is. Mivel preemptív, dinamikusan alkalmazkodik a folyamatok futási idejéhez, azonban a hosszú ideig futó folyamatok esetében problémákat okozhat.
- shortest remaining time first - Szótár.net (en-hu)
- shortest remaining time first - Sztaki (en-hu)
- shortest remaining time first - Merriam–Webster
- shortest remaining time first - Cambridge
- shortest remaining time first - WordNet
- shortest remaining time first - Яндекс (en-ru)
- shortest remaining time first - Google (en-hu)
- shortest remaining time first - Wikidata
- shortest remaining time first - Wikipédia (angol)