14.07.2013 Views

SISTEMET E SHFRYTEZIMIT

SISTEMET E SHFRYTEZIMIT

SISTEMET E SHFRYTEZIMIT

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>SISTEMET</strong> E <strong>SHFRYTEZIMIT</strong><br />

TE KOMPJUTERAVE<br />

KURS PER DEGEN E<br />

INFORMATIKES TE BIZNESIT<br />

2009


HYRJE<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 2


Problemi i Perpunimit te Informacionit<br />

• Algoritmi ?<br />

– Shpiket …<br />

– Merret nga librat …<br />

• Veprimet aritmetike ?<br />

– Numratorja …<br />

• Koha ?<br />

– ???<br />

• Siguria ?<br />

– ???<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 3


Zgjidhja e Kerkuar …<br />

• Automatizimi i veprimeve<br />

– Shpejtesi<br />

– Siguri<br />

• Shembuj<br />

– Antikythera<br />

– Kutia muzikore<br />

– Aritmometri<br />

– Makina e Babbage<br />

– …<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 4


… Kompjuteri<br />

• Arkitektura<br />

– Kujtesa<br />

• Programi dhe te dhenat<br />

– Procesori<br />

• Funksionet<br />

– Veprime binare elementare<br />

– Programim sekuencial<br />

• Gjuha<br />

– Binare <br />

N.Frasheri Sistemet e Shfrytezimit Leksione 5


Kompleksiteti<br />

• Makina<br />

– Kryen numer te vogel veprimesh elementare<br />

• Problemi<br />

– Thjeshtesia e veprimeve te makines ~<br />

– Kompleksiteti i vargut te komandave elementare<br />

• Veshtiresite<br />

– Programimi<br />

– Gjuha binare<br />

– Nderfaqesit<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 6


•<br />

Shembull ~ Altair-8800<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 7


Shembull ~ a+b<br />

• LDA 00 111 010 load accumulator with<br />

10 000 000 data in address 128 (address ~ 2 bytes)<br />

00 000 000<br />

• MOV 01 000 111 move accumulator to register B<br />

• LDA 00 111 010 load accumulator with<br />

10 000 001 data in address 129<br />

00 000 000<br />

• ADD 10 000 000 add register B to accumulator<br />

• STA 00 110 010 store accumulator in address 130<br />

10 000 010<br />

00 000 000<br />

• JMP 11 000 011 jump to address 0<br />

00 000 000<br />

00 000 000<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 8


Shembull ~ nderfaqimi<br />

• reset 10 000 001<br />

• 00 111 010 LDA 00 000 000<br />

• deposit 10 000 000 ADD<br />

• 10 000 000 00 110 010 STA<br />

• deposit next 10 000 010<br />

• 00 000 000 00 000 000<br />

• … 11 000 011 JMP<br />

• 01 000 111 MOV 00 000 000<br />

• 00 111 010 LDA 00 000 000<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 9


Shembull ~ ekzekutimi<br />

• Futen te dhenat ne adresat 128 dhe 129<br />

– 10 000 000 examine<br />

– 00 000 011 deposit (a=3 ne addr 128)<br />

– 00 000 010 deposit next (b=2 ne addr 129)<br />

– reset<br />

– run<br />

– stop<br />

– 10 000 010 examine (a+b ne addr 130)<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 10


• Regjistri adresave<br />

• Regjistri komandave<br />

• Akumulatore A, B, C<br />

• Celesat<br />

– Lidhen me tre fjalet<br />

e para te kujteses<br />

• Butoni leshimit<br />

• Celesi i zerimit<br />

Shembull ~ X2<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 11


Shembull ~ nderfaqimi X2<br />

• Pulti i komandimit …<br />

• Hyrja<br />

– Lexues optik perfolente<br />

• Kujtesa<br />

– ~ 40KB unaza manjetike<br />

• Kujtesa e jashtme<br />

– Baraban manjetik<br />

• Dalja<br />

– Printer<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 12


Parimi i Punes ~ X2<br />

• Paisjet e hyrje / daljes – shirit ose perfokarta<br />

• Sistemi komandohet nga operatori ne konsole<br />

• Konsola kontrollon qelizat e para te kujteses<br />

konsola<br />

Input Output<br />

MAKINA<br />

PROCESOR<br />

KUJTESE<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 13


Veprimet ne Konsole<br />

• Zerohen regjistrat<br />

• Vendosen ne pult komandat e leximit te shiritit<br />

– Kodi i leximit<br />

– Numri i paisjes<br />

– Adresa ne kujtese<br />

– Komanda e fundit<br />

• ose STOP<br />

• ose GOTO<br />

• Shtypet butoni i leshimit<br />

– Permbajtja e perfolentes kopjohet ne adresat e<br />

dhena ne komande dhe me pas STOP/GOTO<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 14


Algoritmi i Fillimit te Punes<br />

• Komandat:<br />

• Rasti i leximit te vlerave binare<br />

– read_tape(tape, addr1)<br />

– stop<br />

• Rasti i ekzekutimit<br />

– goto(addr2)<br />

• Rasti i kombinuar<br />

– read_tape(tape, addr1)<br />

– goto(addr2)<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 15<br />

T<br />

KUJTESA<br />

Programi &<br />

te Dhenat<br />

Komandat<br />

addr1<br />

addr2


Problemet<br />

• Programisti<br />

– Programimi ne sistemin binar<br />

– Administrimi i kujteses<br />

• fillimi dhe gjatesia e programit<br />

• fillimi dhe gjatesia e te dhenave<br />

– Administrimi i kujteses se jashtme<br />

– Percaktimi i komadave te fillimit<br />

• Operatori<br />

– Pergatitja e shiritave te hyrjes<br />

– Kalimi i puneve ne makine<br />

– Trajtimi i shiritave te daljes (rezultatet)<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 16


Fillimet e Gjuheve Simbolike<br />

• Kompilatori<br />

– Nderfaqes / perkthyes simbolike – binare<br />

• Asambler<br />

• Fortran, etj.<br />

• Dy hapa realizimi<br />

– Ngarkohet kompilatori qe lexon si te dhena<br />

programin ne gjuhe simbolike dhe e perkthen<br />

• Programi i perkthyer ne binare mbahet ne kujtese<br />

ose kopjohet ne nje bartes (shirit, etj.)<br />

– [ngarkohet dhe] ekzekutohet programi binar<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 17


• Kompilimi permireson<br />

Perfundime<br />

– programimin por jo shfrytezimin <br />

• Koha mbetet burim kritik per shfrytezimin<br />

• Personeli i kualifikuar i domosdoshem<br />

• Zgjidhja – ne gjurmet e kompilimit<br />

– Nderfaqes midis makines dhe perdoruesit<br />

…<br />

– … SISTEMI i SHTRYTEZIMIT<br />

SOFTUERI<br />

Aplikativ<br />

SOFTUERI<br />

[Sistemi]<br />

i Shfrytezimit<br />

HARDUERI<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 18


Sistemet e shfrytezimit<br />

• Bashkesia e komandave qe<br />

kontrollon makinen ndahet:<br />

– Pjesa specifike – aplikimi<br />

• Specifik i problemit<br />

• Hartohet nga perdoruesi<br />

– Pjesa xhenerike – sistemi i<br />

shfrytezimit<br />

• Specifik i harduerit<br />

• Nderfaqes harduer – aplikim<br />

• Hartohet nga konstruktori<br />

SOFTUERI<br />

Aplikativ<br />

SOFTUERI<br />

[Sistemi]<br />

i Shfrytezimit<br />

HARDUERI<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 19


Historia e Sistemeve te Shfrytezimit<br />

“GENESIS”<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 20


Genesis<br />

• Epoka e llampave elektronike pa sisteme shfrytezimi<br />

• Dy probleme<br />

– Human: veshtiresia e perdorimit<br />

– Ekonomik: koha efektive e punes te procesorit teper e<br />

shkurter, krahasuar me kohen e pergatitjes<br />

PROCESOR<br />

PERGATITJE<br />

• Zgjidhja<br />

– Ndarja e perpunimit nga pergatitja<br />

KOHA<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 21


“Treni i puneve” [batch]<br />

• Epoka e tranzistoreve dhe “treni i puneve”<br />

• Perdorimi i paisjeve magnetike si ndermjetese<br />

– Perdoruesit kalojne punet [programet & te dhenat] dhe<br />

marin rezultatet ne perfokarta ose shirit magnetik<br />

– Operatori shkemben vetem perfokartat / shiritat<br />

PROCESORI<br />

LEXUES SHKRUES<br />

::::::<br />

:::::: ::::::<br />

:::::: :::::: :::::: ::::::<br />

:::::: :::::: ::::::<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 22


Clirimi i procesorit<br />

• Pergatitja behet me disa paisje me kosto te ulet<br />

• Perpunimi behet ne nje procesor me kosto te larte<br />

PROCESOR<br />

PERGATITJE<br />

KOHA<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 23


Drejt sistemeve te shfrytezimit<br />

• Shmangia e operatorit<br />

– Punet ne shirit magnetik<br />

– Komandat e fillimit behen<br />

• Lexo paisjen e hyrjes<br />

• Regjistro leximin ne kujtese,<br />

adresa AAAA<br />

• GOTO AAAA<br />

– Programi perdoruesit mbaron<br />

me<br />

• GOTO 0000<br />

SISTEMI PROGRAMI<br />

goto aaaa<br />

goto 0000<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 24


Historia e Sistemeve te Shfrytezimit<br />

“EVOLUCION”<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 25


Evolucioni<br />

• Epoka e qarqeve te integruar, multiprogramimi<br />

– Ulet kosto e kompjuterave<br />

• Rritet perdorimi ne shkence dhe ekonomi<br />

– Rritet shpejtesia e procesorit ndaj periferikeve<br />

– Rishfaqet problemi i kohes te procesorit<br />

• Keq-shfrytezim ne problemet ekonomike<br />

<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 26


Akoma per clirimin e procesorit<br />

• Problemet shkencore – pune intensive me<br />

procesorin<br />

PROCESORI<br />

PERIFERIKE<br />

KOHA<br />

• Problemet ekonomike – pune intensive me<br />

periferiket<br />

– Kujtesa ndihmese ka shpejtesi te ulet (bartes magnetik)<br />

PROCESORI<br />

PERIFERIKE<br />

KOHA<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 27


• Multiprogramimi<br />

Multiprogramimi<br />

– SPOOL (Simultaneous Peripheral Operation On Line)<br />

• Clirohet procesori nga komunikimi me periferiket<br />

• Komunikim direkt periferik – kujtese<br />

– Mbahen disa programe ne kujtese<br />

– Koha e procesorit coptohet midis programeve<br />

– Shfrytezohet koha e hyrje-daljeve me periferiket<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 28


• Detyra shtese<br />

Multiprogramimi 2<br />

– Administrimi i kujteses<br />

– Administrimi i periferikeve<br />

• Sistemet e skedareve<br />

– Mbrojtja nga nderhyrjet e njeri tjetrit<br />

– Unifikimi i ndarjes te kohes ne njesi te barabarta<br />

• Koncepti i “kohes se ndare”<br />

– Perdorimi i terminaleve dhe multiperdorimi<br />

– Sistemet e shfrytezimit multiperdorues<br />

• MULTIX dhe UNIX<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 29


P1<br />

P2<br />

P3<br />

Programet<br />

Programi 1<br />

Programi 2<br />

Programi 3<br />

Hyrje-Dalje<br />

Konkurimi i programeve<br />

Kohe pritje per procesorin<br />

Ka vend per programin 4<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 30<br />

Koha


Roli i sistemit te shfrytezimit<br />

• Sistemi i shfrytezimit eshte<br />

programi kryesor ne kujtese<br />

