Proceset Multiprogramim me timesharing->pseudoparalelizem ≠ nga multiprocesori(sharojne nje RAM) Procesi ndryshon nga Programi sepse ai eshte aktiv. (PC,regjistrat,variablat,

Slides:



Advertisements
Similar presentations
1 Interprocess Communication 1. Ways of passing information 2. Guarded critical activities (e.g. updating shared data) 3. Proper sequencing in case of.
Advertisements

1 Processes and Threads Chapter Processes 2.2 Threads 2.3 Interprocess communication 2.4 Classical IPC problems 2.5 Scheduling.
MENDO! Mendo para se të bësh gjynah ndaj Krijuesit, Furnizuesit, ndaj Atij që të dhuroi çdo të mirë. Këto të mira janë aq të shumta, saqë nëse mundoheni.
Rruga për ahiret nuk kalohet me këmbë, por me zemër.
1 Threads CSCE 351: Operating System Kernels Witawas Srisa-an Chapter 4-5.
1 Processes and Threads Chapter Processes 2.2 Threads 2.3 Interprocess communication 2.4 Classical IPC problems 2.5 Scheduling.
Processes and Threads.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 2 Processes and Threads Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Algjebra Relacionale & SQL
Cpr E 308 Spring 2004 Real-time Scheduling Provide time guarantees Upper bound on response times –Programmer’s job! –Every level of the system Soft versus.
Rishikimi i literatures Leksioni 7 1. Permbajtja e prezantimit Qellimi i rishikimit te literatures Procesi i rishikimit te literatures Instrumentet e.
CILET SOFTVER I KENI TE INSTALUAR NE SISTEMET KOMPJUTERIKE TE JUAJA
Lenda : Kontabiliteti Financiar
SHMU-2 VUSHTRRI Punim Seminarik Lënda:Informatikë Tema:Kartela Grafike
Leksioni nr 2 Data Base.
Arkitektura baze e aplikacioneve web Hyrje ne PHP
SH.M.U-2 Lënda:Informatikë Tema:Sistemi operativ (Windows 8)
Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM.
Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM.
Pamja e nje sistemi llogarites
TIK 12 – Prof. Blerand Koshi
Marrja e te inputit te perdoruesit
Algoritmet e Renditjes
Universiteti i Prizrenit
Lecture 12: Peterson’s Solution and Hardware Support
MODERN OPERATING SYSTEMS Third Edition ANDREW S
Android.
Funksionet ne PHP PhD, MS, Under Leksion 8.
SHMU-2 Punim Seminarik Lënda: Informatikë
Sh.M.U’’2’’ Lënda:TIK Tema:Viruset dhe antiviruset
SHMU-2 Vushtrri Punim seminarik Lënda : Informatikë Tema : Windows 7 Klasa : IX Punuar nga : Petrit Mavriqi Vushtrri , 2014.
SHMU-2 Punim Seminarik Lenda:Informatike Tema:Sistemet Operative
Tema: Softueri sistemor(sistemi operativ) Lënda: Teknologji Punoi: Blerina Jashari Arsimtar: Muhamer Ujkani Klasa:lX-9.
Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM.
Tema:Crossover Cable Nxënësi:Amir Sadiku Arsimtari:Muhamer Ujkani
Punoi:RREZON MIKULLOVCI
JavaScript Leksion 8.
MICROSOFT OFFICE WORD 2003.
Raportimi I fitimit dhe gjendjes financiare
MS POWERPOINT PREZANTIMET.
Arsimtar:Muhamer Ujkani
Universiteti AAB Programi: PSIKOLOGJI STATISTIKE T-testi Për grupet e pavarura Për grupet e varura Dr.sc. Merita Shala.
Instituti i Kerkimeve Urbane
Perdorimi i Multimedias ne Web
Tema: Viruset dhe Antiviruset Sh. m
Algoritmet e Sortimit.
Menaxhimi i perdoruesve dhe grupeve
SH-M-U-2 Kl.9/4 Valon Ibishi Lënda:Informatikë Tema:Programi Excel Arsimtar:Muhamer Ujkani Vushtrri,2014.
Pune me projekt Tema: Zgjidhja e problemeve nepermjet aplikimit te patches, updates dhe services packs. Punoi: xhensila cela.
Punuar nga: Rilind Ademi
I Love my family!!!.
Ms Word 2003.
Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM.
SH.M.U 2 Vushtrri Sistemet operative te Winows XP Muhamer Ujkani
Targetimi i elementeve specifike
E Drejta e Procedures Penale
Degëzimet.
Internet Ligjerata 8 Dr. Fisnik Dalipi.
Formular Projekti Forumi i Mesuesit Novator, Shkurt 2014 Text
TIK 12 – Prof. Blerand Koshi
TIK 11 – Prof. Blerand Koshi
Lecture 12: Peterson’s Solution and Hardware Support
Leksioni 2 Dr. FRIDA GJERMENI
Variablat dhe konstantet
Degëzimet.
Microsoft office excel. Punoi:rron prokuplA Lenda:informatike arsimtar:muhamer ujkani tema:perdorimi I excel-it Klasa:9/5.
Portet e kompjuterit Erza Ajeti IX-2
Ms Word 2003.
SMART TOURISM ENHACEMENT PROJECT
Presentation transcript:

Proceset Multiprogramim me timesharing->pseudoparalelizem ≠ nga multiprocesori(sharojne nje RAM) Procesi ndryshon nga Programi sepse ai eshte aktiv. (PC,regjistrat,variablat, CPU virtual) Procesi permban programin,input,output dhe nje gjendje Ne sist. Real-time, ngjarje te vecanta duhet te ndodhin brenda nje milisekonde,matje speciale meren me pas per te korrektuar Nje procesor mund te sharohet midis shume proceseve, me disa algoritma skedulimi qe percaktojne ku ndalon nje proces dhe kur te kaloj te tjetri

Ekzekutimi I proceseve me nje program counter real dhe me 4 program counter logjik Vetem nje program ekzekutohet ne nje cast (multiprogramimi I 4 programeve)

Krijimi I proceseve 4 arsyet qe mund te lindi nje proces: Inicializimi I sistemit Ekzekutimi i nje thirrje sistem per krijimin e nje procesi duke ekzekutuar nje proces Krijimi I nje procesi nga useri Inicimi I nje grumbulli pune (batch job) Proceset jane foreground dhe background(daemon)—ps dhe ctrl-alt-del

Llojet e proceseve ne ekzekutim Proceset mund te ekzekutohen ne tre menyra: Procese qe ekzekutohen ne user space Kernel space(proceset sistem) Batch proces->batch sistem(mainframe)

Perfundimi I procesit Dalje normale (vullnetare) Dalje nga 1 gabim (vullnetare) Dalje nga nje error fatal (jo vullnetare) Vrasja nga nje proces tjeter (jo vullnetare) Kompilatori sinjalizon SO me ane te nje thirrje sistem exit(Unix) dhe ExitProcess (Windows)

Gjendja e proceseve Proceset ne Unix kane hierarki, windows jo(megjithate procesi prind jep procesit femi nje shenje[handle],qe mund ta perdor per ta kontrolluar,por ai mund ta kaloje kete te disa procese te tjere 1.Ekzekutim(punon CPU-ja) 2.Gati(perkohesisht I ndaluar per te lejuar nje proces tjeter te punoje) Bllokuar(I pamundur deri ne ndodhjen e disa ngjarjeve te jashtme)

Skeduleri Skeduleri->shtresa me e ulet e SO(perfshin interruptet, skedulerin).Mbi kete shtrese jane proceset sekuenciale

Implementimi I proceseve Hapat kur nje interrupt ndodh ne nivelin me te ulet te SO

Thread Tre procese me nga nje thread secili dhe nje proces me tre threade Cdo proces perbehet nga hapsira e adresave dhe nga thread kontrolli(grupi I burimve dhe ekzekutimi) Procesi perdoret per te grupuar se bashku burimet, kurse threaded jane elemente qe vendosen ne radhe per t`u ekzekutuar ne CPU Pavaresia e threadeve ne nje proces nuk eshte si pavaresia e proceseve te ndryshem ndaj njeri tjetrit Nuk ka mbrojtje midis threadeve:e pamundur dhe e panevojshme

Zonat e thread dhe procesit Elementet e sharuara te gjithe threadeve ne nje proces, elementet privat te threadit. Threadet mund te jene:ekzekutim,bllokuar,gati,perfundim.

Stacku I thread-it Procedura librari: thread_create(emri I procedures per threadin e ri qe do te ekzekutohet) ka hapsiren e adresave te njente me prindin Ka dhe ska hierarki—thread_exit,thread_ wait, thread_yield(brenda procesit nuk ka interrupt--timesharing

Perdorimi I threadid Arsyeja e perdorimit te threadid eshte qe ne disa aplikime shume aktivitete ekzekutohen ne te njejten kohe->paralelizmi(sharimi I datave dhe adresave brenda nje procesi) Jane me te lehte per tu krijuar dhe zhdukur(100 here me te shpejte se procesi) sepse ato s`jane te lidhura(dedikuara)me ndonje burim Rritet performanca(ne I/O,aktivitet perllogaritese),nuk rritet kur ato jane te lidhur direkt me CPU-ne Jane shume te dobishem ne sistemet me multiprocesore

Implementimi I thread-eve Behet ne tre menyra: 1.User Space, Kernel Space, Hibrid Space 1-kernel nuk dine asgje per paketat thread Avantazhet ne user space:paketat ne user space mund te implementohen dhe ne SO qe nuk suportojne threade Threaded ekzekutojne nje procedure sistemi run-time Te mirat e perdorimit te threadeve ne nivelin user space 1.Nese te gjithe threaded do te komutoheshin brenda user space do te ishte nje shpejtesi me e madhe se nje trap ne kernel 2.Ne nivelin user threaded lejojne qe cdo proces te kete algoritmin e skedulimit te vetin per cdo proces 3.Shkallezimi eshte me I lehte se ne nivelin kernel(kerkon me shume hapsire tabele dhe staku) Te metat:a.Problem ne implementimin e thirrjeve sistem bllokuese, ndryshime ne semantiken e komandes read do te kerkoje ndryshime te disa programe user,ose te tregohet ne avance qe nje thirrje mund te bllokoje---select. b.Page foult,c.mosdhenia vullnetare e CPU-se—te kerkohet nje sinjal interrupt brenda sistemit run time 2-threadi kur krijon ose fshin nje thread tjeter ben nje thirrje kernel 3-bashkepunim I dy implementimeve-ketu cdo thread ne nivel kernel ka nje bashkesi threadesh ne nivelin user qe mund ti perdore

Implementimet, shembulli

Aktivizimi I skedulerit Qellimi eshte imitimi I funks. thread kernel me performance > me threade ne U Space —shmangia e tranzicionit nga U ne K space Kernel percakton nje CPU virtuale(ose me shume) per cdo proces—upcall Interrupt hardware ne thread user->CPU kmuton nag user ne kernel Principi I hierarkise nuk preket sepse shtresa n nuk therret nje procedure ne thirrjen n+1, por n ofron sherbime ne ate shtrese qe mund te therrese sherbime

Threadet Pop-Up(1) Pop-up threadet kane si qellim zvoglimin e latences midis dy proceseve(ardhjes se sms dhe perdorimit tij)—Keto nuk kane rregjistra,stack etj—ekzekutohen ne user dhe ne kernel space

Multithreaded(1) 1 proces->1 thread disa procedura (varibla lokal dhe global—errno) Konflikt midis threadeve nga perdorimi I nje variabli global

Multithread(2) Threaded kane variablat e tyre privat global Ishte: 1variabel lokal dukej vetem brenda nje procedure dhe 1 variable global dukej nga shume threade brenda 1 programi Eshte: Variablat jane te dukshem ne te gjitha procedurat e nje threadi, por jo jashte tij Hapat e nje variabli global:create_global(“bufptr”);set_global(“bufptr”,&buf);dhe bufptr=read_global(“bufptr”); Problemet: 1.Rishkrimi I gjithe librarise(malloc—linked list [tabela kritike—perdorin pointera invalid qe e cojne sist. ne crash]), 2.jacket(vendos nje bit ne proceduren librari ne ekzekutim),3.menaxhimi I stakut multithread ne nje sist. jo te tille,4.menaxhimi I sinjaleve eshte I veshtire si ne single ashtu dhe ne multithread, sidomos kur threaded ndodhen ne user space,sepse kernel nuk ka njohuri per threadin ne ate nivel.

Komunikimi nderprocesorial Kushtet e shpejtesise Zona kritike Mutual exclusion me busy waiting C`aktivizimin e interrupteve,Variablat e mbyllur,Alternativat korrekte,Zgjidhjen e Petersonit,Instruksionin TSL Gjumi dhe zgjimin Problemi produkt-konsum Semaforet Zgjidhja e problemit me semaforet Mutekset Monitoret Kalimi I mesazheve Projektimi I rasteve per MPS,Problemi me MP Pengesat

Kushtet e shpejtesise dhe zonat kritike Kur dy ose me shume procese simultane lexojne ose shkruajne disa data shared dhe rezultati final varet nga shpejtesia quhet kushtet e shpejtesise Pjesa e programit ku kerkohet aksesimi I nje zone sharuar quhet zona kritike 4 supozime: 1.Dy procese nuk mund te jene ne te njejten kohe ne nje zone kritike 2.Nuk mund te behet asnje supozim ne lidhje me ndikimin e shpejtesise apo nr e procesoreve te perdorur ne zonen kritike 3.Nuk mund te kete asnje proces jashte zones kritike qe te bllokoje proceset tjera 4Asnje proces nuk mund te pres pambarim te futet ne zonen kritike

Mutual exclusion me busy waiting(1) C`aktivizimi I interrupteve Me kycje variablash Alternativa korrekte Zgjidhjen e Petersonit Instruksionet TSL(Test and set lock)

Mutual exclusion me busy waiting(2) Te metat e c`aktivizimit te interrupteve jane mundesia e proceseve user te aktivizojne interruptet dhe jane te pavlefshme ne nje sistem me shume procesor->brenda sist operativ kjo metode eshte e vlefshme por jo ne proceset user(Zgjidhje Hardware) Nje zgjedhje software eshte kycja e variablave(varablat e sharuar).lock=0 ose 1(I lire/I zene)->kontroll I pare, kontroll para hyrjes per te eleminuar race me nje proces tjeter qe ka rradhen ne skeduler

Mutual exclusion me busy waiting(3) Alternativa strikte turn ->0-1-0-1; Variablat lock qe punojne me busy waiting quhet spin lock--- Gjuha C nuk ka garbage Collection Zjgidhja e Petersonit eshte me dy thirrje procedure: enter_region dhe leave_region Instruksioni TSL(ndihme hardware – CPU kur ekzekuton kete instruksion kyc memory bus per te parandaluar CPU-te e tjera per te aksesuar memorjen, enter_region dhe leave_region ne te njejten kohe

Komunikimet nderprocesoriale vazhdim(1) Sleep dhe wakeup(1 parameter,1 adrese memorje qe perdoret per te kombinuar sllep dhe wake up.--- problemi I prioritetit te kundert Semaforet(jane variabla qe tregojne nr e wake-up) down dhe up->kryejne veprim atomik te pandashem Mutex eshte nje variabel qe mund te jete ne nje nga dy gjendjet(lock dhe unlock)– mutex lock->kerkon nje zone kritike dhe mutex unlock per te gjithe proceset e tjere

Komunikimet nderprocesoriale vazhdim(2) Monitor eshte nje bashkesi procedurash, variablash dhe strukturash data qe jane grupuar se bashku ne nje lloj special moduli—primitive me nje sinkronizim te larte. Monitoret jane konstrukte ne gjuhe programimi,ato jane te vecanta dhe te dallueshme nga kompilatori(1 proces mund te jete aktiv ne nje cast te kohes brenda tij) Kalimi mesazheve(jane thirrje sistem, jo si monitori) send dhe receive.—Authentikimi eshte I rendesishem ne MPS. Thirrje konfirmuese nga pritesi brenda nje t. Pengesat jane nje sjellje ku nese nje proces arrin barrieren, ai bllokohet deri sa te gjithe proceset te arrijne barrieren(ky eshte nje mekanizem sinkronizimi) Ne rastin e trete te gjithe proceset kane arritur ne barriere

Problemet ne IPC Problemi I darkes se filozofeve---Starvatation(cdo program vazhdon pambarim pa bere progres) Problemi I lexuesve dhe shkruesve Problemi I berberit gjumash

Problemi Darka e Filozofeve Problemi I pazgjidhur I darkes se filozofeve

Skedulimi Skedulimi Round Robin Skedulimi me Prioritet Skedulimi Multiple Queue Skedulimi Lottery (Video Stream)