Upload
tranque
View
243
Download
0
Embed Size (px)
Citation preview
SISTEMET E SHFRYTEZIMITTE KOMPJUTERAVE
KURS PER DEGEN E INFORMATIKES TE BIZNESIT
2009
N.Frasheri Sistemet e Shfrytezimit Leksione 2
HYRJE
N.Frasheri Sistemet e Shfrytezimit Leksione 3
Problemi i Perpunimit te Informacionit
• Algoritmi ?– Shpiket …– Merret nga librat …
• Veprimet aritmetike ?– Numratorja …
• Koha ?– ???
• Siguria ?– ???
N.Frasheri Sistemet e Shfrytezimit Leksione 4
Zgjidhja e Kerkuar …
• Automatizimi i veprimeve– Shpejtesi– Siguri
• Shembuj– Antikythera– Kutia muzikore
– Aritmometri
– Makina e Babbage– …
N.Frasheri Sistemet e Shfrytezimit Leksione 5
… Kompjuteri
• Arkitektura– Kujtesa
• Programi dhe te dhenat
– Procesori
• Funksionet– Veprime binare elementare– Programim sekuencial
• Gjuha– Binare
N.Frasheri Sistemet e Shfrytezimit Leksione 6
Kompleksiteti
• Makina– Kryen numer te vogel veprimesh elementare
• Problemi– Thjeshtesia e veprimeve te makines ~
– Kompleksiteti i vargut te komandave elementare
• Veshtiresite– Programimi
– Gjuha binare– Nderfaqesit
N.Frasheri Sistemet e Shfrytezimit Leksione 7
Shembull ~ Altair-8800
•
N.Frasheri Sistemet e Shfrytezimit Leksione 8
Shembull ~ a+b
• LDA 00 111 010 load accumulator with
10 000 000 data in address 128 (address ~ 2 bytes)
00 000 000• MOV 01 000 111 move accumulator to register B• LDA 00 111 010 load accumulator with
10 000 001 data in address 129
00 000 000• ADD 10 000 000 add register B to accumulator• STA 00 110 010 store accumulator in address 130
10 000 010
00 000 000• JMP 11 000 011 jump to address 0
00 000 00000 000 000
N.Frasheri Sistemet e Shfrytezimit Leksione 9
Shembull ~ nderfaqimi
• reset 10 000 001• 00 111 010 LDA 00 000 000• deposit 10 000 000 ADD• 10 000 000 00 110 010 STA• deposit next 10 000 010• 00 000 000 00 000 000• … 11 000 011 JMP• 01 000 111 MOV 00 000 000• 00 111 010 LDA 00 000 000
N.Frasheri Sistemet e Shfrytezimit Leksione 10
Shembull ~ ekzekutimi
• Futen te dhenat ne adresat 128 dhe 129– 10 000 000 examine– 00 000 011 deposit (a=3 ne addr 128)
– 00 000 010 deposit next (b=2 ne addr 129)
– reset– run– stop
– 10 000 010 examine (a+b ne addr 130)
N.Frasheri Sistemet e Shfrytezimit Leksione 11
Shembull ~ X2
• Regjistri adresave• Regjistri komandave• Akumulatore A, B, C• Celesat
– Lidhen me tre fjalet e para te kujteses
• Butoni leshimit• Celesi i zerimit
N.Frasheri Sistemet e Shfrytezimit Leksione 12
Shembull ~ nderfaqimi X2
• Pulti i komandimit …• Hyrja
– Lexues optik perfolente
• Kujtesa– ~ 40KB unaza manjetike
• Kujtesa e jashtme– Baraban manjetik
• Dalja– Printer
N.Frasheri Sistemet e Shfrytezimit Leksione 13
Parimi i Punes ~ X2
• Paisjet e hyrje / daljes – shirit ose perfokarta• Sistemi komandohet nga operatori ne konsole• Konsola kontrollon qelizat e para te kujteses
Input Output
MAKINAPROCESOR
KUJTESE
konsola
N.Frasheri Sistemet e Shfrytezimit Leksione 14
Veprimet ne Konsole
• Zerohen regjistrat• Vendosen ne pult komandat e leximit te shiritit
– Kodi i leximit– Numri i paisjes– Adresa ne kujtese– Komanda e fundit
• ose STOP• ose GOTO
• Shtypet butoni i leshimit– Permbajtja e perfolentes kopjohet ne adresat e
dhena ne komande dhe me pas STOP/GOTO
N.Frasheri Sistemet e Shfrytezimit Leksione 15
Algoritmi i Fillimit te Punes
• Komandat: • Rasti i leximit te vlerave binare
– read_tape(tape, addr1)
– stop
• Rasti i ekzekutimit– goto(addr2)
• Rasti i kombinuar– read_tape(tape, addr1)– goto(addr2)
addr1
addr2
T
KUJTESA
Komandat
Programi & te Dhenat
N.Frasheri Sistemet e Shfrytezimit Leksione 16
Problemet
• Programisti – Programimi ne sistemin binar– Administrimi i kujteses
• fillimi dhe gjatesia e programit• fillimi dhe gjatesia e te dhenave
– Administrimi i kujteses se jashtme– Percaktimi i komadave te fillimit
• Operatori – Pergatitja e shiritave te hyrjes– Kalimi i puneve ne makine– Trajtimi i shiritave te daljes (rezultatet)
N.Frasheri Sistemet e Shfrytezimit Leksione 17
Fillimet e Gjuheve Simbolike
• Kompilatori– Nderfaqes / perkthyes simbolike – binare
• Asambler
• Fortran, etj.
• Dy hapa realizimi– Ngarkohet kompilatori qe lexon si te dhena
programin ne gjuhe simbolike dhe e perkthen• Programi i perkthyer ne binare mbahet ne kujtese
ose kopjohet ne nje bartes (shirit, etj.)
– [ngarkohet dhe] ekzekutohet programi binar
N.Frasheri Sistemet e Shfrytezimit Leksione 18
Perfundime
• Kompilimi permireson
– programimin por jo shfrytezimin
• Koha mbetet burim kritik per shfrytezimin
• Personeli i kualifikuar i domosdoshem
• Zgjidhja – ne gjurmet e kompilimit
– Nderfaqes midis makines dhe perdoruesit …
– … SISTEMI i SHTRYTEZIMITHARDUERI
SOFTUERI
[Sistemi]
i Shfrytezimit
SOFTUERI Aplikativ
N.Frasheri Sistemet e Shfrytezimit Leksione 19
Sistemet e shfrytezimit
• Bashkesia e komandave qe kontrollon makinen ndahet:– Pjesa specifike – aplikimi
• Specifik i problemit
• Hartohet nga perdoruesi
– Pjesa xhenerike – sistemi i shfrytezimit
• Specifik i harduerit
• Nderfaqes harduer – aplikim
• Hartohet nga konstruktori
HARDUERI
SOFTUERI
[Sistemi]
i Shfrytezimit
SOFTUERI Aplikativ
N.Frasheri Sistemet e Shfrytezimit Leksione 20
Historia e Sistemeve te Shfrytezimit
“GENESIS”
N.Frasheri Sistemet e Shfrytezimit Leksione 21
Genesis
• Epoka e llampave elektronike pa sisteme shfrytezimi• Dy probleme
– Human: veshtiresia e perdorimit– Ekonomik: koha efektive e punes te procesorit teper e
shkurter, krahasuar me kohen e pergatitjes
• Zgjidhja– Ndarja e perpunimit nga pergatitja
KOHA
PROCESOR
PERGATITJE
N.Frasheri Sistemet e Shfrytezimit Leksione 22
“Treni i puneve” [batch]
• Epoka e tranzistoreve dhe “treni i puneve”• Perdorimi i paisjeve magnetike si ndermjetese
– Perdoruesit kalojne punet [programet & te dhenat] dhe marin rezultatet ne perfokarta ose shirit magnetik
– Operatori shkemben vetem perfokartat / shiritat
::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::
PROCESORI
LEXUES SHKRUES
::::::::::::
N.Frasheri Sistemet e Shfrytezimit Leksione 23
Clirimi i procesorit
• Pergatitja behet me disa paisje me kosto te ulet• Perpunimi behet ne nje procesor me kosto te larte
KOHA
PROCESOR
PERGATITJE
N.Frasheri Sistemet e Shfrytezimit Leksione 24
Drejt sistemeve te shfrytezimit
• Shmangia e operatorit– Punet ne shirit magnetik
– Komandat e fillimit behen• Lexo paisjen e hyrjes• Regjistro leximin ne kujtese,
adresa AAAA• GOTO AAAA
– Programi perdoruesit mbaron me
• GOTO 0000
SISTEMI PROGRAMI
goto aaaa
goto 0000
N.Frasheri Sistemet e Shfrytezimit Leksione 25
Historia e Sistemeve te Shfrytezimit
“EVOLUCION”
N.Frasheri Sistemet e Shfrytezimit Leksione 26
Evolucioni
• Epoka e qarqeve te integruar, multiprogramimi– Ulet kosto e kompjuterave
• Rritet perdorimi ne shkence dhe ekonomi
– Rritet shpejtesia e procesorit ndaj periferikeve
– Rishfaqet problemi i kohes te procesorit• Keq-shfrytezim ne problemet ekonomike
N.Frasheri Sistemet e Shfrytezimit Leksione 27
Akoma per clirimin e procesorit
• Problemet shkencore – pune intensive me procesorin
• Problemet ekonomike – pune intensive me periferiket– Kujtesa ndihmese ka shpejtesi te ulet (bartes magnetik)
KOHA
PROCESORI
PERIFERIKE
KOHA
PROCESORI
PERIFERIKE
N.Frasheri Sistemet e Shfrytezimit Leksione 28
Multiprogramimi
• Multiprogramimi
– SPOOL (Simultaneous Peripheral Operation On Line)
• Clirohet procesori nga komunikimi me periferiket
• Komunikim direkt periferik – kujtese
– Mbahen disa programe ne kujtese
– Koha e procesorit coptohet midis programeve
– Shfrytezohet koha e hyrje-daljeve me periferiket
N.Frasheri Sistemet e Shfrytezimit Leksione 29
Multiprogramimi 2
• Detyra shtese– Administrimi i kujteses– Administrimi i periferikeve
• Sistemet e skedareve– Mbrojtja nga nderhyrjet e njeri tjetrit– Unifikimi i ndarjes te kohes ne njesi te barabarta
• Koncepti i “kohes se ndare” – Perdorimi i terminaleve dhe multiperdorimi– Sistemet e shfrytezimit multiperdorues
• MULTIX dhe UNIX
N.Frasheri Sistemet e Shfrytezimit Leksione 30
Konkurimi i programeve
Koha
Programet
Programi 1
Programi 2
Programi 3
Hyrje-Dalje
Kohe pritje per procesorinKa vend per programin 4
P1
P2
P3
N.Frasheri Sistemet e Shfrytezimit Leksione 31
Roli i sistemit te shfrytezimit
• Sistemi i shfrytezimit eshte programi kryesor ne kujtese
• “Qarkullimi” i programeve duke ndare kohen e procesorit
– Round Robin
– Klasat e perparesive
• Mbrojtja e kujteses nga kapjet e ndersjellta te pa-autorizuara
• Sinkronizimi midis programeve dhe shfrytezimi i burimeve
SISTEMI PROG-2
write
PROG-1
read
write
N.Frasheri Sistemet e Shfrytezimit Leksione 32
Ndarja e kohes
• Coptimi i kohes midis programeve– Kur ka komunikim me periferiket
– Kur tejkalohet nje interval kohe i caktuar
• Vepron sistemi i nderprerjeve
Koha
Programet
OS
nderprerje e brendshme
hyrje-dalje
Sesion kritik Nderprerje nga jashte
N.Frasheri Sistemet e Shfrytezimit Leksione 33
Drejt MS-DOS-it
N.Frasheri Sistemet e Shfrytezimit Leksione 34
shiriti
Rikthim tek treni i puneve
• S P2:DATA / KODI S P1:DATA / KODI
PC
procesori
sistemi perdoruesi
BUFFER
# 100
read tape
store #100
goto #100
# 0
# 1
# 2
xxx
Goto #100
kujtesa
embrion isistemit teshfrytezimit
N.Frasheri Sistemet e Shfrytezimit Leksione 35
Hapi pare drejt MS-DOS-it
• Interpretuesit dhe sistemet e para te shfrytezimit
L1: read keyboard store buffer display if buffer=“enter” goto L2 goto L1L2: case buffer begin
“dir”: xxxxxxx xxxxxxx ...“copy”: yyyyyyy yyyyyyy ...
... else : display “error”
end goto L1
procedura e komandes “dir”
procedura e komandes “copy”
> dir
perdoruesi perdorvetem tastieren
N.Frasheri Sistemet e Shfrytezimit Leksione 36
MS-DOS dhe Perdoruesi
• L1: read keyboard store buffer display if “enter” goto L2 goto L1L2: case buffer begin
“dir”: ...“copy”: ...
... else : search file(buffer)
if fail display “error”copy file to #AAAACall AAAA
end goto L1
perdoruesi perdorsi tastieren edhe
diskun me skedaret e programeve
> alfa
alfa
MS-DOS perdoruesi
alfa
sistemi kalon ne pritje, ekzekutohet programi “alfa” i perdoruesit
return
N.Frasheri Sistemet e Shfrytezimit Leksione 37
Kompletimi i MS-DOS-it
• L1: read keyboard ...L2: case buffer ...
Call AAAA
end goto L1
perdoruesi perdorsi tastieren edhe
diskun me skedaret e programeve;perdor thirrjet e
sistemit per realizimin e hyrje-
daljeve
> alfa
alfa
MS-DOS perdoruesi
alfa
Interval bosh per sistemin,programin dhe procesorin
return
read
procedure READbegin
...
end
procedure PRINT ...
HDD read request
Request completed
request completed
file read request
N.Frasheri Sistemet e Shfrytezimit Leksione 38
Ngarkimi i sistemit te shfrytezimit
• BIOS– inicializimi fillon tek BIOS– kryhen testet e harduerit– ngarkon BOOT nga pista
e pare e diskut• BOOT
– krijohet ne pisten e pare te diskut gjate instalimit te sistemit
– lexon skedaret e sistemit nga disku
– ngarkon sistemin ne kujtese
ROM
RAM
BIOS
DOS
kujtesa
BOOT
DOS
DOS
N.Frasheri Sistemet e Shfrytezimit Leksione 39
Shkurt mbi sistemet e shfrytesimit
N.Frasheri Sistemet e Shfrytezimit Leksione 40
Kohe dhe probleme
• Ne fillimet e sistemeve te shfrytezimit – hardueri kishte kosto teper te larte– u synua ne optimizimin e punes te procesorit– skedaret, multiprogramimi, ndarja e kohes
• Me shfaqjen e gjenerates se katert te kompjuterave– hardueri ka kosto te ulet, kapacitete te larta, dhe– kapacitetet tejkalojne kerkesat e shume perdoruesve– synohet optimizimi i punes te perdoruesit
• sistemet interaktive• rrjetat dhe Interneti• Integrimi i teknologjive te informacionit dhe komunikimit
N.Frasheri Sistemet e Shfrytezimit Leksione 41
Detyrat e sistemeve te shfrytezimit
• Administrimi i kujteses qendrore• Administrimi i kujtesave periferike
– Sistemet e skedareve• Komunikimi me paisjet e jashtme
– sistemet grafike– periferiket dhe rrjetat
• Multiprogramimi– paralelizmi dhe konkurenca
• Mbrojtja– autorizimi i perdoruesve– mbrojtja nga nderhyrjet e pa-autorizuara– evidentimi i ngjarjeve dhe i kostos
N.Frasheri Sistemet e Shfrytezimit Leksione 42
Mjetet e sistemeve te shfrytezimit
• Sistemi i administrimit te kujteses• Sistemi i administrimit te skedareve• Sistemi i hyrje-daljeve
– guacka [shell] e dukshme e sistemit– protokollet e komunikimit– driver-at e periferikeve
• Mekanizmat e sinkronizimit dhe konkurences • Sistemi i mbrojtjes
– listat e perdoruesve dhe te drejtat e hyrjes– kontrolli i kapjes te te dhenave dhe kujteses– regjistri [log] i ngjarjeve dhe faturimi
• Programe ndihmese– editoret, kompilatoret, lidhesit (linker), librarite etj.
N.Frasheri Sistemet e Shfrytezimit Leksione 43
Disa drejtime te zhvillimit aktual
• Nderfaqesit multimediale– sistemet grafike
• Sistemet e integruar [embeded]• Rrjetat informatike dhe Interneti
• Sistemet paralele– programimi paralel
• Sistemet e shperndare– sistemet klient server
– kluster me PC dhe GRID
N.Frasheri Sistemet e Shfrytezimit Leksione 44
Klasifikime …
N.Frasheri Sistemet e Shfrytezimit Leksione 45
Klasifikimi “mono~multi” i sistemeve
Unix & Linux
MS-Windows 2KMS-Windows 3multi-programim
MS-DOSmono-programim
multi-perdoruesmono-perdorues
N.Frasheri Sistemet e Shfrytezimit Leksione 46
Sistemet tekst dhe grafike
MS-Windowsgrafike
Unix & X-windows
Linux & XFree86tekst mode me
mbishtrese grafike
MS-DOS
Unix & Linuxtekst mode
aaaaaaaaabbbbbbbbb
matriceKarakteresh
25 x 80
matriceme pixels
480 x 640600 x 800
768 x 1024etj.
matriceme pixels
480 x 640600 x 800
768 x 1024etj.
N.Frasheri Sistemet e Shfrytezimit Leksione 47
Nderfaqimi me perdoruesit
Unix & Linux
MS-Windowskontroll ne distance
Unix & Linux
X-windowsterminale [virtuale]
Unix & Linuxkonsola virtuale
MS-DOS
MS-Windowskonsole
N.Frasheri Sistemet e Shfrytezimit Leksione 48
BUFFER
• void
N.Frasheri Sistemet e Shfrytezimit Leksione 49
Arkitektura e sistemeve te shfrytezimit
N.Frasheri Sistemet e Shfrytezimit Leksione 50
Programe dhe procese
• Programi– eshte bashkesi procedurash
– zgjidh detyra te perdoruesit
• Procedura – eshte bashkesi instruksionesh
– zgjidh detyra llogaritese ne kuader te programit
• Procesi– eshte [cope] e programit ne ekzekutim
– realizohet ne menyre autonome
– perdor hapesiren “vetiake” ne kujtese
N.Frasheri Sistemet e Shfrytezimit Leksione 51
Programe dhe sisteme shfrytezimi
• Programi eshte bashkesi procedurash
• Sistemi i shfrytezimit eshte nje lloj i vecante programi ~ bashkesi procedurash
• Procedurat therrasin njera tjetren sipas nje grafi
• Programet / Sistemet klasifikohen sipas struktures hierarkike te grafit te procedurave
N.Frasheri Sistemet e Shfrytezimit Leksione 52
SistemiShfrytezimit
VM
Struktura e sistemit te shfrytezimit
• Shtresezimi i hierarkise se procedurave te sistemit• Shtresa “makine virtuale” punon mbi harduerin
Aplikimi
Procedure Procedure
Proc. baze Proc. bazeProc. baze
Hardueri
thirrje te sistemit
N.Frasheri Sistemet e Shfrytezimit Leksione 53
Thirrjet e sistemit
APLIKIMIprint (“format”, A, B, C)
Librari Dinamike
print(“format”,X,…) { for X,… print(Xorg,Dest,Size);}
Makina Virtuale
print(ORG,DEST,SIZE) { LDA …STA …
}
Hardueri
Thirrje funskioni nga librari dinamike(C++ ?)
Thirrje funksioni sistemi(Asambler?)
Realizim i funksionit te sistemit ne harduer
N.Frasheri Sistemet e Shfrytezimit Leksione 54
Thirrjet e sistemit – shembuj
• Administrimi i proceseve– pid=fork(…)
• Sinjalizimi midis proceseve– S=kill(pid,sig)
• Administrimi i skedareve– fd=open(file,how)– n=read(fd,buffer,nbytes)– n=write(fd,buffer,nbytes)– s=close(fd)
• Administrimi i direktorive– s=mkdir(name,mode)
Krijohet nje proces i ri
Sinjalizohet procesi te ndaloje, ristartoje etj.
N.Frasheri Sistemet e Shfrytezimit Leksione 55
Strukturimi i sistemeve te shfrytezimit
• Sistemet monolite– CPU ne dy moda: perdorues dhe “berthame” (kernel)
• Sisteme me shtresa (unazat ne Multix)– Aplikime te perdoruesve– Administrimi hyrje-daljeve– Administrimi kujteses– Multiprogramimi
• Makina virtuale– Berthama e sistemit krijon “kopje virtuale” te harduerit– Pertium emulon i8086 …
• Klient-Server– Berthame minimale per vete sistemin– Procese te sistemit realizohen si procese perdoruesi
N.Frasheri Sistemet e Shfrytezimit Leksione 56
Hardueri
Sistemet monolite
• CPU punon ne dy moda– perdorues
– berthame (kernel)
Berthamae Sistemit
Aplikimet
Hardueri
Procese[mode] Perdoruesi
Procese [mode] Sistemi
N.Frasheri Sistemet e Shfrytezimit Leksione 57
Sistemet me shtresa / unaza
• Koncepti i shtresave
Aplikime
Librarite dinamike te I/O
Administrimi kujteses
Multi-Programimi
Hardueri
appliBERTHAMA
X
• Cdo shtresa komunikon vetem me shtresat fqinje sipas rregullave te caktuara
thirrjesistemi
thirrje epalejuarsistemi
porte e thirrjeste sistemit
APLIKIME
Administrimi i I/O me Hw
N.Frasheri Sistemet e Shfrytezimit Leksione 58
User (klient)OS (server)
Sistemet klient – server
• Proceset e sistemit realizohen ne po ate nivel si dhe proceset e perdoruesit– Proceset e sistemit ~ server– Proceset e perdoruesit ~ klient
• Mikro-berthame per– Multi-programimin– Hyrje / daljet me harduerin– Transferimin e thirrjeve te
sistemit nga proceset klient ne ato server
CPU
mikro-berthama
proces
proces
proces
proces
proces
proces
proces
proces
thirrjesistemi
N.Frasheri Sistemet e Shfrytezimit Leksione 59
Sistemet me makina virtuale
• “Super” mikro-berthame per – multi-programimin– Proceset per CPU virtuale
• Nje CPU virtuale mban nje sistem shfrytezimi– Paralelizem virtual i disa
sistemeve shfrytezimi
• Super-berthame per sistemet me procesor Intel ~ paralelizem virtual midis:– MS-Windows– Linux
Hardueri (CPU)
“super” berthame
“CPU” “CPU” “CPU” “CPU”
proces
proces
proces
proces
proces
proces
OS3 OS4
proces
proces
proces
proces
proces
proces
OS1 OS2
N.Frasheri Sistemet e Shfrytezimit Leksione 60
Proceset
N.Frasheri Sistemet e Shfrytezimit Leksione 61
• Procesi ~ program ne ekzekutim– Grup instruksionesh (program) ne ekzekutim– Autonom ne raport me proceset e tjera
• Burimet e procesit– Hapesira e kujteses
• Kodi dhe te dhenat• Stiva per thirrjen e procedurave
– PCB (Process Control Block)• Atributet e procesit• Treguesit per hapesiren e kujteses• Treguesit per FCB (File Control Block)• Imazhi procesit kur nderpritet
– Kopja e regjistrave te procesorit
Koncepti i Procesit
N.Frasheri Sistemet e Shfrytezimit Leksione 62
Krijimi dhe “vrasja” e proceseve
• Thirrja e procedurave • Krijimi i proceseve
call
call
return
return
Procesi A(procedurat perdorin te
njejten hapesire kujtese)
fork
call
return
kill
Procesi A
Procesi B
P1
P2 P8 Pd
P9 Pe
Pa
Pb Pc
“orteku” i proceseveqe krijojne njeri tjetrin me komanden “fork”
P5
P6 Pf
PgP7
(proceset A dhe B perdorin hapesira kujtese te ndryshme)
N.Frasheri Sistemet e Shfrytezimit Leksione 63
Proces dhe thread
• “Thread” ~ “proces i lehte”, “nen-proces”– Disa threads ndajne hapesiren e perbashket te kujteses
– PCB e “zgjeruar” (regjistrat e CPU etj.)
– Ritet kompleksiteti i bashkeveprimit dhe sinkronizimit
proces
thread
1 proces = 1 thread 1 proces = n thread
N.Frasheri Sistemet e Shfrytezimit Leksione 64
Administrimi i proceseve
• Tabela e Proceseve– Process Control Block (PCB)
• Regjistrat e CPU
• Tregues (pointer) per segmentet e kujteses
• Pershkruesit e skedareve (File Control Block)
• Prioriteti i ekzekutimit
• Te dhena te tjera (perdoruesi, direktoria etj.)
struct proc { struct stackframe_s p_reg; /* process' registers saved in stack frame */ proc_nr_t p_nr; /* number of this process (for fast access) */ struct priv *p_priv; /* system privileges structure */ char p_rts_flags; /* SENDING, RECEIVING, etc. */ char p_misc_flags; /* Flags that do suspend the process */ char p_priority; /* current scheduling priority */ char p_max_priority; /* maximum scheduling priority */ . . .
N.Frasheri Sistemet e Shfrytezimit Leksione 65
Kujtesa
Hapesira e Kujteses e Procesit
Procesi dhe PCB
•
Kodi Procesit
Te Dhenat
Stiva
Sistemi i Shfrytezimit
PCB PROCESORI
regjister
regjister
regjister
Atributet e Procesit
N.Frasheri Sistemet e Shfrytezimit Leksione 66
Proceset dhe kujtesa
• Tabela e PCB dhe Round Robin
(Berthama)
Kodi i OS
e PCB
KUJTESA
Process n
Kodi & teDhena
...
Process 1
Kodi & teDhena
Tabela
OS kernel PCB
Process n PCB
Process n-1 PCB
…
Process 3 PCB
Process 2 PCB
Process 1 PCB
Interrupt & R
ound Robin
supervizori
N.Frasheri Sistemet e Shfrytezimit Leksione 67
Realizimi i proceseve
N.Frasheri Sistemet e Shfrytezimit Leksione 68
Gjendjet e proceseve
• Procesi = entitet autonom
• Gjendja sipas mundesise te aktivizimit:
– Planifikim (scheduled) – i sapo leshuar
– Gati (ready) – pret per kohen e CPU
– Ekzekutim (running) – kontrollon CPU
– Bllokuar / pritje (blocked / waiting) – pret nje ngjarje I/O
RUN READY
WAITING
2
3
4
1Sched.
5
N.Frasheri Sistemet e Shfrytezimit Leksione 69
Ndryshimi i gjendjeve
• Ndryshimi i gjendjeve behet– Kalimi 1 behet kur procesi i leshuar nga perdoruesi futet ne
rradhen e pritjes per ekzekutim– Kalimi 2 dhe 3 behen nga supervozori i sistemit
• Kalimi 2 kur procesi ka plotesuar kuoten e kohes te CPU• Kalimi 3 kur procesit te nderprere i rivjen rradha e CPU
– Kalimi 4 behet kur procesi nuk mund te vazhdoje• Kerkese per hyrje-dalje• Nderprerje nga jashte• Kijim situate bllokimi
– Kalimi 5 behet kur plotesohen kushtet• Perfundon hyrje-dalja• Perfundon trajtimi i nderprerjes• Perfundon situata bllokuese
N.Frasheri Sistemet e Shfrytezimit Leksione 70
Gjendjet dhe rradhet
• Realizimi i rradheve te gjendjeve Ready dhe Waiting
Kujtesa
OS
run
ready
wait
ready
waiting
PID
PID
PID
PID
PCB
PID
PID
PID
PID
code
data
code
data
code
data
code
datasched
N.Frasheri Sistemet e Shfrytezimit Leksione 71
Politikat e rradheve
• Proceset ne rradhen “GATI” mund te kapen njeri pas tjetrit sipas skemes FIFO per te marre kontrollin e CPU
• Disa procese mund te kekojne perparesi– Ekzekutimi pa pritur rradhen
• Kategorizimi i proceseve
• Skema FIFO brenda nje kategorie
• Politikat e perparesise midis kategorive
– Manaxhimi i proceseve
N.Frasheri Sistemet e Shfrytezimit Leksione 72
Manaxhimi i proceseve
• Problemi cfaqet kur mbi nje proces eshte “GATI”– Mekanizmat e zgjedhjeve jane kontadiktore
– Disa kritere:• Drejtesia – cdo proces te mare pjesen e vet te CPU• Eficensa – CPU te shfrytezohet 100%• Koha e pergjigjes – minimizimi per perdoruesit interaktve• Koha totale – minimizimi i kohes te punes• “Percueshmeria” – maksimizimi i numrit te puneve
– Sjellja e proceseve e paparashikuar
– Manaxhimi• “Plotesues” [completion]
• “Parashikues” [preemptive]
N.Frasheri Sistemet e Shfrytezimit Leksione 73
Mekanizmat e manaxhimit
N.Frasheri Sistemet e Shfrytezimit Leksione 74
“Round Robin”
• Proceset vendosen ne liste FIFO• Per proceset caktohet intervali “quantum” CPU
– Procesi rradhes ploteson “quantum-in” dhe bllokohet
– Procesi pasardhes ne liste merr kontrollin e CPU
• Ndarja e kohes “quantum” (efektivitet ~ pritje)– Kompromis 100 ms
P1
P0P9 P8 P7
P6
P2 P3 P4 P5
N.Frasheri Sistemet e Shfrytezimit Leksione 75
Manaxhimi me perparesi
• Kategorizimi i perdorimit sipas “rendesise”• Perparesite
– Statike (te paracaktuara)
– Dinamike (ndryshojne ne kohe)
• Komanda Unix “nice”
• Kategorizimi i perparesive & rradhet e perparesive
Perparesia 0
Perparesia 1
Perparesia 2
Perparesia x
P01 P02
P11 P12 P13
P21 P22 P23
Px1 Px2
P23
N.Frasheri Sistemet e Shfrytezimit Leksione 76
Perparesite dinamike
• Zvogelimi gradual i perparesise– Problemi i rritjes te perparesise per proceset interaktive
• Perparesi punes me te shkurter– Nqs. e mundeshme parashikimi i kohes
• Komandat ineraktive si pune te vecanta– Parashikimi i kohes sipas sjelljes
• Manaxhimi me “llotari”– Llotari shtese per proceset perparesore
– Qarkullimi llotarive midis proceseve
N.Frasheri Sistemet e Shfrytezimit Leksione 77
Manaxhimi ne dy nivele
• Vendoset nje pjese te proceseve [me perpari te ulet] ne disk per lirimin e kujteses
• Supervizori ndan kohen e CPU per proceset ne kujtese. Periodikisht
– Proceset per shume kohe ne kujtese kalojne ne disk
– Proceset per shume kohe ne disk kalojne ne kujtese
• Dy nivele te supervizorit
– Niveli ulet trajton proceset ne kujtese
– Niveli larte trajton shkembimin e proceseve disk kujtese
N.Frasheri Sistemet e Shfrytezimit Leksione 78
Politikat dhe mekanizmat
• Supervizori nuk konsideron specifikat e perdoruesve ne trajtimin e perparesive
• Ndahen mekanizmat e supervizorit nga politikat e dhenies perparesi proceseve nga perdoruesi
• Procesi kryesor mund te perdore thirrje te sistemit per te ndryshuar perparesite e nenproceseve
N.Frasheri Sistemet e Shfrytezimit Leksione 79
Konkurenca e proceseve
N.Frasheri Sistemet e Shfrytezimit Leksione 80
Vektoret e nderprerjeve
• Nderprerja shoqerohet me nje numer identifikues (INT n)• Vektori i nderprerjeve mban treguesit per procedurat e
sherbimit te nderprerjeve sipas numrit identifkues• Trajtimi i nderprerjes perfshin
– Kopjohet numratori i programit te CPU ne stive
– Kalohet, nepermjet vektorit te nderprerjeve sipas identifikuesit te nderprerjes, ne proceduren e sherbimit
– Kopjohet gjendja e CPU ne PCB e procesit te nderprere
– Realizohet procesi i sherbimit te nderprerjes• Rikthehet kontrolli ne procesin e nderprere, ose
• Ne multiprogramim aktivizohet procesi i rradhes
N.Frasheri Sistemet e Shfrytezimit Leksione 81
Konkurenca midis proceseve
• Tre probleme– Shkembimi i informacionit midis proceseve
– Konkurenca ne burimet e perbashketa
– Vargezimi i varesise nga njeri tjetri
• Konkurenca– Situata e gares per kapjen e burimeve te ndara
• Disa procese kerkojne “njekohesisht” kapjen e te njejtit burim
• Pyetje: lejohet nderprerja e nje procesi qe ka kapur burimin?
– Pjesa e programit ku kapet nje burim i perbashket• Kerkon ekskluzivitet mbi procesin e kapjes te burimit• Percaktohet si “Seksion Kritik” qe nuk duhet nderprere
N.Frasheri Sistemet e Shfrytezimit Leksione 82
Situata e gares
• Shembull: Spooler i shtypit
Print Spooler Printer
Rradha e Spooler
Procesi A
Procesi B
Nderprerje e multiprogramimit
perg
atit
shkruan
perg
atit shkruan
☼
Procesi A prish te dhenat e B
N.Frasheri Sistemet e Shfrytezimit Leksione 83
Seksioni kritik
• Seksion kritik quhet pjesa e programit qe kap burime te perbashketa
– Nuk behen supozime per shpejtesine e CPU
– Nuk lejohen dy procese njekohesisht ne seksion kritik
– Proceset jashte seksioneve kritike nuk duhet te bllokojne proceset ne seksione kritike
– Asnje proces nuk duhet te prese pambarim per te hyre ne seksion kritik
N.Frasheri Sistemet e Shfrytezimit Leksione 84
Perjashtimi reciprok
• Mekanizmat e perjashtimit reciprok te proceseve gjate seksioneve kritike
– C’aktivizimi i nderprerjeve
– Variablat “celes”
– Fjetja dhe zgjimi
– Semaforet
– Shkembimi i mesazheve
– Monitoret
N.Frasheri Sistemet e Shfrytezimit Leksione 85
Konkurenca – variablat celes
N.Frasheri Sistemet e Shfrytezimit Leksione 86
C’aktivizimi i nderprerjeve
• Nderprerjet shkaktojne pezullimin e nje procesi per ti lene vendin nje tjetri
• Procesi qe eshte ne seksion kritik– Ne hyrje te seksionit c’aktivizon nderprerjet
– Ne dalje te seksionit ri-aktivizon nderprerjet
• Probleme– Kontrolli i nderprerjeve lihet ne doren e perdoruesit
– Kohezgjatja e seksionit kritik mund te jete e madhe
– Nuk vlen ne sistemet multi-procesor
• Me vlere per sistemin e shfrytezimit– Sigurimi i seksioneve kritike te vete sistemit
N.Frasheri Sistemet e Shfrytezimit Leksione 87
Variablat celes / flamur
• Variabli celes (flamur) mer vlerat– 0 kur nuk ka procese ne seksion kritik– 1 kur nje proces hyn ne seksion kritik
• Procesi qe hyn ne seksion kritik– Teston variablin celes dhe pret derisa te behet 0– Nryshon variablin ne 1 dhe hyn ne seksion kritik– Riben variablin 0 kur del nga seksioni kritik
• Problem: nderprerjet gjate testim-ndryshimit– Mund te perdoret c’aktivizimi i nderprerjeve– Manipulimi i varjablit celes behet me thirrje sistemi. – Vetem kodi i procedurave te berthames te sistemit ka
atributin qe lejon c’aktivizimin e nderprerjeve.
N.Frasheri Sistemet e Shfrytezimit Leksione 88
Perdorimi i variablave celes
• Variablat celes ne kapjen ekskluzive te burimeve
• Seksioni kritik reduktohet ne trajtimin e variablit celes
• Linux: perdoren skedare “celes” per shmangien e kapjes konkurente te skedareve
• Problem: pritja
unset_flag (F){ Int off F:=0 Int on}
set_flag (F){ Int off; while (F==1)
{ Int on; Int off }; F:=1; Int on;}
Call set_flag(F)
Call unset_flag(F)
eksk
luz i
vite
t
F
seksionkritik
seksionkritik
N.Frasheri Sistemet e Shfrytezimit Leksione 89
Per
gatit
: W
AIT
Bllo
kim
: c e
lesi
:=1
Shembulli i spoolerit
• Shembull: Spooler i shtypit
Rradha e Spooler
Procesi A
Procesi B
shkr
uan
☼
Procesi A ka ekskluzivitet mbi spooler
Seksion kritik
Lirim
: ce
lesi
:=0
Procesi B ka akses mbi spooler
Int Int
N.Frasheri Sistemet e Shfrytezimit Leksione 90
• Perdorimi i variablave celes
Nderprerje dhe celes
• C’aktivizimi i nderprerjeve
D
I
S
K
INT OFF
INT ON
ndarje kohe
seksion kritik& ekskluzivitet
P1 P2 OS
D
I
S
K
ilire?
ilire!
ndarje kohe
P1 P2 OS celesi
koha koha
ilire?
izene!
----||||||-----
seksion kritik
ekskluzivitet
seksion kritik
N.Frasheri Sistemet e Shfrytezimit Leksione 91
Konkurenca – semaforet
N.Frasheri Sistemet e Shfrytezimit Leksione 92
Fjetja dhe zgjimi
• Procesi qe nderpritet duhet te kaloje ne gjendje “pritje”– Problem: si do te behet kalimi ne gjendjen “gati”
• Thirrjet e sistemit “sleep” dhe “wakeup”– Dy procese …– Procesi qe kerkon burimin ben sleep mbi variablin celes
• Nqs. burimi i lire [celesi==1], – celesi:=0– procesi mer ekskluzivitetin mbi burimin
• Nqs. burimi i zene [celesi==0], – procesi kalon nga gjendja “run” ne “pritje”
– Procesi qe liron burimin ben wakeup mbi variablin celes– celesi:=1– aktivizohet procesi i bllokuar (nqs. ka te tille)
N.Frasheri Sistemet e Shfrytezimit Leksione 93
Struktura e sleep & wakeup
• Celesi eshte strukture F = {int C; int PID}• C ~ celesi• PID ~ mbajtesi i identifikatorit te procesit
• “sleep” kalon procesin thirres ne gjendjen “pritje”
sleep (C){
Int off;if (F.C==0) { F.PID:=(PID);
call_system_state_wait(PID);} F.C:=0;Int on;
}
• “wakeup” zgjon procesin e rene ne gjendje “pritje”
wakeup (C){
Int off;F.C:=1;if (F.PID!=NULL) call_system_state_ready(F.PID);Int on;
}
• call_system_state_wait ne dalje ben “Int on” per mbylljen e seksionit kritik
Call sleep(F)
Call wakeup(F)
FCall sleep(F)
wai
tre
ady
N.Frasheri Sistemet e Shfrytezimit Leksione 94
Semaforet
• Semafori – variabel qe mban numrin e thirrjeve “wakeup” te pa realizuara ne rastin e shume proceseve (Dijkstra)
– Pergjithesim i metodes “sleep” & “wakeup”
– Dy thirrje sistemi
• “down” (~sleep) teston semaforin
– Nqs. zero => procesi kalon ne gjendje “sleep” pa plotesuar “down”
– Nqs. pozitive => zvogelon me 1 semaforin dhe vazhdon punen
• “up” (~wakeup) rrit me 1 vleren e semaforit
– Nqs. ka procese ne “sleep”, supervizori i sistemit zgjon njerin prej tyre dhe e lejon te perfundoje “down”
N.Frasheri Sistemet e Shfrytezimit Leksione 95
Shembull i semaforeve
• Situata klient-server– Tre semafore:
• “PLOT” numeron fjalet e mbushura te buferit. Klienti kalon ne “sleep” kur PLOT=0
• “BOSH” numeron fjalet bosh te buferit. Serveri kalon ne “sleep” kur BOSH=0
• “MEX” ~ “mutual exclusive”, bllokon kapjen e buferit njekohesisht nga klienti dhe serveri (semafor binar)
• Perdorimi i semaforeve– Sinkronizim: PLOT, BOSH
– Ekskluzivitet: MEX
N.Frasheri Sistemet e Shfrytezimit Leksione 96
Bllokimi reciprok
• Semaforet dhe bllokimi reciprok (deadlock)
Void server(void){ while (TRUE) {
down(&BOSH);down(&MEX);fill_buffer(…);up(&MEX);up(&PLOT)
}}
Void client(void){ while (TRUE) {
down(&PLOT);down(&MEX);empty_buffer(…);up(&MEX);up(&BOSH)
}}
– Gabimet ne perdorimin e semaforeve• Ndrimi i vendeve te thirrjes “down” shkakton bllokim
– Nqs. buferi eshte plot, server ben “down(&MEX)” duke bere MEX=0 dhe me pas bllokohet tek “down(&BOSH)”
– Klienti ndesh MEX=0 dhe bllokohet …
N.Frasheri Sistemet e Shfrytezimit Leksione 97
Mbi strukturen e te dhenave
• Mekanizmi i konkurences (semafor, etj.) ka nevoje per strukture te dhenash shoqeruese– Numratori i kerkesave
– Te pakten nje rradhe pritjeje
numrator
PID 1 PID 2 PID 3 PID 4
SS
N.Frasheri Sistemet e Shfrytezimit Leksione 98
Konkurenca - sinjalet dhe bllokimet
N.Frasheri Sistemet e Shfrytezimit Leksione 99
Shkembimi i sinjaleve
• Thirrjet e sistemit “send” dhe “receive”– Arkitektura klient-server
• Serveri pret ne “receive” per sinal• Klienti dergon “send” kur ka nevoje
– Sinkronizimi i proceseve ne sisteme te shperndara
– Shkembimi i informacioneve midis proceseve
– Reziku i humbjes te mesazheve• Marrja duhet te sinjalizohet (“ACK” ~ acknowledgement)• Nqs humbet ACK, ridergohet mesazhi• Mesazhet shoqerohen me numrin rendor• Proceset identifikohen (authentication)
• Problem: performanca
N.Frasheri Sistemet e Shfrytezimit Leksione 100
Monitoret
• Monitori – bashkesi procedurash dhe struktura te dhenash te grupuara si “modul / objekt” qe kontrollon kapjen e burimeve
– Monitori perdoret ne menyre ekskluzive
– Thirrja e monitorit realizohet nga kompilatori
• Monitori eshte konstruksion i gjuhes se programimit
• Konkurenca kontrollohet nga kompilatori
• Shmangen gabimet e programistit
– Problem
• cilat gjuhe programimi kane “monitor” ?
• Koncept me interes ne zhvillimin e aplikimeve ?
N.Frasheri Sistemet e Shfrytezimit Leksione 101
Bllokimet (deadlocks)
X Y
B2
B1
wait wait
N.Frasheri Sistemet e Shfrytezimit Leksione 102
Klasifikimi i bllokimeve
• Problemi– nje proces kerkon ekskluzivitet per disa burime
• Paisje – Skedare – Regjistrime …
– Dy procese mund te bllokojne njeri tjetrin
– Burimet jane• Te parashikueshem (preemptable)
– Mund ti hiqen procesit qe e ka kapur
– Shembull: kujtesa: dy procese bllokojne njeri tjetrin ne kujtese dhe printer, kujtesa i hiqet njerit dhe i jepet tjetrit (swapping)
• Te paparashikueshem (non-preemptable)– Nuk mund ti hiqen procesit qe e ka kapur
– Jane shkaku kryesor i bllokimeve
– Shembull: printeri – shtypi i filluar nuk mund te nderpritet
N.Frasheri Sistemet e Shfrytezimit Leksione 103
Trajtimi i blokimeve
• Nje grup procesesh eshte i bllokuar nqs secili pret nje ngjarje qe nje proces tjeter i grupit mund te shkaktoje
• Konditat per bllokim (Coffman)– Perjashtim reciprok (mutual exclusion)– Kap dhe prit (hold and wait)– Mungese parashikimi (non-preemptive)– Pritje ne “rreth vicioz” (circular wait)
• Strategjite per shmangien e bllokimeve– Injorimi i problemit (nqs probabiliteti i ulet)– Detektimi dhe rimarja (ristartimi i proceseve bllokuese)– Shmangia dinamike (shmangia e situatave bllokuese)– Parandalimi duke mohuar konditat
N.Frasheri Sistemet e Shfrytezimit Leksione 104
Shmangia dhe parandalimi
• …– Shmangia dinamike (problematike)
kondita zgjidhja
perjashtimi reciprok spooling
kap dhe prit kap gjithe burimet
jo-parashikuese liro burimet para kapjes
pritja rrethore rendit burimet– Parandalimi
• Matrica e zenies te burimeve & algoritmi bankierit– Kerkohet nje proces qe i plotesohen kerkesat– Nsq ka, konsderohet i perfunduar dhe burimet lirohen– Nqs jo, situate bllokimi
N.Frasheri Sistemet e Shfrytezimit Leksione 105
Hyrje – daljet
N.Frasheri Sistemet e Shfrytezimit Leksione 106
Klasifikimi i paisjeve
• Klasifikimi– Bllok (disk, shirit, …)
– Karakter (tastiera, mouse, printer, …)
– Speciale (clock …)
• Hardueri– Paisjet
– Kontrolloret
CPU RAM clock disk printer monitor tastiere
HDD
PRINTER MONITOR TASTIERE
N.Frasheri Sistemet e Shfrytezimit Leksione 107
Kontrolloret
• Regjistrat e kontrollorit– Ne kontrollor
– Ne kujtese
– Sistemi komandon kontrollorin nepermjet regjistrave
• Nderprerjet– IRQ
• Interrupt vector
• Interrupt service software
– Kontrollori sinjalizon CPU nepermjet IRQ
kontrollori
RAM
busIRQ
regjistrat
regjistrat
komande
N.Frasheri Sistemet e Shfrytezimit Leksione 108
Direct Memory Access / Area
• Kontrollori pa DMA • lexon nje bllok nga paisja ne buferin e brendshem• ben IRQ dhe sinjalizon sistemin
– Sistemi kopjon bajt-pas-bajti nga regjistri kontrollorit ne kujtesen e kompjuterit
• Kontrollori me DMA• lexon nje bllok nga paisja ne buferin e brendshem
dhe me pas kopjon buferin ne DMA (kujtesa e kompjuterit)
• Ben IRQ dhe sinjalizon sistemin– Sistemi e gjen bllokun ne kujtese
N.Frasheri Sistemet e Shfrytezimit Leksione 109
Softueri per hyrje – dalje
• Pavaresia e paisjeve• Programimi te mos varet nga paisjet
– Shembull “sort <input >output”
• Unifikimi i emerimit• Perdorimi i konceptit te “PATH”
• Trajtimi i gabimeve• Pikasja e gabimeve• Rileximi / rishkrimi
• Transferimet sinkrone / asinkrone• Bllokimi i sistemit ~ perdorimi i nderprerjeve
• Ndashmeria e paisjeve• Kapja njekohesisht ose jo e paisjes nga disa perdorues
N.Frasheri Sistemet e Shfrytezimit Leksione 110
Shtresat e softuerit
• Niveli i perdoruesit• Softueri i pavarur nga paisja
• Driver i paisjes – Komandon paisjen
• Trajtuesi i nderprerjeve– Sistem sinjalizimi
• Kontrollori – realizon komunikimin
User Level Software
Independent Software
Device Driver
Interrupt Handler
CONTROLLERHW
SW
OS
App
N.Frasheri Sistemet e Shfrytezimit Leksione 111
Trajtuesi i nderprerjeve
• Procesi kerkon hyrje/dalje– Bllokon vehten
• Down semaphore• Wait message• …
– Spooler • Kontrollori perfundon
veprimin dhe ben IRQ– Trajtuesi i nderprerjes
c’bllokon procesin• Up semaphore• Send message• …
process kontrollor
Send requestCall wait state
IRQSwitch to Ready
N.Frasheri Sistemet e Shfrytezimit Leksione 112
Driver
• Kodi i kushtezuar nga paisja => “driver”– Driver komunikon me regjistrat e kontrollorit
• Pranon kerkesa ne format te pavarur nga shtresa e siperme• Gjeneron dhe komandat perkatese ne regjistra• Kontrollon rezultatin …• Nqs veprimi kerkon kohe
– Bllokon vehten
– Pret IRQ nga kontrollori
• Kthen pergjigjen ne shtresen e siperme
N.Frasheri Sistemet e Shfrytezimit Leksione 113
Softueri i pavarur
• Funksionet tipike• Nderfaqimi uniform per paisjet• Emertimi paisjeve (Unix i trajton si skedare)• Mbrojtja e paisjeve (nga perdorues te paautorizuar)• Sigurimi madhesise te pavarur te blloqeve• Trajtimi i buferave (differencat ne shpejtesine e trajtimit)• Trajtimi i hapesires per paisjet bllok (zgjerimi i skedarit)• Zenia dhe leshimi i paisjeve (kapja ekskluzive)• Raportimi i gabimeve (pas trajtimit nga driver)
N.Frasheri Sistemet e Shfrytezimit Leksione 114
Niveli i perdoruesit
• Procedurat qe lidhen me programet e perdoruesit– Programisti perdor “write(fd, buffer, nbytes)” – Procedura “write”
• Ben pjese ne nje librari procedurash dhe lidhet me programin• Pershtat parametrat e perdoruesit per thirrjet e sistemit• Realizon formatimin e hyrjes dhe daljes
• Procedurat speciale– Printing Spooler Daemon
• Proceset e perdoruesit bejne printimin ne skedar• Procesi spooler lexon skedaret dhe i dergon ne printer• Spooler eshte i vetmi proces qe komunikon me printerin
N.Frasheri Sistemet e Shfrytezimit Leksione 115
Bazat e kompilimit
•
N.Frasheri Sistemet e Shfrytezimit Leksione 116
Bazat e Kompilimit 1
• Etapat e pergatitjes te programit
– Programi burim (C, FORTRAN, etj.) pergatitet si skedar me ndihmen e editorit te tekstit: “program.c”
– Programi burim perkthehet (kompilohet) ne program objekt, ne gjuhen e procesorit: “program.o”
– Programi objekt “lidhet” (linking) dhe transformohet ne program te ekzekutueshem: “program.exe”
– Programi ekzekutueshem ngarkohet (loading) ne kujtese per ekzekutim.
N.Frasheri Sistemet e Shfrytezimit Leksione 117
Bazat e Kompilimit 2
• Specifikat e etapave te programimit– Proramisti shkruan:
• float a,b,c• input (b,c)• a=b+c• print (a)
– Simbolet “a”, “b”, “c” perfaqesojne adresa kujtese per mbajtjen e numrave reale, te deklaruara nga perdoruesi. Kompilatori i transformon ne adresa relative kujtese.
– Simbolet “input”, “print” perfaqesojne adresa kujtese ku duhet te gjenden procedurat e leximit dhe shkrimit. Kompilatori mund te mos jete ne gjendje ti percaktoje adresat perkatese.
N.Frasheri Sistemet e Shfrytezimit Leksione 118
Bazat e Kompilimit 3
• Kompilatori krijon nje tabele simbolesh:
Adresat relative te simboleve “input” dhe “print” mbeten te papercaktuara dhe vete simbolet konsiderohen si “te jashtem” (external).
external?print
external?input
float1003c
float1002b
float1001a
ATRIBUTADRESA RELATIVESIMBOLI
N.Frasheri Sistemet e Shfrytezimit Leksione 119
Bazat e Kompilimit 4
• Tabela e simboleve vendoset ne fund te programit objekt.
• Simbolet “e jashtem” duhet te “lidhen” para se te behet ekzekutimi / perdorimi i tyre, duke ditur ku jane librarite me funksionet standarde – Lidhja statike: eshte lidhesi (linker) qe ploteson tabelen –
lidh programin objekt me librarite duke prodhuar programin e ekzekutueshem (.exe).
– Lidhja dinamike: eshte ngarkuesi (loader) qe realizon lidhjen:
• Gjate procesit te ngarkimit• Gjate ekzekutimit (kur duhet te perdoret simboli)
N.Frasheri Sistemet e Shfrytezimit Leksione 120
Bazat e Kompilimit 5
• Programi objekt dhe ai i ekzekutueshem:
CALL 1101, 1002, 1003
LDA 1002
ADDA 1003
STA 1001
CALL 1201, 1001
CALL input, 1002, 1003
LDA 1002
ADDA 1003
STA 1001
CALL print, 1001
Program EkzekutueshemProgrami Objekt
ku “1101”, “1201” jane adresat ku do te vendosen procedurat input dhe print, qe lidhesi/ngarkuesi i percakton pasi gjen procedurat ne librarine standarde perkatese.
N.Frasheri Sistemet e Shfrytezimit Leksione 121
Pyetje ???
•
N.Frasheri Sistemet e Shfrytezimit Leksione 122
Administrimi i Kujteses
• Parkinson’s Law: programet zgjerohen qe te mbushin hapesiren e kujteses ne dispozicion
• Sistemi i Administrimit te Kujteses (MMS)
• Kujtesa e Fshehte (“cache”)– E shpejte por e shtrenjte
– Ndermjetese midis RAM dhe procesorit
• Kujtesa Virtuale– Ndarja e hapesires kujtese midis
• RAM• DISK
N.Frasheri Sistemet e Shfrytezimit Leksione 123
detyrat e MMS
• Percaktimi i zonave te kujteses ku vendosen programet e ndryshme dhe te dhenat perkatese
• Garantimi qe programet te mos nderhyne tek njeri tjetri– “Buffer Overflow”
• Realizimi i kujteses virtuale– Zhvendosja e “copave” te hapesires se kujteses midis
RAM dhe DISK
– Mbajtja ne RAM e “copave” te hapesires se kujteses te proceseve te gjendje “gati” per ekzekutim
N.Frasheri Sistemet e Shfrytezimit Leksione 124
administrimi i kujtesesne mono dhe multi programim
Multi-programimiMono-programimi
Drivers
Program
Berthama
Drivers
Program 1
Program 2
Program 3
Berthama
N.Frasheri Sistemet e Shfrytezimit Leksione 125
MMS - rivendosja
• Rivendosja (relocation)
– Programisti nuk di ku do te vendoset programi ne kujtese gjate ekzekutimit
– Gjate ekzekutimit programi mund te kalohet (swap) ne disk dhe rikthehet diku ne kujtese
– Referencat relative te kujteses duhet te perkthehen ne adresa fizike te kujteses
– Mbivendosja (overlay)
N.Frasheri Sistemet e Shfrytezimit Leksione 126
MMS - mbrojtja
• Mbrojtja (protection)
– Proceset nuk duhet ti referohen zonave te kujteses te proceseve te tjere pa autorizim
– Pamundesi e kontrollit te adresave fizike gjate kompilimit, pasi programi mund te rivendoset
– Kontrolli i adresave fizike duhet te behet gjate ekzekutimit [mundesisht nga hardueri]
N.Frasheri Sistemet e Shfrytezimit Leksione 127
MMS – ndashmeria
• Ndashmeria (sharing)
– Te lejohen disa procese te kapin te njejten zone
kujtese me te dhenat te perbashketa
– Preferohet qe cdo proces te kape te njejten kopje
te programit se sa secili te kete kopjen e vet te
programit
N.Frasheri Sistemet e Shfrytezimit Leksione 128
Pyetje ???
•
N.Frasheri Sistemet e Shfrytezimit Leksione 129
Addr. fizike 274569
Reg. Baze / 0000
100110021003
1101
1201
Principet e Adresimit
• Adresat ne programin e ekzekutueshem jane relative. Gjate ngarkimit ne kujtese ngarkuesi (loader) in “transformon” ne adresa fizike duke percaktuar bazen e adresimit
• Procesori llogarit adresat fizike duke mbledhur regjistrin baze me adresat relative:addr.phys = reg.base + addr.rel
zona e kujteses e zene nga programi
zona e kujteses e zene nga te dhenat dhe stiva zona e kujteses e zene nga procedurat standarde
b (275571)
print (275770)
input (275670)
c (275572)
a (275570)
Programi ekzekutueshem
N.Frasheri Sistemet e Shfrytezimit Leksione 130
algoritmet e adresimit 1
• Adresat logjike ~ adresat fizike
Registri irivendosjes
+
14000
MMU
Adrese Llogjike
346
Adrese Fizike
Kujtesa14346
Regjistri i Rivendosjes (Relocation Register) => Regjistri Baze
CPU
ADD
Regjistri ikomandave
346
N.Frasheri Sistemet e Shfrytezimit Leksione 131
algoritmet e adresimit 2
• Parimi i mbrojtjes ne nivel hardueri
CPU
Reg. Limit
<
error
no
Reg. Reloc.
+yes
AdreseFizike
Kujtesa
MMU
AdreseLlogjike
N.Frasheri Sistemet e Shfrytezimit Leksione 132
Pyetje ???
•
N.Frasheri Sistemet e Shfrytezimit Leksione 133
Skemat e Administrimit te Kujteses
• Ndarja fikse• Ndarja dinamike• Ndarja Binare• Faqosja e thjeshte
• Segmentimi i thjeshte
• Faqosja e kujteses virtuale• Segmentimi i kujteses virtuale
N.Frasheri Sistemet e Shfrytezimit Leksione 134
MMS me ndarje fikse te njejte
• Kujtesa ndahet ne copa me madhesi te njejte.• Nje proces qe kerkon kujtese jo me shume se
nje ndarje ngarkohet dhe ekzekutohet, ndryshe duhet ristrukturuar programi duke perdorur mbivendosjet (overlays)
• Nqs. gjithe ndarjet jane te mbushura, sistemi mund te zhvendose ndonje proces ne disk (swapping)
• Kujtesa perdoret pa eficience – cdo program sado i vogel bllokon nje ndarje te tere (fragmentimi i brendshem)
N.Frasheri Sistemet e Shfrytezimit Leksione 135
MMS me ndarje fikse te ndryshueshme
• Kujtesa qendrore ndahet ne copa me madhesi te ndryshueshme– Zbuten problemet e ndarjes fikse te kujteses
ndarja
procesi
Ndarje me madhesi te njejte Ndarje me madhesi te ndryshueshme
N.Frasheri Sistemet e Shfrytezimit Leksione 136
rregullat e ndarjes fikse
• Ndarja ne copa te barabarta– Nuk ka rendesi si shperndahen proceset
• Ndarja ne copa te ndryshueshme– Mund te vendoset cdo proces ne copen me te
vogel qe i pershtatet– Krijohen rradhe per proceset– Processet vendosen ne menyre qe te zvogelohet
shperdorimi i kujteses
N.Frasheri Sistemet e Shfrytezimit Leksione 137
skemat e ndarjes fikse
OS OS
Rradhe processes
Proceset e reja
Proceset e reja
Rradhe processes
N.Frasheri Sistemet e Shfrytezimit Leksione 138
MMS – ndarja dinamike
• Ndarjet krijohen ne menyre dinamike me madhesi te ndryshme
• Cdo procesi i jepet kujtese sipas nevojes duke krijuar ndarje kujtese te pershtatshme (supozohet se ka hapesire te lire te mjaftueshme). Nuk ka fragmentim te brenshem te kujteses
• Gjate manpulimit te proceseve mund te krijohen “vrima” ne kujtese (fragmentimi i jashtem)
• Duhet perdorur kompatesimi duke zvendosur proceset per te bashkuar copat e lira te kujteses
• Procesori perdoret pa eficience nga kompaktesimi per shmangien e fragmentimit te jashtem
N.Frasheri Sistemet e Shfrytezimit Leksione 139
problemet e ndarjes dinamike
OS
P1
P2
P3
P4
P5
P6
P6P5P4P3P2P1
OS
P1
P2
P4
P6
OS
P1
P2
P4
P6
P7
?
OS
P1
P2
P4
P6
P7
kerkesa per
kujtese
Procesi i K
ompaktesim
it te Ku
jteses
N.Frasheri Sistemet e Shfrytezimit Leksione 140
rregullat e ndarjes dinamike
• Skema “pershtatja me e pare” (first fit)
– Procesi vendoset ne ndarjen e pare te pershtatshme
• Skema “pershtatja me e mire” (best fit)
– Procesi vendoset ne ndarjen me te vogel te pershtatshme
• Skema “pershtatja pasardhese” (next fit)– Procesi vendoset ne ndarjet e pare te pershtatshme duke filluar
nga vendodhja e fundit
• Problemi fragmentimit te jashtem mbetet– Ndryshon vetem “topologjia” e fragmentimit
– Zhvendosja e proceseve ne kujtese kerkon kohe
– Perdorimi i kujteses virtuale eshte akoma me i ngadalte• disku i ngurte eshte paisje e ngadalte
N.Frasheri Sistemet e Shfrytezimit Leksione 141
Ndarja “Binare”
• Synohet te shmanget fragmentimi si i brenshem i ndarjeve fikse dhe i jashtem i ndarjeve dinamike
• E gjithe hapesira konsiderohet fillimisht si nje bllok i tere me madhesi 2U
• Supozohet se kerkohet nje cope kujtese me madhesi S
– Nqs. 2U-1 < S <= 2U atehere procesit i jepet e tere blloku
– Ne rast te kundert, blloku ndahet rekursivisht ne 2 pjese te barabarta me madhesi 2U-1 & verifikohet nese ploteson kerkesen e procesit (sipas formules), derisa kerkesa e procesit plotesohet
– Sistemi mban tabelat e blloqeve te zena te kujteses dhe atyre te lira, dhe mund te bashkoje blloqet e lire fqinje per te krijuar blloqe me te medhenj
N.Frasheri Sistemet e Shfrytezimit Leksione 142
shembull i ndarjes “binare”
Bllok 1 Mb
A kerkon 100 Kb
B kerkon 240 Kb
C kerkon 64 Kb
D ekrkon 250 Kb
B liron 256 Kb
A liron 128 Kb
E kerkon 75 Kb
C liron 64 Kb
E liron 128 Kb
D liron 256 Kb
1 Mb
1 Mb
512 K
512 K256 KA=128K 128 K
B = 256 K
B = 256 K
B = 256 K
256 K
256 K
256 K
256 K
D = 256 K
D = 256 K
D = 256 K
D = 256 K
D = 256 K
256 K
256 K
256 K
256 K
256 K
D = 256 K 256 K
A=128K
A=128K
A=128K
A=128K
128K
E=128K
E=128K 128 K
128 K
C=64K
C=64K
C=64K
C=64K
C=64K
64K
64K
64K
64K
64K
512 K
512 K
N.Frasheri Sistemet e Shfrytezimit Leksione 143
MMS – disa perfundime
• Sistemi perdor tabela statike ose dinamike per mbajtjen e parametrave te ndarjeve
• Ndarja fikse shkakton fragmentim te brenshem – Keqperdorim i kujteses
• Ndarja dinamike shkakton fragmentim te jashtem– Ose keqperdorim i kujteses– Ose keqperdorim i kohes se procesorit (kompaktesimi)
• Probleme te pa permendura– Si mund te parashikohet kerkesa per stiven ???– Si i behet nese programisti ka perdorur “malloc” ???
N.Frasheri Sistemet e Shfrytezimit Leksione 144
Pyetje ???
•
N.Frasheri Sistemet e Shfrytezimit Leksione 145
MMS – faqosja e kujteses
• Kujtesa fizike ndahet ne copa me madhesi te njejte
– Frames• Madhesia e copave eshte fuqi e 2
• Varion midis 512 8192 bytes
• Kujtesa llogjike ndahet ne copa me madhesi te njejte
– Faqet (pages)
• Sistemi perdor tabelen e faqeve qe lidh indeksin e faqeve [te kujteses logjike] per proces me adresen fizike te bazes te frame-s ne kujtesen fizike
N.Frasheri Sistemet e Shfrytezimit Leksione 146
principi i faqosjes
Tabela e faqeve e procesit 2
Tabela e faqeve e procesit 1
Tabela e faqeve e procesit 2
Tabela e faqeve te lira
KUJTESA KUJTESA
N.Frasheri Sistemet e Shfrytezimit Leksione 147
adresimi tek faqet
0111101110011000
0111101110100000
0 1 1 0 0 1
0 0 0 1 1 0
0 0 0 1 0 1012
Adrese Fizike (16 bit)
Adrese Logjike (16 bit)Numri Faqes (6 bit) Zhvendosja (10 bit)
Tabela e Faqeve
Test per numrin e faqeve ?
N.Frasheri Sistemet e Shfrytezimit Leksione 148
MMS – segmentimi 1
• Permiresim i idese se ndarjeve dinamike– POR SEGMENTET MUND TE JENE TE SHPERNDARE DHE
JO NGJESHUR NJERI PAS TJETRIT SI NDARJA DINAMIKE
– Shmanget fragmentimi i brenshem dhe minimizohet
fragmentimi i jashtem
– Programisti mund te percaktoje ndarjen e kujteses se
nevojshme per programin ne segmente te madhesive te
ndryshme …
N.Frasheri Sistemet e Shfrytezimit Leksione 149
MMS – segmentimi 2
– Procesi mund te kete segmente te vecanta • PCB• kodi programit (*)
• te dhenat (*), • Stiva (*); [ku * - nje ose disa segmente]
– Cdo proces ka tabelen e vet te segmenteve ndersa sistemi mban tabelen e blloqeve te lira te kujteses
– Tabela e simboleve mban jo vetem fillimin por edhe gjatesine e segmenteve
N.Frasheri Sistemet e Shfrytezimit Leksione 150
adresimi tek segmentet
0111101110011000
0111101110100000
0 1 1 0 0 1
0 0 0 1 1 0
0 0 0 1 0 1012
Adrese Fizike (16 bit)
Adrese Logjike (16 bit)Segmenti (6 bit) Zhvendosja (10 bit)
Tabela e SegmenteveFillimi (Baza) Gjatesia
Test per numrin e faqeve ?
0 1 1 0 0 1
0 0 0 1 1 0
0 0 0 1 0 1
Test per gjatesine e segmentit ?
N.Frasheri Sistemet e Shfrytezimit Leksione 151
MMS dhe kujtesa virtuale
• Te njejtat mekanizma perdoren si per kujtesen qendrore dhe ate ndihmese
• Hapesira e unifikuar (qendrore & ndihmese) e kujteses = kujtesa virtuale
• Ne tabelat e faqeve – dallimi i faqeve qe ndodhen ne kujtesen qendrore nga ato qe ndodhen ne kujtesen ndihmese (ne disk)
• Shkembimi i faqeve mids kujteses qendrore dhe ndihmese (swapping)– Identifikimi i “vjeterimit” te faqeve dhe proceseve ne kujtesen
qendrore – percaktimi se cila faqe duhet te dergohet ne kujtesen ndihmese kur kerkohet te lirohet hapesire ne kujtesen qendrore
N.Frasheri Sistemet e Shfrytezimit Leksione 152
Stack ptr
Stack ptr
Koncepti i Stives
mainproc A
proc Bproc A
proc C proc A
Kodi Programit
Te Dhenat Statike
param A
te dhenat lokale A
Kodi Programit
Te Dhenat Statike
param A
te dhenat lokale A
param Bte dhenat lokale B
Kodi Programit
Te Dhenat Statike
param A
te dhenat lokale A
param Bte dhenat lokale B
param A
te dhenat lokale A
Stack ptr
call A call B call A
N.Frasheri Sistemet e Shfrytezimit Leksione 153
MMS – Dinamika
• Zenia dinamike e kujteses– Procedura “malloc” ☺– Perdorimi i objekteve “string” ☺– Tejmbushja e stives (stack overflow)
• Sistemi duhet te plotesoje kerkesat dinamike per kujtese– Dhenia e faqeve shtese gjate ekzekutimit– Zinxhirezimi i faqeve per mbajtjen e objekteve
voluminoze (qe tejkalojne madhesine e faqes)– “Grumbulli” i faqeve (heap), dhe …– … “mbledhesi i therrimeve” per rimarjen e faqeve
N.Frasheri Sistemet e Shfrytezimit Leksione 154
Probleme te Mbrojtjes
• Ndalimi i kapjes te zonave te kujteses jashte hapesires se dedikuar
te procesit
– Mos-tejkalimi i tabeles se faqeve/segmenteve …
– … dhe mos-tejkalimi i nje faqeje/segmenti
• Duhet testuar per cdo instruksion – behet nga hardueri
• C’duhet te behet me procesin “shkeles” ?
– Te pranohet shkelja ose te abortohet procesi (programi) ?
– Mos-mbivendosja e faqeve/segmenteve
• Eshte detyre e sistemit te shfrytezimit
• Mekanizma te vecante konkurence
– Ndarja me kusht e faqeve (lexim ~ shkrim)
N.Frasheri Sistemet e Shfrytezimit Leksione 155
Koncepti i Perdoruesit
• Perdoruesi – entitet qe ka te drejten te shfrytezoje burime te caktuara te kompjuerit– Individ / Aplikim
• Perdoruesit organizohen ne grupe• Super-Perdoruesi (administratori)• Skedaret Unix
– /etc/passwd => emrat dhe atributet e perdoruesve– /etc/group => grupet e perdoruesve– …/shadow => fjalet e kalimit
• Fjalet e Kalimit– Kriptim i njeanshem (Linux ~ algoritmi MD5)– “alfaalfa” => “jshdfu6yiuwdhfv2rfiuhcv9872rf”
N.Frasheri Sistemet e Shfrytezimit Leksione 156
Pyetje ???
•
N.Frasheri Sistemet e Shfrytezimit Leksione 157
Koncepti Skedarit
• Model abstrakt per komunikimin me periferiket• Skedari “hapet”, “shkruhet/lexohet”, “mbyllet”• Skedaret grupohen ne Direktori
– “Shtegu” (Path) dhe Direktoria Korente• Mbrojtja (Unix)
– Pronar, Grup_Perdoruesish dhe Perdorues_te_Tjere– Kodi 9 bit “rwx rwx rwx”
• Montimi (Unix)• Skedaret speciale (Unix)
– /dev/…– “pipe”
N.Frasheri Sistemet e Shfrytezimit Leksione 158
mount /dev/hdb1 /mnt/dskb
• /dev/hda1 /dev/hdb1
“tunel”
/mnt
/mnt/dskb
Disku A Disku B
/data/mnt/diskb/data
rrenja
N.Frasheri Sistemet e Shfrytezimit Leksione 159
Sistemi i Skedareve
• “FILE”• Kerkesat themelore per ruajtjen afatgjate te informacionit
– Ruajtja e sasive shume te medha te informacionit
– Jetegjatesia e informacionit pas mbarimit te procesit qe e ka perdorur
– Mundesia qe disa procese te kapin informacionin ne menyre konkurente
N.Frasheri Sistemet e Shfrytezimit Leksione 160
kuptimi i skedarit
• Mekanizem abstraksioni– Sherben per ruajtjen e informacionit ne disk dhe
leximin e tij– Fsheh menyren si regjistrohet informacioni dhe si
punon disku• Karakteristika thelbesore e abstraksionit
– Emertimi i objekteve [skedareve]• Specifikat e sistemeve te ndryshme …
– Karakteret qe perdoren– Struktura e emrave– Roli i prapashtesave
N.Frasheri Sistemet e Shfrytezimit Leksione 161
struktura e skedareve
• Tre menyra themelore– Varg bitesh– Varg regjistrimesh [record]
– Strukture peme [tree]
• Sistemi shfrytezimit mund ti shikoje skedaret si vargje bitesh– Thjeshtesi per sistemin
– Lehtesi per perdoruesin
N.Frasheri Sistemet e Shfrytezimit Leksione 162
strukturat me regjistrim dhe peme
• Struktura me regjistrime– Supozohet varg regjistrimesh me gjatesi te njejte– Informacioni brenda nje regjistrimi i strukturuar
– Adresimi relativ
• Struktura peme– Regjistrime me gjatesi te ndryshme
– Indeksim sipas nje fushe te fiksuar celes– Adresimi sipas vlerave te celesit
N.Frasheri Sistemet e Shfrytezimit Leksione 163
tipet e skedareve
• Te rregullt (informacione te perdoruesit)– Tekst (ASCII - American Standard Code for Information
Interchange)– Binare (te ekzekutueshem etj.)
• Direktori [folder]– …
• Speciale karakter– Modelimi i hyrje-daljeve me periferiket
• Speciale bllok– Modelimi i hyrje-daljeve me diskun
N.Frasheri Sistemet e Shfrytezimit Leksione 164
skedaret binare
• Te ekzekutueshem, arshive librari, etj.– Duhet te kene strukture te njohur nga sistemi
• Shembull (Unix i hershem) – Koka [header]
• Numri magjik, gjatesia, adresa fillimit etj.
– Kodi programit
– Te dhenat
– Bitet e vendosjes
– Tabela e simboleve
N.Frasheri Sistemet e Shfrytezimit Leksione 165
kapja e skedareve
• Sekuenciale – Lexim i biteve/regjistrimeve njeri pas tjetrit
• E rastit [random]– Lexim i biteve/regjistrimeve ne menyre te rastit
• Seek• Read / Write
– Skemat e kapjes• Sipas numrit rendor te regjistrimit (me gjatesi te
njejte)• Sipas vlerave celes dhe sistemit te indekseve
N.Frasheri Sistemet e Shfrytezimit Leksione 166
attributet e skedareve
• Mbrojtja– Kush ka te drejte kapje– Menyrat e kapjes
• Krijuesi• Pronari• Gjatesia aktuale• Gjatesia maksimale• Koha e krijimit• Koha e modifikimit • Koha e kapjes se fundit
• Flamure− i fshehur− i sistemit− vetem-per-lexim− i perkohshem− i bllokuar− etj.
• Fjalekalimi• Gjatesia e regjistrimit• Fusha celes• …
N.Frasheri Sistemet e Shfrytezimit Leksione 167
veprimet mbi skedaret
• Krijimi [create]• Prishja [delete]• Hapja [open]• Mbyllja [close]• Leximi [read]• Shkrimi [write]• Shtimi [append]• Leximi atributeve [get_attributes]• Shkrimi atributeve [set_attributes]• Riemerimi [rename]
N.Frasheri Sistemet e Shfrytezimit Leksione 168
Pyetje ???
•
N.Frasheri Sistemet e Shfrytezimit Leksione 169
Direktorite
• Skedare speciale …• Struktura pemore e
sistemit te skedareve– Direktoria rrenje
– Direktori
– Skedare
– Te drejtat e kapjes
– Lidhje
• Direktoria rrenje– E para ne disk
N.Frasheri Sistemet e Shfrytezimit Leksione 170
struktura e direktorive
…
skedar4
skedar3
skedar2
skedar1
…
adrese
adrese
adrese
adrese
…
atribute
atribute
atribute
atribute
N.Frasheri Sistemet e Shfrytezimit Leksione 171
organizimi i direktorive
• Direktorite e sistemit– MS-Windows
• “windows”; “documents and settings”; “program files”
– Unix• bin, etc, lib, usr, sbin, var, …
• Direktorite e perdoruesve– MS-Windows
• “my documents”
– Unix• “home”
• Kuptimi i shtegut [path]
N.Frasheri Sistemet e Shfrytezimit Leksione 172
veprimet me direktorite
• Krijimi [create]• Prishja [delete]• Hapja [opendir]• Mbyllja [closedir]• Leximi [readdir]• Riemerimi [rename]• Lidhja [link]• C’lidhja [unlink]
N.Frasheri Sistemet e Shfrytezimit Leksione 173
Realizimi i sistemit te skedareve
• Vendosja e vazhduar [gjatesia &fragmentimi]
• Liste e lidhur [ngadalesia ne kapjen e rastit]
• Liste e indeksuar (FAT)
N.Frasheri Sistemet e Shfrytezimit Leksione 174
Unix “i-nodes”
atributet
single
double
triple
Direktoria
inode emri skedarit
i-node
N.Frasheri Sistemet e Shfrytezimit Leksione 175
Pyetje ???
•
N.Frasheri Sistemet e Shfrytezimit Leksione 176
Organizimi i Diskut
• Rasti IBM PC Compatibel– Max 4 ndarje kryesore/zgjeruara
Ndarje Kryesore Ndarje Llogjike Ndarje Llogjike
Ndarje e Zgjeruar (extended)
Hapesira e te dhenave
FAT (File Allocation Table)
Boot Record
MBR & Tabela e Ndarjeve
N.Frasheri Sistemet e Shfrytezimit Leksione 177
trajtimi i blloqeve te diskut
• Liste e lidhur (MS-DOS FAT)
• Harte bitesh (Unix)
N.Frasheri Sistemet e Shfrytezimit Leksione 178
Pyetje ???
•
N.Frasheri Sistemet e Shfrytezimit Leksione 179
Kujdesi per Skedaret
• Besueshmeria– Problemi i sektoreve difektoze
• Markimi sektoreve difektoze• Sektoret rezerve per zevendesim
– Arshivimi [backup]• Backup periodik• Dublikimi [mirror]
– Integriteti• “system crash” / “nderprerje energjie”• Testimi gjate startimit te sistemit
– Performanca• Fragmentimi i skedareve• Fragmentimi i hapesires se lire• Skedaret e perkohshem
N.Frasheri Sistemet e Shfrytezimit Leksione 180
Siguria dhe Mbrojtja
• Siguria: problemi ne teresi (teknik, drejtues, legal)• Mbrojtja [mekanizmat e …]: strukturat e sistemit• Problemet e sigurise
– Humbja e te dhenave• Faktore natyrale, teknike, njerezore
– Kapja e pa-autorizuar • Qellimi i rastit, ngacmimi, perfitimi, spiunazhi
– Platforme per goditjen e te treteve (Interneti)
• Privacia
– Aspekte legale
– Roli i administratoreve
N.Frasheri Sistemet e Shfrytezimit Leksione 181
probleme te sigurise
• Prishja e sigurise– Vjedhje e te dhenave
– Shkaterim i te dhenave
– Sulm ndaj te treteve (Interneti)
– “Bombardim” me mesazhe • Te pa dobishme / Te rezikshme
• Mekanizmat– Kali Trojes
• Shtiret si program “paqesor’
– Bomba logjike • Aktivizohet ne momente te caktuara
N.Frasheri Sistemet e Shfrytezimit Leksione 182
vektoret e carjes te sigurise
• Viruse– Shperndahet nepermjet disketave, mesazheve etj.– Mekanizem pasiv, aktivizohen nga perdoruesi
• Krimba– Vete-shperndahet ne rrjet– Mekanizem aktiv, shfrytezon portat e hapura– 1988: Robert Morris Jr.
• Programe “publike” (Interneti)– Ofrohen si te dobishem per pune
N.Frasheri Sistemet e Shfrytezimit Leksione 183
mekanizmat e mbrojtjes
• Higjena informatike• Softuer Antivirus
– Resident
– Me kerkese
• Organizata– Kompani qe zhvillojne softuer antivirus
– Organizata• CERT [Computer Emergency Response Team]• CSRT [Computer Security Response Team]• CSIRT [Computer Security Incident Response Team]
– Lista postare
N.Frasheri Sistemet e Shfrytezimit Leksione 184
Pyetje ???
•
N.Frasheri Sistemet e Shfrytezimit Leksione 185
parimet e projektimit te sigurte
• Projekti te jete [mundesisht] publik
• Te drejtat implicite te jene “jo kapje”
• Kontrolli kapjes te behet sipas autoritetit aktual
• Privilegjet e ekzekutimit te jene minimale
• Mbrojtja ne shtresat me te poshtme te sistemit
• Procedurat te jene psikologjikisht te pranueshme
• Te tjera
– kriptimi, historiku, kodet e kontrollit …
N.Frasheri Sistemet e Shfrytezimit Leksione 186
identifikimi i perdoruesve
• Authentication– username & password
• Kriptim i njeanshem• Fjalekalimi te perkoheshme
– Identifikimi fizik• Kartat e sigurise• Skanimi i tipareve individuale
– Certifikatat ekektronike• Cift i celesit privat dhe publik
– Celesat gjenerohen nga perdoruesi– Celesi publik regjistrohet nga autoritetet e certifikimit– Perdoren per kriptim dhe “firme elektronike”
N.Frasheri Sistemet e Shfrytezimit Leksione 187
mekanizmat e mbrojtjes
• Politika dhe Mekanizma• Mekanizmat
– Domenet e mbrojtjes • Bashkesi ciftesh {objekt, te-drejta}• Unix: proceset lidhen me uid dhe gid
– deklarohen ne /etc/passwd dhe /etc/group– kombinimi [uid,gid] percakton te drejtat e procesit
– Listat e kontrollit te kapjes (ACL)• Shoqerimi i objekteve me listen e domeneve te lejuar• Skedaret ne Unix: 9 bit (rwx) per /owner/group/other/
– Komandat chown, chgrp, chmod
N.Frasheri Sistemet e Shfrytezimit Leksione 188
Pyetje ???
•
N.Frasheri Sistemet e Shfrytezimit Leksione 189
Sistemi Shfrytezimit
Mbi Sistemet Multi-Procesor
•
CPU1
K1
CPU2
K2
CPU3
K3
CPU4
K4
APLIKIMET
KUJTESA & PERIFERIKET
proceset
kompjuteri
N.Frasheri Sistemet e Shfrytezimit Leksione 190
Mbi Sistemet Paralele
• Problemi i mbledhjes te dy vektoreve– 1 procesor => n cikle
– m procesore => n/m cikle [‘m’ here me shpejt]
CPU CPU CPU CPU CPU CPU
KUJTESA & PERIFERIKET
Sistemi Shfrytezimit
Procesi________
kompjuteri
N.Frasheri Sistemet e Shfrytezimit Leksione 191
sistemet paralele kryesore
• SIMD – single instruction– multiple data
• MIMD – multiple instructions– multiple data
• Problem– Koordinimi midis procesoreve– Teknika speciale programimi
• Programim paralel
N.Frasheri Sistemet e Shfrytezimit Leksione 192
vektoriale dhe matricore
• SIMD– Vektorial zinxhir
• MIMD
CPU CPU CPU CPU CPU CPUinstruksioni
te dhenat
rezultatet
kujtesa
CPU CPU CPU CPU CPU CPU
CPU CPU CPU CPU CPU CPU
CPU CPU CPU CPU CPU CPU
N.Frasheri Sistemet e Shfrytezimit Leksione 193
PC – B PC – A
Mbi Sistemet e Shperndare
• Shembull– Sistemet klient-server
• Nje kompjuter• Disa kompjuter te lidhur ne rrjet
detyraaplikimiklient
aplikimserver
rrjet
PC – C
aplikimserver
rrjet
N.Frasheri Sistemet e Shfrytezimit Leksione 194
aplikimet e shperndara
• Coptimi i detyres ne shume sisteme– Kluster me PC
– GRID
– Programim i shperndare• GRID: MPI [message processing interface]
– Shembull• Mbledhja e vektoreve
– I njejti program– Te dhenat te coptuara– Ciftet {program, cope_te_dhenash} ne PC te ndryshme– Copat e rezultateve bashkohen
N.Frasheri Sistemet e Shfrytezimit Leksione 195
shembull vullnetarizmi
• SETI@HOME– Analize spektrale (Arecibo)– Sot BOINC
• (http://boinc.berkeley.edu/)• SETI• Fizika• Biologjia• Klima etj.
• PRIME95
– Numrat prim ☺• 100,000€ ~ 10,000,000 shifra• http://mersenne.org/primenet/
INTERNETI
SERVER
PCScreensaver
PCScreensaver
PCScreensaver
N.Frasheri Sistemet e Shfrytezimit Leksione 196
GRID
• “middleware” – Scientific Linux
– LCG [LHC Computing Grid, CERN]– Siguron kapacitete
• Llogaritese• Rezervuese• Aplikuese
• Perdoret nga• Fizika berthamore, • Biologjia, etj.
• Projekte• EGEE• SEE-GRID [www.see-grid.org] etj.
GRID middleware
CPU
OS
CPU
OS
CPU
OS
CPU
OS
APLIKIMET
INTERNET
N.Frasheri Sistemet e Shfrytezimit Leksione 197
funksionimi i grid
•
INTERNETKluster
Kluster
Kluster
“dispetcer”
Informacio
n mbi g
jendjen
Informacion mbi gjendjen
Informacion mbi gjendjen
userinterface
autoriteticertifikues
certifikatapersonale
kerkese
kerkese
verif
ikim
ice
rtifi
kate
s
rezultate
rezultate
CPU, RAM
APP, CPU
CPU, HDD
N.Frasheri Sistemet e Shfrytezimit Leksione 198
Pyetje ???
•
N.Frasheri Sistemet e Shfrytezimit Leksione 199
FUND
☺☻