8/13/2019 2. Upravljanje procesima
1/56
Prof. dr Dragan Stojanovi
Operativni sistemi
Raunarstvo i informatika
Operativni sistemi
- Upravljanje procesima-
Prof. dr Dragan Stojanovi
Katedra za raunarstvoUniverzitet u Niu, Elektronski fakultet
8/13/2019 2. Upravljanje procesima
2/56
Korien materijal
Operating Systems: Internals and Design Principles,5th edition, W. Stallings, Pearson Education Inc.,2005) 6th edition 2008, 7th edition 2012
http://williamstallings.com/OS/OS6e.html
http://williamstallings.com/OperatingSystems/Poglavlje 3: Opis procesa i upravljanje
Prof. dr Dragan Stojanovi
Upravljanje procesima
Operativni sistemi 2
http://williamstallings.com/OS/OS6e.htmlhttp://williamstallings.com/OperatingSystems/http://williamstallings.com/OperatingSystems/http://williamstallings.com/OS/OS6e.html8/13/2019 2. Upravljanje procesima
3/56
Sadraj
Predstavljanje procesa u OS.Stanja procesa koja karakteriu ponaanje procesa.Strukture podataka koje se koriste za upravljanjeprocesima.
Naini na koje OS koristi ove strukture podataka daupravlja izvrenjem procesa.Upravljanje procesima u UNIX SVR4.
Prof. dr Dragan Stojanovi
Upravljanje procesima
Operativni sistemi 3
8/13/2019 2. Upravljanje procesima
4/56
Zahtevi operativnog sistema
Osnovni zadatak: Upravljanje procesimaOperativni sistem mora da obezbedi:
Meanje (preplitanje) izvrenja vie procesaDodelu (alokaciju) resursa procesima i zatitu resursa
svakog procesa od strane drugih procesaMogunost deljenja i razmene podataka izmeu procesaMogunost sinhronizacije izmeu procesa
Raunarska platforma se sastoji od kolekcije
hardverskih resursa; OS obezbeuje reprezentacijuresursa i interfejs za aplikacije u cilju korienja tihresursa
Prof. dr Dragan Stojanovi
Upravljanje procesima
Operativni sistemi 4
8/13/2019 2. Upravljanje procesima
5/56
ta je proces ?
Proces je osnovni koncept operativnog sistema ipredstavlja program u izvravanju na CPU
Proces se ponekad naziva zadatak (task)Svi multiprogramski OS su izgraeni oko koncepta
procesaGledano sa strane OS-a, proces je osnovna jedinicaizvravanja i najmanji entitet koji se moe planirati,dodeliti i izvravati na procesoru
Jedinica aktivnosti koju karakterie izvrenjesekvence instrukcija, trenutno stanje i pridruenskup sistemskih resursa
Prof. dr Dragan Stojanovi
Upravljanje procesima
Operativni sistemi 5
8/13/2019 2. Upravljanje procesima
6/56
Elementi procesa
Proces se sastoji od:Programskog kda
Skupa podataka nad kojima se izvravaju instrukcijeprograma
Atributa koji opisuju stanje procesa dok se izvrava: Identifikator Stanje Prioritet Programski broja (Program counter)
Pokazivai na memoriju koju zauzima proces Kontekstni podaci Informacije o U/I statusu Informacije o obraunu korienja resursa
Prof. dr Dragan Stojanovi
Upravljanje procesima
Operativni sistemi 6
8/13/2019 2. Upravljanje procesima
7/56
Upravljaki blok procesa
Process Control Block- PCBSadri atribute procesaKreiran i upravljan od straneOS
Obezbeuje podrku zaviestruke procesePCB-i svih procesa ine Tabelu
procesa
Prof. dr Dragan Stojanovi
Upravljanje procesima
Operativni sistemi 7
8/13/2019 2. Upravljanje procesima
8/56
Trag (putanja, trace) procesa
Ponaanje individualnog procesa je prikazanosekvencom instrukcija koje se izvravajuOva lista instrukcija se naziva trag (trace)
Dispeer (dispatcher) je program koji prebacuje
(switch) procesor od jednog procesa drugom, i vrizamenu aktivnog procesa
Prof. dr Dragan Stojanovi 8
Upravljanje procesima
Operativni sistemi
8/13/2019 2. Upravljanje procesima
9/56
Izvrenje procesa
Razmotriemo tri procesa koji se izvravajuSvi procesi su u glavnoj memoriji,
ukljuujui i dispeer
U ovom primeru emo ignorisati postojanjevirtuelne memorije.
Programski broja u CPU sadri adresu
instrukcije koja treba da bude izvrenaKada se aktivira sledei proces menja sesadraj programskog brojaa i njegovavrednost postavlja na adresu instrukcijekoju treba izvriti u novom procesu
Prof. dr Dragan Stojanovi 9
Upravljanje procesima
Operativni sistemi
8/13/2019 2. Upravljanje procesima
10/56
Trag procesa sa stanovitaprocesa
Svaki proces se izvrava do svog zavretka
Prof. dr Dragan Stojanovi 10
Upravljanje procesima
Operativni sistemi
8/13/2019 2. Upravljanje procesima
11/56
Trag procesa sa stanovitaprocesora
TimeoutI/OTimeoutTimeout
Prof. dr Dragan Stojanovi 11
Upravljanje procesima
Operativni sistemi
8/13/2019 2. Upravljanje procesima
12/56
Model dva stanja procesa
Proces moe biti u jednom od dva stanjaIzvrava seNe izvrava se
Red procesaProcesi se pomeraju iz reda do i nazad sve dok se nezavre
Prof. dr Dragan Stojanovi
Upravljanje procesima
Operativni sistemi 12
8/13/2019 2. Upravljanje procesima
13/56
Upravljanje procesima u OS
Osnovne funkcije:Kreiranje i zavravanje procesaSuspendovanje i ponovo aktiviranje
Planiranje izvrenja procesa i upravljanje
procesorom/procesorimaObezbeenje mehanizama za sinhronizaciju ikomunikaciju izmeu procesaObezbeenje mehanizama za upravljanje deadlock-om
(samrtni zagrljaj, uzajamno blokiranje, zastoj)
Prof. dr Dragan Stojanovi
Upravljanje procesima
Operativni sistemi 13
8/13/2019 2. Upravljanje procesima
14/56
Kreiranje procesa
Glavni razlozi za kreiranje procesa1. Iniciranje nekog batch posla2. Interaktivni login3. Kreiran od strane operativnog sistema za obezbeenje
nekog servisa4. Kreiran od strane postojeeg procesaRoditeljski (parent) i proces dete (child)
Aktivnosti:1. Dodela identifikatora procesu
2. Dodela inicijalnog prioriteta procesu3. Kreiranje i unos PCB novog procesa u Tabelu procesa4. Dodela poetnih resursa procesu (memorija, otvorene
datoteke, itd.)
Prof. dr Dragan Stojanovi
Upravljanje procesima
Operativni sistemi 14
8/13/2019 2. Upravljanje procesima
15/56
Zavretak (terminiranje) procesa
Razlozi za zavretak procesa1. Normalni zavretak2. Isteklo dodeljeno vreme za izvravanje3. Nedovoljno raspoloive memorije
4. Greka usled naruavanja zatite (protection error) upristupu memoriji ili drugim resursima bez autorizacije5.Aritmetika greka6. U/I greka
7. Ubijen od OS ili operatera8. Zavretak roditeljskog procesa9. Na zahtev roditeljskog procesa koji ima privilegije da
zavri procese decu
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 15
8/13/2019 2. Upravljanje procesima
16/56
Model procesa sa pet stanja
Izvrava se (Running) - Proces koji se trenutno izvravaSpreman (Ready) - Proces koji je spreman za izvravanje kada mu se
prui prilikaBlokiran (Blocked)- Proces ne moe da se izvrava dok se ne desi nekidogaaj, poput zavretka U/I operacijeNovi (New) Proces tek kreiran, ali jo nije primljen od strane OS uskup izvrnih procesaZavren (Exit) proces izbaen iz skupa izvrnih procesa od strane OS
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 16
8/13/2019 2. Upravljanje procesima
17/56
Prelazi izmeu stanja procesaNull Novi
Kreiranje procesa za izvrenje programaNovi Spreman
OS prebacuje proces kada ima dovoljno resursa za njegovoaktiviranje
Spreman Izvrava seOS bira jedan od spremnih procesa za izvravanje na CPUIzvrava se Zavren
Trenutno aktivan proces se zavrava od strane OS iz nekog odrazloga
Izvrava se SpremanIsteklo je vreme dodeljeno procesu za izvravanje, ili je procesvieg prioriteta postao spreman
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 17
8/13/2019 2. Upravljanje procesima
18/56
Prelazi izmeu stanja procesa (2)Izvrava se Blokiran
Proces je zahtevao resurs zbog koga mora da eka (datoteka,memorijska sekcija, poruka od drugog procesa) ili U/I operacijukoja mora biti zavrena pre nastavka procesa
Blokiran SpremanNastao je dogaaj na koji je proces ekao
Spreman ZavrenNije prikazano na dijagramu; u nekim sistemima roditeljski procesmoe zavriti proces decu u bilo kom trenutku, pa i kad su u stanjuspreman, a takoe zavretkom roditeljskog procesa zavravaju se isva njegova deca procesi
Blokiran Zavren
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 18
8/13/2019 2. Upravljanje procesima
19/56
Stanja procesa (1)
Vremenski dijagram izvrenja procesa za prethodniprimer
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 19
Stallings, 2005
8/13/2019 2. Upravljanje procesima
20/56
Dva reda procesa
Jedinstveni red blokiranih procesa
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 20
8/13/2019 2. Upravljanje procesima
21/56
Viestruki redovi blokiranih
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 21
8/13/2019 2. Upravljanje procesima
22/56
Suspendovani procesi
Procesor je mnogo bri od U/I ureaja, tako damoe da se desi da mnogi (svi) procesi ekaju nazavretak U/I operacija
Prebaciti (Swap) ove procese na disk radi oslobaanjavie memorije i koristiti procesor za aktiviranje novihprocesa ili prethodno suspendovanih procesa
Proces u stanju blokiran prelazi u stanjesuspendovan kada se prebaci na diskDva nova stanja
Blokiran/Suspendovan (Blocked/Suspend)Spreman/Suspendovan (Ready/Suspend)
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 22
8/13/2019 2. Upravljanje procesima
23/56
Dijagram prelaza stanja procesa
Sa jednim suspendovanim stanjem
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 23
8/13/2019 2. Upravljanje procesima
24/56
Dijagram prelaza stanja procesa
Sa dva suspendovana stanja
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 24
8/13/2019 2. Upravljanje procesima
25/56
Razlozi za suspendovanje procesa
Prebacivanje (swapping) OS mora da oslobodi dovoljnoglavne memorije da aktivira proces koji je spreman zaizvrenjeDrugi OS razlozi OS moe suspendovati proces za koji sesumnja da izaziva probleme tokom izvravanjaZahtev interaktivnog korisnika Suspendovanje procesa utoku debagiranja
Vremenski proces se izvrava periodino; izmeu periodamoe biti suspendovanRoditeljski proces moe suspendovati izvrenje procesa-dece
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 25
8/13/2019 2. Upravljanje procesima
26/56
Procesi i resursi
Procesi i njima dodeljeni (alocirani) resursi u jednomvremenskom trenutku
Da bi OS upravljao procesima i resursima on mora imatiinformacije o trenutnom stanju svakog procesa i resursa.
Za svaki entitet kojim upravlja OS konstruiu seodgovarajue tabele
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 26
8/13/2019 2. Upravljanje procesima
27/56
Upravljake tabele OS
Generalna struktura upravljakih tabela operativnogsistema
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 27
8/13/2019 2. Upravljanje procesima
28/56
8/13/2019 2. Upravljanje procesima
29/56
8/13/2019 2. Upravljanje procesima
30/56
Identifikacija procesa
Svakom procesu je dodeljen jedinstveni numerikiidentifikator - (Process ID, PID)Svaki proces moe da poseduje identifikatoreroditeljskog procesa, grupe procesa korisnika koji je
kreirao proces, itd.Sve druge tabele kojima upravlja OS mogu dakoriste identifikator procesa da bi kros-referenciralePCB procesa
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 30
8/13/2019 2. Upravljanje procesima
31/56
Statusne informacije procesora
Sastoje se od sadraja registara procesora.Registara opte namene vidljivih od strane korisnikaUpravljakih i statusnih registara (PC, uslovni kodovi,flagovi za dozvoljen/nedozvoljen prekid, mod izvrenja,...)
Stack pointera - LIFO strukture za smetanje parametara,povratnih adresa i lokalnih promenljivih pri pozivimaprocedura i sistemskim pozivima
Program Status Word (PSW)
Sadri statusne informacijePrimer : EFLAGS registar na Pentium procesorima
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 31
8/13/2019 2. Upravljanje procesima
32/56
Upravljake informacije procesa
Informacije o stanju i planiranju (scheduling)Stanje procesaPrioritet
Informacije vezane za planiranje zavisno od algoritma
planiranjaDogaaj na koji proces ekaStruktuiranje (povezivanje, ulanavanje) PCB-a
Procesi (PCB) su povezani u razliitim strukturama
(redovima, listama, itd.): roditelj-dete, red ekanja naU/I, itd.Meuprocesna komunikacija
Razliiti flag-ovi, signali, poruke izmeu procesa
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 32
8/13/2019 2. Upravljanje procesima
33/56
Upravljake informacije procesa (2)
Privilegije procesaPrivilegije za pristup memoriji, izvrenje odreenih tipovainstrukcija, sistemskih servisa
Upravljanje memorijom
Pokazivai (adrese) na tabele stranica/segmenata kojeopisuju virtuelnu memoriju dodeljenu procesuVlasnitvo i korienje resursa
Resursi kojima upravlja proces, poput otvorenih datoteka
Takoe moe biti ukljuena i istorija korienja procesoraili ostalih resursa za potrebe planiranja procesa
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 33
8/13/2019 2. Upravljanje procesima
34/56
Slika procesa u virtuelnoj memoriji
Struktura slike korisnikih procesa u virtuelnoj memoriji
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 34
PCB
8/13/2019 2. Upravljanje procesima
35/56
Struktura redova (listi) procesa
PCBje najvanija struktura podataka u operativnom sistemuOS moduli (planiranje, alokacija resursa, obrada prekida,nadgledanje i analiza performansi, itd.) itaju i/ili modifikujuPCB-ove
PCB su povezani
u razliitim redovimai tablicama koji se
esto implementirajukao lanane liste
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 35
PCB
8/13/2019 2. Upravljanje procesima
36/56
Deskriptor procesa u Linux-u -ematski prikaz
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 36
D. Bovet, M. Cesati, Understanding the Linux Kernel.
2nd Edition, O'Reilly 2002
8/13/2019 2. Upravljanje procesima
37/56
Deskriptor procesa u Linux-u (1)struct task_struct {
volatile long state; /*TASK_RUNNING, TASK_INTERRUPTIBLE, TASK_UNINTERRUPTIBLE,
TASK_STOPPED, TASK_ZOMBIE */long counter; //broja vremenskih taktovalong priority; //prioritet procesa
unsigned long signal;unsigned long blocked; /* bitmap of masked signals */unsigned long flags; /* per process flags, defined below */
struct task_struct *next_task, *prev_task; //pokaziva na naredni/prethodni proces ulistiunsigned long saved_kernel_stack;unsigned long kernel_stack_page;
int pid;
/* pointers to (original) parent process, youngest child, younger sibling,* older sibling, respectively. (p->father can be replaced with* p->p_pptr->pid) */
//pokazivai na roditelja, decu i brau tekueg procesastruct task_struct *p_opptr, *p_pptr, *p_cptr, *p_ysptr, *p_osptr;
...
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 37
8/13/2019 2. Upravljanje procesima
38/56
Deskriptor procesa u Linux-u (2)
...
struct wait_queue *wait_chldexit;
unsigned short uid,euid,suid,fsuid;
unsigned short gid,egid,sgid,fsgid;
unsigned long timeout, policy, rt_priority;
long utime, stime, cutime, cstime, start_time;
struct fs_struct *fs;struct files_struct *files;
struct mm_struct *mm;
struct signal_struct *sig;
...
} //end task_struct
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 38
8/13/2019 2. Upravljanje procesima
39/56
Upravljanje izvrenjem procesa
Veina procesora podrava najmanje dva modaizvravanjaKorisniki (user) mod
Mod sa manje privilegija zabranjen pristup svim
memorijskim adresama i izvravanje privilegovanih (U/I)instrukcijaKorisniki programi se izvravaju u ovom modu
Kernel (system, control, supervisor) mod mod
jezgraPrivilegovan mod
U ovom modu se izvrava kernel operativnog sistemaBit(-ovi) u PSW oznaavaju trenutni mod izvrenja
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 39
8/13/2019 2. Upravljanje procesima
40/56
Kreiranje procesa
Prilikom kreiranja novog procesa OS mora da:Dodeli jedinstveni identifikator procesaDodeli (alocira) memorijski prostor za proces, tanije zasve elemente slike procesa
Inicijalizuje upravljaki blok procesa (PCB)Uspostavi odgovarajue veze novog procesaulanavanjem njegovog PCB u odgovarajue redove/listeKreira ili proiri ostale strukture podataka
Na primer, za obraun korienja resursa, ili ocenu i analizuperformansi
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 40
8/13/2019 2. Upravljanje procesima
41/56
Zamena (komutiranje) procesa
Zamena (komutiranje, switching) procesapredstavlja zamenu aktivnog procesa od strane OS
Kada nastaje zamena procesa:Prekid (interrupt) eksterni dogaaj u odnosu na
izvrenje procesa; prekid se javlja kao reakcija naeksterne, asinhrone dogaaje Clock prekid, U/I prekid, greka memorije (memory/page fault)
Trap Odnosi se na izvrenje tekue instrukcije procesa
- ako nastane greka ili izuzetak koji je fatalanSistemski (supervisor) poziv - Zahtev od strane procesakoji se izvrava za izvrenje U/I operacije (npr. pristupdatoteci) kojim se aktivira odgovarajua procedura ukodu OS.
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 41
8/13/2019 2. Upravljanje procesima
42/56
Promena (komutiranje) moda
Nakon izvretka svake instrukcije, procesor proverava da lije nastao prekid (interrupt signal)Ukoliko je prekid nastao, procesor izvrava sledee korake:
Postavlja programski broja na poetnu adresu rutine za obraduprekida (interrupt handler)
Prebacuje se iz korisnikog u kernel mod, tako da rutina za obraduprekida moe ukljuiti i privilegovane instrukcijeKontekst prekinutog procesa se uva u njegovom PCB
Statusne informacije procesoraIzvrava se rutina za obradu prekida
Ukoliko nastanak prekida ne zahteva zamenu (switching) procesa ipromenu stanja procesa, restauriraju se statusne informacijeprekinutog procesa
Prekid kloka ili zbog U/I operacije zahteva prebacivanje prekinutogprocesa u novo stanje (Spreman, Blokiran)
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 42
8/13/2019 2. Upravljanje procesima
43/56
Promena stanja procesa
Promena stanja procesa (konteksta)process/context switchKoraci u promeni procesa1. Sauvati kontekst procesa ukljuujui programski
broja i registre procesora2. Aurirati PCB procesa koji je trenutno u stanju Izvravase (Running)
3. Premestiti PCB u odgovarajui red spreman, blokiran,spreman/suspendovan
4. Izabrati sledei proces za izvravanje5. Aurirati PCB procesa koji je selektovan6. Aurirati stukture podataka za upravljanje memorijom7. Obnoviti (rekonstruisati) kontekst selektovanog procesa
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 43
8/13/2019 2. Upravljanje procesima
44/56
Izvravanje operativnog sistema
OS radi na isti nain kao i ostali raunarski softverAko je OS samo kolekcija programa i ako se oviprogrami izvravaju od strane procesora ba kao ibilo koji drugi programi, da li je OS proces?
Ako jeste, kako se njime upravlja?Ko (ta) upravlja njime?
Prof. dr Dragan Stojanovi 44Upravljanje procesima
Operativni sistemi
8/13/2019 2. Upravljanje procesima
45/56
Izvrenje OS-aKernel bez procesa
Tradicionalni pristup u starijim OSIzvrenje kernela van bilo kog procesaOS kod se izvrava kao poseban entitet u glavnoj memoriji , sasvojim stekom, u kernel modu (privilegovanom reimu)
Izvrenje OS unutar korisnikih procesaUobiajeno u OS na PC i radnim stanicamaOS softver predstavlja kolekciju procedura koje korisniki procesmoe pozvati za izvrenje razliitih funkcija i koje se izvravajuunutar okruenja korisnikog procesaSlika procesa sadri i delove za program, podatke i stek kernel
programaProces se izvrava u kernel modu kada se izvrava kod OS-a
OS zasnovan na procesimaOS implementiran kao kolekcija sistemskih procesaKorisno je u vieprocesorskom ili vieraunarskom okruenju
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 45
8/13/2019 2. Upravljanje procesima
46/56
Odnos izmeu OS i korisnikih procesa
Zasebno jezgro
Funkcije OS-a seizvravaju unutarkorisnikih procesa
Funkcije OS-a seizvravaju kao zasebniprocesi
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 46
8/13/2019 2. Upravljanje procesima
47/56
Slika procesa
OS se izvrava unutarkorisnikog procesa (adresnogprostora)
Kernel stek se koristi za
upravljanje pozivima proceduradok je proces u kernel modu
OS kod i podaci su u deljenomadresnom prostoru (deljeni su
izmeu svih korisnikih procesa)
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 47
8/13/2019 2. Upravljanje procesima
48/56
8/13/2019 2. Upravljanje procesima
49/56
UNIX SVR4 - upravljanje procesima
Stanja procesa i promene stanja (9)Dva stanja Running(izvravanje u korisnikom i kernelmodu)
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 49
8/13/2019 2. Upravljanje procesima
50/56
UNIX procesProces u UNIX-u je kolekcija struktura podataka koje
obezbeuju OS-u sve informacije neophodne za upravljanjei rasporeivanje procesa.Slika UNIX procesa sadri sledee elemente:
Kontekst korisnikog nivoa Tekst programa, podaci, korisniki stek, deljena memorija
Kontekst registara Programski broja, statusni registar procesora, stek pointeri, registri
opte nameneKontekst sistemskog nivoa
Ulaz (entry) u tabelu procesa (PCB)
U (user) oblast neophodne kernelu kada se izvrava u kontekstuprocesa Tabela regiona definie mapiranje izmeu virtuelnih i fizikih adresa,
kao i prava pristupa odreenim regionima koristi se od strane sistemaza upravljanje memorijom
Kernel stek za pozive/povratke iz kernel procedura
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 50
K i j
8/13/2019 2. Upravljanje procesima
51/56
Kreiranje procesaPrednji (foreground) procesi
Pozadinski (background) procesi demoni, servisiKako videti procese u sistemu?Unix komanda psWindows - TaskManager (Ctrl+Alt+Del)
Kako kreirati proces?Proces koji se izvrava poziva sistemski poziv za kreiranje procesaUnix
fork proces kreira svoj klon; pravi se kopija slike procesa roditelja exec (execv, execve, execvp, execl, execle, execlp) - definie program
koji e se izvravati u novom procesu i okolinu novog procesa
Win32 CreateProcess - kreira novi proces i puni ga novim programom
Nakon kreiranja oba procesa imaju sopstvene slikeu memoriji i adresne prostore
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 51
8/13/2019 2. Upravljanje procesima
52/56
Sistemski pozivi za terminiranje
Sistemski poziv kojim proces terminira sam sebe: Unix exit Windows API (Win32) ExitProcess
Sistemski poziv kojim jedan proces terminira drugi:
Unix kill Windows API (Win32) TerminateProcess
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 52
8/13/2019 2. Upravljanje procesima
53/56
Sistemski pozivi
POSIXUNIX/Linux
Windows API
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 53
8/13/2019 2. Upravljanje procesima
54/56
Procesi u UNIX-u
Kreiranje procesa u UNIX-u
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 54
Sistemski pozivi za upravljanje
8/13/2019 2. Upravljanje procesima
55/56
Sistemski pozivi za upravljanjeprocesima u Unix-u
sje kod grekepidje ID procesaresidualje preostalo vreme od prethodnog alarma
Prof. dr Dragan StojanoviUpravljanje procesima
Operativni sistemi 55
Si ki i i lj j l i
8/13/2019 2. Upravljanje procesima
56/56
Sistemski pozivi za upravljanje poslovima,procesima, nitima i fiberima u Windows API
Windows