Mikä on prosessi?
Prosessi on ohjelman suorittaminen, jonka avulla voit suorittaa ohjelmassa määritetyt asianmukaiset toimet. Se voidaan määritellä suoritusyksiköksi, jossa ohjelma toimii. Käyttöjärjestelmä auttaa luomaan, ajoittamaan ja lopettamaan prosessorin käyttämät prosessit. Muita pääprosessin luomia prosesseja kutsutaan lapsiprosesseiksi.
Prosessitoimintoja voidaan hallita helposti piirilevyn (Process Control Block) avulla. Voit pitää sitä prosessin aivona, joka sisältää kaikki prosessointiin liittyvät tärkeät tiedot, kuten prosessin tunnus, prioriteetti, tila ja sisältö CPU-rekisteri jne.
Tässä Process vs Thread -oppaassa opit:
- Mikä on prosessi?
- Mikä on lanka?
- Prosessin ominaisuudet
- Langan ominaisuudet
- Ero prosessin ja langan välillä
- Mikä on monisäikeinen?
Mikä on lanka?
Säie on suoritusyksikkö, joka on osa prosessia. Prosessilla voi olla useita ketjuja, jotka kaikki suoritetaan samanaikaisesti. Se on suorituksen yksikkö samanaikaisessa ohjelmoinnissa. Lanka on kevyt ja ajoitin voi hallita sitä itsenäisesti. Se auttaa parantamaan sovelluksen suorituskykyä rinnakkaisuuden avulla.
Useat ketjut jakavat tietoja, kuten tietoja, koodia, tiedostoja jne. Voimme toteuttaa ketjut kolmella eri tavalla:
- Ytimen tason langat
- Käyttäjätason säikeet
- Hybridi kierteet
TÄRKEÄ ERO
- Prosessi tarkoittaa, että ohjelma on suorituksessa, kun taas säie tarkoittaa prosessin segmenttiä.
- Prosessi ei ole kevyt, kun taas langat ovat kevyet.
- Prosessin lopettaminen vie enemmän aikaa ja ketju päättyy vähemmän.
- Prosessi vie enemmän aikaa luomiseen, kun taas säie vie vähemmän aikaa luomiseen.
- Prosessi vie todennäköisesti enemmän aikaa kontekstin vaihtamiseen, kun taas säikeet vievät vähemmän aikaa kontekstin vaihtamiseen.
- Prosessi on pääosin eristetty, kun taas säikeet jakavat muistia.
- Prosessi ei jaa tietoja, ja Threads jakaa tietoja keskenään.
Prosessin ominaisuudet
Tässä ovat prosessin tärkeät ominaisuudet:
- Kunkin prosessin luominen edellyttää erillisiä järjestelmäkutsuja kullekin prosessille.
- Se on eristetty toteutusyksikkö eikä jaa tietoja.
- Prosessit käyttävät IPC (Inter-Process Communication) -mekanismia viestintään, mikä lisää merkittävästi järjestelmäkutsujen määrää.
- Prosessinhallinta vie enemmän järjestelmäkutsuja.
- Prosessilla on sen pino, kasa muistia muistilla ja datakartta.
Langan ominaisuudet
Tässä ovat langan tärkeät ominaisuudet:
- Yhden järjestelmän puhelu voi luoda useita säikeitä
- Langat jakavat tietoja.
- Threads jakaa ohjeet, globaalit ja kasa-alueet. Sillä on kuitenkin rekisteri ja pino.
- Viestiketjun hallinta vie vain vähän tai ei lainkaan järjestelmäkutsuja langattomien viestien vuoksi, mikä voidaan saavuttaa jaettua muistia käyttämällä.
Ero prosessin ja langan välillä
Tässä ovat tärkeät erot prosessin ja langan välillä
Parametri | Prosessi | Lanka |
---|---|---|
Määritelmä | Prosessi tarkoittaa, että ohjelma on käynnissä. | Kierre tarkoittaa prosessin segmenttiä. |
Kevyt | Prosessi ei ole kevyt. | Langat ovat kevyitä. |
Päättymisaika | Prosessin lopettaminen vie enemmän aikaa. | Lankan päättyminen vie vähemmän aikaa. |
Luomisaika | Luominen vie enemmän aikaa. | Luominen vie vähemmän aikaa. |
Viestintä | Viestintä prosessien välillä vaatii enemmän aikaa kuin säie. | Viestintä ketjujen välillä vaatii vähemmän aikaa verrattuna prosesseihin. |
Kontekstin vaihtoaika | Kontekstinvaihto vie enemmän aikaa. | Kontekstinvaihto vie vähemmän aikaa. |
Resurssi | Prosessi kuluttaa enemmän resursseja. | Lanka kuluttaa vähemmän resursseja. |
Hoito OS: n mukaan | Eri prosessit kulkevat erikseen käyttöjärjestelmän mukaan. | Kaikki tason vertaislangat käsitellään käyttöjärjestelmässä yhtenä tehtävänä. |
Muisti | Prosessi on enimmäkseen eristetty. | Langat jakavat muistia. |
Jakaminen | Se ei jaa tietoja | Langat jakavat tietoja keskenään. |
Mikä on monisäikeinen?
Monisäikeinen tarkoittaa useita käyttöjohtoja käyttöjärjestelmässä. Yksinkertaisesti sanottuna kaksi tai useampi saman prosessin ketju suoritetaan samanaikaisesti.