2. Upravljanje procesima

Embed Size (px)

Citation preview

  • 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.html
  • 8/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