340 likes | 714 Views
Proceset. Sisteme Shfrytezimi Leksion 2. Koncepti i procesit. Aktiviteti I CPU: Ne sistemet Batch ekzekuton 1 pune Ne sistemet Time-sharing ekzekutohen disa detyra Process – nje program ne ekzekutim ; progresi i procesit ecen ne menyre sekuenciale Nje proces perfshin :
E N D
Proceset SistemeShfrytezimi Leksion 2 IraldaMitro
Konceptiiprocesit • Aktiviteti I CPU: • Ne sistemet Batch ekzekuton 1 pune • Ne sistemet Time-sharing ekzekutohendisadetyra • Process – nje program ne ekzekutim; progresiiprocesitecen ne menyresekuenciale • Njeprocesperfshin: • Numratori I instruksioneve • Stiva e tedhenaveteperkohshme • Seksioni I tedhenave Iralda Mitro
Procesi ne memorje Iralda Mitro
Gjendjet e procesit • Gjateekzekutimitprocesindryshongjendje: • new: Procesipokrijohet • running: Instruksionet e procesitpoekzekutohen • waiting: Procesipopretqetendodhenjengjarje • ready: Procesipopretqetemarrekontrollin e CPU dhetevazhdojeekzekutimin • terminated: Procesi ka perfunduarekzekutimin Iralda Mitro
Diagram of Process State Iralda Mitro
Process Control Block (PCB) Informacioniqelidhet me cdoproces • Gjendja e procesit • Program counter (tregoninstruksionetpasardhesqe do teekzekutohen) • Permbajtja e regjistravete CPU • Informacion per skedulimin e CPU • Informacion per administrimin e memorjes • Informacionmbillogaritjet • Informacionmbi I/O Iralda Mitro
Process Control Block (PCB) Iralda Mitro
Planifikimiiproceseve • Qellimi I multiprogramming eshteqetekemivazhdimishtprocese ne ekzekutim • Sistemi time-sharing -> kontrolli I CPU tekalojenga 1 proces ne tjetrin duke lejuarperdoruesittenderveprojne me punen, ndersaajopoekzekutohet • Ne sisteme me 1 procesornukkemi me shume se 1 proces ne ekzekutim (Kur ka disaprocese, IDLE, derisa CPU tezgjedheproceset) Iralda Mitro
Proceset • Multiprogramming I katerprogrameve • Model konceptual I 4 procesevetepavarurdhesekuenciale • Vetemnje program aktiv ne nje moment tecaktuar
Rradhet e skedulimitte CPU • Job queue – rradha e proceseve ne sistem • Ready queue – rradha e proceseve ne kujteseqendrore, ready/waiting per tuekzekutuar • Device queues – rradha e proceseve ne pritje per pajisjen I/O • Procesetkalojneneperrradhatendryshme Iralda Mitro
Diagrama e rradheveteskedulimit Iralda Mitro
Skeduluesit • Long-term scheduler (job scheduler) – Perzgjedhesiafatgjatezgjedh se ciletproceseduhensjelle ne rradhen Ready • Short-term scheduler (CPU scheduler) – Perzgjedhesiafatshkurterzgjedh se ciletproceseduhetteekzekutohen ne vijimdhehuazon CPU Iralda Mitro
Schedulers (Cont.) • Perzgjedhesiafatshkurtertherritetshumeshpesh (ms) (duhettejeteishpejte) • Perzgjedhesiafatgjatetherriet me rralle (s, min) (mundtejeteingadalte) Iralda Mitro
Context Switch - Nderrimiikontekstit • Kur CPU kalon ne njeprocestjeter, sistemiduhetteruajegjendjen e procesittevjeterdhetengarkojegjendjen e ruajturteprocesitteri • Koha e nderrimittekontekstitshkondem, sepsesisteminukbenasgjetenevojshmegjatenderrimit • Kjokohevaretngalloji I Hardware Iralda Mitro
Krijimiiproceseve • Procesiprindkrijonnjebir, I cilingaanatjeterkrijonprocesetetjere, duke formuarkeshtunjePemeprocesesh • Ndarja e burimeve • Prinderitdhebijte I ndajnetegjithaburimet • Bijtendajnevetemdisaburimeteprinderve • Prindidhebirinuk I ndajneburimet • Ekzekutimi • Prindiekzekutohetsebashku me bijte • Prindipretqeteperfundoje se ekzekutuaribiri I tij Iralda Mitro
Krijimiiproceseve Iralda Mitro
Njepemeprocesesh ne Solaris Iralda Mitro
Perfundimi I procesit • Procesiekzekutoninstruksionin e fundit, dhe I kerkonsistemitteshfrytezimitqetafshije ate (exit) • Dalja e tedhenavengabiritekprindi (me wait) • C’huazimi I burimeveteprocesitngasistemi I shfrytezimit • Prindimundteshkaktojeperfundimin e procesevebij (abort) • Biri ka tejkaluarburimet e huazuara • Detyra e caktuarbiritnukduhet me • Neseprindipoperfundon, perfundojneedhebijte Iralda Mitro
Bashkeveprimiiproceseve • Procesiipavarurnukmundndikojeosetendikohetngaekzekutimi I njeprocesitjeter • Procesebashkevepruesmundtendikojeosetendikohetngaekzekutimi I njeprocesitjeter • Avantazhet e bashkeveprimitteproceseve • Ndarja e informacionit • Shpejtimi I llogaritjeve • Modulariteti • Lehtesi Iralda Mitro
ProblemiProdhues-Konsumator • Paradigma e procesevebashkeveprues – procesiprodhuesprodhoninformaciomqekonsumohetngaprocesikonsumator • Prodhuesi I vendosobjektet ne Buffer dhekonsumatori I merrngabufferi • unbounded-buffernuk ka limit ne madhesine e buffer • bounded-buffersupozon se ka njemadhesifiksetebufferit Iralda Mitro
Bounded-Buffer – Zgjidhje me memorjeteperbashket • Te dhenateperbashketa #define BUFFER_SIZE 10 Typedefstruct { . . . } item; item buffer[BUFFER_SIZE]; int in = 0; int out = 0; • MundteperdorenvetemBUFFER_SIZE-1 elemente Iralda Mitro
Bounded-Buffer – Metoda Insert() while (true) { /* Produce an item */ while (((in = (in + 1) % BUFFER SIZE count) == out) ; /* do nothing -- no free buffers */ buffer[in] = item; in = (in + 1) % BUFFER SIZE; { Iralda Mitro
Bounded Buffer – Metoda Remove() while (true) { while (in == out); // do nothing -- nothing to consume // remove an item from the buffer item = buffer[out]; out = (out + 1) % BUFFER SIZE; return item; { Iralda Mitro
Interprocess Communication (IPC) • Mekanizem per procesetqetekomunikojnesinkronizojneveprimet e tyre • Sistemi I mesazheve– procesetkomunikojne me njeritjetrin pa ndihmen e variablaveteperbashket • IPC mundeson 2 veprime: • send(message) – madhesia e mesazhiteshtefikseosevariabel • receive(message) • NesePdheQduantekomunikojneataduhette: • Vendosinnjelinjekomunikimi midis tyre • Kembejnemesazhet me send/receive • Implementimi I linjes se komunikimit • fizik (memorje e perbashket, bus I hardware) • Logjike (vecorilogjike) Iralda Mitro
Pyetjet e implementimit • Si janendertuarlinjat e komunikimit? • A mundteshoqerohetnjelinje me meshume se 2 procese? • Sa linjakomunikimimundtevendosen midis cdociftiproceseshkomunikues? • Sa eshtekapaciteti I njelinje? • A eshtemadhesia e mesazhitfikseapovariabel? • Cfaredrejtimi ka linja – njedrejtimorosedydrejtimor? Iralda Mitro
Modelet e komunikimit Iralda Mitro
Komunikimidirekt • Procesetduhettiemerojnenjeritjetrin ne menyreeksplicite: • send (P, message) – dergonjemesazhtekprocesi P • receive(Q, message) – merrnjemesazhngaprocesi Q • Vecorite e linjes se komunikimit • Linjatvendosenautomatikisht • Njelinjeibashkengjitetekzaktesishtnjeciftiproceseshkomunikues • Midis cdociftiekzistonvetem 1 linje • Linjamundtejetenjedrejtimoreosedydrejtimore Iralda Mitro
Komunikimiindirekt • Mesazhetdrejtohendhemerrenngamailbox(portat) • Cdo mailbox ka nje ID unike • Procesetmundtekomunikojnevetemnesendajnenje mailbox. • Vecorite e linjes se komunikimit • Linjavendosetvetemneseprocesetndajnenje mailbox teperbashket • Njelinjemundtelidhet me shumeprocese • Cdociftproceseshmundtendajedisalinjakomunikimi • Linjamundtejetenjedrejtimoreosedydrejtimore Iralda Mitro
Komunikimiindirekt • Veprimetqeduhenkryer • Krijimi I nje mailbox • Dergo/merrmesazhenepermjet mailbox • Shkaterro mailbox • Primitivatpercaktohensi: • send(A, message) – dergonnjemesazh ne mailbox A receive(A, message) – merrnjemesazhnga mailbox A Iralda Mitro
RastiKomunikimitindirekt • Ndarja e mailbox • P1, P2,dheP3ndajnenje mailbox A • P1, dergon; P2dheP3marrin • Kush e merrmesazhin? • Zgjidhjet • Lejoqelinjatiatashohetteshumten 2 proceseve • Lejoqevetemnjeprocestemarremesazhin ne nje moment tecaktuar • Lejosisteminqetezgjedhearbitrarishtmarresin. Derguesinjoftohet se kushishtemarresi. Iralda Mitro
Sinkronizimi • Mesazhimundtejetebllokuesosejo-bllokues • Bllokueskonsiderohetsinkron • Dergimbllokuesbllokonderguesinderisamesazhitemerret • Marrjebllokuesebllokonmarresinderisamesazhitejete I disponueshem • Jo-bllokueskonsiderohetasinkron • Dergimjo-bllokuesderguesi e dergonmesazhindhevazhdon • Marrjejo-bllokuesemarresimerrnjemesazhtevlefshemose null Iralda Mitro