A folyamat végrehajtás alatt álló program. A számítógépnek egyszerre sok feladatot kell elvégeznie. Ezért a CPU-nak meg kell szereznie a folyamatokat és végrehajtania azokat. Időnként bizonyos folyamatokat végre kell hajtani, mint a többi. Ezen a ponton a futási folyamat megszakad, és a CPU-t hozzárendelik az új folyamathoz. A feladat befejezése után a CPU-t visszakapcsolják az előző folyamatra. Az ennek a mechanizmusnak megfelelő ütemezést megelőző ütemezésnek nevezzük. Ha a futási folyamat nem szakítható meg, és a futási folyamat végrehajtása kötelező, akkor ezt nem-megelőző ütemezésnek hívják. Ez a cikk az operatív és a nem megelőző ütemezés közötti különbséget tárgyalja. A megelőző ütemezés az a folyamatütemezési mechanizmus, amelyen keresztül egy olyan folyamat megszakítható, amelyet egy másik folyamat megszakíthat annak végrehajtása közepén. A nemprepreventív ütemezés az a folyamatütemezési mechanizmus, amelyen keresztül az egyik folyamat csak akkor indítja el a végrehajtást, ha az előző folyamat lezárult. Ez a kulcs különbség között Preventív és nemprepreptív ütemezés az operációs rendszerben.
1. Áttekintés és a legfontosabb különbség
2. Mi az megelőző ütemezés az operációs rendszerben
3. Mi a nemprepreptív ütemezés az operációs rendszerben
4. hasonlóságok a megelőző és a nem megelőző ütemezés között az operációs rendszerben
5. Összegzés összehasonlítása - Preventív és nemprepreptív ütemezés az operációs rendszer táblázatos formájában
6. Összegzés
A kerek Robin ütemezés egy példa a megelőző ütemezésre. Minden folyamat kis mennyiségű CPU-időt vesz igénybe. Ez általában 10-100 milliszekundum. Ez a kicsi adat egység idő kvantumnak is nevezik. Ezen idő eltelte után a folyamat előzetesen felvehető, és hozzáadódik a kész sor végéhez. Tegyük fel, hogy 4 folyamat van, mint P1, P2, P3 és P4. A CPU sorozatideje milliszekundumban a következő. Az időkvantum 20.
01. ábra: Példa a kerek Robin ütemezésre
A P1 folyamat 20-ig tart. Végül van még 33ms. Ezután a P2 végrehajtja. Mivel az időkvantum 20 és a szükséges P2 idő 17ms, a P2 17ms-ig fog végrehajtani. Tehát a P2 folyamat befejeződött. Ezután esélyt kap a P3-ra. 20 ms-ig fog végrehajtani. A többi 48 ms. Akkor a P4 20ms-ig fut. A teljes folyamat befejezéséhez 4 ms van. A P1 ismét 20ms-en fut. Még további 13ms van a folyamat befejezéséhez. A változást a P3 kapja. Ez 20ms-ig fog futni, és van még 28ms-ig a teljes befejezéshez. A P4 végrehajtja. Csak 4ms-es. Ezért a P4 befejezi a végrehajtást. A P2 és a P4 már befejeződött. A fennmaradó folyamatok P1 és P3. Az esélyt a P3 kapja. 13 ms volt a teljes, tehát teljes. Most az egyetlen fennmaradó folyamat a P3. 28 ms-ig kell kitölteni. Tehát a P3 20ms-ig fut. A többi 8ms. Az összes többi folyamat már végrehajtotta a végrehajtást. Ezért ismét a Pms 8ms többi része fog végrehajtani. Hasonlóképpen, minden folyamat kap esélyt a végrehajtásra.
Az „érkezési sorrendben kiszolgált” (FCFS) ütemezés példa a nemprepreptív ütemezésre. Az a folyamat, amely először kér, először a CPU-hoz lesz hozzárendelve. Ezt az ütemezést a First In First Out (FIFO) sor könnyen kezelheti. Ha vannak olyan folyamatok, amelyek P1, P2 és P3 sorrendben vannak, akkor először a P1-nek adják meg az esélyt. A befejezés után a P2 végrehajtja. Amikor a P2 befejeződik, a P3 végrehajtja. Tegyük fel, hogy van 3 olyan folyamat, mint P1, P2 és P3, a CPU sorozatideje milliszekundumban, az alábbiak szerint.
02 ábra: Példa az FCFS ütemezésére
A fentiek szerint a P1 végrehajtja. A befejezés után a P2 folyamatot 3ms-re hajtják végre. A hátralévő folyamat P3. Akkor végrehajtja. A P1 várakozási ideje nulla. A P2 folyamatnak 24ms-ot kellett várnia, a P3-nak 27ms-ot kellett várnia. Ha a folyamatok P2, P3 és P1 sorrendben érkeznek be, akkor a P2 az első. A következő P3 teljes, végül pedig a P1 teljes.
Preventív és nem-preempektív ütemezés operációs rendszerben | |
A megelőző ütemezés az a folyamatütemezési mechanizmus, amelyen keresztül egy folyamatot egy másik folyamat megszakíthat a végrehajtás közepén. | A nemprepreventív ütemezés az a folyamatütemezési mechanizmus, amelyen keresztül az egyik folyamat csak akkor indítja el a végrehajtást, ha az előző folyamat lezárult. |
Folyamat megszakítása | |
Preventív ütemezésnél a folyamatok megszakíthatók. | Nemprepreventív ütemezésnél a folyamatok megszakíthatók. |
CPU hasznosítása | |
A megelőző ütemezésnél a CPU kihasználtsága magasabb, mint a nemprepreptív ütemezésnél. | A nemprepreptív ütemezésnél a CPU kihasználtsága minimális, mint a megelőző ütemezésnél. |
Rugalmasság | |
A megelőző ütemezés rugalmas. | A nemprepreptív ütemezés nem rugalmas. |
A számítógépen több folyamat fut. Amikor minden folyamat végrehajtódik, a CPU-t hozzárendelik az adott folyamathoz. Időnként meg kell állítani az aktuális folyamat végrehajtását, és prioritást kell adni egy másik folyamatnak. A folyamatok ütemezési mechanizmusai lehetnek megelőzőek vagy nem megelőzőek. A megelőző ütemezés az a folyamatütemezési mechanizmus, amelyen keresztül a folyamatot egy másik folyamat megszakíthatja a végrehajtás közepén. A nemprepreventív ütemezés az a folyamatütemezési mechanizmus, amely azonban csak akkor indítja el a végrehajtást, ha az előző folyamat lezárult. Ez a különbség a megelőző és a nem megelőző ütemezés között az operációs rendszerben.
Letöltheti a cikk PDF változatát, és offline célokra felhasználhatja, az idézet megjegyzésének megfelelően. Kérjük, töltse le a PDF verziót itt: Különbség a megelőző és a nemprepreptív ütemezés között az operációs rendszerben
1.Mi az előzetes és nem megelőző ütemezés? Itt érhető el
2.Pont, oktatóanyagok. “Operációs rendszer ütemezési algoritmusok.”, Oktatóprogramok pont. 2018. január 8. Elérhető itt
3. „Melyek a megelőző és a nem megelőző kifejezések az operációs rendszer szempontjából?” GeeksforGeeks Q & A. Itt érhető el