Sistemske operacije za stvaranje i unistenje procesa

Nova tema  Odgovori 
Podelite temu sa drugarima: ZARADITE PRODAJOM SVOJIH RADOVA
 
Ocena teme:
  • 0 Glasova - 0 Prosečno
  • 1
  • 2
  • 3
  • 4
  • 5
 
Autor Poruka
Vesnica Nije na vezi
Posting Freak
*****

Poruka: 2,567
Pridružen: May 2010
Poruka: #1
Sistemske operacije za stvaranje i unistenje procesa
Maturski, seminarski i diplomski radovi iz informatike.

Deo programa koji je u stanju izvršavanja naziva se PROCES. Ukoliko imate dva terminal windows pokazana na vašem monitoru, onda je najverovatnije reč o izvšavanju istog terminalnog programa dva puta – dakle, postoje dva terminalna procesa. Svaki terminalni prozor se najverovatnije izvršava u shellu. Svaki shell koji je u stanju izvršavanja je novi proces. Kada pozivate komandu iz shell-a odgovarajući program se izvršava u novom procesu; kada se proces završi shell proces nastavlja sa radom.
Napredni programeri često koriste višestruko kooperativne procese u jednoj aplikaciji, da bi tako
omogućili da aplikacija radi više od jedne stvari istovremeno, da bi povećali snagu aplikacije i da bi koristili već postojeće programe.
Većina funkcija koje služe za rad sa procesima, opisanih u ovom poglavlju, su slične onima iz drugih UNIX sistema. Većina njih je deklarisana u datoteci koja predstavlja zaglavlje <unistd.h>, ali treba proveriti uputstvo, za svaku od funkcija da biste bili sigurni.
Proces koji je u stanju izvršavanja možete ukinuti naredbom kill. Jednostavno, u komandnoj liniji odredite Identifikator procesa za proces koji će biti ukinut.
Naredba kill radi tako što procesu prosleđuje SIGTERM, odnosno signal za ukidanje.[1] Ovo uzrokuje ukidanje procesa, osim ako to izvršni program eksplicitno radi ili postoji maskiranje za SIGTERM signal.

SISTEMSKE OPERACIJE ZA STVARANJE I UNIŠTENJE PROCESA

Za stvaranje procesa potrebno je pristupiti odgovarajućoj izvršnoj datoteci sa inicijalnom slikom procesa, koja, između ostalog, sadrži mašinske naredbe i početne vrednosti (inicijalizovanih) statičkih promenljivih odgovarajućeg programa, ali i podatak o veličini (pojedinih delova) slike procesa.
Takođe, potrebno je zauzeti deskriptor procesa, kao i dovoljno veliku zonu radne memorije za sliku procesa. Svećto, kao i pravljenje slike procesa na osnovu njegovećinicijalne slike, odnosno popunjavanje atributa njegovog deskriptora, spada u nadležnost sistemske operacije stvaranja procesa.
Ovu operaciju poziva proces stvaralac i ona se obavlja u toku njegove aktivnosti. U okviru poziva sistemske operacije stvaranja procesa kao argument se navodi pitanja odgovarajuće izvršne datoteke.
Svi atributi deskriptora stvaranog procesa ne moraju biti navođeni u okviru poziva sistemske operacije stvaranja procesa, jer se jedan njihov deo nasleđuje iz deskriptora procesa stvaraoca (na primer, numerička oznaka vlasnika procesa, podatak o radnom direktorijumu procesa ili njegov prioritet), a jedan deo nastaje u toku stvaranja procesa (na primer, podaci o slici procesa).
Kada se, u okviru stvaranja procesa, stigne do pokretanja njegove aktivnosti, moguće je priključivanje procesora sa procesa stvaraoca na stvarani proces. To se desi, ako je prioritet stvaranog procesa viši od prioriteta procesa stvaraoca. U tom slučaju, proces stvaralac dospeva među spremne procese. Inače tamo dospeva stvarani proces.

Razlozi za stvaranje novog procesa su :
• nova grupa zadataka
• prijavljivanje na sistem
• potreba OS da omogući neki servis
• potreba tekućeg procesa za novim procesom

Za uništenje procesa potrebno je osloboditi njegov deskriptor i zonu radne memorije sa njegovom slikom. Ovo spada u nadležnost sistemske operacije uništenja procesa. Nju automatski poziva proces na kraju svoje aktivnosti, čime izaziva svoje samouništenje. Uništenje procesa se završava preključivanjem procesora sa uništavanog na neki od spremnih procesa. U okviru poziva sistemske operacije uništenja procesa uputno je predvideti argument, posredstvom koga uništavani proces može da saopšti svom stvaraocu svoje završno stanje, odnosno informaciju da li je aktivnost uništavanog procesa bila uspešna ili ne. Jasno, da bi proces stvaralac mogao iskoristiti ovakvu povratnu informaciju od stvorenog procesa, on mora da, u okviru poziva sistemske operacije stvaranja procesa, posebnim argumentom zatraži zaustavljanje svoje aktivnosti (i tako omogući preključivanje procesora na stvarani proces).
U ovom slučaju, proces stvaralac ne dospeva među spremne procese, nego među procese u stanju čekanja, jer čeka kraj aktivnosti stvorenog procesa. Takođe, u ovom slučaju sistemska operacija uništenja stvorenog procesa ima i zadatak da prevede proces stvaralac među spremne procese i tako omogući nastavak njegovećaktivnosti.

