Toinen tärkeä vaihe, joka erottaa prosessin ja kierteen, on, että prosessit eristetään keskenään, kun taas langat jakavat muistia tai resursseja keskenään.
Vertailukaavio
Vertailun perusteet | Käsitellä asiaa | Lanka |
---|---|---|
perustiedot | Ohjelman toteutus. | Kevyt prosessi tai osa siitä. |
Muistin jakaminen | Täysin eristetty ja eivät jaa muistia. | Jakaa muistin keskenään. |
Resurssien kulutus | Lisää | Vähemmän |
tehokkuus | Vähemmän tehokas verrattuna prosessiin viestinnän yhteydessä. | Parantaa tehokkuutta viestinnän yhteydessä. |
Luomiseksi tarvittava aika | Lisää | Vähemmän |
Kontekstikytkentäaika | Kestää enemmän aikaa. | Kuluttaa vähemmän aikaa. |
Epävarma päättäminen | Tulokset prosessin menetyksessä. | Lanka voidaan palauttaa. |
Lopettamiseen tarvittava aika | Lisää | Vähemmän |
Prosessin määritelmä
Prosessi on ohjelman suorittaminen ja ohjelmassa määriteltyjen toimien suorittaminen, tai se on suoritusyksikkö, jossa ohjelma toimii. Käyttöjärjestelmä luo, ajoittaa ja lopettaa prosessorit prosessorin käyttöön. Muut pääprosessin tuottamat prosessit tunnetaan lapsiprosessina.
Prosessitoimintoja ohjataan PCB: n avulla (prosessinohjauslohko), jota voidaan pitää prosessin aivoina, joka sisältää kaikki olennaiset tiedot prosessista, kuten prosessitunnuksesta, prioriteetista, tilasta, PWS: stä ja sisällön suorittimen rekisteristä .
PCB on myös ydinpohjainen tietorakenne, joka käyttää kolmenlaisia toimintoja, jotka ovat aikataulutus, lähetys ja kontekstin tallennus.
- Aikataulu - Se on menetelmä prosessin sekvenssin valitsemiseksi yksinkertaisilla sanoilla valitsee prosessin, joka on suoritettava ensin CPU: ssa.
- Lähetys - Se luo ympäristön, jossa suoritettava prosessi suoritetaan.
- Konteksti-tallennus - Tämä toiminto tallentaa tiedot prosessiin, kun se jatkuu tai estetään.
Prosessin elinkaaressa on tiettyjä tiloja, kuten valmiita, käynnissä olevia, estettyjä ja lopetettuja. Prosessitiloja käytetään prosessin aktiivisuuden seurannan hetkessä.
Ohjelmoijan näkökulmasta prosessit ovat väline, jolla saavutetaan ohjelman samanaikainen toteutus. Samanaikaisen ohjelman pääprosessi luo lapsiprosessin. Pääprosessin ja lapsen prosessin on oltava vuorovaikutuksessa kunkin kanssa yhteisen tavoitteen saavuttamiseksi.
Prosessien lomittamistoiminnot lisäävät laskennan nopeutta, kun i / o-operaatio yhdessä prosessissa päällekkäin laskennallisen aktiivisuuden kanssa toisessa prosessissa.
Prosessin ominaisuudet:
- Jokaisen prosessin luominen sisältää järjestelmän kutsuja kullekin prosessille erikseen.
- Prosessi on yksittäinen toteutusyksikkö, joka ei jaa tietoja ja tietoja.
- Prosessit käyttävät IPC (Inter-Process Communication) -mekanismia viestintään, joka lisää merkittävästi järjestelmän puhelujen määrää.
- Prosessinhallinta kuluttaa enemmän järjestelmän puheluja.
- Jokaisella prosessilla on oma pinon ja kasan muisti, ohjeet, tiedot ja muistikartta.
Kierteen määritelmä
Lanka on ohjelman suoritus, joka käyttää prosessin resursseja tehtävän suorittamiseen. Kaikki yhden ohjelman kierteet sisältyvät loogisesti prosessiin. Ytimen avulla kullekin langalle annetaan pino ja lankaohjauslohko (TCB). Käyttöjärjestelmä tallentaa vain pinon osoittimen ja CPU-tilan samaan prosessiin kuuluvien kierteiden välillä.
Langat toteutetaan kolmella eri tavalla; nämä ovat ytimen tason kierteet, käyttäjän tason langat, hybridilangat. Langoilla voi olla kolme tilaa, jotka ovat valmiita ja estettyjä; se sisältää vain laskennallisen tilan, joka ei ole resurssien allokointi ja tiedonsiirtotila, joka vähentää kytkentärajaa. Se parantaa samanaikaisuutta (rinnakkaisuutta), joten myös nopeus kasvaa.
Monisäikeilyn mukana tulee myös demerit, useat langat eivät aiheuta monimutkaisuutta, mutta niiden välinen vuorovaikutus tapahtuu.
Langalla on oltava ensisijainen ominaisuus, kun on olemassa useita säikeitä, jotka ovat aktiivisia. Kierroksen prioriteetti määrittää ajan, jonka se suorittaa muille aktiivisille langoille samassa prosessissa.
Langan ominaisuudet:
- Vain yksi järjestelmäpuhelu voi luoda useamman kuin yhden langan (kevyt prosessi).
- Langat jakavat tietoja ja tietoja.
- Langat jakavat opetusta, globaaleja ja kasa-alueita, mutta niillä on oma yksittäinen pino ja rekisterit.
- Langanhallinta kuluttaa järjestelmäkutsuja tai vähemmän, koska viestien välittäminen langojen välillä on mahdollista käyttämällä jaettua muistia.
- Prosessin eristysominaisuus kasvattaa sen yleiskustannuksia resurssien kulutuksen suhteen.
Prosessin ja langan keskeiset erot
- Kaikki ohjelman langat sisältyvät loogisesti prosessiin.
- Prosessi on raskas painotettu, mutta kierre on kevyt.
- Ohjelma on eristetty suoritinyksikkö, kun taas kierre ei ole eristetty ja jakaa muistia.
- Lanka ei voi olla yksilöllinen; se on liitetty prosessiin. Toisaalta prosessi voi esiintyä yksittäin.
- Lankan päättyessä siihen liittyvä pino voitaisiin palauttaa, koska jokaisella langalla on oma pino. Sitä vastoin, jos prosessi kuolee, kaikki langat kuolevat prosessin mukaan.
johtopäätös
Prosesseja käytetään ohjelmien suorittamiseen samanaikaisesti ja peräkkäin. Lanka on ohjelman suoritusyksikkö, joka käyttää prosessin ympäristöä, kun monet säikeet käyttävät saman prosessin ympäristöä, ja niiden täytyy jakaa koodinsa, tiedot ja resurssit. Käyttöjärjestelmä käyttää tätä tosiasiaa vähentämään yleiskustannuksia ja parantamaan laskentaa.