






Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
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
1 / 12
This page cannot be seen from the preview
Don't miss anything!







Deskriptor procesa (Process Control Block)
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.
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:
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;
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)
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).
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.