• “Qarkullimi” i programeve duke<br />

ndare kohen e procesorit<br />

– Round Robin<br />

– Klasat e perparesive<br />

• Mbrojtja e kujteses nga kapjet e<br />

ndersjellta te pa-autorizuara<br />

• Sinkronizimi midis programeve<br />

dhe shfrytezimi i burimeve<br />

SISTEMI PROG-1 PROG-2<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 31<br />

read<br />

write<br />

write


Ndarja e kohes<br />

• Coptimi i kohes midis programeve<br />

– Kur ka komunikim me periferiket<br />

– Kur tejkalohet nje interval kohe i caktuar<br />

• Vepron sistemi i nderprerjeve<br />

Programet<br />

OS<br />

hyrjedalje<br />

nderprerje e brendshme<br />

Sesion kritik<br />

Nderprerje<br />

nga jashte<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 32<br />

Koha


Drejt MS-DOS-it<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 33


shiriti<br />

Rikthim tek treni i puneve<br />

• S P2:DATA / KODI S P1:DATA / KODI<br />

procesori<br />

PC<br />

BUFFER<br />

# 100<br />

read tape<br />

store #100<br />

goto #100<br />

sistemi perdoruesi<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 34<br />

# 0<br />

# 1<br />

# 2<br />

xxx<br />

kujtesa<br />

Goto #100<br />

embrion i<br />

sistemit te<br />

shfrytezimit


Hapi pare drejt MS-DOS-it<br />

• Interpretuesit dhe sistemet e para te shfrytezimit<br />

> dir<br />

perdoruesi perdor<br />

vetem tastieren<br />

L1: read keyboard<br />

store buffer<br />

display<br />

if buffer=“enter” goto L2<br />

goto L1<br />

L2: case buffer<br />

begin<br />

“dir”: xxxxxxx<br />

xxxxxxx<br />

...<br />

“copy”: yyyyyyy<br />

yyyyyyy<br />

...<br />

...<br />

else : display “error”<br />

end<br />

goto L1<br />

procedura e<br />

komandes “dir”<br />

procedura e<br />

komandes “copy”<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 35


•<br />

> alfa<br />

alfa<br />

perdoruesi perdor<br />

si tastieren edhe<br />

diskun me skedaret<br />

e programeve<br />

MS-DOS dhe Perdoruesi<br />

L1: read keyboard<br />

store buffer<br />

display<br />

if “enter” goto L2<br />

goto L1<br />

L2: case buffer<br />

begin<br />

“dir”: ...<br />

“copy”: ...<br />

...<br />

else : search file(buffer)<br />

if fail display “error”<br />

copy file to #AAAA<br />

Call AAAA<br />

end<br />

goto L1<br />

MS-DOS perdoruesi<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 36<br />

alfa<br />

return<br />

sistemi kalon<br />

ne pritje,<br />

ekzekutohet<br />

programi<br />

“alfa” i<br />

perdoruesit


•<br />

> alfa<br />

alfa<br />

perdoruesi perdor<br />

si tastieren edhe<br />

diskun me skedaret<br />

e programeve;<br />

perdor thirrjet e<br />

sistemit per<br />

realizimin e hyrjedaljeve<br />

Kompletimi i MS-DOS-it<br />

L1: read keyboard<br />

...<br />

L2: case buffer<br />

...<br />

Call AAAA<br />

procedure READ<br />

begin<br />

end<br />

...<br />

procedure PRINT<br />

...<br />

end<br />

goto L1<br />

HDD read request<br />

Request completed<br />

file read request<br />

request completed<br />

MS-DOS perdoruesi<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 37<br />

alfa<br />

read<br />

print<br />

return<br />

Interval bosh<br />

per sistemin,<br />

programin dhe<br />

procesorin


Ngarkimi i sistemit te shfrytezimit<br />

• BIOS<br />

– inicializimi fillon tek BIOS<br />

– kryhen testet e harduerit<br />

– ngarkon BOOT nga pista<br />

e pare e diskut<br />

• BOOT<br />

– krijohet ne pisten e pare<br />

te diskut gjate instalimit<br />

te sistemit<br />

– lexon skedaret e sistemit<br />

nga disku<br />

– ngarkon sistemin ne<br />

kujtese<br />

ROM<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 38<br />

RAM<br />

kujtesa<br />

BIOS<br />

DOS<br />

BOOT<br />

DOS


Shkurt mbi sistemet e shfrytesimit<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 39


Kohe dhe probleme<br />

• Ne fillimet e sistemeve te shfrytezimit<br />

– hardueri kishte kosto teper te larte<br />

– u synua ne optimizimin e punes te procesorit<br />

– skedaret, multiprogramimi, ndarja e kohes<br />

• Me shfaqjen e gjenerates se katert te kompjuterave<br />

– hardueri ka kosto te ulet, kapacitete te larta, dhe<br />

– kapacitetet tejkalojne kerkesat e shume perdoruesve<br />

– synohet optimizimi i punes te perdoruesit<br />

• sistemet interaktive<br />

• rrjetat dhe Interneti<br />

• Integrimi i teknologjive te informacionit dhe komunikimit<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 40


Detyrat e sistemeve te shfrytezimit<br />

• Administrimi i kujteses qendrore<br />

• Administrimi i kujtesave periferike<br />

– Sistemet e skedareve<br />

• Komunikimi me paisjet e jashtme<br />

– sistemet grafike<br />

– periferiket dhe rrjetat<br />

• Multiprogramimi<br />

– paralelizmi dhe konkurenca<br />

• Mbrojtja<br />

– autorizimi i perdoruesve<br />

– mbrojtja nga nderhyrjet e pa-autorizuara<br />

– evidentimi i ngjarjeve dhe i kostos<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 41


Mjetet e sistemeve te shfrytezimit<br />

• Sistemi i administrimit te kujteses<br />

• Sistemi i administrimit te skedareve<br />

• Sistemi i hyrje-daljeve<br />

– guacka [shell] e dukshme e sistemit<br />

– protokollet e komunikimit<br />

– driver-at e periferikeve<br />

• Mekanizmat e sinkronizimit dhe konkurences<br />

• Sistemi i mbrojtjes<br />

– listat e perdoruesve dhe te drejtat e hyrjes<br />

– kontrolli i kapjes te te dhenave dhe kujteses<br />

– regjistri [log] i ngjarjeve dhe faturimi<br />

• Programe ndihmese<br />

– editoret, kompilatoret, lidhesit (linker), librarite etj.<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 42


Disa drejtime te zhvillimit aktual<br />

• Nderfaqesit multimediale<br />

– sistemet grafike<br />

• Sistemet e integruar [embeded]<br />

• Rrjetat informatike dhe Interneti<br />

• Sistemet paralele<br />

– programimi paralel<br />

• Sistemet e shperndare<br />

– sistemet klient server<br />

– kluster me PC dhe GRID<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 43


Klasifikime …<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 44


Klasifikimi “mono~multi” i sistemeve<br />

mono-programim<br />

multi-programim<br />

mono-perdorues<br />

MS-DOS<br />

MS-Windows 3<br />

multi-perdorues<br />

Unix & Linux<br />

MS-Windows 2K<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 45


tekst mode<br />

tekst mode me<br />

mbishtrese grafike<br />

grafike<br />

Sistemet tekst dhe grafike<br />

MS-DOS<br />

Unix & Linux<br />

Unix & X-windows<br />

Linux & XFree86<br />

MS-Windows<br />

aaaaaaaaa<br />

bbbbbbbbb<br />

matrice<br />

Karakteresh<br />

25 x 80<br />

matrice<br />

me pixels<br />

480 x 640<br />

600 x 800<br />

768 x 1024<br />

etj.<br />

matrice<br />

me pixels<br />

480 x 640<br />

600 x 800<br />

768 x 1024<br />

etj.<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 46


konsole<br />

konsola virtuale<br />

terminale [virtuale]<br />

kontroll ne<br />

distance<br />

Nderfaqimi me perdoruesit<br />

MS-DOS<br />

MS-Windows<br />

Unix & Linux<br />

Unix & Linux<br />

X-windows<br />

Unix & Linux<br />

MS-Windows<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 47


• void<br />

BUFFER<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 48


Arkitektura e sistemeve te shfrytezimit<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 49


Programe dhe procese<br />

• Programi<br />

– eshte bashkesi procedurash<br />

– zgjidh detyra te perdoruesit<br />

• Procedura<br />

– eshte bashkesi instruksionesh<br />

– zgjidh detyra llogaritese ne kuader te programit<br />

• Procesi<br />

– eshte [cope] e programit ne ekzekutim<br />

– realizohet ne menyre autonome<br />

– perdor hapesiren “vetiake” ne kujtese<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 50


Programe dhe sisteme shfrytezimi<br />

• Programi eshte bashkesi<br />

procedurash<br />

• Sistemi i shfrytezimit eshte<br />

nje lloj i vecante programi ~<br />

bashkesi procedurash<br />

• Procedurat therrasin njera<br />

tjetren sipas nje grafi<br />

• Programet / Sistemet<br />

klasifikohen sipas struktures<br />

hierarkike te grafit te<br />

procedurave<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 51


Struktura e sistemit te shfrytezimit<br />

• Shtresezimi i hierarkise se procedurave te sistemit<br />

• Shtresa “makine virtuale” punon mbi harduerin<br />

Sistemi<br />

Shfrytezimit<br />

thirrje te sistemit<br />

VM<br />

Aplikimi<br />

Procedure Procedure<br />

Proc. baze Proc. baze Proc. baze<br />

Hardueri<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 52


APLIKIMI<br />

Librari Dinamike<br />

Makina Virtuale<br />

Hardueri<br />

Thirrjet e sistemit<br />

print (“format”, A, B, C)<br />

print(“format”,X,…) {<br />

for X,…<br />

print(Xorg,Dest,Size);<br />

}<br />

print(ORG,DEST,SIZE) {<br />

LDA …<br />

STA …<br />

}<br />

Thirrje funskioni nga librari dinamike<br />

(C++ ?)<br />

Thirrje funksioni sistemi<br />

(Asambler?)<br />

Realizim i funksionit te<br />

sistemit ne harduer<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 53


Thirrjet e sistemit – shembuj<br />

• Administrimi i proceseve<br />

– pid=fork(…)<br />

• Sinjalizimi midis proceseve<br />

– S=kill(pid,sig)<br />

• Administrimi i skedareve<br />

– fd=open(file,how)<br />

– n=read(fd,buffer,nbytes)<br />

– n=write(fd,buffer,nbytes)<br />

– s=close(fd)<br />

• Administrimi i direktorive<br />

– s=mkdir(name,mode)<br />

Krijohet nje proces i ri<br />

Sinjalizohet procesi te ndaloje, ristartoje etj.<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 54


Strukturimi i sistemeve te shfrytezimit<br />

• Sistemet monolite<br />

– CPU ne dy moda: perdorues dhe “berthame” (kernel)<br />

• Sisteme me shtresa (unazat ne Multix)<br />

– Aplikime te perdoruesve<br />

– Administrimi hyrje-daljeve<br />

– Administrimi kujteses<br />

– Multiprogramimi<br />

• Makina virtuale<br />

– Berthama e sistemit krijon “kopje virtuale” te harduerit<br />

– Pertium emulon i8086 …<br />

• Klient-Server<br />

– Berthame minimale per vete sistemin<br />

– Procese te sistemit realizohen si procese perdoruesi<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 55


• CPU punon ne dy moda<br />

– perdorues<br />

– berthame (kernel)<br />

Procese<br />

[mode] Perdoruesi<br />

Procese<br />

[mode] Sistemi<br />

Sistemet monolite<br />

Hardueri<br />

Aplikimet<br />

Berthama<br />

e Sistemit<br />

Hardueri<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 56


