Professional Documents
Culture Documents
19) System calls është një metodë që një program kompjuterik të kërkojë një shërbim nga kerneli i
sistemit operativ në të cilin po ekzekutohet. Zakonisht, një numër shoqërohet me çdo system
call. System call interface mirëmban një tabelë të indeksuar sipas këtyre numrave.
20) Tre API më të përdorura:
a) Win32 API për Windows
b) POSIX API për POSIX-based sisteme
c) Java API për JVM
21) Tri metodat gjenerale që përdoren për të kaluar parametra tek SO:
a) Kalo parametrat në regjistra
b) Parametrat të ruajtura në një block, tabelë, memorie, dhe adresë të block-ut kalohen si
një parametër në një regjistër
c) Parametrat të vendosura, ose të shtyjtura, në një stack prej programit dhe “popped”
prej stack në një sistem operativ
22) Llojet e System Calls:
a) File management
b) Device management
c) Information maintenance
d) Communications
e) Protection
23) System Programs ofrojnë një mjedis të përshtatshëm për zhvillimin dhe ekzekutimin e
programit. System Programs ndahen në:
a) File manipulation
b) Status information ndonjëherë ruhet në një file
c) Programming language support
d) Program loading and execution
e) Communications
f) Background Services
g) Application programs
24) Souce code i kompajlluar në object files të dizajnuar për tu ngarkuar në ndonjë lokacion fizik të
memories quhet relocatable object file.
25) Linker kombinon këto në një filë të vetëm binar. Gjithashtu sjell librarite. Duhet të vendoset në
memorie prej loader që të ekzekutohet.
26) Relocation cakton adresat përfundimtare për pjesët e programit dhe rregullon kodin dhe të
dhënat në program që të përputhen me ato adresa.
27) Application Binary Interface (ABI) është një arkitekturë ekuivalente me API, definon si
komponentet e ndryshme të kodit binar mund të ndërlidhen për një sistem operativ të caktuar
në një arkitekturë të caktuar, CPU, etj.
28) Qëllimet sipas dizajnit dhe implementimit:
a) User Goals – SO duhet të jetë lehtë për tu përdorur, i përshtatshëm, i sigurtë dhe i
shpejtë
b) System Goals – SO duhet të jetë i lehtë për tu dizajnuar, implementuar, dhe
mirëmbajtur, si dhe fleksibil, pa gabime dhe efikas
29) Policy – Çka duhet bërë?
30) Mechanism – Si duhet bërë?
31) SO UNIX përbëhet prej dy pjesëve:
a) Programet e sistemit
b) Kernel – Përbën të gjitha poshtë
system call interface dhe lartë
harduerit fizik. Ofron sistemin e
files, skedulimin e CPU,
menaxhimin e memories, dhe
funksione tjera operating-system
32) Tek layered approach, SO është i ndarë në një numër të shtresave, secila e ndërtuar në krye të
shtresave të mëposhtme. Shtresa e poshtme (Shtresa 0) është hardueri, shtresa e lartë është UI.
33) Microkernels lëvizin aq sa munden prej kernel në hapësirën e përdoruesit.
Ligjërata 3 – Proceset
34) Çka është procesi (10), pjesët e procesit (11), state (13), etj (12) janë përmendur më lartë.
35) Process Control Block (PCB) përmban informacion të lidhur me çdo proces
a) Process state
b) Program counter – lokacioni i udhëzimit të ardhshëm për ekzekutim
c) CPU registers – përmbajtja e të gjitha regjistrave proces centrike
d) CPU scheduling information – prioritetet, scheduling queue pointers
e) Memory-management information – memoria e alokuar për proces
f) Accounting information – CPU e përdorur, clock time prej startimit, limiti kohor
g) I/O status information – pajisjet I/O të alokuara për procesin, lista e files të hapura
36) Një context switch ndodh kur një CPU kalon prej një procesi në tjetrin. Kur CPU kalon në një
proces tjetër, sistemi duhet të ruaj gjendjen (state) e procesit të kaluar dhe të ngarkon gjendjen
(state) e ruajtur për procesin e ri përmes context switch.
37) iOS lejon vetëm një proces të ekzekutohet, tjerat i pezullon. Procesi i vetëm foreground
kontrollohet me anë të UI. Proceset e shumta background gjinden në memorie, duke
funksionuar, por jo në ekran, dhe me limite
38) Android ekzekuton foreground dhe background, me më pak limite. Background proceset
përdorin një servis për të kryer tasqe. Servisi mund të vazhdojë edhe kur procesi background
pezullohet.
39) Sistemi duhet të ofroj mekanizma për:
a) Krijimin e proceseve – procesi prind krijon proceset fëmij, të cilat krijojnë procese tjera,
duke formuar një pemë procesesh. Procesi identifikohet dhe menaxhohet me anë të
process identifier (pid).
b) Terminimin e proceseve – procesi ekzekuton deklaratën e fundit dhe pastaj kërkon që
SO ta fshij atë me anë të system call exit(). Prindi mund të terminojë ekzekutimin e
proceseve fëmij duke përdorur system call abort(). Nëse një proces terminohet,
terminohen edhe fëmijët e tij.
40) Google Chrome™ Browser është një multiproces me 3 lloje të proceseve:
a) Browser
b) Renderer
c) Plug-ins
41) Proceset brenda një sistemi mund të jenë të pavarura (independent) dhe bashkëpunuese
(cooperating).
42) Proceset bashkëpunuese mund të ndikojnë ose të ndikohen nga proceset tjera, duke përfshirë
shpërndarjen e të dhënave. Proceset bashkëpunuese përdorin interprocess communication (IPC)
43) Dy modelet e IPC:
a) Shared memory – brenda kontrollit të përdoruesit
b) Message passing – brenda kontrollit të sistemit
44) Problemi prodhues-konsumator paraqet një model për proceset bashkëpunuese:
a) procesi prodhues prodhon të dhënat që konsumohen nga procesi konsumator
45) Variacionet e problemit prodhues-konsumator:
a) unbounded buffer – nuk vendos limit në madhësinë e buffer. Prodhuesi nuk pret kurrë,
konsumatori pret nëse nuk ka buffer për të konsumuar.
b) bounded buffer – supozon se ka limit në madhësinë e buffer. Prodhuesi pret nëse buffer
është e plotë, konsumatori pret nëse nuk ka buffer për të konsumuar.
46) IPC Message Passing mundëson që proceset të komunikojnë me njëra-tjetrën pa përdorur
variabla të përbashkëta. IPC mundëson dy operacione:
a) send(message)
b) receive(message)
47) Tek Direct Communication proceset duhet të emërojnë njëri-tjetrin qartësisht.
a) send(P, message) – dërgo mesazh tek procesi P
b) receive(Q, message) – prano mesazh nga procesi Q
48) Tek Indirect Communication mesazhet dërgohen dhe pranohen nga një “kuti postare”, ku secila
kuti ka një id unike, dhe proceset mund të komunikojnë vetëm nëse kanë një kuti të përbashkët.
49) Message passing mund të jetë ose blocking ose non-blocking.
50) Blocking konsiderohet sinkron.
a) Blocking send – dërguesi bllokohet deri sa mesazhi pranohet
b) Blocking receive – pranuesi bllokohet deri sa një mesazh është në dispozicion
51) Non-blocking konsiderohet asinkron.
a) Non-blocking send – dërguesi dërgon mesazhin dhe vazhdon
b) Non-blocking receive – pranuesi pranon:
i. Një mesazh valid, ose
ii. Një mesazh null
52) Nëse edhe dërgimi edhe pranimi janë të bllokuara, kemi një rendezvous.
53) Buffering – radhë (queue) e mesazheve të lidhura te linku. Implementohet në një prej tri
mënyrave:
a) Zero capacity – mesazhet nuk hyjnë në radhë, dërguesi duhet të pret për pranuesin
b) Bounded capacity – gjatësi të fundëm n, dërguesi duhet të pret nëse link është plot
c) Unbounded capacity – gjatësi infinite, dërguesi nuk pret kurrë
54) Pipes shërbejnë si një përçues që lejon dy procese të komunikojnë.
a) Ordinary pipes – nuk mund të qasen prej jasht procesit që e ka krijuar. Zakonisht
krijohet nga një proces prind për të komunikuar me proceset fëmij.
b) Named pipes – mund të qasen pa lidhje prind-fëmij.
55) Një prizë (socket) mund të definohet si një endpoint për komunikim.
Ligjërata 5 – Sinkronizimi
74) Sinkronizimi i proceseve ndihmon në koordinimin mes tyre dhe evitimin e konflikteve.
75) Çdo proces ka një segment të kodit që quhet seksioni kritik. Në këtë seksion procesi mund të
jetë duke ndryshuar ndonjë variabël, duke rishikuar një tabelë, duke shkruar një file, etj.
a) Entry Section
b) Exit Section
c) Reminder Section
76) Zgjidhja e problemit te seksionit kritik duhet ti përmbush këto tri kërkesa:
a) Përjashtimin reciprok – Nëse një proces është duke e ekzekutuar seksionin kritik atëhere
asnjë proces tjetër nuk lejohet ta ekzekutoj seksionin kritik
b) Vazhdimësinë/Progresin – Nëse asnjë prej proceseve nuk gjendet në fazën kritike dhe
disa prej proceseve janë duke tentuar të hyjnë në fazën kritike atëhere vetëm ato
procese të cilat nuk gjenden në seksionin Reminder mund të marrin pjesë në vendimin
se cili proces duhet të hyj në fazën kritike.
c) Pritjet e kufizuara (Bounded Waiting) – Ekziston një limit për numrin se sa herë një
proces lejohet që të hyjë në fazën kritike pasi që ai proces të ketë bërë kërkesën edhe
pasi që i është aprovuar kërkesa.
//
82) Interrupt është një sinjal që bën Sistemin Operativ të ndaloj punën me një proces dhe të filloj
punen me një proces tjetër.
83) Mutex (shkurt për Mutual Exclusion) është një mekanizëm për bllokim qe përdoret për
sinkronizim te qasjes ne burimet e përbashkëta. Vetëm një proces apo thread mund te marr
qelësin e bllokimit (Mutex). Kjo do të thotë se në rastin e Mutex, Mutex është në pronësi të
dikujt dhe vetëm pronari mund të lirojë këtë qelës.
84) Mutex Locks – Boolean variable që tregon se a është një kyç në dispozicion apo jo. Dy
operacione:
a) acquire() lock
b) release() lock
85) Semafori kufizon numrin e shfrytëzuesve që mund të kenë qasje në burimet e përbashkëta në të
njëjtën kohe. Threads mund te kërkojnë të kenë qasje tek burimet (duke e zvogëluar numrin e
Tokenëve) dhe mund te sinjalizojnë kur të mbarojnë punë (duke e rritur numrin e Tokenëve). Tri
funksionet kryesore janë:
a) Vendos (set)
b) Kontrollo (check)
c) Prit deri sa vlera paraprake është realizuar dhe të vendoset prap
86) Monitori është një koncept që u mundëson threads të kenë qasje në burime përmes
përjashtimit reciprok dhe të kenë mundësinë për të bllokuar deri sa një kusht nuk plotësohet.
Monitorët po ashtu kanë një mekanizëm për ti sinjalizuar threads tjerë kur një kusht është
plotësuar.
87) Funksioni wait tek:
a) Semaforët – Nëse numri > 0 nuk bllokohet procesi
b) Monitorët – Bllokohet
88) Funksioni signal tek:
a) Semaforët – Ose zhbllokohet ose rritet numri i tokenave
b) Monitorët – Nuk ka efekt në variablën kushtëzuese
Ligjërata 6 – Deadlocks
89) Deadlock mund të paraqitet nëse katër kushte mbahen në të njejtën kohë:
a) Mutual exclusion – Vetëm një proces mund ta përdor një resurs në një kohë
b) Hold and wait – Një proces që mban së paku një resurs është duke pritur për të marrë
resurse shtesë, të cilat janë duke u mbajtur nga proceset tjera
c) No preemption - Një resurs mund të lirohet vetëm në mënyrë vullnetare nga procesi që
është duke e mbajtur, pasi që procesi e ka përfunduar taskën e tij
d) Circular wait – Ekziston një grup {P0, P1, …, Pn} i proceseve që janë duke pritur ashtu që P0
është duke pritur resursin e mbajtur nga P 1, P1 është duke pritur resursin e P 2, etj etj, Pn
është duke pritur resursion e mbajtur nga P0.
90) Për të siguruar që sistemi kurr nuk hyn në gjendje të deadlock përdoren:
a) Deadlock prevention
b) Deadlock avoidance
91) Deadlock prevention zhvlerëson një prej katër kushtet e nevojshme për deadlock:
a) Mutual exclusion – nuk kërkohet për resurset e shpërndarshme
b) Hold and Wait – duhet të garantojë që çdo herë një proces kërkon një resurs, të mos
ketë ndonjë resurs tjetër
c) No preemption – nëse një proces që është duke mbajtur do resurse kërkon një resurs
që nuk mundet menjëherë të iu alokohet, atëhere të gjitha resurset e mbajtura lirohen
d) Circular Wait – vendos një renditje totale të të gjitha llojeve të resurseve, dhe kërkon që
çdo proces kërkon resurse në një renditje inkrementale
92) Deadlock avoidance kërkon se sistemi ka informacione shtesë të mundshme. Mënyra më e
thjeshtë është garantimi se çdo proces deklaron numrin maksimal të resurseve që i nevojitet.
93) Sistemi është në një safe state kur ekziston një sekuencë <P1, P2, …, Pn> të të gjitha proceseve në
sistem ashtu që për çdo Pi, resurset që Pi mund ti nevojiten, kërkesat ende të plotësohen me
resurset e mundshme për momentin, plus resurset e mbajtura nga Pj, ku j < i.
94) Shërimi nga deadlock:
a) Selektimi i një viktime – minimizimi i kostos
b) Rollback – kthimi në një safe state
c) Starvation – i njejti proces mund të zgjedhet gjithë si viktima, përfshij numrin e rollback
tek faktori i kostos
95) Parathënie:
a) Programi duhet të sillet nga disku në memorie në mënyrë që të ekzekutohet në
procesor.
b) Memoria kryesore dhe regjistrat janë deponitë e vetme në të cilat CPU ka qasje direkte
c) Regjistrat e CPU zakonisht janë te qasshëm brenda një cikli te CPU Clock
d) Ndërsa qasje në memorie kryesore kërkon më shume cikle dhe krijon stall
e) Cache qëndron në mes të memories kryesore dhe regjistrave
f) Mbrojtja e memories nënkupton operimin korrekt me memorie
96) Teminologjia:
a) Segmenti – Pjesë e memories e cila i dedikohet procesit
b) Adresa Fizike – Adresa reale në memorie
c) Adresa Virtuale/Logjike – Adresa e gjeneruar nga CPU për një proces të caktuar
d) Memory Management Unit – Njësia e menaxhimit të memories në SO.
97) Regjistri bazë (base) dhe regjistri kufitar (limit) paraqesin hapësirën e memories dhe
kontrollohen nga SO. CPU duhet të kontrolloj secilën kërkesë për qasje në memorie në mënyrë
që të sigurohet që ajo është brenda intervalit të regjistrit bazë dhe regjistrit kufitar.
98) Lidhja e adresave të instruksioneve dhe të dhënave në adresimet e memories mund të bëhet
sipas tri momenteve të ndryshme:
a) Compile Time – Kompajlleri gjeneron lokacione direkt në memorien fizike, duke filluar
nga ndonjë pozitë fikse n.
b) Load Time – Kompajlleri gjeneron një adresë, mirëpo gjatë ngarkimit SO vendos pozitën
fillestare të procesit. Pasi që procesi të ngarkohet, nuk lëviz në memorie.
c) Execution Time – Kompajlleri gjeneron një adresë, pastaj SO e bën vendosjen në
memorie.
99) Memory Management Unit (MMU) – Pajisje harduerike që një run time harton adresën virtuale
tek ajo fizike.
100) Rilokimi – Vendosim SO në nivelin më të lartë të memories. Supozojmë që procesi fillon me 0
dhe ka adresën maksimale të barabartë me madhësinë totale të memories – madhësinë e OS.
Ngarkojmë procesin duke i alokuar segmentin e ardhshëm në memorie. Adresa më e vogël fizike
është adresa bazë, ndërsa adresa më e madhe fizike është adresa kufitare.
a) Rilokimi statik – Në kohën e ngarkesës SO pasqyron adresimet e procesit në adresime të
memories. Pasi që procesi i është dedikuar adresa e memories, dhe procesi vazhdon të
ekzekutohet, SO nuk mund të lëvizë atë.
b) Rilokimi dinamik – Hardueri e shton regjistrin bazë të rilokimit në adresën virtuale për të
pasqyruar atë në adresën fizike. Hardueri krahason adresat me regjistrat kufitar. Nëse
krahasimi nuk del i suksesshëm procesori e ndërpren adresën virtuale dhe e eliminon
përdorimin e adresës fizike.
101) Rregullat e alokimit të memories:
a) Përshtatja e Parë (First-Fit) – Alokimi i hapsirës së parë, e cila është e mjaftueshme për
procesin.
b) Përshtatja më e Mirë (Best-Fit) – Alokimi i hapsirës më të vogël, e cila është e
mjaftueshme për procesin.
c) Përshtatja më e Dobët (Worst-Fit) – Alokimi i hapsirës më të madhe.
102) Fragmentimi:
a) Fragmentimi i jashtëm – Ndodh kur hapsira e memories është e mjaftueshme për të
vendosur procesin, mirëpo nuk është e vazhduar.
i. Rregulla 50% - Për çdo 2 blloqe të memories së alokuar e 3-ta humbet pas
fragmentimit.
b) Fragmentimi i brendshëm – Fragmentimi ndodh brenda bllokut të memories.
103) Shkëmbimi (Swapping) – Zhvendosja e procesit në disk, lirimi i memories në shfrytëzim. Kur
procesi të jetë aktiv, SO duhet ta ngarkoj atë sërish në memorie.
a) Me rilokim statik, procesi duhet të vendoset në pozitën e njejtë
b) Me rilokim dinamik, SO gjen një pozicion të ri në memorie për vendosjen e procesit si
dhe ripërtrinë regjistrat e rilokimit dhe kufitar.
104) PAGE (Paging):
a) Rregulla 90/10 – Procesi kalon 90% të kohës duke u qasur vetëm në 10% të hapsirës në
memorie
b) Në memorie qëndrojnë vetëm pjesët e procesit që janë aktualisht duke u shfrytëzuar
c) PAGE thjeshtëson problemin e hapsirave të pashfrytëzueshme
105) PAGE është formë e rilokimit dinamik, ku çdo adresë virtuale është e pasqyruar në adresën fizike
me ndihmën e PAGEs harduerike. Tabela e PAGEs mund të shihet si një bashkësi e regjistrave
rilokues, një për secilën kornizë.
106) Kqyr ne provime qa ka për PAGE
107) Translation Look-aside Buffer (TLB) – Memorie e shpejt e asocuar e cila ruan numrat e PAGEs si
dhe kornizën ku ato janë të ruajtura.
108) PAGE TLDR:
a) Eliminojnë problemin e fragmentimit të jashtëm rrjedhimisht nevojën për kompaktim
b) Lejojnë ndarjen e memories në mes të proceseve, duke zvogëluar kërkesën e
përgjithshme të memories.
c) Lejojnë që procesi të ekzekutohet kur ata gjenden vetëm pjesërisht në memorie
kryesore.
109) Segmentimi bën shfaqjen e memories tek SO nga pikpamja e shfrytëzuesit.
111) Virtual memory – Ndarja e memories logjike të përdoruesit prej memories fizike.
112) Virtual address space – Pamja logjike se si procesi ruhet në memorie. Implementohet me anë të:
a) Demand paging – Mund të sjell të gjithë procesin në memorie në kohë të ngarkimit, ose
një faqe (page) në memorie vetëm kur na nevojitet.
i. Lazy swapper – Nuk ndërron kurr një faqe në memorie, përveq kur ajo faqe na
nevojitet
// PAGE e kërkuar edhe PAGE e paracaktuar kqyr a po lypet
b) Demand segmentation
113) Kur kemi të bëjmë me PAGE-in e dështuar, ne duhet të përzgjedhim njërën prej PAGEve për të
larguar:
a) First In First Out (FIFO) – Largon PAGE-in më të vjetër
b) Min – Largojmë PAGE-in e cila është frekuentuar ose përdorur më së paku
c) Least recently useed (LRU) – Largojmë PAGE-in e cila ka periudhën më të madhe që nuk
është përdorur
d) Rëndomtë
142) Virtualizimi është procesi i krijimit të një diçkaje në mënyrë virtuale ose software-based? Llojet e
virtualizimit:
a) Type 1 / Bare Metal
b) Type 2 / Hosted
143) Hypervisor, ose Virtual Machine Manager (VMM), është një program që lejon sdisa SO të ndajnë
një host harduer.
144) Cloud Computing është një model për mundësimin e qasjes të përshtashme dhe sipas kërkesës
në një grup të përbashkët të resurseve kompjuterike të konfiguruara, që mund të disponohen
shpejtë dhe lëshohen me menaxhim minimal.
145) Atributet e Cloud Computing:
a) Scalability
b) Low Latency
c) Guaranteed Performance
d) Extensible Management
e) Self-Healing Resilience
146) Karakteristikat esenciale të Cloud Computing:
a) On-demand self-service
b) Broad Network Access
c) Resource pooling
d) Rapid elasticity
e) Measured service
147) Modelet e Cloud Service:
a) Infrastructure as a Service (IaaS):
i. Servera provizion
ii. Storage
iii. Resurset e rrjetit
b) Platform as a Service (PaaS):
i. Platforma Middleware
ii. Solution Stack
iii. Dyjat të qasshme përmes rrjetit
c) Software as a Service (SaaS):
i. Software
ii. Aplikacionet
iii. Ose serviset që dorëzohen me anë të rrjetit
148) Fund 😊