SISTEMET E SHFRYTEZIMIT
SISTEMET E SHFRYTEZIMIT
SISTEMET E SHFRYTEZIMIT
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