Ne kete leksion do te shpjegojme proceset dhe menyren e funksionimit te tyre
Nje proces eshte ne thelb nje program ne ekzekutim. Ekzekutimi i nje procesi vijon ne menyre sekuenciale sipas instruksioneve te programit.
Procesi eshte njesia baze e punes qe realizohet ne sistem. Me konkretisht do te thonim qe ne momentin qe ne therrasim nje program ne ekzekutim, skedari i ekzekutueshem ngarkohet nga disku ne memorje dhe konvertohet ne nje proces ne sistemin operativ. Kur nje program ngarkohet ne memorje dhe behet proces, struktura e memorjes se tij mune te ndahet ne 4(kater) seksione:
stiva (stack)
Stiva e ekzekutimit ruan te dhena te perkohshme si parametrat e funksioneve, variablat lokale etj
memorja dinamike ( heap memory)
alokohet ne menyre dinamike psh me funksionin malloc ne c ose new)
te dhenat
Ne kete seksion ruhen variablat statike dhe globale
kodi (text)
Instruksionet, shenjuesin e sintruksiomeve dhe vlerat e regjistrave te procesorit.
Gjate ekzekutimit nje proces kalon ne disa gjendje. Keto gjendje mund te jene te ndryshme nga sistemi ne sistem dhe emrat e tyre nuk jane te standartizuar, megjithate ne pergjithesi nej proces mund te jete ne nje nga 5(pese) gjendjet e meposhtme:
Proces i ri
Start- Eshte gjendja fillestare kur nje proces krijohet
Gati per ekzekutim
Ready- Eshte gjendja kur procesi eshte ne pritje per t'Ju caktuar nje procesori per ekzekutim. Procesi kalon ne kete gjendje nga gjendja Start ose kur nderpritet gjate ekzekutimit nga planifikuesi i procesorit per tia dhene CPU nje procesi tjeter.
Duke u ekzekutuar
Running - Procesi eshte duke e ekzekutuar nga procesori. Ne kete gjendje, procesori ekzekuton instruksionet e programit ne menyre sekuenciale, me kushtezimet (if) , kercimet (goto), ciklet , funsionet ..sipas kodit te programit duke ruajtur instruksionin e rradhes ne shenjuesin e instruksioneve (Program Counter , Instruction Pointer)
Ne pritje
Waiting- Procesi kalon ne kete gjendje nese ai eshte duke pritur per nje veprim hyrje/dalje ( I/O operation) qe ka te beje me lexim shkrimin ne disk, input i perdoruesit, komunikimi me nje periferik si kamera, printer, skaner etj.
I perfunduar
Terminated ose Exit - Kur perfundon ekzekutimi i procesit ai kalon ne gjendjen Terminated , ne te cilen ai pret per tu larguar nga memorja kryesore.
Figura ilustron clikin e jetes se nje procesi dhe gjendjet ne te cilat ai kalon
Process Control Block
Bloku i kontrollit te procesit eshte nje strukture te dhenash qe mbahet nga sistemi operativ per cdo proces. Bloku i kontrollit te nje procesi identifikohet nga nje ID procesi (PID). Bloku i kontrollit te procesit ruan te gjithe informacionet qe nevojiten per te administruar nje proces:
Gjendja e procesit (Process State)
Gjendja ne te cilen ndodhet procesi: psh ready, running, waiting, etj
Process privileges
Te drejtat qe ka procesi ne burimet e sistemit.
Process ID
Identifikues unik per cdo proces ne sistemin operativ. Kjo ID gjenerohet nga sistemi operativ dhe i caktohet procesit ne momentin e krijimit te procesit.
Pointer
Shenjues tek procesi prind. Procesi prind eshte ai prioces qe therriti ne ekzekutim procesin.
Program Counter
Numeruesi i Programit ( referohet edhe si instrction pointer shenjuesi i instruksioneve) , eshte nje shenjues tek adresa e instrkusionit te rradhes per tu ekzekutuar ne kete proces.
CPU registers
Regjistrat e CPU ku procesi duhet te ruhet ne ekzekutim.
7.CPU Scheduling Information
Informacione mbi planifikimin e CPU, ku perfhsihen prioriteti i procesit dhe informacione te tjerea per planifikimin e CPU per kete proces. Proceset me prioritet me te larte kane me shume qasje ne CPU
8. Memory management information
Informacione per menaxhimin e memorjes, Ne kete pjese ruhen informacione qe kane te bejne me menaxhimin e memorjes qe perdor procesi. Disa nga termat e meposhtem do te qartesohen kur te shikojme administrimin e memorjes nga sistemi operativ. Keto informacione perfshijne tabelen e faqeve, kufizimet e memorjes, etj
9. Accounting information
Ne kete skesion ruhen informacione qe kane te bejne me kohen e perdorimit te CPU nga procesi, kufiuzimet kohore, ID e sesionit te ekzekutimit etj.
10. IO status information
Informacion mbi veprimet e hyrje/daljes, ku ruhet lista e pajisjece te hyrje daljes qe i jane caktuar procesit.
Figura ilustron blokun e kontrollit te procesit si nje strukture te dhenash, dhe elementet perberes te tij.
🛢️Bloku i kontrollit te procesit, ruhet ne memorje gjate gjithe kohes qe procesi eshte aktiv dhe fshihet nga memorja ne momentin qe procesi ka perfunduar ekzekutimin dhe largohet nga memorja.