Process Management in Operating Systems: A Comprehensive Guide - Prof. Brown, Schemes and Mind Maps of Computer Communication Systems

A detailed explanation of process management concepts in operating systems, covering key topics such as process control blocks (pcbs), process states, context switching, and the producer-consumer problem. It also delves into memory management techniques, including logical address space and page allocation. Written in a clear and concise manner, making it suitable for students studying operating systems.

Typology: Schemes and Mind Maps

2023/2024

Uploaded on 09/20/2024

josip-kapular-1
josip-kapular-1 🇳🇱

3 documents

1 / 12

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1. Objasnite kako OS vodi evidenciju o procesu ? (Proces kontrol blok PCB)
Deskriptor procesa (Process Control Block)
Operacijski sustav mora na neki način pratiti stanje procesa, te učinkovito
mijenjati stanja procesa. U tu svrhu svaki proces prikazan je deskriptorom
procesa (Process Control Block). Deskriptor procesa je tablica u koju su uneseni
svi značajni podaci o procesu:
 pokazivači koje operacijski sustav koristi kako bi upravljao procesom,
 stanje procesa (proces može biti novi, pripravan, aktivan čeka ili je
zaustavljen, završen),
 ime procesa i informacije za obračun, operacijski sustav ime informacije o
nazivu procesa, kome pripada proces, koliko vremena je koristio procesor, koliko
memorije je koristi te ostale podatke potrebne za obračun,
 sadržaj programskog brojila koji pokazuje na sljedeću naredbu procesa koju
je potrebno izvesti,
 sadržaji spremnika procesora koji moraju biti sačuvani kako bi se proces kad
ponovo dobije pravo korištenja procesora mogao nesmetano nastaviti,
 prioriteti procesa su podaci koje operacijski sustav koristi kako bi od svih
procesa koji su pripravni za izvođenje mogao učinkovito odabrati kojem procesu
dodijeliti pravo korištenja procesora,
 podaci za upravljanje memorijom, kako je više procesa prisutno u radnoj
memoriji potrebno je paziti koji dijelovi memorije pripadaju pojedinom procesu,
 popis datoteka koje proces je otvorio,
 popis resursa sustava koji su potrebni procesu. Veličina i raspored
informacija koje se unose u deskriptor procesa variraju u ovisnosti o
operacijskom sustavu. Operacijski sustav ove podatke memorira u obliku tablice:
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Process Management in Operating Systems: A Comprehensive Guide - Prof. Brown and more Schemes and Mind Maps Computer Communication Systems in PDF only on Docsity!

1. Objasnite kako OS vodi evidenciju o procesu? (Proces kontrol blok PCB)

Deskriptor procesa (Process Control Block)

Operacijski sustav mora na neki način pratiti stanje procesa, te učinkovito

mijenjati stanja procesa. U tu svrhu svaki proces prikazan je deskriptorom

procesa (Process Control Block). Deskriptor procesa je tablica u koju su uneseni

svi značajni podaci o procesu:

 pokazivači koje operacijski sustav koristi kako bi upravljao procesom,

 stanje procesa (proces može biti novi, pripravan, aktivan čeka ili je

zaustavljen, završen),

 ime procesa i informacije za obračun, operacijski sustav ime informacije o

nazivu procesa, kome pripada proces, koliko vremena je koristio procesor, koliko

memorije je koristi te ostale podatke potrebne za obračun,

 sadržaj programskog brojila koji pokazuje na sljedeću naredbu procesa koju

je potrebno izvesti,

 sadržaji spremnika procesora koji moraju biti sačuvani kako bi se proces kad

ponovo dobije pravo korištenja procesora mogao nesmetano nastaviti,

 prioriteti procesa su podaci koje operacijski sustav koristi kako bi od svih

procesa koji su pripravni za izvođenje mogao učinkovito odabrati kojem procesu

dodijeliti pravo korištenja procesora,

 podaci za upravljanje memorijom, kako je više procesa prisutno u radnoj

memoriji potrebno je paziti koji dijelovi memorije pripadaju pojedinom procesu,

 popis datoteka koje proces je otvorio,

 popis resursa sustava koji su potrebni procesu. Veličina i raspored

informacija koje se unose u deskriptor procesa variraju u ovisnosti o

operacijskom sustavu. Operacijski sustav ove podatke memorira u obliku tablice:

2. Objasnite graf stanja procesa! (5 stanja-novi,pripravan,zavrsio,ceka,aktivan)

Stanje procesa Tijekom izvođenja procesa on mijenja svoja stanja. Stanje procesa određeno je njegovom trenutnom aktivnošću. Tako kada korisnik ili operacijski sustav namjerava izvesti neku proceduru ili neki program stvara novi proces. Novi proces iako može odmah započeti s izvođenjem ne mora odmah dobiti procesor na korištenja. On je pripravan i kada je procesor slobodan, te kad on dobije pravo korištenja procesora postaje aktivan odnosno koristi procesor. Tijekom izvođenja proces može zahtijevati ulazno/izlaznu operaciju ili može biti jednostavno prekinut od strane operacijskog sustava jer mu je isteklo vrijeme dozvoljeno za korištenje procesora. U prvom slučaju procesor čeka na izvođenje ulazno/izlazne operacije, a u drugom slučaju on je već pripravan za izvođenje ali samo čeka red za dodjelu procesora.

3. Primjer: u sustavu je 4 procesa, P1 je aktivan, P0 i P3 su pripravni, a P2 ceka

disk. Aktivnom procesu istjece vrijeme racunanja! Objasnite kako OS izvodi

