Egy másik fontos pont, amely megkülönbözteti a folyamatot és a szálat, az, hogy a folyamatok egymástól elkülönülnek, míg a szálak megosztják a memóriát vagy erőforrásokat egymással.
Összehasonlító táblázat
Az összehasonlítás alapja | Folyamat | cérna |
---|---|---|
Alapvető | Program végrehajtása. | Könnyű folyamat vagy annak egy része. |
Memóriamegosztás | Teljesen elkülönített és nem osztja meg a memóriát. | Megosztja a memóriát egymással. |
Erőforrás-fogyasztás | Több | Kevésbé |
Hatékonyság | Kevésbé hatékony a kommunikációhoz kapcsolódó folyamathoz képest. | Javítja a kommunikáció hatékonyságát. |
A létrehozáshoz szükséges idő | Több | Kevésbé |
Kontextus kapcsolási idő | Több időt vesz igénybe. | Kevesebb időt fogyaszt. |
Bizonytalan befejezés | A folyamat elvesztésének eredménye. | A szál visszanyerhető. |
A felmondáshoz szükséges idő | Több | Kevésbé |
A folyamat meghatározása
A folyamat egy program végrehajtása, és a programban meghatározott megfelelő műveletek végrehajtása, vagy egy végrehajtó egység, ahol a program fut. Az operációs rendszer létrehozza, ütemezi és megszünteti a CPU használatának folyamatát. A fő folyamat által létrehozott egyéb folyamatokat gyermekfolyamatnak nevezzük.
A folyamat műveleteket a PCB (Process Control Block) segítségével vezérelhetjük az eljárás agyaként, amely tartalmazza az összes olyan lényeges információt, amely egy folyamathoz, például egy folyamat azonosítóhoz, prioritáshoz, állapothoz, PWS-hez és tartalom CPU-regiszterhez kapcsolódik. .
A PCB egy kernel alapú adatstruktúra, amely a háromféle funkciót használja, amelyek ütemezés, diszpécserés és kontextus mentés.
- Ütemezés - Ez a módszer a folyamat sorrendjének egyszerű szavakkal történő kiválasztására választja azt a folyamatot, amelyet először a CPU-ban kell végrehajtani.
- Elküldés - Ez a környezet létrehozza a végrehajtandó folyamatot.
- Kontextus mentése - Ez a funkció az eljárással kapcsolatos információkat menti, ha újraindul vagy blokkolva van.
A folyamat életciklusában vannak olyan állapotok, mint például az elkészült, futó, blokkolt és befejezett folyamatok. A folyamatállapotokat a folyamat tevékenységének nyomon követésére használjuk.
A programozó szemszögéből a folyamatok egy olyan eszköz, amely a program egyidejű végrehajtását eredményezi. A párhuzamos program fő folyamata egy gyermek folyamatot hoz létre. A közös folyamat eléréséhez a fő folyamatnak és a gyermekfolyamatnak kölcsönhatásba kell lépnie.
A folyamatok interleaving műveletei növelik a számítási sebességet, ha az i / o művelet egy folyamatban átfedi a számítási tevékenységet egy másik folyamatban.
A folyamat tulajdonságai:
- Minden folyamat létrehozása magában foglalja a rendszerhívásokat minden egyes folyamathoz.
- A folyamat egy elszigetelt végrehajtó egység, és nem osztja meg az adatokat és információkat.
- A folyamatok IPC (Inter-process communication) mechanizmust használnak a kommunikációhoz, amely jelentősen növeli a rendszerhívások számát.
- A folyamatmenedzsment több rendszerhívást fogyaszt.
- Minden folyamatnak saját verem- és halmememóriája, utasítása, adatai és memória térképe van.
A téma meghatározása
A szál egy olyan program végrehajtása, amely a feladat végrehajtásához folyamatforrásokat használ. Az egyetlen programban lévő összes szál logikusan szerepel egy folyamatban. A rendszermag minden egyes szálhoz köteget és menetvezérlő blokkot (TCB) rendel. Az operációs rendszer csak a veremmutatót és a CPU állapotot menti ugyanazon folyamat szálai közötti váltáskor.
A szálakat három különböző módon valósítják meg; ezek kernel szintű szálak, felhasználói szintű szálak, hibrid szálak. A szálak három állapotban lehetnek, készek és blokkolhatók; csak olyan számítási állapotot tartalmaz, amely nem az erőforrás-allokáció és a kommunikációs állapot, amely csökkenti a kapcsolási többletet. Ez növeli a párhuzamosságot (párhuzamosságot), így a sebesség is növekszik.
A többszálú szálak is rosszindulatúak, a többszálú szálak nem okoznak bonyolultságot, de a kölcsönhatások közöttük van.
A szálnak elsőbbségi tulajdonsággal kell rendelkeznie, ha több szál van aktív. Az ugyanabban a folyamatban lévő más aktív szálakhoz tartozó végrehajtáshoz szükséges időt a szál prioritása határozza meg.
A téma tulajdonságai:
- Csak egy rendszerhívás hozhat létre egynél több menetet (Könnyű folyamat).
- A szálak megosztják az adatokat és információkat.
- A szálak megosztják az oktatás, a globális és a halom régiókat, de saját egyedi verem és regisztereik vannak.
- A szálkezelés nem igényel vagy nem kevesebb rendszerhívást, mivel a szálak közötti kommunikáció megosztott memóriával érhető el.
- A folyamat elkülönítési tulajdonsága növeli az erőforrás-fogyasztás tekintetében a rezsi.
Fontos különbségek a folyamat és a szál között
- A program minden szálát logikusan tartalmaz egy folyamat.
- A folyamat súlya súlyozott, de egy szál könnyű.
- A program egy elszigetelt végrehajtó egység, míg a szál nem különálló, és megosztja a memóriát.
- A szálnak nem lehet egyéni létezése; egy folyamathoz kapcsolódik. Másrészről, a folyamat egyedileg létezhet.
- A szál lejártának idején a hozzárendelt verem helyreállítható, mivel minden szálnak saját verem van. Ezzel ellentétben, ha egy folyamat meghal, az összes szál a folyamatot is beleértve.
Következtetés
A folyamatokat a programok egyidejű és egymás utáni végrehajtására használják. Míg a szál egy program végrehajtó egység, amely a folyamat környezetét használja, amikor sok szál ugyanazon folyamat környezetét használja, meg kell osztania a kódot, adatokat és erőforrásokat. Az operációs rendszer ezt a tényt használja a fölöttesítés csökkentésére és a számítás javítására.