• Koncepti i shtresave<br />

Aplikime<br />

Sistemet me shtresa / unaza<br />

Librarite dinamike te I/O<br />

Administrimi kujteses<br />

Multi-Programimi<br />

Administrimi i I/O me Hw<br />

Hardueri<br />

• Cdo shtresa komunikon<br />

vetem me shtresat fqinje<br />

sipas rregullave te caktuara<br />

APLIKIME<br />

BERTHAMA appli<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 57<br />

X<br />

porte e thirrjes<br />

te sistemit<br />

thirrje<br />

sistemi<br />

thirrje e<br />

palejuar<br />

sistemi


Sistemet klient – server<br />

• Proceset e sistemit realizohen<br />

ne po ate nivel si dhe<br />

proceset e perdoruesit<br />

– Proceset e sistemit ~ server<br />

– Proceset e perdoruesit ~ klient<br />

• Mikro-berthame per<br />

– Multi-programimin<br />

– Hyrje / daljet me harduerin<br />

– Transferimin e thirrjeve te<br />

sistemit nga proceset klient ne<br />

ato server<br />

OS (server)<br />

User (klient)<br />

mikro-berthama<br />

CPU<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 58<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

thirrje<br />

sistemi


Sistemet me makina virtuale<br />

• “Super” mikro-berthame per<br />

– multi-programimin<br />

– Proceset per CPU virtuale<br />

• Nje CPU virtuale mban nje<br />

sistem shfrytezimi<br />

– Paralelizem virtual i disa<br />

sistemeve shfrytezimi<br />

• Super-berthame per<br />

sistemet me procesor Intel ~<br />

paralelizem virtual midis:<br />

– MS-Windows<br />

– Linux<br />

“CPU” “CPU” “CPU” “CPU”<br />

“super” berthame<br />

Hardueri (CPU)<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 59<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

OS1 OS2<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s<br />

OS3 OS4<br />

p<br />

r<br />

o<br />

c<br />

e<br />

s


Proceset<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 60


Koncepti i Procesit<br />

• Procesi ~ program ne ekzekutim<br />

– Grup instruksionesh (program) ne ekzekutim<br />

– Autonom ne raport me proceset e tjera<br />

• Burimet e procesit<br />

– Hapesira e kujteses<br />

• Kodi dhe te dhenat<br />

• Stiva per thirrjen e procedurave<br />

– PCB (Process Control Block)<br />

• Atributet e procesit<br />

• Treguesit per hapesiren e kujteses<br />

• Treguesit per FCB (File Control Block)<br />

• Imazhi procesit kur nderpritet<br />

– Kopja e regjistrave te procesorit<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 61


Krijimi dhe “vrasja” e proceseve<br />

• Thirrja e procedurave • Krijimi i proceseve<br />

call<br />

return<br />

call<br />

return<br />

Procesi A<br />

(procedurat perdorin te<br />

njejten hapesire kujtese)<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 62<br />

fork<br />

kill<br />

Procesi A<br />

call<br />

return<br />

Procesi B<br />

(proceset A dhe B perdorin<br />

hapesira kujtese te ndryshme)<br />

P7<br />

“orteku” i proceseve<br />

qe krijojne njeri tjetrin<br />

me komanden “fork”<br />

P1<br />

P2 P8 Pd<br />

P5<br />

P9 Pe<br />

P6 Pa Pf<br />

Pb Pc<br />

Pg


Proces dhe thread<br />

• “Thread” ~ “proces i lehte”, “nen-proces”<br />

– Disa threads ndajne hapesiren e perbashket te kujteses<br />

– PCB e “zgjeruar” (regjistrat e CPU etj.)<br />

– Ritet kompleksiteti i bashkeveprimit dhe sinkronizimit<br />

proces<br />

thread<br />

1 proces = 1 thread 1 proces = n thread<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 63


• Tabela e Proceseve<br />

Administrimi i proceseve<br />

– Process Control Block (PCB)<br />

• Regjistrat e CPU<br />

• Tregues (pointer) per segmentet e kujteses<br />

• Pershkruesit e skedareve (File Control Block)<br />

• Prioriteti i ekzekutimit<br />

• Te dhena te tjera (perdoruesi, direktoria etj.)<br />