Razlozi za uništenje procesa su :
• Uspešno završenje procesa
• Prekoračenje vremenskog limita za izvršavanje
• Nedostupnost radne memorije
• Pokušaj pristupa nedozvoljenoj memorijskoj lokaciji
• Greška u zaštiti procesa
• Aritmetička greška
• Predugo čekanje na neki događaj
• Greška sa I/O
• Loša instrukcija
• Privilegovana instrukcija
• Nedostatak podataka
• Intervencija operatera ili OS
• Završetak procesa stvaraoca
• Zahtev stvaraoca
Sistemska operacija uništenja procesa se automatski poziva, kada se desi nepopravljiv prekid (izuzetak) u toku aktivnosti procesa.

NAČIN IZVRŠAVANJA PROCESA

Većina procesora podržava makar 2 načina izvršavanja: u kernel i korsničkom načinu rada (modu). Postoji bit u PSW registru (Program Status Word) koji označava u kom modu se izvršava proces.
Kernel (system, control) mode – ovo je “privilegovani” način izvršenja instrukcija, što
podrazumjeva čitanje CONTROL registra, osnovne ulazno-izlazne instrukcije, instrukcije koje se odnose na upravljanje memorijom, i pristup određenim memorijskim lokacijama. U ovom modu softver ima punu kontrolu nad procesorom i svim njegovim instrukcijama, registrima I memorijom. Korisničkim programima ovaj nivo kontrole nije potreban a iz sigurnosnih razloga nije ni poželjan.
User mode - manje privilegovan mod se naziva korisnički ili USER mod zato što se korisnički programi obično izvršavaju u njemu.
Ova dva moda su uvedena zbog toga što je potrebno zaštititi operativni sistem i ključne tabele operativnog sistema od korisničkih programa.

Stvaranje procesa

Tokom svog izvođenja proces može stvoriti novećprocese pomoću sistemskih poziva za stvaranje novog procesa. Novo stvoreni procesi nazivaju se deca (children) dok se proces koji ih je stvori naziva roditelj (parent). Naravno, novo stvoreni procesi, deca, mogu dalje stvoriti nove procese stvarajući stablastu hijerarhijsku strukturu procesa. Ovakva struktura operacijskog sastava Unix prikazana je slikom.

Uopšteno, proces tokom izvođenja koristi resurse računarskog sastava (procesor, memoriju, datoteke, U/I uređaje). Kada proces stvori novi proces on može zahtevati resurse direktno od operacijskog sastava ili može biti ograničen resursima koji su dodeljeni roditelju. U drugom slučaju roditelj može resurse ili u potpunosti prepustiti detetu ili ih deliti s njim. Pristup da su resursi koji se dodeljuju detetu podskup resursa dodeljenih roditelju osigurava da se sastav ne preoptereti zahtevima velikog broja novonastalih procesa.
Uz resurse koje novonastali proces dobije nakon stvaranja, može dobiti i određene ulazne podatke od svog roditelja. Kao primer može se navesti proces čija zadatak je ispisati sadržaj datoteke ulaz na ekranu. Tokom stvaranja novog procesa on dobija od roditelja ulazne podatke, a to su ime datoteke ulaz kao i U/I uređaj na koji se sadržaj datoteke mora ispisati. U zavisnosti o operacijskom sastavu potrebne resurse novonastali proces dobija ili od roditelja ili od operacijskog sastava.
S gledišta izvođenja procesa postoje sledeće dvećmogućnosti:
-roditelj nastavlja konkurentno izvođenje s detetom,
-roditelj čeka dok dete (deca) ne završe s izvođenjem.
Takođe, s gledišta memorijskog prostora koje dobiva diete na korišćenje postoje dvećmogućnosti:
-adresni prostor deteta je kopija adresnog prostora roditelja (sadržaj adresnog prostora roditelja kopira se u adresni prostor deteta),
-u adresni prostor deteta upisuje se određeni program.
Razlika između navedenih mogućnosti opisati će se na primeru operacijskog sastava Unix. Kod Unix-a svaki proces ima svoj identifikacijski broj (process identifier).Novi proces, dete, stvara se sistemskim pozivom fork. Adresni prostor deteta kopija je adresnog prostora roditelja. Ovakav pristup omogućava jednostavnu komunikaciju, odnosno prijenos podataka između roditelja i deteta. Oba procesa (roditelj i dete)


PORUČITE RAD NA OVOM LINKU >>> SEMINARSKI
maturski radovi seminarski radovi maturski seminarski maturski rad diplomski seminarski rad diplomski rad lektire maturalna radnja maturalni radovi skripte maturski radovi diplomski radovi izrada radova vesti studenti magistarski maturanti tutorijali referati lektire download citaonica master masteri master rad master radovi radovi seminarske seminarski seminarski rad seminarski radovi kvalitet kvalitetni fakultet fakulteti skola skole skolovanje titula univerzitet magistarski radovi

LAJKUJTE, POZOVITE 5 PRIJATELJA I OSTVARITE POPUST
12:13 PM
Poseti veb stranicu korisnika Pronađi sve korisnikove poruke Citiraj ovu poruku u odgovoru
Nova tema  Odgovori 


Verovatno povezane teme...
Tema: Autor Odgovora: Pregleda: zadnja poruka
  E - alati - Sredstvo za učenje, a ne sredstvo za prenos znanja Maja 0 2,868 22-08-2012 02:37 PM
zadnja poruka: Maja
  Automatizacija procesa- elektrotehnika zekan 0 3,690 09-09-2010 09:37 AM
zadnja poruka: zekan

Skoči na forum: