Protsessi ja programmi vahel on palju-üks-suhe, mis tähendab, et üks programm võib kutsuda mitmeid protsesse või teisisõnu võib mitu protsessi olla sama programmi osa.
Võrdluskaart
Võrdluse alus | Programmi | Protsess |
---|---|---|
Põhiline | Programm on juhiste kogum. | Programmi käivitamisel on see tuntud kui protsess. |
Loodus | Passiivne | Aktiivne |
Eluaeg | Pikem | Piiratud |
Nõutavad ressursid | Programm salvestatakse mõnel failil kettale ja ei vaja muid ressursse. | Protsess sisaldab selliseid ressursse nagu CPU, mäluaadress, ketas, I / O jne. |
Programmi määratlus
Programmi võib lihtsate sõnadega pidada süsteemi tegevuseks. Partii töötlemise süsteemis nimetatakse neid tööülesanneteks, samas kui reaalajas operatsioonisüsteemis nimetatakse neid ülesandeks või programmideks. Kasutaja saab käivitada mitmeid programme, kus operatsioonisüsteem hõlbustab oma sisemist programmeeritud tegevust, näiteks mälu haldamist mõne meetodi abil.
Programm on passiivne üksus, näiteks fail, mis mahutab täidetavate juhiste rühma (käivitatav fail). Seda nimetatakse nii, et see ei täida ühtegi toimingut ise, see tuleb täita selles määratletud tegevuste realiseerimiseks.
Programmi aadressiruum koosneb juhendist, andmetest ja korstnatest. Eeldame, et P on programm, mida me kirjutame, et teostada P teostamist, eraldab operatsioonisüsteem mälu P aadressiruumi mahutamiseks.
Protsessi määratlus
Protsess on programmi täitmine. Seda peetakse aktiivseks üksuseks ja realiseeritakse programmis määratletud tegevused. Sama programmiga võib seotud olla mitu protsessi. See tegeleb operatsioonisüsteemi toimingutega PCB (Process Control Block) abil, mis sisaldab programmi loendurit, virna, olekut jne. Programmiloendur salvestab järgmise käskude järjestuse, mis tuleb teostada hiljem.
Juhtimisülesannete täitmiseks on vaja ressursse, nagu töötlemine, mälu ja I / O-ressursid. Programmi täitmise ajal võib see hõlmata protsessorit või I / O operatsiooni, mis muudab protsessi programmist erinevaks.
Mõelgem sellest eeskujust; me kirjutame C-programmi. Programmi kirjutamisel ja salvestamisel failis on see vaid skript ja ei täida ühtegi toimingut, kuid kui see täidetakse, muutub see protsessiks, seega on protsess dünaamiline. Olemasolevad masinad kasutavad ressursside jagamist mitmete protsesside vahel, kuid tegelikult jagatakse üks protsessor mitme protsessi vahel.
Programmi ja protsessi peamised erinevused
- Programm on kindel rühm tellitud toiminguid, mida tuleb täita. Teisest küljest on teostatava programmi eksemplar protsess.
- Programmi olemus on passiivne, kuna see ei tee midagi enne, kui see täidetakse, samas kui protsess on dünaamiline või aktiivne looduses, kuna see on täidesaatva programmi näide ja konkreetne tegevus.
- Programmil on pikem eluiga, kuna see salvestatakse mällu seni, kuni seda ei kustutata käsitsi, samas kui protsessil on lühem ja piiratud kasutusiga, sest see lõpetatakse pärast ülesande täitmist.
- Ressursinõudlus on protsessi puhul palju suurem; see võib vajada töötlemist, mälu, I / O ressursse edukaks täitmiseks. Seevastu vajab programm mälu mälu hoidmiseks.
Järeldus
Programm ja protsess on asjakohased, kuid erinevad. Programm on lihtsalt kettale salvestatud skript, mis tundub olevat protsessi eelmine etapp. Vastupidi, protsess on programmi elluviimise sündmus.