struct proc {<br />

struct stackframe_s p_reg; /* process' registers saved in stack frame */<br />

proc_nr_t p_nr; /* number of this process (for fast access) */<br />

struct priv *p_priv; /* system privileges structure */<br />

char p_rts_flags; /* SENDING, RECEIVING, etc. */<br />

char p_misc_flags; /* Flags that do suspend the process */<br />

char p_priority; /* current scheduling priority */<br />

char p_max_priority; /* maximum scheduling priority */<br />

. . .<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 64


•<br />

Kujtesa<br />

Hapesira e Kujteses<br />

e Procesit<br />

Kodi Procesit<br />

Te Dhenat<br />

Stiva<br />

Sistemi i Shfrytezimit<br />

Procesi dhe PCB<br />

PCB<br />

Atributet e Procesit<br />

PROCESORI<br />

regjister<br />

regjister<br />

regjister<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 65


• Tabela e PCB dhe Round<br />

Robin<br />

Interrupt & Round Robin<br />

s<br />

u<br />

p<br />

e<br />

r<br />

v<br />

i<br />

z<br />

o<br />

r<br />

i<br />

Proceset dhe kujtesa<br />

OS kernel PCB<br />

Process 1 PCB<br />

Process 2 PCB<br />

Process 3 PCB<br />

…<br />

Process n-1 PCB<br />

Process n PCB<br />

KUJTESA<br />

Tabela<br />

e PCB<br />

Kodi i OS<br />

(Berthama)<br />

Kodi & teDhena<br />

Process 1<br />

Kodi & teDhena<br />

Process n<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 66<br />

...


Realizimi i proceseve<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 67


• Procesi = entitet autonom<br />

Gjendjet e proceseve<br />

• Gjendja sipas mundesise te aktivizimit:<br />

– Planifikim (scheduled) – i sapo leshuar<br />

– Gati (ready) – pret per kohen e CPU<br />

– Ekzekutim (running) – kontrollon CPU<br />

– Bllokuar / pritje (blocked / waiting) – pret nje ngjarje I/O<br />

2<br />

RUN READY<br />

3<br />

4<br />

WAITING<br />

5<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 68<br />

1<br />

Sched.


Ndryshimi i gjendjeve<br />

• Ndryshimi i gjendjeve behet<br />

– Kalimi 1 behet kur procesi i leshuar nga perdoruesi futet ne<br />

rradhen e pritjes per ekzekutim<br />

– Kalimi 2 dhe 3 behen nga supervozori i sistemit<br />

• Kalimi 2 kur procesi ka plotesuar kuoten e kohes te CPU<br />

• Kalimi 3 kur procesit te nderprere i rivjen rradha e CPU<br />

– Kalimi 4 behet kur procesi nuk mund te vazhdoje<br />

• Kerkese per hyrje-dalje<br />

• Nderprerje nga jashte<br />

• Kijim situate bllokimi<br />

– Kalimi 5 behet kur plotesohen kushtet<br />

• Perfundon hyrje-dalja<br />

• Perfundon trajtimi i nderprerjes<br />

• Perfundon situata bllokuese<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 69


Gjendjet dhe rradhet<br />

• Realizimi i rradheve te gjendjeve Ready dhe Waiting<br />

Kujtesa<br />

OS<br />

run<br />

ready<br />

wait<br />

sched<br />

ready<br />

PID<br />

PID<br />

waiting<br />

PID<br />

PID<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 70<br />

PCB<br />

PID<br />

PID<br />

PID<br />

PID<br />

code<br />

data<br />

code<br />

data<br />

code<br />

data<br />

code<br />

data


Politikat e rradheve<br />

• Proceset ne rradhen “GATI” mund te kapen njeri pas<br />

tjetrit sipas skemes FIFO per te marre kontrollin e CPU<br />

• Disa procese mund te kekojne perparesi<br />

– Ekzekutimi pa pritur rradhen<br />

• Kategorizimi i proceseve<br />

• Skema FIFO brenda nje kategorie<br />

• Politikat e perparesise midis kategorive<br />

– Manaxhimi i proceseve<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 71


Manaxhimi i proceseve<br />

• Problemi cfaqet kur mbi nje proces eshte “GATI”<br />

– Mekanizmat e zgjedhjeve jane kontadiktore<br />

– Disa kritere:<br />

• Drejtesia – cdo proces te mare pjesen e vet te CPU<br />

• Eficensa – CPU te shfrytezohet 100%<br />

• Koha e pergjigjes – minimizimi per perdoruesit interaktve<br />

• Koha totale – minimizimi i kohes te punes<br />

• “Percueshmeria” – maksimizimi i numrit te puneve<br />

– Sjellja e proceseve e paparashikuar <br />

– Manaxhimi<br />

• “Plotesues” [completion]<br />

• “Parashikues” [preemptive]<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 72


Mekanizmat e manaxhimit<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 73


“Round Robin”<br />

• Proceset vendosen ne liste FIFO<br />

• Per proceset caktohet intervali “quantum” CPU<br />

– Procesi rradhes ploteson “quantum-in” dhe bllokohet<br />

– Procesi pasardhes ne liste merr kontrollin e CPU<br />

• Ndarja e kohes “quantum” (efektivitet ~ pritje)<br />

– Kompromis 100 ms<br />

P1<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 74<br />

P2<br />

P0<br />

P3 P4<br />

P9 P8<br />

P5<br />

P7<br />

P6


Manaxhimi me perparesi<br />

• Kategorizimi i perdorimit sipas “rendesise”<br />

• Perparesite<br />

– Statike (te paracaktuara)<br />

– Dinamike (ndryshojne ne kohe)<br />

• Komanda Unix “nice”<br />

• Kategorizimi i perparesive & rradhet e perparesive<br />

Perparesia 0<br />

Perparesia 1<br />

Perparesia 2<br />

Perparesia x<br />

P01 P02<br />

P11 P12 P13<br />

P21 P22 P23<br />

Px1 Px2<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 75<br />

P23


Perparesite dinamike<br />

• Zvogelimi gradual i perparesise<br />

– Problemi i rritjes te perparesise per proceset interaktive<br />

• Perparesi punes me te shkurter<br />

– Nqs. e mundeshme parashikimi i kohes<br />

• Komandat ineraktive si pune te vecanta<br />

– Parashikimi i kohes sipas sjelljes<br />

• Manaxhimi me “llotari”<br />

– Llotari shtese per proceset perparesore<br />

– Qarkullimi llotarive midis proceseve<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 76


Manaxhimi ne dy nivele<br />

• Vendoset nje pjese te proceseve [me perpari te ulet] ne<br />

disk per lirimin e kujteses<br />

• Supervizori ndan kohen e CPU per proceset ne kujtese.<br />

Periodikisht<br />

– Proceset per shume kohe ne kujtese kalojne ne disk<br />

– Proceset per shume kohe ne disk kalojne ne kujtese<br />

• Dy nivele te supervizorit<br />

– Niveli ulet trajton proceset ne kujtese<br />

– Niveli larte trajton shkembimin e proceseve disk kujtese<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 77


Politikat dhe mekanizmat<br />

• Supervizori nuk konsideron specifikat e perdoruesve ne<br />

trajtimin e perparesive<br />

• Ndahen mekanizmat e supervizorit nga politikat e<br />

dhenies perparesi proceseve nga perdoruesi<br />

• Procesi kryesor mund te perdore thirrje te sistemit per te<br />

ndryshuar perparesite e nenproceseve<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 78


Konkurenca e proceseve<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 79


Vektoret e nderprerjeve<br />

• Nderprerja shoqerohet me nje numer identifikues (INT n)<br />

• Vektori i nderprerjeve mban treguesit per procedurat e<br />

sherbimit te nderprerjeve sipas numrit identifkues<br />

• Trajtimi i nderprerjes perfshin<br />

– Kopjohet numratori i programit te CPU ne stive<br />

– Kalohet, nepermjet vektorit te nderprerjeve sipas<br />

identifikuesit te nderprerjes, ne proceduren e sherbimit<br />

– Kopjohet gjendja e CPU ne PCB e procesit te nderprere<br />

– Realizohet procesi i sherbimit te nderprerjes<br />

• Rikthehet kontrolli ne procesin e nderprere, ose<br />

• Ne multiprogramim aktivizohet procesi i rradhes<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 80


Konkurenca midis proceseve<br />

• Tre probleme<br />

– Shkembimi i informacionit midis proceseve<br />

– Konkurenca ne burimet e perbashketa<br />

– Vargezimi i varesise nga njeri tjetri<br />

• Konkurenca<br />

– Situata e gares per kapjen e burimeve te ndara<br />

• Disa procese kerkojne “njekohesisht” kapjen e te njejtit burim<br />

• Pyetje: lejohet nderprerja e nje procesi qe ka kapur burimin?<br />

– Pjesa e programit ku kapet nje burim i perbashket<br />

• Kerkon ekskluzivitet mbi procesin e kapjes te burimit<br />

• Percaktohet si “Seksion Kritik” qe nuk duhet nderprere<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 81


• Shembull: Spooler i shtypit<br />

Procesi A<br />

Procesi B<br />

Situata e gares<br />

pergatit<br />

pergatit<br />

Print Spooler Printer<br />

☼<br />

Nderprerje e multiprogramimit<br />

Rradha e Spooler<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 82<br />

shkruan<br />

shkruan<br />

Procesi A prish te dhenat e B


Seksioni kritik<br />

• Seksion kritik quhet pjesa e programit qe kap burime te<br />

perbashketa<br />

– Nuk behen supozime per shpejtesine e CPU<br />

– Nuk lejohen dy procese njekohesisht ne seksion kritik<br />

– Proceset jashte seksioneve kritike nuk duhet te bllokojne<br />

proceset ne seksione kritike<br />

– Asnje proces nuk duhet te prese pambarim per te hyre ne<br />

seksion kritik<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 83


Perjashtimi reciprok<br />

• Mekanizmat e perjashtimit reciprok te proceseve gjate<br />

seksioneve kritike<br />

– C’aktivizimi i nderprerjeve<br />

– Variablat “celes”<br />

– Fjetja dhe zgjimi<br />

– Semaforet<br />

– Shkembimi i mesazheve<br />

– Monitoret<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 84


Konkurenca – variablat celes<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 85


C’aktivizimi i nderprerjeve<br />

• Nderprerjet shkaktojne pezullimin e nje procesi per ti<br />

lene vendin nje tjetri<br />

• Procesi qe eshte ne seksion kritik<br />

– Ne hyrje te seksionit c’aktivizon nderprerjet<br />

– Ne dalje te seksionit ri-aktivizon nderprerjet<br />

• Probleme<br />

– Kontrolli i nderprerjeve lihet ne doren e perdoruesit<br />

– Kohezgjatja e seksionit kritik mund te jete e madhe<br />

– Nuk vlen ne sistemet multi-procesor<br />

• Me vlere per sistemin e shfrytezimit<br />

– Sigurimi i seksioneve kritike te vete sistemit<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 86


Variablat celes / flamur<br />

• Variabli celes (flamur) mer vlerat<br />

– 0 kur nuk ka procese ne seksion kritik<br />

– 1 kur nje proces hyn ne seksion kritik<br />

• Procesi qe hyn ne seksion kritik<br />

– Teston variablin celes dhe pret derisa te behet 0<br />

– Nryshon variablin ne 1 dhe hyn ne seksion kritik<br />

– Riben variablin 0 kur del nga seksioni kritik<br />

• Problem: nderprerjet gjate testim-ndryshimit<br />

– Mund te perdoret c’aktivizimi i nderprerjeve<br />

– Manipulimi i varjablit celes behet me thirrje sistemi.<br />

– Vetem kodi i procedurave te berthames te sistemit ka<br />

atributin qe lejon c’aktivizimin e nderprerjeve.<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 87


• Variablat celes ne<br />

kapjen ekskluzive<br />

te burimeve<br />

• Seksioni kritik<br />

reduktohet ne<br />

trajtimin e variablit<br />

celes<br />

• Linux: perdoren<br />

skedare “celes”<br />

per shmangien e<br />

kapjes konkurente<br />

te skedareve<br />

• Problem: pritja<br />

Perdorimi i variablave celes<br />

seksion<br />

kritik<br />

seksion<br />

kritik<br />

set_flag (F)<br />

unset_flag (F)<br />

{<br />

Int off<br />

F:=0<br />

Int on<br />

}<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 88<br />

ekskluzivitet<br />

Call set_flag(F)<br />

Call unset_flag(F)<br />

F<br />

{<br />

I<br />

n<br />

t<br />

o<br />

f<br />

f<br />

;<br />

w<br />

h


• Shembull: Spooler i shtypit<br />

Procesi A<br />

Procesi B<br />

Seksion kritik<br />

Shembulli i spoolerit<br />

Bllokim: celesi:=1<br />

Pergatit: WAIT<br />

Rradha e Spooler<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 89<br />

shkruan ☼<br />

Lirim: celesi:=0<br />

Int Int<br />

Procesi A ka<br />

ekskluzivitet<br />

mbi spooler<br />

Procesi B ka<br />

akses mbi<br />

spooler


• C’aktivizimi i nderprerjeve<br />

ndarje kohe<br />

seksion kritik<br />

& ekskluzivitet<br />

P1 P2 OS<br />

INT OFF<br />

INT ON<br />

Nderprerje dhe celes<br />

• Perdorimi i variablave celes<br />

P1 P2 OS<br />

celesi<br />

ndarje kohe<br />

-<br />

-<br />

-<br />

D seksion kritik<br />

ilire?<br />

-<br />

|<br />

I<br />

S ekskluzivitet<br />

ilire?<br />

izene!<br />

|<br />

|<br />

|<br />

|<br />

K seksion kritik<br />

ilire!<br />

|<br />

-<br />

-<br />

-<br />

-<br />

-<br />

koha koha<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 90<br />

D<br />

I<br />

S<br />

K


Konkurenca – semaforet<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 91


Fjetja dhe zgjimi<br />

• Procesi qe nderpritet duhet te kaloje ne gjendje “pritje”<br />

– Problem: si do te behet kalimi ne gjendjen “gati”<br />

• Thirrjet e sistemit “sleep” dhe “wakeup”<br />

– Dy procese …<br />

– Procesi qe kerkon burimin ben sleep mbi variablin celes<br />

• Nqs. burimi i lire [celesi==1],<br />

– celesi:=0<br />

– procesi mer ekskluzivitetin mbi burimin<br />

• Nqs. burimi i zene [celesi==0],<br />

– procesi kalon nga gjendja “run” ne “pritje”<br />

– Procesi qe liron burimin ben wakeup mbi variablin celes<br />

– celesi:=1<br />

– aktivizohet procesi i bllokuar (nqs. ka te tille)<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 92


Struktura e sleep & wakeup<br />

• Celesi eshte strukture F = {int C; int PID}<br />

• C ~ celesi<br />

• PID ~ mbajtesi i identifikatorit te procesit<br />

• “sleep” kalon procesin thirres ne gjendjen “pritje”<br />

sleep (C)<br />

{<br />

}<br />

Int off;<br />

if (F.C==0)<br />

{ F.PID:=(PID);<br />

call_system_state_wait(PID);<br />

} F.C:=0;<br />

Int on;<br />

• “wakeup” zgjon procesin e rene ne gjendje “pritje”<br />

wakeup (C)<br />

{<br />

}<br />

Int off;<br />

F.C:=1;<br />

if (F.PID!=NULL) call_system_state_ready(F.PID);<br />

Int on;<br />

• call_system_state_wait ne dalje ben “Int on” per mbylljen e seksionit<br />

kritik<br />

Call sleep(F)<br />

Call sleep(F)<br />

Call wakeup(F)<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 93<br />

wait<br />

ready<br />

F


Semaforet<br />

• Semafori – variabel qe mban numrin e thirrjeve “wakeup”<br />

te pa realizuara ne rastin e shume proceseve (Dijkstra)<br />

– Pergjithesim i metodes “sleep” & “wakeup”<br />

– Dy thirrje sistemi<br />

• “down” (~sleep) teston semaforin<br />

– Nqs. zero => procesi kalon ne gjendje “sleep” pa plotesuar<br />

“down”<br />

– Nqs. pozitive => zvogelon me 1 semaforin dhe vazhdon punen<br />

• “up” (~wakeup) rrit me 1 vleren e semaforit<br />

– Nqs. ka procese ne “sleep”, supervizori i sistemit zgjon njerin<br />

prej tyre dhe e lejon te perfundoje “down”<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 94


Shembull i semaforeve<br />

• Situata klient-server<br />

– Tre semafore:<br />

• “PLOT” numeron fjalet e mbushura te buferit. Klienti kalon ne<br />

“sleep” kur PLOT=0<br />

• “BOSH” numeron fjalet bosh te buferit. Serveri kalon ne<br />

“sleep” kur BOSH=0<br />

• “MEX” ~ “mutual exclusive”, bllokon kapjen e buferit<br />

njekohesisht nga klienti dhe serveri (semafor binar)<br />

• Perdorimi i semaforeve<br />

– Sinkronizim: PLOT, BOSH<br />

– Ekskluzivitet: MEX<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 95


Bllokimi reciprok<br />

• Semaforet dhe bllokimi reciprok (deadlock)<br />

Void server(void)<br />

{ while (TRUE) {<br />

down(&BOSH);<br />

down(&MEX);<br />

fill_buffer(…);<br />

up(&MEX);<br />

up(&PLOT)<br />

}<br />

}<br />

Void client(void)<br />

{ while (TRUE) {<br />

down(&PLOT);<br />

down(&MEX);<br />

empty_buffer(…);<br />

up(&MEX);<br />

up(&BOSH)<br />

}<br />

}<br />

– Gabimet ne perdorimin e semaforeve<br />

• Ndrimi i vendeve te thirrjes “down” shkakton bllokim<br />

– Nqs. buferi eshte plot, server ben “down(&MEX)” duke bere<br />

MEX=0 dhe me pas bllokohet tek “down(&BOSH)”<br />

– Klienti ndesh MEX=0 dhe bllokohet …<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 96


Mbi strukturen e te dhenave<br />

• Mekanizmi i konkurences (semafor, etj.) ka nevoje per<br />

strukture te dhenash shoqeruese<br />

– Numratori i kerkesave<br />

– Te pakten nje rradhe pritjeje<br />

S<br />

numrator<br />

PID 1 PID 2 PID 3 PID 4<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 97


Konkurenca - sinjalet dhe bllokimet<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 98


Shkembimi i sinjaleve<br />

• Thirrjet e sistemit “send” dhe “receive”<br />

– Arkitektura klient-server<br />

• Serveri pret ne “receive” per sinal<br />

• Klienti dergon “send” kur ka nevoje<br />

– Sinkronizimi i proceseve ne sisteme te shperndara<br />

– Shkembimi i informacioneve midis proceseve<br />

– Reziku i humbjes te mesazheve<br />

• Marrja duhet te sinjalizohet (“ACK” ~ acknowledgement)<br />

• Nqs humbet ACK, ridergohet mesazhi<br />

• Mesazhet shoqerohen me numrin rendor<br />

• Proceset identifikohen (authentication)<br />

• Problem: performanca<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 99


Monitoret<br />

• Monitori – bashkesi procedurash dhe struktura te<br />

dhenash te grupuara si “modul / objekt” qe kontrollon<br />

kapjen e burimeve<br />

– Monitori perdoret ne menyre ekskluzive<br />

– Thirrja e monitorit realizohet nga kompilatori<br />

• Monitori eshte konstruksion i gjuhes se programimit<br />

• Konkurenca kontrollohet nga kompilatori<br />

• Shmangen gabimet e programistit<br />

– Problem<br />

• cilat gjuhe programimi kane “monitor” ?<br />

• Koncept me interes ne zhvillimin e aplikimeve ?<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 100


Bllokimet (deadlocks)<br />

X Y<br />

B2<br />

wait wait<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 101<br />

B1


Klasifikimi i bllokimeve<br />

• Problemi<br />

– nje proces kerkon ekskluzivitet per disa burime<br />

• Paisje – Skedare – Regjistrime …<br />

– Dy procese mund te bllokojne njeri tjetrin<br />

– Burimet jane<br />

• Te parashikueshem (preemptable)<br />

– Mund ti hiqen procesit qe e ka kapur<br />

– Shembull: kujtesa: dy procese bllokojne njeri tjetrin ne kujtese<br />

dhe printer, kujtesa i hiqet njerit dhe i jepet tjetrit (swapping)<br />

• Te paparashikueshem (non-preemptable)<br />

– Nuk mund ti hiqen procesit qe e ka kapur<br />

– Jane shkaku kryesor i bllokimeve<br />

– Shembull: printeri – shtypi i filluar nuk mund te nderpritet<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 102


Trajtimi i blokimeve<br />

• Nje grup procesesh eshte i bllokuar nqs secili pret nje ngjarje qe nje<br />

proces tjeter i grupit mund te shkaktoje<br />

• Konditat per bllokim (Coffman)<br />

– Perjashtim reciprok (mutual exclusion)<br />

– Kap dhe prit (hold and wait)<br />

– Mungese parashikimi (non-preemptive)<br />

– Pritje ne “rreth vicioz” (circular wait)<br />

• Strategjite per shmangien e bllokimeve<br />

– Injorimi i problemit (nqs probabiliteti i ulet)<br />

– Detektimi dhe rimarja (ristartimi i proceseve bllokuese)<br />

– Shmangia dinamike (shmangia e situatave bllokuese)<br />

– Parandalimi duke mohuar konditat<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 103


Shmangia dhe parandalimi<br />

• …<br />

– Shmangia dinamike (problematike)<br />

kondita zgjidhja<br />

perjashtimi reciprok spooling<br />

kap dhe prit kap gjithe burimet<br />

jo-parashikuese liro burimet para kapjes<br />

pritja rrethore rendit burimet<br />

– Parandalimi<br />

• Matrica e zenies te burimeve & algoritmi bankierit<br />

– Kerkohet nje proces qe i plotesohen kerkesat<br />

– Nsq ka, konsderohet i perfunduar dhe burimet lirohen<br />

– Nqs jo, situate bllokimi<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 104


Hyrje – daljet<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 105


• Klasifikimi<br />

– Bllok (disk, shirit, …)<br />

Klasifikimi i paisjeve<br />

– Karakter (tastiera, mouse, printer, …)<br />

– Speciale (clock …)<br />

• Hardueri<br />

– Paisjet<br />

– Kontrolloret<br />

HDD<br />

PRINTER MONITOR TASTIERE<br />

CPU RAM clock disk printer monitor tastiere<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 106


• Regjistrat e kontrollorit<br />

– Ne kontrollor<br />

Kontrolloret<br />

– Ne kujtese<br />

– Sistemi komandon kontrollorin<br />

nepermjet regjistrave<br />

• Nderprerjet<br />

– IRQ<br />

• Interrupt vector<br />

• Interrupt service software<br />

– Kontrollori sinjalizon CPU<br />

nepermjet IRQ<br />

kontrollori<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 107<br />

bus<br />

IRQ<br />

RAM<br />

regjistrat<br />

regjistrat<br />

komande


Direct Memory Access / Area<br />

• Kontrollori pa DMA<br />

• lexon nje bllok nga paisja ne buferin e brendshem<br />

• ben IRQ dhe sinjalizon sistemin<br />

– Sistemi kopjon bajt-pas-bajti nga regjistri<br />

kontrollorit ne kujtesen e kompjuterit<br />

• Kontrollori me DMA<br />

• lexon nje bllok nga paisja ne buferin e brendshem<br />

dhe me pas kopjon buferin ne DMA (kujtesa e<br />

kompjuterit)<br />

• Ben IRQ dhe sinjalizon sistemin<br />

– Sistemi e gjen bllokun ne kujtese<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 108


Softueri per hyrje – dalje<br />

• Pavaresia e paisjeve<br />

• Programimi te mos varet nga paisjet<br />

– Shembull “sort output”<br />

• Unifikimi i emerimit<br />

• Perdorimi i konceptit te “PATH”<br />

• Trajtimi i gabimeve<br />

• Pikasja e gabimeve<br />

• Rileximi / rishkrimi<br />

• Transferimet sinkrone / asinkrone<br />

• Bllokimi i sistemit ~ perdorimi i nderprerjeve<br />

• Ndashmeria e paisjeve<br />

• Kapja njekohesisht ose jo e paisjes nga disa perdorues<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 109


• Niveli i perdoruesit<br />

Shtresat e softuerit<br />

• Softueri i pavarur nga paisja<br />

• Driver i paisjes<br />

– Komandon paisjen<br />

• Trajtuesi i nderprerjeve<br />

– Sistem sinjalizimi<br />

• Kontrollori<br />

– realizon komunikimin<br />

User Level Software<br />

Independent Software<br />

Device Driver<br />

Interrupt Handler<br />

CONTROLLER<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 110<br />

App<br />

OS<br />

SW<br />

HW


Trajtuesi i nderprerjeve<br />

• Procesi kerkon hyrje/dalje<br />

– Bllokon vehten<br />

• Down semaphore<br />

• Wait message<br />

• …<br />

– Spooler<br />

• Kontrollori perfundon<br />

veprimin dhe ben IRQ<br />

– Trajtuesi i nderprerjes<br />

c’bllokon procesin<br />

• Up semaphore<br />

• Send message<br />

• …<br />

process kontrollor<br />

Send request<br />

Call wait state<br />

Switch to Ready<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 111<br />

IRQ


Driver<br />

• Kodi i kushtezuar nga paisja => “driver”<br />

– Driver komunikon me regjistrat e kontrollorit<br />

• Pranon kerkesa ne format te pavarur nga shtresa e siperme<br />

• Gjeneron dhe komandat perkatese ne regjistra<br />

• Kontrollon rezultatin …<br />

• Nqs veprimi kerkon kohe<br />

– Bllokon vehten<br />

– Pret IRQ nga kontrollori<br />

• Kthen pergjigjen ne shtresen e siperme<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 112


Softueri i pavarur<br />

• Funksionet tipike<br />

• Nderfaqimi uniform per paisjet<br />

• Emertimi paisjeve (Unix i trajton si skedare)<br />

• Mbrojtja e paisjeve (nga perdorues te paautorizuar)<br />

• Sigurimi madhesise te pavarur te blloqeve<br />

• Trajtimi i buferave (differencat ne shpejtesine e trajtimit)<br />

• Trajtimi i hapesires per paisjet bllok (zgjerimi i skedarit)<br />

• Zenia dhe leshimi i paisjeve (kapja ekskluzive)<br />

• Raportimi i gabimeve (pas trajtimit nga driver)<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 113


Niveli i perdoruesit<br />

• Procedurat qe lidhen me programet e perdoruesit<br />

– Programisti perdor “write(fd, buffer, nbytes)”<br />

– Procedura “write”<br />

• Ben pjese ne nje librari procedurash dhe lidhet me programin<br />

• Pershtat parametrat e perdoruesit per thirrjet e sistemit<br />

• Realizon formatimin e hyrjes dhe daljes<br />

• Procedurat speciale<br />

– Printing Spooler Daemon<br />

• Proceset e perdoruesit bejne printimin ne skedar<br />

• Procesi spooler lexon skedaret dhe i dergon ne printer<br />

• Spooler eshte i vetmi proces qe komunikon me printerin<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 114


•<br />

Bazat e kompilimit<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 115


Bazat e Kompilimit 1<br />

• Etapat e pergatitjes te programit<br />

– Programi burim (C, FORTRAN, etj.) pergatitet si skedar<br />

me ndihmen e editorit te tekstit: “program.c”<br />

– Programi burim perkthehet (kompilohet) ne program<br />

objekt, ne gjuhen e procesorit: “program.o”<br />

– Programi objekt “lidhet” (linking) dhe transformohet ne<br />

program te ekzekutueshem: “program.exe”<br />

– Programi ekzekutueshem ngarkohet (loading) ne kujtese<br />

per ekzekutim.<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 116


Bazat e Kompilimit 2<br />

• Specifikat e etapave te programimit<br />

– Proramisti shkruan:<br />

• float a,b,c<br />

• input (b,c)<br />

• a=b+c<br />

• print (a)<br />

– Simbolet “a”, “b”, “c” perfaqesojne adresa kujtese per<br />

mbajtjen e numrave reale, te deklaruara nga perdoruesi.<br />

Kompilatori i transformon ne adresa relative kujtese.<br />

– Simbolet “input”, “print” perfaqesojne adresa kujtese ku<br />

duhet te gjenden procedurat e leximit dhe shkrimit.<br />

Kompilatori mund te mos jete ne gjendje ti percaktoje<br />

adresat perkatese.<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 117


Bazat e Kompilimit 3<br />

• Kompilatori krijon nje tabele simbolesh:<br />

SIMBOLI<br />

a<br />

b<br />

c<br />

input<br />

print<br />

ADRESA RELATIVE<br />

1001<br />

1002<br />

1003<br />

external<br />

Adresat relative te simboleve “input” dhe “print” mbeten te papercaktuara dhe vete<br />

simbolet konsiderohen si “te jashtem” (external).<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 118<br />

?<br />

?<br />

ATRIBUT<br />

float<br />

float<br />

float<br />

external


Bazat e Kompilimit 4<br />

• Tabela e simboleve vendoset ne fund te programit<br />

objekt.<br />

• Simbolet “e jashtem” duhet te “lidhen” para se te behet<br />

ekzekutimi / perdorimi i tyre, duke ditur ku jane librarite<br />

me funksionet standarde<br />

– Lidhja statike: eshte lidhesi (linker) qe ploteson tabelen –<br />

lidh programin objekt me librarite duke prodhuar programin<br />

e ekzekutueshem (.exe).<br />

– Lidhja dinamike: eshte ngarkuesi (loader) qe realizon<br />

lidhjen:<br />

• Gjate procesit te ngarkimit<br />

• Gjate ekzekutimit (kur duhet te perdoret simboli)<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 119


Bazat e Kompilimit 5<br />

• Programi objekt dhe ai i ekzekutueshem:<br />

Programi Objekt<br />

CALL input, 1002, 1003<br />

LDA 1002<br />

ADDA 1003<br />

STA 1001<br />

CALL print, 1001<br />

Program Ekzekutueshem<br />

CALL 1101, 1002, 1003<br />

LDA 1002<br />

ADDA 1003<br />

STA 1001<br />

CALL 1201, 1001<br />

ku “1101”, “1201” jane adresat ku do te vendosen procedurat input<br />

dhe print, qe lidhesi/ngarkuesi i percakton pasi gjen procedurat ne<br />

librarine standarde perkatese.<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 120


•<br />

Pyetje ???<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 121


Administrimi i Kujteses<br />

• Parkinson’s Law: programet zgjerohen qe te mbushin<br />

hapesiren e kujteses ne dispozicion<br />

• Sistemi i Administrimit te Kujteses (MMS)<br />

• Kujtesa e Fshehte (“cache”)<br />

– E shpejte por e shtrenjte<br />

– Ndermjetese midis RAM dhe procesorit<br />

• Kujtesa Virtuale<br />

– Ndarja e hapesires kujtese midis<br />

• RAM<br />

• DISK<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 122


detyrat e MMS<br />

• Percaktimi i zonave te kujteses ku vendosen programet<br />

e ndryshme dhe te dhenat perkatese<br />

• Garantimi qe programet te mos nderhyne tek njeri tjetri<br />

– “Buffer Overflow” <br />

• Realizimi i kujteses virtuale<br />

– Zhvendosja e “copave” te hapesires se kujteses midis<br />

RAM dhe DISK<br />

– Mbajtja ne RAM e “copave” te hapesires se kujteses te<br />

proceseve te gjendje “gati” per ekzekutim<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 123


administrimi i kujteses<br />

ne mono dhe multi programim<br />

Mono-programimi<br />

Drivers<br />

Program<br />

Berthama<br />

Multi-programimi<br />

Drivers<br />

Program 1<br />

Program 2<br />

Program 3<br />

Berthama<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 124


• Rivendosja (relocation)<br />

MMS - rivendosja<br />

– Programisti nuk di ku do te vendoset programi ne<br />

kujtese gjate ekzekutimit<br />

– Gjate ekzekutimit programi mund te kalohet<br />

(swap) ne disk dhe rikthehet diku ne kujtese<br />

– Referencat relative te kujteses duhet te<br />

perkthehen ne adresa fizike te kujteses<br />

– Mbivendosja (overlay)<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 125


• Mbrojtja (protection)<br />

MMS - mbrojtja<br />

– Proceset nuk duhet ti referohen zonave te<br />

kujteses te proceseve te tjere pa autorizim<br />

– Pamundesi e kontrollit te adresave fizike gjate<br />

kompilimit, pasi programi mund te rivendoset<br />

– Kontrolli i adresave fizike duhet te behet gjate<br />

ekzekutimit [mundesisht nga hardueri]<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 126


• Ndashmeria (sharing)<br />

MMS – ndashmeria<br />

– Te lejohen disa procese te kapin te njejten zone<br />

kujtese me te dhenat te perbashketa<br />

– Preferohet qe cdo proces te kape te njejten kopje<br />

te programit se sa secili te kete kopjen e vet te<br />

programit<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 127


•<br />

Pyetje ???<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 128


Principet e Adresimit<br />

• Adresat ne programin e<br />

ekzekutueshem jane relative. Gjate<br />

ngarkimit ne kujtese ngarkuesi (loader)<br />

in “transformon” ne adresa fizike duke<br />

percaktuar bazen e adresimit<br />

• Procesori llogarit adresat fizike duke<br />

mbledhur regjistrin baze me adresat<br />

relative:<br />

addr.phys = reg.base + addr.rel<br />

zona e kujteses e zene nga programi<br />

zona e kujteses e zene nga te dhenat dhe stiva<br />

zona e kujteses e zene nga procedurat standarde<br />

Addr. fizike 274569<br />

Reg. Baze / 0000<br />

1001<br />

1002<br />

1003<br />

1101<br />

1201<br />

Programi<br />

ekzekutueshem<br />

a (275570)<br />

b (275571)<br />

c (275572)<br />

input (275670)<br />

print (275770)<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 129


algoritmet e adresimit 1<br />

• Adresat logjike ~ adresat fizike<br />

Regjistri i<br />

komandave<br />

ADD<br />

CPU<br />

346<br />

Adrese<br />

Llogjike<br />

346<br />

Registri i<br />

rivendosjes<br />

14000<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 130<br />

+<br />

MMU<br />

Regjistri i Rivendosjes (Relocation Register) => Regjistri Baze<br />

Adrese<br />

Fizike<br />

14346<br />

Kujtesa


algoritmet e adresimit 2<br />

• Parimi i mbrojtjes ne nivel hardueri<br />

CPU<br />

Adrese<br />

Llogjike<br />

Reg. Limit<br />

<<br />

no<br />

error<br />

yes<br />

Reg. Reloc.<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 131<br />

+<br />

MMU<br />

Adrese<br />

Fizike<br />

Kujtesa


•<br />

Pyetje ???<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 132


• Ndarja fikse<br />

Skemat e Administrimit te Kujteses<br />

• Ndarja dinamike<br />

• Ndarja Binare<br />

• Faqosja e thjeshte<br />

• Segmentimi i thjeshte<br />

• Faqosja e kujteses virtuale<br />

• Segmentimi i kujteses virtuale<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 133


MMS me ndarje fikse te njejte<br />

• Kujtesa ndahet ne copa me madhesi te njejte.<br />

• Nje proces qe kerkon kujtese jo me shume se<br />

nje ndarje ngarkohet dhe ekzekutohet,<br />

ndryshe duhet ristrukturuar programi duke<br />

perdorur mbivendosjet (overlays)<br />

• Nqs. gjithe ndarjet jane te mbushura, sistemi<br />

mund te zhvendose ndonje proces ne disk<br />

(swapping)<br />

• Kujtesa perdoret pa eficience – cdo program<br />

sado i vogel bllokon nje ndarje te tere<br />

(fragmentimi i brendshem)<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 134


MMS me ndarje fikse te ndryshueshme<br />

• Kujtesa qendrore ndahet ne copa me madhesi te<br />

ndryshueshme<br />

– Zbuten problemet e ndarjes fikse te kujteses<br />

ndarja<br />

procesi<br />

Ndarje me madhesi te njejte Ndarje me madhesi te ndryshueshme<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 135


egullat e ndarjes fikse<br />

• Ndarja ne copa te barabarta<br />

– Nuk ka rendesi si shperndahen proceset<br />

• Ndarja ne copa te ndryshueshme<br />

– Mund te vendoset cdo proces ne copen me te<br />

vogel qe i pershtatet<br />

– Krijohen rradhe per proceset<br />

– Processet vendosen ne menyre qe te zvogelohet<br />

shperdorimi i kujteses<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 136


Proceset<br />

e reja<br />

Rradhe<br />

processes<br />

skemat e ndarjes fikse<br />

Proceset<br />

e reja<br />

OS OS<br />

Rradhe<br />

processes<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 137


MMS – ndarja dinamike<br />

• Ndarjet krijohen ne menyre dinamike me madhesi te ndryshme<br />

• Cdo procesi i jepet kujtese sipas nevojes duke krijuar ndarje kujtese<br />

te pershtatshme (supozohet se ka hapesire te lire te mjaftueshme).<br />

Nuk ka fragmentim te brenshem te kujteses<br />

• Gjate manpulimit te proceseve mund te krijohen “vrima” ne kujtese<br />

(fragmentimi i jashtem)<br />

• Duhet perdorur kompatesimi duke zvendosur proceset per te<br />

bashkuar copat e lira te kujteses<br />

• Procesori perdoret pa eficience nga kompaktesimi per shmangien e<br />

fragmentimit te jashtem<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 138


P6<br />

P5<br />

P4<br />

P3<br />

P2<br />

P1<br />

problemet e ndarjes dinamike<br />

OS<br />

P1<br />

P2<br />

P3<br />

P4<br />

P5<br />

P6<br />

OS<br />

P1<br />

P2<br />

P4<br />

P6<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 139<br />

P7<br />

kerkesa<br />

per<br />

kujtese<br />

?<br />

OS<br />

P1<br />

P2<br />

P4<br />

P6<br />

OS<br />

P1<br />

P2<br />

P4<br />

P6<br />

P7<br />

Procesi i Kompaktesimit te Kujteses


egullat e ndarjes dinamike<br />

• Skema “pershtatja me e pare” (first fit)<br />

– Procesi vendoset ne ndarjen e pare te pershtatshme<br />

• Skema “pershtatja me e mire” (best fit)<br />

– Procesi vendoset ne ndarjen me te vogel te pershtatshme<br />

• Skema “pershtatja pasardhese” (next fit)<br />

– Procesi vendoset ne ndarjet e pare te pershtatshme duke filluar<br />

nga vendodhja e fundit<br />

• Problemi fragmentimit te jashtem mbetet<br />

– Ndryshon vetem “topologjia” e fragmentimit<br />

– Zhvendosja e proceseve ne kujtese kerkon kohe<br />

– Perdorimi i kujteses virtuale eshte akoma me i ngadalte<br />

• disku i ngurte eshte paisje e ngadalte<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 140


Ndarja “Binare”<br />

• Synohet te shmanget fragmentimi si i brenshem i ndarjeve fikse dhe<br />

i jashtem i ndarjeve dinamike<br />

• E gjithe hapesira konsiderohet fillimisht si nje bllok i tere me<br />

madhesi 2 U<br />

• Supozohet se kerkohet nje cope kujtese me madhesi S<br />

– Nqs. 2 U-1 < S


Bllok 1 Mb<br />

A kerkon 100 Kb<br />

B kerkon 240 Kb<br />

C kerkon 64 Kb<br />

D ekrkon 250 Kb<br />

B liron 256 Kb<br />

A liron 128 Kb<br />

E kerkon 75 Kb<br />

C liron 64 Kb<br />

E liron 128 Kb<br />

D liron 256 Kb<br />

shembull i ndarjes “binare”<br />

A=128K 128 K<br />

A=128K<br />

A=128K<br />

A=128K<br />

A=128K<br />

128K<br />

E=128K<br />

128 K<br />

C=64K<br />

C=64K<br />

C=64K<br />

C=64K<br />

C=64K<br />

64K<br />

64K<br />

64K<br />

64K<br />

64K<br />

E=128K 128 K<br />

512 K<br />

256 K<br />

B = 256 K<br />

B = 256 K<br />

B = 256 K<br />

256 K<br />

256 K<br />

256 K<br />

256 K<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 142<br />

1 Mb<br />

1 Mb<br />

D = 256 K<br />

D = 256 K<br />

D = 256 K<br />

D = 256 K<br />

D = 256 K<br />

512 K<br />

512 K<br />

512 K<br />

256 K<br />

256 K<br />

256 K<br />

256 K<br />

256 K<br />

D = 256 K 256 K


MMS – disa perfundime<br />

• Sistemi perdor tabela statike ose dinamike per mbajtjen e<br />

parametrave te ndarjeve<br />

• Ndarja fikse shkakton fragmentim te brenshem<br />

– Keqperdorim i kujteses<br />

• Ndarja dinamike shkakton fragmentim te jashtem<br />

– Ose keqperdorim i kujteses<br />

– Ose keqperdorim i kohes se procesorit (kompaktesimi)<br />

• Probleme te pa permendura<br />

– Si mund te parashikohet kerkesa per stiven ???<br />

– Si i behet nese programisti ka perdorur “malloc” ???<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 143


•<br />

Pyetje ???<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 144


MMS – faqosja e kujteses<br />

• Kujtesa fizike ndahet ne copa me madhesi te njejte<br />

– Frames<br />

• Madhesia e copave eshte fuqi e 2<br />

• Varion midis 512 8192 bytes<br />

• Kujtesa llogjike ndahet ne copa me madhesi te njejte<br />

– Faqet (pages)<br />

• Sistemi perdor tabelen e faqeve qe lidh indeksin e<br />

faqeve [te kujteses logjike] per proces me adresen fizike<br />

te bazes te frame-s ne kujtesen fizike<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 145


Tabela e faqeve e<br />

procesit 2<br />

Tabela e faqeve e<br />

procesit 1<br />

principi i faqosjes<br />

KUJTESA KUJTESA<br />

Tabela e faqeve e<br />

procesit 2<br />

Tabela e faqeve<br />

te lira<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 146


0<br />

0<br />

0<br />

0<br />

0<br />

adresimi tek faqet<br />

Adrese Logjike (16 bit)<br />

Numri Faqes (6 bit) Zhvendosja (10 bit)<br />

<br />

Test per<br />

numrin e<br />

faqeve ?<br />

0<br />

1<br />

2<br />

1<br />

0<br />

1<br />

0<br />

1<br />

0<br />

1<br />

Tabela e Faqeve<br />

0 0 0 1 0 1<br />

0 0 0 1 1 0<br />

0 1 1 0 0 1<br />

0<br />

0<br />

1<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 147<br />

1<br />

1<br />

1<br />

0<br />

1<br />

0<br />

1<br />

1<br />

0<br />

1<br />

1<br />

0<br />

Adrese Fizike (16 bit)<br />

1<br />

1<br />

1<br />

1<br />

0


MMS – segmentimi 1<br />

• Permiresim i idese se ndarjeve dinamike<br />

– POR SEGMENTET MUND TE JENE TE SHPERNDARE DHE<br />

JO NGJESHUR NJERI PAS TJETRIT SI NDARJA DINAMIKE<br />

– Shmanget fragmentimi i brenshem dhe minimizohet<br />

fragmentimi i jashtem<br />

– Programisti mund te percaktoje ndarjen e kujteses se<br />

nevojshme per programin ne segmente te madhesive te<br />

ndryshme …<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 148


MMS – segmentimi 2<br />

– Procesi mund te kete segmente te vecanta<br />

• PCB<br />

• kodi programit (*)<br />

• te dhenat (*),<br />

• Stiva (*); [ku * - nje ose disa segmente]<br />

– Cdo proces ka tabelen e vet te segmenteve<br />

ndersa sistemi mban tabelen e blloqeve te lira te<br />

kujteses<br />

– Tabela e simboleve mban jo vetem fillimin por<br />

edhe gjatesine e segmenteve<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 149


0<br />

0<br />

0<br />

0<br />

0<br />

1<br />

2<br />

0<br />

adresimi tek segmentet<br />

Adrese Logjike (16 bit)<br />

Segmenti (6 bit) Zhvendosja (10 bit)<br />

Test per<br />

numrin e<br />

faqeve ?<br />

<br />

1<br />

0<br />

1<br />

0<br />

1<br />

0<br />

1<br />

Tabela e Segmenteve<br />

Fillimi (Baza) Gjatesia<br />

0 0 0 1 0 1<br />

0 0 0 1 1 0<br />

0 1 1 0 0 1<br />

0<br />

0<br />

1<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 150<br />

1<br />

1<br />

1<br />

0<br />

1<br />

0<br />

1<br />

0 0 0 1 0 1<br />

0 0 0 1 1 0<br />

0 1 1 0 0 1<br />

1<br />

0<br />

1<br />

1<br />

0<br />

Adrese Fizike (16 bit)<br />

1<br />

<br />

Test per<br />

gjatesine e<br />

segmentit ?<br />

1<br />

1<br />

1<br />

0


MMS dhe kujtesa virtuale<br />

• Te njejtat mekanizma perdoren si per kujtesen qendrore dhe ate<br />

ndihmese<br />

• Hapesira e unifikuar (qendrore & ndihmese) e kujteses = kujtesa<br />

virtuale<br />

• Ne tabelat e faqeve – dallimi i faqeve qe ndodhen ne kujtesen<br />

qendrore nga ato qe ndodhen ne kujtesen ndihmese (ne disk)<br />

• Shkembimi i faqeve mids kujteses qendrore dhe ndihmese<br />

(swapping)<br />

– Identifikimi i “vjeterimit” te faqeve dhe proceseve ne kujtesen<br />

qendrore – percaktimi se cila faqe duhet te dergohet ne kujtesen<br />

ndihmese kur kerkohet te lirohet hapesire ne kujtesen qendrore<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 151


main<br />

proc A<br />

proc C<br />

proc B<br />

proc A<br />

Koncepti i Stives<br />

proc A<br />

Stack<br />

ptr<br />

call A call B call A<br />

Kodi<br />

Programit<br />

Te Dhenat<br />

Statike<br />

param A<br />

te dhenat<br />

lokale A<br />

Stack<br />

ptr<br />

Kodi<br />

Programit<br />

Te Dhenat<br />

Statike<br />

param A<br />

te dhenat<br />

lokale A<br />

param B<br />

te dhenat<br />

lokale B<br />

Stack<br />

ptr<br />

Kodi<br />

Programit<br />

Te Dhenat<br />

Statike<br />

param A<br />

te dhenat<br />

lokale A<br />

param B<br />

te dhenat<br />

lokale B<br />

param A<br />

te dhenat<br />

lokale A<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 152


MMS – Dinamika<br />

• Zenia dinamike e kujteses<br />

– Procedura “malloc” ☺<br />

– Perdorimi i objekteve “string” ☺<br />

– Tejmbushja e stives (stack overflow) <br />

• Sistemi duhet te plotesoje kerkesat dinamike per<br />

kujtese<br />

– Dhenia e faqeve shtese gjate ekzekutimit<br />

– Zinxhirezimi i faqeve per mbajtjen e objekteve<br />

voluminoze (qe tejkalojne madhesine e faqes)<br />

– “Grumbulli” i faqeve (heap), dhe …<br />

– … “mbledhesi i therrimeve” per rimarjen e faqeve<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 153


Probleme te Mbrojtjes<br />

• Ndalimi i kapjes te zonave te kujteses jashte hapesires se dedikuar<br />

te procesit<br />

– Mos-tejkalimi i tabeles se faqeve/segmenteve …<br />

– … dhe mos-tejkalimi i nje faqeje/segmenti<br />

• Duhet testuar per cdo instruksion – behet nga hardueri<br />

• C’duhet te behet me procesin “shkeles” ?<br />

– Te pranohet shkelja ose te abortohet procesi (programi) ?<br />

– Mos-mbivendosja e faqeve/segmenteve<br />

• Eshte detyre e sistemit te shfrytezimit<br />

• Mekanizma te vecante konkurence<br />

– Ndarja me kusht e faqeve (lexim ~ shkrim)<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 154


Koncepti i Perdoruesit<br />

• Perdoruesi – entitet qe ka te drejten te shfrytezoje burime te<br />

caktuara te kompjuerit<br />

– Individ / Aplikim<br />

• Perdoruesit organizohen ne grupe<br />

• Super-Perdoruesi (administratori)<br />

• Skedaret Unix<br />

– /etc/passwd => emrat dhe atributet e perdoruesve<br />

– /etc/group => grupet e perdoruesve<br />

– …/shadow => fjalet e kalimit<br />

• Fjalet e Kalimit<br />

– Kriptim i njeanshem (Linux ~ algoritmi MD5)<br />

– “alfaalfa” => “jshdfu6yiuwdhfv2rfiuhcv9872rf”<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 155


•<br />

Pyetje ???<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 156


Koncepti Skedarit<br />

• Model abstrakt per komunikimin me periferiket<br />

• Skedari “hapet”, “shkruhet/lexohet”, “mbyllet”<br />

• Skedaret grupohen ne Direktori<br />

– “Shtegu” (Path) dhe Direktoria Korente<br />

• Mbrojtja (Unix)<br />

– Pronar, Grup_Perdoruesish dhe Perdorues_te_Tjere<br />

– Kodi 9 bit “rwx rwx rwx”<br />

• Montimi (Unix)<br />

• Skedaret speciale (Unix)<br />

– /dev/…<br />

– “pipe”<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 157


•<br />

rrenja<br />

/mnt<br />

/mnt/dskb<br />

mount /dev/hdb1 /mnt/dskb<br />

/dev/hda1 /dev/hdb1<br />

“tunel”<br />

Disku A Disku B<br />

/data<br />

/<br />

mnt/diskb/data<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 158


Sistemi i Skedareve<br />

• “FILE”<br />

• Kerkesat themelore per ruajtjen afatgjate te informacionit<br />

– Ruajtja e sasive shume te medha te informacionit<br />

– Jetegjatesia e informacionit pas mbarimit te procesit qe e<br />

ka perdorur<br />

– Mundesia qe disa procese te kapin informacionin ne<br />

menyre konkurente<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 159


kuptimi i skedarit<br />

• Mekanizem abstraksioni<br />

– Sherben per ruajtjen e informacionit ne disk dhe<br />

leximin e tij<br />

– Fsheh menyren si regjistrohet informacioni dhe si<br />

punon disku<br />

• Karakteristika thelbesore e abstraksionit<br />

– Emertimi i objekteve [skedareve]<br />

• Specifikat e sistemeve te ndryshme …<br />

– Karakteret qe perdoren<br />

– Struktura e emrave<br />

– Roli i prapashtesave<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 160


struktura e skedareve<br />

• Tre menyra themelore<br />

– Varg bitesh<br />

– Varg regjistrimesh [record]<br />

– Strukture peme [tree]<br />

• Sistemi shfrytezimit mund ti shikoje skedaret si<br />

vargje bitesh<br />

– Thjeshtesi per sistemin<br />

– Lehtesi per perdoruesin<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 161


strukturat me regjistrim dhe peme<br />

• Struktura me regjistrime<br />

– Supozohet varg regjistrimesh me gjatesi te njejte<br />

– Informacioni brenda nje regjistrimi i strukturuar<br />

– Adresimi relativ<br />

• Struktura peme<br />

– Regjistrime me gjatesi te ndryshme<br />

– Indeksim sipas nje fushe te fiksuar celes<br />

– Adresimi sipas vlerave te celesit<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 162


tipet e skedareve<br />

• Te rregullt (informacione te perdoruesit)<br />

– Tekst (ASCII - American Standard Code for Information<br />

Interchange)<br />

– Binare (te ekzekutueshem etj.)<br />

• Direktori [folder]<br />

– …<br />

• Speciale karakter<br />

– Modelimi i hyrje-daljeve me periferiket<br />

• Speciale bllok<br />

– Modelimi i hyrje-daljeve me diskun<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 163


skedaret binare<br />

• Te ekzekutueshem, arshive librari, etj.<br />

– Duhet te kene strukture te njohur nga sistemi<br />

• Shembull (Unix i hershem)<br />

– Koka [header]<br />

• Numri magjik, gjatesia, adresa fillimit etj.<br />

– Kodi programit<br />

– Te dhenat<br />

– Bitet e vendosjes<br />

– Tabela e simboleve<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 164


kapja e skedareve<br />

• Sekuenciale<br />

– Lexim i biteve/regjistrimeve njeri pas tjetrit<br />

• E rastit [random]<br />

– Lexim i biteve/regjistrimeve ne menyre te rastit<br />

• Seek<br />

• Read / Write<br />

– Skemat e kapjes<br />

• Sipas numrit rendor te regjistrimit (me gjatesi te<br />

njejte)<br />

• Sipas vlerave celes dhe sistemit te indekseve<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 165


• Mbrojtja<br />

– Kush ka te drejte kapje<br />

– Menyrat e kapjes<br />

• Krijuesi<br />

• Pronari<br />

• Gjatesia aktuale<br />

• Gjatesia maksimale<br />

• Koha e krijimit<br />

• Koha e modifikimit<br />

• Koha e kapjes se fundit<br />

attributet e skedareve<br />

• Flamure<br />

− i fshehur<br />

− i sistemit<br />

− vetem-per-lexim<br />

− i perkohshem<br />

− i bllokuar<br />

− etj.<br />

• Fjalekalimi<br />

• Gjatesia e regjistrimit<br />

• Fusha celes<br />

• …<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 166


veprimet mbi skedaret<br />

• Krijimi [create]<br />

• Prishja [delete]<br />

• Hapja [open]<br />

• Mbyllja [close]<br />

• Leximi [read]<br />

• Shkrimi [write]<br />

• Shtimi [append]<br />

• Leximi atributeve [get_attributes]<br />

• Shkrimi atributeve [set_attributes]<br />

• Riemerimi [rename]<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 167


•<br />

Pyetje ???<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 168


• Skedare speciale …<br />

• Struktura pemore e<br />

sistemit te skedareve<br />

– Direktoria rrenje<br />

– Direktori<br />

– Skedare<br />

– Te drejtat e kapjes<br />

– Lidhje<br />

• Direktoria rrenje<br />

– E para ne disk<br />

Direktorite<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 169


skedar1<br />

skedar2<br />

skedar3<br />

skedar4<br />

…<br />

atribute<br />

atribute<br />

atribute<br />

atribute<br />

…<br />

struktura e direktorive<br />

adrese<br />

adrese<br />

adrese<br />

adrese<br />

…<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 170


organizimi i direktorive<br />

• Direktorite e sistemit<br />

– MS-Windows<br />

• “windows”; “documents and settings”; “program files”<br />

– Unix<br />

• bin, etc, lib, usr, sbin, var, …<br />

• Direktorite e perdoruesve<br />

– MS-Windows<br />

• “my documents”<br />

– Unix<br />

• “home”<br />

• Kuptimi i shtegut [path]<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 171


• Krijimi [create]<br />

• Prishja [delete]<br />

• Hapja [opendir]<br />

• Mbyllja [closedir]<br />

• Leximi [readdir]<br />

• Riemerimi [rename]<br />

• Lidhja [link]<br />

• C’lidhja [unlink]<br />

veprimet me direktorite<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 172


Realizimi i sistemit te skedareve<br />

• Vendosja e vazhduar [gjatesia &fragmentimi]<br />

• Liste e lidhur [ngadalesia ne kapjen e rastit]<br />

• Liste e indeksuar (FAT)<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 173


i-node<br />

atributet<br />

single<br />

double<br />

triple<br />

Unix “i-nodes”<br />

Direktoria<br />

inode emri skedarit<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 174


•<br />

Pyetje ???<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 175


• Rasti IBM PC Compatibel<br />

Organizimi i Diskut<br />

– Max 4 ndarje kryesore/zgjeruara<br />

MBR &<br />

Tabela e Ndarjeve<br />

Ndarje e Zgjeruar (extended)<br />

Ndarje Kryesore Ndarje Llogjike Ndarje Llogjike<br />

Hapesira e te dhenave<br />

FAT (File Allocation Table)<br />

Boot Record<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 176


trajtimi i blloqeve te diskut<br />

• Liste e lidhur (MS-DOS FAT)<br />

• Harte bitesh (Unix)<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 177


•<br />

Pyetje ???<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 178


Kujdesi per Skedaret<br />

• Besueshmeria<br />

– Problemi i sektoreve difektoze<br />

• Markimi sektoreve difektoze<br />

• Sektoret rezerve per zevendesim<br />

– Arshivimi [backup]<br />

• Backup periodik<br />

• Dublikimi [mirror]<br />

– Integriteti<br />

• “system crash” / “nderprerje energjie”<br />

• Testimi gjate startimit te sistemit<br />

– Performanca<br />

• Fragmentimi i skedareve<br />

• Fragmentimi i hapesires se lire<br />

• Skedaret e perkohshem<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 179


Siguria dhe Mbrojtja<br />

• Siguria: problemi ne teresi (teknik, drejtues, legal)<br />

• Mbrojtja [mekanizmat e …]: strukturat e sistemit<br />

• Problemet e sigurise<br />

– Humbja e te dhenave<br />

• Faktore natyrale, teknike, njerezore<br />

– Kapja e pa-autorizuar<br />

• Qellimi i rastit, ngacmimi, perfitimi, spiunazhi<br />

– Platforme per goditjen e te treteve (Interneti)<br />

• Privacia<br />

– Aspekte legale<br />

– Roli i administratoreve<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 180


• Prishja e sigurise<br />

– Vjedhje e te dhenave<br />

– Shkaterim i te dhenave<br />

probleme te sigurise<br />

– Sulm ndaj te treteve (Interneti)<br />

– “Bombardim” me mesazhe<br />

• Te pa dobishme / Te rezikshme<br />

• Mekanizmat<br />

– Kali Trojes<br />

• Shtiret si program “paqesor’<br />

– Bomba logjike<br />

• Aktivizohet ne momente te caktuara<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 181


vektoret e carjes te sigurise<br />

• Viruse<br />

– Shperndahet nepermjet disketave, mesazheve etj.<br />

– Mekanizem pasiv, aktivizohen nga perdoruesi<br />

• Krimba<br />

– Vete-shperndahet ne rrjet<br />

– Mekanizem aktiv, shfrytezon portat e hapura<br />

– 1988: Robert Morris Jr.<br />

• Programe “publike” (Interneti)<br />

– Ofrohen si te dobishem per pune<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 182


mekanizmat e mbrojtjes<br />

• Higjena informatike<br />

• Softuer Antivirus<br />

– Resident<br />

– Me kerkese<br />

• Organizata<br />

– Kompani qe zhvillojne softuer antivirus<br />

– Organizata<br />

• CERT [Computer Emergency Response Team]<br />

• CSRT [Computer Security Response Team]<br />

• CSIRT [Computer Security Incident Response Team]<br />

– Lista postare<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 183


•<br />

Pyetje ???<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 184


parimet e projektimit te sigurte<br />

• Projekti te jete [mundesisht] publik<br />

• Te drejtat implicite te jene “jo kapje”<br />

• Kontrolli kapjes te behet sipas autoritetit aktual<br />

• Privilegjet e ekzekutimit te jene minimale<br />

• Mbrojtja ne shtresat me te poshtme te sistemit<br />

• Procedurat te jene psikologjikisht te pranueshme<br />

• Te tjera<br />

– kriptimi, historiku, kodet e kontrollit …<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 185


identifikimi i perdoruesve<br />

• Authentication<br />

– username & password<br />

• Kriptim i njeanshem<br />

• Fjalekalimi te perkoheshme<br />

– Identifikimi fizik<br />

• Kartat e sigurise<br />

• Skanimi i tipareve individuale<br />

– Certifikatat ekektronike<br />

• Cift i celesit privat dhe publik<br />

– Celesat gjenerohen nga perdoruesi<br />

– Celesi publik regjistrohet nga autoritetet e certifikimit<br />

– Perdoren per kriptim dhe “firme elektronike”<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 186


mekanizmat e mbrojtjes<br />

• Politika dhe Mekanizma<br />

• Mekanizmat<br />

– Domenet e mbrojtjes<br />

• Bashkesi ciftesh {objekt, te-drejta}<br />

• Unix: proceset lidhen me uid dhe gid<br />

– deklarohen ne /etc/passwd dhe /etc/group<br />

– kombinimi [uid,gid] percakton te drejtat e procesit<br />

– Listat e kontrollit te kapjes (ACL)<br />

• Shoqerimi i objekteve me listen e domeneve te lejuar<br />

• Skedaret ne Unix: 9 bit (rwx) per /owner/group/other/<br />

– Komandat chown, chgrp, chmod<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 187


•<br />

Pyetje ???<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 188


•<br />

Mbi Sistemet Multi-Procesor<br />

K1<br />

CPU1<br />

Sistemi Shfrytezimit<br />

K2<br />

CPU2<br />

<br />

APLIKIMET<br />

CPU3<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 189<br />

K3<br />

KUJTESA & PERIFERIKET<br />

kompjuteri<br />

K4<br />

CPU4<br />

proceset


Mbi Sistemet Paralele<br />

• Problemi i mbledhjes te dy vektoreve<br />

– 1 procesor => n cikle<br />

– m procesore => n/m cikle [‘m’ here me shpejt]<br />

Sistemi Shfrytezimit<br />

CPU CPU CPU CPU CPU CPU<br />

KUJTESA & PERIFERIKET<br />

kompjuteri<br />

Procesi<br />

_<br />

_<br />

_<br />

_<br />

_<br />

_<br />

_<br />

_<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 190


sistemet paralele kryesore<br />

• SIMD<br />

– single instruction<br />

– multiple data<br />

• MIMD<br />

– multiple instructions<br />

– multiple data<br />

• Problem<br />

– Koordinimi midis procesoreve<br />

– Teknika speciale programimi<br />

• Programim paralel<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 191


• SIMD<br />

– Vektorial zinxhir<br />

• MIMD<br />

instruksioni<br />

te dhenat<br />

vektoriale dhe matricore<br />

CPU CPU CPU CPU CPU CPU<br />

kujtesa<br />

CPU CPU CPU CPU CPU CPU<br />

CPU CPU CPU CPU CPU CPU<br />

CPU CPU CPU CPU CPU CPU<br />

rezultatet<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 192


Mbi Sistemet e Shperndare<br />

• Shembull<br />

– Sistemet klient-server<br />

• Nje kompjuter<br />

• Disa kompjuter te lidhur ne rrjet<br />

detyra<br />

aplikimi<br />

klient<br />

PC – A<br />

rrjet<br />

aplikim<br />

server<br />

PC – B<br />

aplikim<br />

server<br />

PC – C<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 193<br />

rrjet


aplikimet e shperndara<br />

• Coptimi i detyres ne shume sisteme<br />

– Kluster me PC<br />

– GRID<br />

– Programim i shperndare<br />

• GRID: MPI [message processing interface]<br />

– Shembull<br />

• Mbledhja e vektoreve<br />

– I njejti program<br />

– Te dhenat te coptuara<br />

– Ciftet {program, cope_te_dhenash} ne PC te ndryshme<br />

– Copat e rezultateve bashkohen<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 194


shembull vullnetarizmi<br />

• SETI@HOME<br />

– Analize spektrale (Arecibo)<br />

– Sot BOINC<br />

• (http://boinc.berkeley.edu/)<br />

• SETI<br />

• Fizika<br />

• PRIME95<br />

• Biologjia<br />

• Klima etj.<br />

SERVER<br />

– Numrat prim ☺<br />

• 100,000€ ~ 10,000,000 shifra<br />

• http://mersenne.org/primenet/<br />

INTERNETI<br />

PC<br />

Screensaver<br />

PC<br />

Screensaver<br />

PC<br />

Screensaver<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 195


• “middleware”<br />

– Scientific Linux<br />

GRID<br />

– LCG [LHC Computing Grid, CERN]<br />

– Siguron kapacitete<br />

• Llogaritese<br />

• Rezervuese<br />

• Aplikuese<br />

• Perdoret nga<br />

• Fizika berthamore,<br />

• Biologjia, etj.<br />

• Projekte<br />

• EGEE<br />

• SEE-GRID [www.see-grid.org] etj.<br />

GRID middleware<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 196<br />

OS<br />

CPU<br />

OS<br />

CPU<br />

APLIKIMET<br />

OS<br />

CPU<br />

INTERNET<br />

OS<br />

CPU


•<br />

<br />

kerkese<br />

rezultate<br />

user<br />

interface<br />

certifikata<br />

personale<br />

autoriteti<br />

certifikues<br />

“dispetcer”<br />

funksionimi i grid<br />

verifikim i<br />

certifikates<br />

rezultate<br />

INTERNET<br />

kerkese<br />

Informacion mbi gjendjen<br />

Informacion mbi gjendjen<br />

Informacion mbi gjendjen<br />

Kluster<br />

CPU, RAM<br />

Kluster<br />

CPU, HDD<br />

Kluster<br />

APP, CPU<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 197


•<br />

Pyetje ???<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 198


FUND<br />

☺☻<br />

N.Frasheri Sistemet e Shfrytezimit Leksione 199

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!