prebacivanje iz stanja u stanje. CONTEXT SWITCH (1 spremi stanje aktivnog

procesa, 2 aktivan proces prebaci na kraj reda pripravan, 3 prvi proces iz reda

pripravan prebaci u red aktivan, 4 objasnite stanje aktivnog procesa, i kod uz

ovo sve).

OS jednostavno prebacuje procese iz stanja u stanje tako da stavi proces u određen red. PCB među ostalim podacima sadrži i pokazivače koji će pokazivati na sljedeći I prethodni u redu, te polje u kojem je zapisano stanje procesa. Prebacivanje iz reda u red se obavlja jednostavnim preusmjeravanjem pokazivača. Context switch je izmjena aktivnog procesa. Kod prebacivanja obrade s jednog procesa na drugi procesor mora sačuvati stanje prekinutog procesa tako da ga zapiše u PCB , te obnoviti stanje procesa (tako da učita sve potrebne podatke iz PCB-a) koji postaje aktivan. Sam context switch traje neko određeno vrijeme I nastojimo da to vrijeme bude što kraće. Problem je što u PCB upisujemo i informacije o dodijeli i korištenju memorije procesa. Taj proces dodatno usporava context switch. Zbog toga koristimo niti (threadove) koje smanjuju broj izmjena konteksta. Koraci izmjene konteksta:

  1. Sadržaj spremnika upiše se u PCB na koji pokazuje pokazivač aktivan
  2. PCB iz reda aktivan stavi u red čeka
  3. Prvi proces iz reda pripravan stavi u red aktivan
  4. Obnovi stanje procesa koji postaje aktivan(prepiše stanja registara iz PCB-a). Aktivan proces P1 zahtjeva od operacijskog sustava da mu dobavi neki podatak s diska. Stanje procesora se upisuje u PCB na koji pokazuje aktivan. for (i = 0; i < broj spremnika; i++) aktivan->spremnici[i] = reg[i]; aktivan->PC = PC;

Aktivni proces se prebacuje u red čekanja na disk, odnosno stavlja se na kraj reda ceka_disk_kraj->pokazivac = aktivan; ceka_disk_kraj = aktivan; Prvi proces iz reda pripravan prebacuje se u red aktivan aktivan = pripravan; pripravan = pripravan->pokazivač; aktivan->pokazivač = NULL; Obnova stanja procesora Kopiranje iz PCB-a na koji pokazuje aktivan sadržaja spremnika u spremnike procesora for (i = 0; i < broj spremnika; i++) reg[i] = aktivan->spremnici[i]; PC = aktivan->PC;

4. Objasniti problem proizvodac-potrosac. Proizvodac->bufer->potrosac

(napisati kod za proizvodac i kod za potrosac i objasniti dijelove koda, brojac++ (

naredba iz c ide u 3 asemblerske naredbe i napisati kako nastaje problem,

kriticni odsjecak) i brojac- - ).

Rješenje problema kritičnog odsječka mora zadovoljiti sljedeća tri zahtjeva:Međusobno isključivanje (Mutal Exclusion) , Napredovanje (Progress),Ograničeno čekanje (Bounded Waiting)

5. Rijesiti problem proizvodac-potrosac pomocu semafora. (-> 2 semafora, Spun,

Sprazan, -sto je semafor, -operacije nad semaforom).

6. Kreiranje logickog adresnog prostora.(source koji se napise kroz edit->

kompajler izbaci objekt-> link izbaci exe i dobije se logicki adresni prostor(slika),

recenica dvije o pojedinim dijelovima u tablici)

Otvori se editor (npr. Notepad) i napiše se izvorni (source) kod. Prevodi se (compile) izvorni kod u binarni i kreira se tablica simbola (symbol table). Na ovaj način kompajler zna kako su deklarirane sve korištene funkcije u program. Nakon što je provjereno da li je kod ispravno napisan prevodi se izvorni u binarni kod i kreira se tablica simbola. U tablici simbola zapisane su sve funkcije i globalne varijable. Postupak se ponovi i s drugim datotekama. Slijedi postupak kovezivanje (Link) svih komponenata u jednu cjelinu. Na kraju dobijemo exe datoteku u kojoj su moduli povezani. Nakon procesa kompajliranja i linkanja generira se kod i podaci koji započinju od adrese O do MAX. Za vrijeme prevođenja i povezivanja logičke i fizičke adrese su jednake. Tijekom izvođenja, transformacija adresa rezultira u različitim fizičkim i logičkim adresama. U tom slučaju logičke adrese nazivaju se virtualne adrese. Sukladno navedenim definicijama, adresni prostor koji koristi program prije punjenja u memoriju naziva se logički adresni prostor koji za vrijeme izvođenja (nakon punjenja u memoriju) prelazi u fizički adresni prostor. Tako za vrijeme izvođenja, logički i fizički adresni prostori se razlikuju. Funkciju preslikavanja iz logičkog u fizički adresni prostor realizira zasebno sklopovlje nazvano sklop za upravljanje memorijom (memory management unit).

7. Na jednostavnom primjeru objasniti dodjelu memorije po stranicama.

Sustav za dodjelu memorije po stranicama djeluje na sljedeći način: Kad se program prihvati na izvođenje izračuna se potreban broj okvira i uspoređuje se s brojem slobodnih okvira u memoriji. Ukoliko je slobodan dovoljan broj okvira proces se upisuje u memoriju stranicu po stranicu. Istovremeno se za svaku stranicu u tablici stranica upisuje i broj okvira u koji je ona upisana.