Professional Documents
Culture Documents
2. Round robin?
- RR- secilit process I caktohet nga nje njesi kohore per ta perdorur CPUne, e cila eshte e njejte per te
gjitha proceset, kjo njesi quhet quantum time(q) qe varion nga 1-100 miliseconds, nese kemi n-
procese ne ready queue dhe q-quantum time, secili process do te perdor 1/n te kohes se CPU dhe
asnje process nuk do te pret ne ready queue me shume se (n-1)*q.
-
3. Seksioni kritik?
- Seksioni kritik – cdo proces ka nje segment te kodit qe quhet seksioni kritik. Ne kete
seksion procesi mundet te jete duke ndryshuar ndonje variable, duke rishikuar ne tabele,
duke shkruar nje file etj, ku nuk lejohet me u nderpre asnje prej proceseve tjera.
4. Fragmentimi, llojet?
- Fragmentimi I jashtem ndodh kur hapesira e memories eshte e mjaftueshme per te vendosur
procesin mirepo nuk eshte e vazhduar, rregulla 505- per cdo 2 blloqe tememories se alokuar e
3ta humbet pas fragmentimit
- Fragmentimi I brendshem ndodh Brenda bllokut te memories.
5. TLB qka eshte, edhe qysh bohet update?
- TLB (Translation Look-aside buffer)-memorie e shpejt e asocuar e cila ruan numrat e PAGEs si
dhe kornizen ku ajo jane te ruajtura.
Behet update ne kete menyre: ne disa implementime re rast te qasjes se pasuksesshme ne TLB
ajo ngarkohet. Nese TLB ka frekuence te lart te qasjeve te sukseshme, perdorim softuer per me
ngarku. Ndersa ne qasje te pasuksesshme nderprerje pastaj SO kontrollon nese page page
gjendet ne memorie, nese gjendet ne SO e ngarkon ato ne TLB dhe nese nuk gjendet SO e
ploteson TLB.
6. Memoriet sipas shpejtesise
1)Regjistrat, 2)Cache memoria, 3)Memoria kryesore, 4)SSD, 5)Disqet magnetike, 6)Disqet optike,
7)Shiritat(tapes)
7. Rregullat e alokimit te memories
- Gjate ciklit te procesit prej moementit te hyrjes ne sis, rritjes dhe nderprerjes, SO duhet me mbajt
evidence per memorien e disponushme dhe shfrytzimin e saj. Rregullat e alokimit jane:
-pershtatja e pare(first fit), pershtatja me e mire(best fit) dhe pershtatja me e dobet(worst fit).
-
8. Benefitet e multithreading
- Secili thread kur te krijohet ka regjistra te vecant, stack te veqant dhe program counter te
vecant. Benefitet jane se ka reagim me te shpejt, shume me leht mi nda proceset sesa shared
memory ose message passing, me lire se process creation dhe zgjerimi me I madh.
9. Komunikimi mes threadave
- Many to one – disa user threada asocohen me nje thread te vetem te kernelit, nje bllokim I nje
threadi shkakton qe te bllokohen te gjitha, pak systeme e perdorin kete model.
- One to one – secili user thread asocohet me nje kernel thread, shumica e librarive e perdorim
kete model, perparesi tjeter eshte puna paralele. Mangesi eshte se pjesa ne kernel eshte ma e kufizune.
- Many to many- lejohet qe disa threada ne nivel te userit me u asocu me disa threada ne nivel te
kernelit. Nese ndonje bllokon, nuk shkakton bllokimin e tjerve sepse mundet mu asocu me tjeret.
- Two level model- ne kuader te sistemit munden mu kriju dy lloje te komunikimit, edhe nje me
nje edhe shume me shume.
- Ndersa per mos me ndodh deadlock duhet me ndodh sepaku nje prej ketyre kushteve: mutual
exclusion, ose hold and wait, ose nonpreemption ose circular wait.
- Mutual exclusion-vetem nje process pergjat nje kohe mundet me perdor nje resurs
- hold and wait – nje prc ka nje resurs dhe eshte ne pritje per me marr resursin e radhes
- non preemption-nuk liron resurset deri ne menyre vullnetare, ateherenprocesi e ka kry punen e tij
-circular wait – p0 eshte duke prit resursin e p1, p1 e pret ate te p2 e keshtu me radhe
- gjate ciklit te procesit prej moementit te hyrjes ne sis, rrijes dhe nderprerjes, SO duhet me
mbajt evidence per memorien e disponushme dhe shfrytzimin e saj. Rregullat e alokimit jane:
- pershtatja e pare(first fit), pershtatja me e mire(best fit) dhe pershtatja me e dobet(worst fit).
15. PAGE
- Paging(faqosja) – procesi kalon 90% te kohes duke u qas veq ne 10%t e memories. Paging e
thjeshteson problemine hapesirave te pashfrytzushme(vrimave).
16. Paged segments
- Alokojme vetëm numrin e nevojshëm te tabelave te PAGEs
- Alokim i lehte i memories, munde te përdorim çdo kornize
- Ndarja behet ne dy nivele ose segment ose PAGE
- First-Come, First Served(FCFS), Shortest Seek Time First (SSTF), Algoritmi SCAN 90-100,100-
0,…), C-SCAN.
23. llojet e threadave:
User threads – menagjimi behet nga user-level threads library dhe
Kernel threads- krijohen, menaxhohen, suportohen prej kernelit.
- Thread library – mundeson menaxhimin e threadave ne user log. Tri kryesoret jane:
* POSIX Pthreads
* Windows threads
* Java threads
24. Kriteret e CPU Scheduling
- Scheduling - marrjen e prceseve prej listes se pritjes ne menyre qe me e percaktu cili ka
me u ekzekutu. Ate pune e bene cpu scheduler.
Kriteret jane:
- CPU utilization – me majt CPU sa me busy qe mundet
- Throughput – nr I proceseve qe munden me u ekzekutu
- Turnaround time – per sa koh ni prc duhet me u perfundu
- Waiting time – per sa koha ka qen prc tu prit ne ready queue
- ALgoritmi me i pershtatshem eshte LRU sepse mundet me u modifiku. LRU perfekte eshte kur
evidentojm kohen per secilen PAGE sa here qe perdoret per heren e fundit(recently used).
A aktivizohet dhe shenon emrin e fajllit ne slootin 7 , dhe nese nuk arrin qe per kohen e caktuar te
perfundoj procesin atehere aktivizohet procesi B, por pasi qe procesi A ska arrit te perfundoj atehere
in ska mundur te ndryshoj vleren (pra mbetet ne numrin 7) edhe procesi B aktivizohet dhe shenon emrin
e fajllit ne slootin 7 .Ne kete rast paraqitet nje gabim , i cili nuk eshte as i procesit A e as i B-se .
Kete gabim nuk e vren sistemi operativ e as spooleri.
Nje proces B i qaset variablave te religjionit A vetem kur ai proces A eshte perfunduar .
19.Trego punen e sleep and wake up dhe trego se kur ndodh bllokimi .
Ne buffer jane 100 slota , producer bene shkruarjen neper slota perderisa consumer i merr i dergon diku
tjeter . Nese ndodh qe producer te shkruaj deri te slota e 10 atehere consumer do te bllokohet sepse pas numrit
10 nuk do te ket me se qka te lexoj . Ndersa producer bllokohet atehere kur slotat perfundojne 100 (99) .
Bartja e porosive nuk eshte proces i drejtperdrejt , keshtu qe dergohet ne mailbox. Procesi A i dergon nje mesazh
procesit B dhe pret nga ai konfirmimin . Mirepo ashtu si mund te ndodh qe te mos dergohet me sukses mesazhi
ndodh qe edhe konfirmimi te mos percillet . Menyra tjeter eshte procesi A ti dergoj te dhenat me nje sloot pastaj
procesi B i lexon prej po atij slooti .
Nje zgjidhje e ketij problemi eshte nese 2 prej tyre han edhe te tjeret mendojne . Pastaj kalon tek 2 te tjere , e keshtu
me radhe . Pasi qe nese duhet qe te gjithe te ken 2 pirun qe te han atehere mbetet apo vjen deri te bllokimi .
Derisa ne (a) procesi A ka njesi kohore 8 dhe eshte ne vendin e pare per procesim , atehere punet tjera do vonohen
me shume derisa tu vij koha per procesim . Nderkohe qe nese A me njesi kohore gjindet ne fund atehere proceset e
tjera edhe ai vet do kryhen me shpejt . Mesatarja se sa do rrij nje pune ne sistem eshte me e madhe kur puna me
njesi kohore me te madhe ndodhet ne fillim , ndersa mesatarja me e vogel eshte kur puna me njesi kohore me te
madhe gjendet ne fund per procesim . Cka edhe eshte me mire .
Proceset fillojne ashtu qe fillon procesi me prioritet me te larte , puna nen (a)(b)(c) te punes me prioritet 4 pastaj
perseritet prap puna me prioritet 4 mirepo duke marr (a)-ne e punes me prioritet 3 . Pastaj 4 [(a)(b)(c)] dhe 3[(a)(b)]
dhe keshtu me radhe duke u perseritur gjate gjithe kohes . Pastaj kur dilet te puna prioritet 2 , atehere eshte 4
[(a)(b)(c)] dhe 3[(a)] dhe 2 (a) . 4[(a)(b)(c)] dhe 3[(a)(b)] dhe 2(a) , pra puna me prioritet 4 perseritet me se shumti .
Ndodh qe kur te ket perfunduar puna me prioritet 4 , ndonje ka punen me prioritet me te ulte te dal ne vend te pare
me prioritet me te larte .
Proceset me prioritet te ulte jane ne fund te proceseve (100-99-98) , gjate kohes kur kryhen
proceset me prioritet me te larte atehere keto me prioritet me te ulet u rritet prioriteti . Dhe arrin qe edhe keto te
kryhen . Dhe eshte mire qe te kryhen sepse zene vend ne ram memorie .
27.Thread scheduling .
Ne nivelin te shfrytezuesit scheduleri zgjedh procesin A atehere thread-at funksionojne keshtu : A1 , A2 , A3 , A1 , A2
, A3 . Nuk lejohet te kalohet ne proces tjeter derisa nuk eshte perfunduar A-ja .
Ndersa ne nivelin e Kernelit nese scheduleri zgjedh procesin A atehere mund te kalohet edhe ne procesin B : Mirepo
mund edhe te kryhet edhe vet sikur ne nivelin e shfrytezuesit ; A1, A2 , A3 , A1, A2 , A3 . Dhe;
A1 , B1 , A2 , B2 , A3 , B3 .
1. Cilat jane Operacionet e Sistemit Operativ?
o CPU bart te dhena nga memoria kryesore tek baferat local dhe nga baferat local tek
memoria
kryesore
interruptu me sukses
- Non Contiguous Memory – pjeset e nje hapsire te adresimit te procesit shperndahen mes
- Non-preemptive - procesohohen deri sa nuk dalin nga kernel mode, bloger ose ne menyre
6. Kemi dy lloje te fragmentimit, cka jane dhe permend shembuj per ta?
a) External
b) Internal
External fragmentation – disa zona te memories jane shume te vogla per tu alokuar
- Sigurojne nje menyre se si perdoruesit ti organizojne fajllat. Kemi tri lloje te direktoriumeve:
a) Nje shtresore (Single level directory) – perman 4 fajlla nga 3 perdorues A,B,C
b) Dy shtresore (Two level directory) – Ka nje ROOT pastaj 3 perdorues te cilet ndahen
c) Shume shtresore (Hierarchial level directory) – Pervec qe ka nje ROOT ka edhe nje
o SHUME-ME-NJE
o NJE-ME-NJE
o SHUME-ME-SHUME
1.Ruan kontekstin e procesorit duke perfshire program counter dhe regjistrat e tjere
a.Solaris
b.Windows me ThreadFiber pg
Sistemi Operativ eshte nje ndermjetsues mes haruderit dhe shfrytzuesi, menaxhon harduerin
e
kompjuterit, eshte nje alokues i burimeve i cili menaxhon me te gjitha resurset. Sistemi
Operativ
poashtu eshte nje program kontrolli i cili kontrollon ekzekutimin e programeve te ndryshme.
Qellimet e SO jane:
Kernel eshte porgrami i cili eshte gjithmone ne ekzekutim, me te startuar bootstrap starton
kernel,
kernelit
Interrupt eshte nje sinjal qe ben Sistemin Operativ te ndaloj punen me nje proces dhe te filloj
punen
shfrytzuesit.
Multiprogramming organizon CPU qe cdohere te kete dicka per ekzekutim sic jane jobs, codes
ose
data. Proceset jane te vendosura ne nje nenbashkesi dhe selektohen per ekzekutim permes
job
scheduling.
Dy ose me shume perdorues mund te punojne me programet dhe te ndajne pajisjet periferike
ne te
Kompjuteri mund te kete dy ose me shume njesi perpunuese qendrore(CPU) te cilet i ndajne
punet proceset.
Nje program mund te ndahet ne pjese me te vogla te cilat me pas shfrytzohet nga sistemi
operativ
a)SO krijon dhe fshine proceset sit e shfrytzuesi ashtu edhe tek sistemi
Te gjitha te dhenat, instruksionet per proceset si dhe vet procesi jane te vendosur ne
memorie.
SOvrojton se cilat pjese te memories jane ne perdorim dhe nga kush, poashtu vendos se cilat
procese apo te dhena duhet te barten na ndonje pjese e memories ne pjese tjeter apo edhe
jasht
*Nderfaqja e shfrytzuesit
*Ekzektuimi i programeve
*Operacionet e I/O
*Komunikimet
*Gjetja e gabimeve
*Alokimi i resurseve
*Llogarite(Accounting)
CLI:Ose Command Line Interface eshte nje interpretues i komandave dhe eshte i lidhur me
GUI:Ose Graphical User Interface paraqet punen me miun, tastieren apo ekranin. Mundeson
System Calls jane nderfaqe progrmauese ne sherbimet e SO, ofrohen nga SO, jane te shkruara
ne C
ose C++ zakonisht. Qasja mundesohet nga API, ku me te popullarizuarat jane: WIN per
Windows,
POSIX per Unix, LINUX per Mac, JAVA API per Java Virtual Machine.
Maintenance,Communications,Protection
*Manipulim te fajllave
*Modifikimin e fajllave
*Komunikimet
*Programe Aplikative
*Ne Text Section jane te vendosura kodi i programit dhe te dhenat per lexim
*Ne Data Section jane te vedosura variablat globale pasi kemi casje read/write
*Ne Stack Sectin jane te vendosura variablat locale dhe funksionet e tyre
Sistemi Operativ krijon nga nje PCB per secilin process ku ne te ruhen:
Gjendja e procesit
Program Counter
Regjistrat e CPU
Procesi i ka 5 gjendje:
Te gjithe proceset krijohen nga procesi prind, pervec proceseve te veqanta ne Linux te
quajtura INIT.
Ky process (INIT) krijohet nga kerneli i SO derisa eshte ne fazen e boot-imit, ka PID 1 dhe eshte
gjalle derisa sistemi eshte aktiv. Te gjitha proceset tjera jane pasardhes te tij.
Procesi femij krijohet duke bere forking tek procesi prind, procesi prind ben kopje te
vetevetes(klonim).
Procesi prind vendos se a te ndaje resurse apo jo me procesin femije, nese vendos te ndaje ai
Mund te ekzekutohen ne menyre paralele, procesi prind mund ta ndale procesin femij, me
ndreprerjen
e procesit prind nderprehet edhe procesi femij. Ne disa raste kur ai nuk nderprehet njihet si
proces
jetim.
Thread eshte nje sekuence e te dhenave, njehsi per ekzekutim. Dallimi mes procesit dhe
thread-it
Pergjegjesia – mund te lejoj ekzekutimin e vazhdueshem nese nje pjese e procesit eshte e
bllokuar
POSIX Pthreads
Windows Threads
Java Threads
Many to One
One to One
Many to Many
Shume thread te shfrytzuesit identifikohen me nje thread te vetem te kernel. Bllokimi I nje
thread
Windows
Linux
Solaris
I ngjajshem me Many to Many pervec se lejon nje thread te perdoruesit te lidhet me nje
thread te
kernelit.
*Irix
*HP-Ux
*Solaris 8 and earlier
Seksioni Kritik eshte seksioni ku procesi ndryshon ndonje variabel, rishkruan tabele apo
shkruan nje
Zgjedhja e problemit:
*Pergjashtimi i ndersjelle – nese procesi Pi po ekzekutohet ne pjesen e tij kritike atehere nuk
mund te
*Progres(Vazhdimsine) – nese asnje process nuk eshte ne seksion kritik merret vendim qe
njera nga
*Pritja e kufizuar – ekziston nje limit per numrin e qasjeve ten je procesi ne fazen ktitike pasi
atij i
Eshte program i ndertuar per sinkronizim dhe eshte forma me e sofistikuar per te sinkronizuar
punen
e proceseve. Kemi dy operacione wait dhe signal. Wait pret perderisa eshte i ndryshem prej
zeors kur
a)Kodi i programit
Dispatcher eshte nje program i cili mundeson kalimin e procesorit nga nje proces tek nje
proces tjeter.
-Te gjitha proceset kalojne nga rendi ku jane duke pritur per procesim ne CPU me cka SO
nepermjet
-Dallimi mes Single dhe Multiple Queue eshte qe kto te fundit bejne menaxhim me te mire me
input/output
-Tabela e Memorieve perdoret per te ruajtur gjurmet e te dy memorieve si asaj primare ashtu
eshe
Perdoren nga SO per te menaxhuar I/O pajisjet dhe kanalet e kompjuterit.SO duhet te dije:
a)Nese I/O pajisja eshte ne dispozicion apo e rezervuar nga ndonje pajisje tjeter
a)Ekzistenven e skedarit
d)Atribute tjera
a)Gjendjen aktuale
b)ID e procesit
c)Lokacioni(Vendndodhja) ne memorie
1.User Mode:
2.System Mode:
c)Response(completion) time – koha prej momentit kur procesi arrin ne ready deri ne
kompletimin e tij
Ne sisteme te vjetra FCFS kishte domethenie proceso programin deri ne fund kurse ne SO
moderne
ky algoritem do te thot proceso derisa te bllokohe thread-I ose te kete nevoje te komunikon
me I/O.
Nese TimeQuartum eshte shume i madh atehere kemi efektin e FCFS ndersa kur eshte i vogel
kemi
overhead.
47. RoundRobin?Cdo proces mer nje kohe te caktuar ne CPU, pas kesaj procesi behet premted
dhe
48. Cka eshte Deadlock dhe tre kushtet qe krijojne mundesine e bllokimit?Deadlock eshte nje
situate ku nuk mund te behet asnje progres.Tre kushte qe krijojne mundesi bllokimi jane:
a)Mutual Exclusion
b)No-preemptive
a)Deadlock prevetion
b)Deadlock avoidance
c)Deadlock detection
50. Cka eshte Paging?Menaxhim i memories i cili merr dhe ruan te dhenat nga memoria
sekondare
51. Memori Hierarchy?CPU > L1 Cache > MMU > L3 Cache > Memory > Disk
*Alokimi i memories eshte nje aspekt i nje veprimi me te pergjithshem ne softuer operacion i
njohur si
i detyrueshem(Binding).
operimit.
- Realokimi eshte i nevojshem nese nje program ekzekutohet korrekt ne disa hapsira te
54. Linking ?
- Asambleri fut infromata rreth Entry dhe Extern deklaratet ne nje modul te objektit per
perdorimin e Linkerit
- Lidhja Dinamike mundeson ndarjen e nje kopje te vetme te nje moduli dhe perditesimin
- Memoria eshte e alokuar kur nje funksion, procedure apo bllok ka hyre dhe eshte de-alokuar
kur ka dal.
c) Mbrojtja e memories
- Perdor bazen dhe gjatesin e regjistrit. MP ngrihet nese nje adrese e perdorur ne nje program
- Procedura e llogaritjes se adreses efektive te memories nga adresa logjike quhet Address
Translation
- Logical Address eshte adresa e nje instruksioni ose bajti te te dhenave te perdorur ne nje
proces
- Physical Address eshte adresa ne memorie ku ekziston nje instruksion apo bajt i te dhenave.
Segmentation:Programeri identifikon entitetet logjike ne nje program, secili prej tyre thirret
segment
c) Kontrollon lejet
e) Ruan metadata
f) Performance
g) Fleksibilitet
64. Cka jane Files? Files jane nje set I te dhenave me disa vecori sic jane: madhesi, pronar,
a) Byte sequence
b) Record sequence
c) Tree
*Casja sekuenciale e cila lexon dhe regjistron te g jitha bajtet nga fillimi, nuk mund te
kerceje, mund te rikthejne ose backup. I pershtateshem kur mediumi eshte mag tape.
databazes.
*Create,Delete,Open,Close,Read,Write,Append,Seek,Get attributes,Set
attributes,Rename
68. Cka jane Direktorite?Sigurojne nje menyre se si perdoruesit ti organizojne fajllat. Kemi tri
lloje te direktoriumeve:
*Nje shtresore (Single level directory) – perman 4 fajlla nga 3 perdorues A,B,C
*Dy shtresore (Two level directory) – Ka nje ROOT pastaj 3 perdorues te cilet ndahen ne
*Shume shtresore (Hierarchial level directory) – Pervec qe ka nje ROOT ka edhe nje User
*Create,Delete,OpenDIR,CloseDIR,ReadDIR.Rename,Link,Unlink
70. Pershpejtimi i casjes ne file?Nje menyre per te shpejtuar casjen ne file eshte perdorimi i
nje indeksi dhe nje menyre e zakonshme per te krijuar indeks eshte duke perdorur b-tree, nje
lloj i vecant ipermes se balancuar.Nje B-tree eshte key index strukture, e krahasueshme me
nje numer te strukturave ne memorie si, AVL tree dhe 2-3 tree.
negative?Contiguous Allocation:
a) Pozitive – lexohen bllocet ne sekuenca qe eshte shume e shpejt per te lexuar
Chained Allocation:
Block Partitions: