Teine oluline punkt, mis eristab protsessi ja niiti, on see, et protsessid on üksteisega eraldatud, samas kui niidid jagavad omavahel mälu või ressursse.
Võrdluskaart
Võrdluse alus | Protsess | Teema |
---|---|---|
Põhiline | Programmi täitmine. | Kerge protsess või selle osa. |
Mälu jagamine | Täiesti isoleeritud ja ei jaga mälu. | Jagab mälu üksteisega. |
Ressursside tarbimine | Veel | Vähem |
Tõhusus | Vähem tõhus kui suhtlusprotsessi protsess. | Parandab tõhusust kommunikatsiooni kontekstis. |
Loomiseks kuluv aeg | Veel | Vähem |
Kontekstide vahetamise aeg | Võtab rohkem aega. | Kulub vähem aega. |
Ebakindel lõpetamine | Tulemused protsessi kadumisel. | Teema saab taastada. |
Lõpetamiseks vajalik aeg | Veel | Vähem |
Protsessi määratlus
Protsess on programmi täitmine ja programmi raames määratud toimingute sooritamine või rakendusüksus, kus programm töötab. Operatsioonisüsteem loob, ajastab ja lõpetab protsessori kasutamise protsessid. Teised põhiprotsessi poolt loodud protsessid on tuntud kui lapseprotsess.
Protsessi operatsioone kontrollitakse PCB abil (protsessi juhtimise plokk), mis on protsessi aju, mis sisaldab kõiki olulisi andmeid protsessi, näiteks protsessi id, prioriteedi, oleku, PWS ja sisu CPU registri kohta .
PCB on ka kernelipõhine andmestruktuur, mis kasutab kolme tüüpi funktsioone, mis on ajastamine, saatmine ja kontekstide salvestamine.
- Planeerimine - see on meetod, mis valib protsessi järjestuse lihtsate sõnadega, valib protsessi, mis tuleb CPU-s kõigepealt teostada.
- Väljastamine - see loob käivitatava protsessi keskkonna.
- Konteksti salvestamine - see funktsioon salvestab protsessiga seotud teabe, kui see taastub või blokeerub.
Protsessi elutsüklisse kuuluvad teatud olukorrad, nagu näiteks valmisolek, jooksmine, blokeerimine ja lõpetamine. Protsessi olekuid kasutatakse protsessi aktiivsuse jälgimiseks.
Programmeerija vaatepunktist on protsessid programmi üheaegse elluviimise vahendiks. Samaaegse programmi peamine protsess loob lapse protsessi. Ühise eesmärgi saavutamiseks peab peamine protsess ja lapseprotsess igaühega suhtlema.
Protsesside interleaveoperatsioonid suurendavad arvutuskiirust, kui i / o operatsioon ühes protsessis kattub arvutusliku aktiivsusega teises protsessis.
Protsessi omadused:
- Iga protsessi loomine sisaldab iga protsessi eraldi süsteemi eraldi.
- Protsess on isoleeritud teostusüksus ja ei jaga andmeid ja teavet.
- Protsessid kasutavad IPC (Inter-process communication) mehhanismi, mis suurendab oluliselt süsteemikõnede arvu.
- Protsesside haldamine tarbib rohkem süsteemikõnesid.
- Igal protsessil on oma korstnat ja hunnik, käsk, andmed ja mälukaart.
Teema määratlus
Teema on programmi täitmine, mis kasutab ülesande täitmiseks protsessiressursse. Kõik ühe programmi lõimed sisalduvad loogiliselt protsessis. Kernel eraldab igale niidile virna ja niidikontrollploki (TCB). Operatsioonisüsteem salvestab ainult virna ja CPU oleku sama protsessi keermete vahel.
Teemasid rakendatakse kolmel erineval viisil; need on kerneli tasemega niidid, kasutajataseme niidid, hübriidniidid. Lõngadel võib olla kolm olekut, valmis ja blokeeritud; see hõlmab ainult arvutuslikku olekut, mis ei ole ressursside jaotus ja side olek, mis vähendab lülitamist. See suurendab samaaegsust (paralleelsust), mistõttu kiirus suureneb.
Mitmekiirusel on ka miinused, mitmed niidid ei tekita keerukust, kuid nende omavaheline koostoime.
Kui lõime on aktiivne, peab lõimel olema prioriteetsed omadused. Teise aktiivse niidi täitmiseks kuluv aeg samas protsessis on määratud niidi prioriteediga.
Teema omadused:
- Ainult üks süsteemikõne võib luua rohkem kui ühe lõime (kerge protsess).
- Teemad jagavad andmeid ja teavet.
- Teemad jagavad õpetusi, globaalseid ja hunnikupiirkondi, kuid neil on oma individuaalne korstnat ja registrid.
- Lõngade haldamine ei kasuta ega kasuta vähem süsteemikõnesid, kuna keermete vaheline side on võimalik saavutada jagatud mälu abil.
- Protsessi isoleerimisomadused suurendavad selle üldkulusid ressursikasutuse osas.
Peamised erinevused protsessi ja niidi vahel
- Kõik programmi lõimed on loogiliselt protsessi sees.
- Protsess on raske kaalutud, kuid niit on kerge kaalutud.
- Programm on isoleeritud rakendusüksus, samas kui niit ei ole eraldatud ja jagab mälu.
- Keermel ei ole individuaalset olemasolu; see on seotud protsessiga. Teisest küljest võib protsess toimuda individuaalselt.
- Keerme lõppemise ajal saab selle juurde kuuluva virna taastada, kuna igal lõngal on oma virn. Vastupidiselt sellele, kui protsess sureb, surevad kõik niidid kaasa ka protsessi.
Järeldus
Protsesse kasutatakse programmide teostamiseks samaaegselt ja järjestikku. Kui niit on programmi täitmise üksus, mis kasutab protsessi keskkonda, kui paljud niidid kasutavad sama protsessi keskkonda, peavad nad jagama oma koodi, andmeid ja ressursse. Operatsioonisüsteem kasutab seda asjaolu üldkulude vähendamiseks ja arvutuse parandamiseks.