Mi a különbség a szál, a folyamat és a program között?


Legjobb válasz

Program , Folyamat és a Szálak az operációs rendszerek három alapfogalma, melyeket minden informatikai mérnöknek ismernie kell . Itt elmagyarázom, hogy mindegyikük miről szól, és miben különböznek egymástól.

Mi az a program?

A program egy futtatható fájl, amely a számítógépen egy adott feladat elvégzéséhez írt utasításokat tartalmaz. Például a notepad.exe egy futtatható fájl, amely az utasításokat tartalmazza, amelyek segítenek a szöveges fájlok szerkesztésében és kinyomtatásában.

Programok nem tárolódnak a számítógép elsődleges memóriájában. Ezeket a számítógép lemezén vagy másodlagos memóriájában tárolják. Beolvassa őket az elsődleges memóriába, és a kernel végrehajtja őket. A programot néha passzív entitás néven emlegetik, mivel egy másodlagos memóriában található.

Mi a folyamat?

A folyamat egy program végrehajtó példánya. Például, amikor duplán kattint egy számítógépen egy jegyzettömb ikonra, elindul egy folyamat, amely a jegyzettömb programot futtatja.

A folyamatot néha aktív entitás , mivel az elsődleges memóriában található, és elhagyja a memóriát, ha a rendszer újraindul. Számos folyamat kapcsolódhat ugyanahhoz a programhoz. Például egy jegyzettömb program több példányát is futtathatja. Minden példányt folyamatnak nevezünk.

Mi az a szál ?

A szál a folyamat legkisebb futtatható egysége. Például egy jegyzettömb program futtatásakor az operációs rendszer létrehoz egy folyamatot, és megkezdi a folyamat fő szálának végrehajtását.

A folyamatnak több szála is lehet. Minden szálnak meg lesz a saját feladata és a végrehajtásának útja egy folyamatban. Például egy jegyzettömb programban az egyik szál felhasználói bemeneteket vesz fel, egy másik szál pedig dokumentumot nyomtat.

Ugyanazon folyamat összes szála megosztja a folyamat memóriáját. Mivel ugyanannak a folyamatnak a szálai ugyanazt a memóriát használják, a szálak közötti kommunikáció gyors.

Összefoglalás …

Remélem, hogy mostanra tisztában van a program, a folyamat és a szál közötti különbségekkel, és felfedezte a közöttük lévő kapcsolatot is. Ha nem, akkor megtudhatja alább.

A program szuper folyamatkészlet, míg A folyamat szuper szálkészlet.

Élvezze a tanulást !!!

Kép jóvoltából: www.google.com

Válasz

  1. Program : A program nem más, mint az összes utasítás, amely egy adott feladat elvégzéséhez szükséges. A végrehajtás előtt bináris kódokban kell őket konvertálni, amelyeket a betöltő OS OS-nek meg kell értenie. Általában a Windows-ban mint az EXE fájl, amelyet a Portable Executable (PE) tárol Formázás másodlagos memórián, mint a merevlemez. A folyamatot általában egy futó program példányaként definiálják, és két komponensből áll: 1) Egy kernobjektum, amelyet az operációs rendszer használ a folyamat kezelésére. A kernelobjektum a rendszer statisztikai információit is tárolja a folyamatról. 2) Olyan címtér, amely tartalmazza az összes futtatható vagy DLL modul kódját és adatait. Dinamikus memória-allokációkat is tartalmaz, például szálkötegeket és halomallokációkat. A folyamatok inertek. Ahhoz, hogy egy folyamat bármit megvalósítson, rendelkeznie kell egy szálral, amely a kontextusában fut; ez a szál felelős a folyamat címterében lévő kód végrehajtásáért. Valójában egyetlen folyamat több szálat is tartalmazhat, amelyek mindegyike “egyidejűleg” hajt végre kódot a folyamat címterében. Ehhez minden szálnak megvan a maga CPU regiszterkészlete és saját vereme. Minden folyamatnak van legalább egy szál, amely végrehajtja a kódot a folyamat címterében. Ha nem lennének kódot végrehajtó szálak a folyamat címterében, nem lenne oka annak, hogy a folyamat tovább létezzen, és a rendszer automatikusan tönkreteszi a folyamatot és annak címterét.
  2. Folyamat : Minden folyamat biztosítja a program futtatásához szükséges erőforrásokat. A folyamat rendelkezik virtuális címtérrel, futtatható kóddal, nyitott fogantyúkkal a rendszerobjektumokkal, biztonsági kontextussal, egyedi folyamatazonosító, környezeti változók, prioritási osztály, minimális és maximális munkakészlet-méret és legalább egy végrehajtási szál. Minden folyamat egyetlen szálból indul, amelyet gyakran elsődleges szálnak hívnak, de bármelyik szálból további szálakat hozhat létre .
  3. Szál : A szál egy folyamaton belüli entitás, amely ütemezhető végrehajtásra. A folyamat összes szála megosztja virtuális címterét és rendszererőforrásait. Ezenkívül mindegyik szál fenntartja a kivételkezelőket, az ütemezési prioritást, a szál helyi tárhelyét, az egyedi szálazonosítót és egy sor struktúrát, amelyeket a rendszer a szál kontextusának ütemezéséig történő mentéséhez használ. A szálkontextus magában foglalja a szál gépregisztereinek készletét, a kernelköteget, egy szál környezeti blokkot és egy felhasználói verem a szál folyamatának címterében. A szálak saját biztonsági kontextussal is rendelkezhetnek, amely felhasználható az ügyfelek megszemélyesítéséhez.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük