Podcast
Questions and Answers
Cili nga pohimet e mëposhtme e dallon më së miri një proces nga një thread?
Cili nga pohimet e mëposhtme e dallon më së miri një proces nga një thread?
- Proceset kanë shkallë të lartë rrjedhjeje, ndërsa thread-et kanë shkallë të ulët rrjedhjeje.
- Thread-et janë instanca të programeve që ekzekutohen, ndërsa proceset janë pjesë të vogla që ekzekutojnë punë specifike.
- Proceset janë një instancë e programit që ekzekutohet, ndërsa thread-et janë pjesë e vogël e procesit që ekzekuton punë specifike. (correct)
- Proceset ndajnë të njëjtën hapësirë memorie, ndërsa thread-et kanë hapësira memorie të ndryshme.
Në cilën situatë mund të ndodhë një 'Race Condition'?
Në cilën situatë mund të ndodhë një 'Race Condition'?
- Kur disa thread-e ndajnë të njëjtën memorje vetëm për lexim.
- Kur disa thread-e përpiqen të ndryshojnë të njëjtin burim të përbashkët të të dhënave në të njëjtën kohë. (correct)
- Kur një proces krijon një thread të ri.
- Kur një thread pret që një proces tjetër të përfundojë.
Cila nga veglat e sinkronizimit ofron performancë të lartë, por mund të ketë kompleksitet në debugging për shkak të sjelljes së paparashikueshme?
Cila nga veglat e sinkronizimit ofron performancë të lartë, por mund të ketë kompleksitet në debugging për shkak të sjelljes së paparashikueshme?
- Mutexlocks
- Monitori
- Semafori (correct)
- Variablat e kushtit
Çfarë tregon pthread_scope
në një aplikacion me shumë thread-e?
Çfarë tregon pthread_scope
në një aplikacion me shumë thread-e?
Cila nga opsionet e mëposhtme përmban vetëm librari kryesore për thread-e në përdorim?
Cila nga opsionet e mëposhtme përmban vetëm librari kryesore për thread-e në përdorim?
Cili funksion përdoret për të vendosur atributin e garës për një thread në Pthread IPC?
Cili funksion përdoret për të vendosur atributin e garës për një thread në Pthread IPC?
Çfarë vlere i bartet parametrit të dytë të funksionit pthread_attr_setscope()
për të treguar se si do të vendoset gara në mes _thread_ave?
Çfarë vlere i bartet parametrit të dytë të funksionit pthread_attr_setscope()
për të treguar se si do të vendoset gara në mes _thread_ave?
Çfarë janë push migration dhe pull migration në kontekstin e balancimit të ngarkesës?
Çfarë janë push migration dhe pull migration në kontekstin e balancimit të ngarkesës?
Në zgjidhjen e Peterson-it, çfarë roli ka variabla turn
?
Në zgjidhjen e Peterson-it, çfarë roli ka variabla turn
?
Çfarë janë semaforët në kontekstin e sinkronizimit të proceseve?
Çfarë janë semaforët në kontekstin e sinkronizimit të proceseve?
Çfarë përfaqëson 'Liveness' në sistemet operative?
Çfarë përfaqëson 'Liveness' në sistemet operative?
Çfarë është deadlock?
Çfarë është deadlock?
Si ndikon përdorimi i një liste pritjeje në implementimin e semaforëve në potencialin për deadlock?
Si ndikon përdorimi i një liste pritjeje në implementimin e semaforëve në potencialin për deadlock?
Në algoritmin Round-Robin, çfarë ndodh kur një proces nuk ka nevojë për të gjithë pjesën kohore të alokuar?
Në algoritmin Round-Robin, çfarë ndodh kur një proces nuk ka nevojë për të gjithë pjesën kohore të alokuar?
Si ndikon madhësia e pjesës kohore në performancën e algoritmit Round-Robin?
Si ndikon madhësia e pjesës kohore në performancën e algoritmit Round-Robin?
Në planifikimin me prioritete, çfarë ndodh me proceset që kanë të njëjtin prioritet?
Në planifikimin me prioritete, çfarë ndodh me proceset që kanë të njëjtin prioritet?
Si lidhet algoritmi SJF (Shortest Job First) me planifikimin e prioriteteve?
Si lidhet algoritmi SJF (Shortest Job First) me planifikimin e prioriteteve?
Çfarë përparësie ka përdorimi i prioriteteve të definuara nga brenda në planifikimin e proceseve?
Çfarë përparësie ka përdorimi i prioriteteve të definuara nga brenda në planifikimin e proceseve?
Cili nga sistemet operative të mëposhtme përdor një identifikues unik të procesit (PID) për të menaxhuar proceset?
Cili nga sistemet operative të mëposhtme përdor një identifikues unik të procesit (PID) për të menaxhuar proceset?
Cili proces në sistemet UNIX/Linux ka gjithmonë PID-in me vlerë 1 dhe cilën rol kryen?
Cili proces në sistemet UNIX/Linux ka gjithmonë PID-in me vlerë 1 dhe cilën rol kryen?
Si ndikon përdorimi i një pjesë kohore shumë të vogël në algoritmin Round-Robin?
Si ndikon përdorimi i një pjesë kohore shumë të vogël në algoritmin Round-Robin?
Cili është një disavantazh i mundshëm i planifikimit të prioriteteve?
Cili është një disavantazh i mundshëm i planifikimit të prioriteteve?
Cila thirrje sistemore përdoret për të krijuar një proces fëmijë, dhe çfarë ndodh gjatë këtij procesi?
Cila thirrje sistemore përdoret për të krijuar një proces fëmijë, dhe çfarë ndodh gjatë këtij procesi?
Nëse prioriteti 0 tregon prioritetin më të lartë, si do të planifikoheshin proceset me prioritete 0, 1, dhe 2?
Nëse prioriteti 0 tregon prioritetin më të lartë, si do të planifikoheshin proceset me prioritete 0, 1, dhe 2?
Çfarë funksioni kryen thirrja sistemore exec()
në kontekstin e krijimit të proceseve?
Çfarë funksioni kryen thirrja sistemore exec()
në kontekstin e krijimit të proceseve?
Si mund të presë procesi prind për përfundimin e një procesi fëmijë dhe çfarë informacioni mund të marrë nga ky proces?
Si mund të presë procesi prind për përfundimin e një procesi fëmijë dhe çfarë informacioni mund të marrë nga ky proces?
Si reagon sistemi operativ kur një program ndalon ekzekutimin në mënyrë jo të rregullt për shkak të një gabimi?
Si reagon sistemi operativ kur një program ndalon ekzekutimin në mënyrë jo të rregullt për shkak të një gabimi?
Cili është roli i një debugger në procesin e zhvillimit të programeve?
Cili është roli i një debugger në procesin e zhvillimit të programeve?
Çfarë ndodh kur një proces përfundon ekzekutimin dhe thërret exit()
?
Çfarë ndodh kur një proces përfundon ekzekutimin dhe thërret exit()
?
Çfarë e karakterizon një proces si 'zombie'?
Çfarë e karakterizon një proces si 'zombie'?
Në modelin e komunikimit me shkëmbim të mesazheve, si ndërveprojnë proceset me njëri-tjetrin?
Në modelin e komunikimit me shkëmbim të mesazheve, si ndërveprojnë proceset me njëri-tjetrin?
Cilat thirrje sistemore përdoren në modelin e memories së përbashkët për të krijuar dhe lidhur proceset me memorien e përbashkët?
Cilat thirrje sistemore përdoren në modelin e memories së përbashkët për të krijuar dhe lidhur proceset me memorien e përbashkët?
Në cilat kushte një proces konsiderohet i pavarur dhe kur bashkëpunues?
Në cilat kushte një proces konsiderohet i pavarur dhe kur bashkëpunues?
Cili nga shërbimet e sistemit ndihmon në organizimin dhe menaxhimin e të dhënave në një sistem operativ?
Cili nga shërbimet e sistemit ndihmon në organizimin dhe menaxhimin e të dhënave në një sistem operativ?
Një programues po kërkon të shohë statistikën e përdorimit të burimeve të sistemit si CPU dhe memorie. Cili shërbim sistemi do të ishte më i përshtatshëm për këtë?
Një programues po kërkon të shohë statistikën e përdorimit të burimeve të sistemit si CPU dhe memorie. Cili shërbim sistemi do të ishte më i përshtatshëm për këtë?
Cili është funksioni kryesor i Linker-it në procesin e ndërtimit të një programi?
Cili është funksioni kryesor i Linker-it në procesin e ndërtimit të një programi?
Cili është roli kryesor i Loader në një sistem operativ?
Cili është roli kryesor i Loader në një sistem operativ?
Cila nga arsyet e mëposhtme nuk është një arsye kryesore për të ofruar një ambient ku proceset mund të bashkëpunojnë?
Cila nga arsyet e mëposhtme nuk është një arsye kryesore për të ofruar një ambient ku proceset mund të bashkëpunojnë?
Cili nga mekanizmat e mëposhtëm nuk konsiderohet si një model themelor i komunikimit ndër-proces (IPC)?
Cili nga mekanizmat e mëposhtëm nuk konsiderohet si një model themelor i komunikimit ndër-proces (IPC)?
Në kontekstin e komunikimit ndër-proces, cili është dallimi kryesor midis një baferi të pakufizuar dhe një baferi të kufizuar?
Në kontekstin e komunikimit ndër-proces, cili është dallimi kryesor midis një baferi të pakufizuar dhe një baferi të kufizuar?
Në komunikimin me bartje të mesazhit, cilat janë dy operacionet themelore që mundësojnë shkëmbimin e të dhënave midis proceseve?
Në komunikimin me bartje të mesazhit, cilat janë dy operacionet themelore që mundësojnë shkëmbimin e të dhënave midis proceseve?
Nëse një bafer i kufizuar ka madhësinë N
, kur konsiderohet baferi i mbushur plotësisht?
Nëse një bafer i kufizuar ka madhësinë N
, kur konsiderohet baferi i mbushur plotësisht?
Në kontekstin e komunikimit ndër-proces, cili avantazh ofron përdorimi i memorjes së përbashkët krahasuar me bartjen e mesazhit?
Në kontekstin e komunikimit ndër-proces, cili avantazh ofron përdorimi i memorjes së përbashkët krahasuar me bartjen e mesazhit?
Çfarë ndodh në një sistem që përdor bartjen e mesazhit kur një proces dërgues mundohet të dërgojë një mesazh te një proces marrës që nuk ekziston?
Çfarë ndodh në një sistem që përdor bartjen e mesazhit kur një proces dërgues mundohet të dërgojë një mesazh te një proces marrës që nuk ekziston?
Një sistem përdor një bafer të kufizuar me madhësi 5. Aktualisht, in = 2
dhe out = 0
. Sa elemente mund të shtohen maksimalisht në bafer pa shkaktuar mbushje?
Një sistem përdor një bafer të kufizuar me madhësi 5. Aktualisht, in = 2
dhe out = 0
. Sa elemente mund të shtohen maksimalisht në bafer pa shkaktuar mbushje?
Flashcards
Çfarë është një proces?
Çfarë është një proces?
Një instancë e një programi që ekzekutohet në kompjuter.
Çfarë është një thred?
Çfarë është një thred?
Pjesë e vogël e një procesi që kryen një punë specifike.
Çfarë është Race Condition?
Çfarë është Race Condition?
Gjendje kur disa thred ose procese përpiqen të ndryshojnë të njëjtin burim të përbashkët të të dhënave në të njëjtën kohë.
Çfarë është pthread_scope?
Çfarë është pthread_scope?
Signup and view all the flashcards
Cilat janë tre libraritë kryesore për thredat?
Cilat janë tre libraritë kryesore për thredat?
Signup and view all the flashcards
Çfarë është PID?
Çfarë është PID?
Signup and view all the flashcards
PID-i i procesit systemd
PID-i i procesit systemd
Signup and view all the flashcards
Si krijohet një proces fëmijë?
Si krijohet një proces fëmijë?
Signup and view all the flashcards
Qëllimi i thirrjes exec()
Qëllimi i thirrjes exec()
Signup and view all the flashcards
Si përfundon një proces?
Si përfundon një proces?
Signup and view all the flashcards
Si përfundon një proces fëmijë nga prindi?
Si përfundon një proces fëmijë nga prindi?
Signup and view all the flashcards
Çfarë është proces zombie?
Çfarë është proces zombie?
Signup and view all the flashcards
Proces i pavarur vs. bashkëpunues
Proces i pavarur vs. bashkëpunues
Signup and view all the flashcards
Pse bashkëpunojnë proceset?
Pse bashkëpunojnë proceset?
Signup and view all the flashcards
Modelet e komunikimit IPC?
Modelet e komunikimit IPC?
Signup and view all the flashcards
Çfarë janë baferët?
Çfarë janë baferët?
Signup and view all the flashcards
Baferi i pakufizuar
Baferi i pakufizuar
Signup and view all the flashcards
Baferi i kufizuar
Baferi i kufizuar
Signup and view all the flashcards
Kur është i zbrazët baferi?
Kur është i zbrazët baferi?
Signup and view all the flashcards
Kur është i mbushur baferi?
Kur është i mbushur baferi?
Signup and view all the flashcards
Si funksionon bartja e mesazhit?
Si funksionon bartja e mesazhit?
Signup and view all the flashcards
Trajtimi i ndërprerjeve të programit
Trajtimi i ndërprerjeve të programit
Signup and view all the flashcards
Çfarë është Debugger?
Çfarë është Debugger?
Signup and view all the flashcards
Mënyrat e komunikimit ndër-proceseve
Mënyrat e komunikimit ndër-proceseve
Signup and view all the flashcards
Modeli me shkëmbim të mesazheve
Modeli me shkëmbim të mesazheve
Signup and view all the flashcards
Modeli me memorie të përbashkët
Modeli me memorie të përbashkët
Signup and view all the flashcards
Çfarë ofrojnë shërbimet e sistemit?
Çfarë ofrojnë shërbimet e sistemit?
Signup and view all the flashcards
Çfarë është Linker?
Çfarë është Linker?
Signup and view all the flashcards
Çfarë është Loader?
Çfarë është Loader?
Signup and view all the flashcards
pthread_attr_setscope/getscope
pthread_attr_setscope/getscope
Signup and view all the flashcards
Push dhe Pull Migration
Push dhe Pull Migration
Signup and view all the flashcards
Zgjidhja nga Peterson
Zgjidhja nga Peterson
Signup and view all the flashcards
Semafori
Semafori
Signup and view all the flashcards
Liveness
Liveness
Signup and view all the flashcards
Deadlock
Deadlock
Signup and view all the flashcards
Variabla turn (Zgjidhja nga Peterson)
Variabla turn (Zgjidhja nga Peterson)
Signup and view all the flashcards
Vargu flag (Zgjidhja nga Peterson)
Vargu flag (Zgjidhja nga Peterson)
Signup and view all the flashcards
Round-Robin
Round-Robin
Signup and view all the flashcards
Koha e pritjes
Koha e pritjes
Signup and view all the flashcards
Planifikimi sipas prioritetit
Planifikimi sipas prioritetit
Signup and view all the flashcards
SJF dhe Prioriteti
SJF dhe Prioriteti
Signup and view all the flashcards
Prioriteti (P)
Prioriteti (P)
Signup and view all the flashcards
Diagrami Gantt
Diagrami Gantt
Signup and view all the flashcards
Prioritet i definuar nga brenda
Prioritet i definuar nga brenda
Signup and view all the flashcards
Prioritet i definuar nga jashtë
Prioritet i definuar nga jashtë
Signup and view all the flashcards
Study Notes
Sistemet Operative
- Sistemet Operative (SO) janë softuerë që menaxhojnë harduerin e kompjuterit.
- SO ofron një bazë për programet aplikative.
- SO luan rolin e ndërmjetësuesit ndërmjet përdoruesit dhe harduerit.
- Kompjuteri ndahet në katër pjesë: hardueri, sistemi operativ, programet aplikative dhe shfrytëzuesi.
- SO është program kontrolli, që menaxhon ekzekutimin e programeve të shfrytëzuesit.
- SO parandalon gabimet dhe përdorimin jo të duhur të kompjuterit. Shënim: SO merret me punën dhe kontrollin e pajisjeve hyrëse/dalëse.
- Qëllimi themelor i sistemeve kompjuterike është ekzekutimi i programeve dhe lehtësimi i zgjidhjes së problemeve të shfrytëzuesit.
Kerneli dhe Llojet e Softuerëve
- Kerneli është pjesa e sistemit ku ekzekutohen proceset.
Përkufizim: Ekzistojnë dy lloje softuerësh:
- Programet e sistemit, pjesë e sistemit operativ, por jo domosdoshmërisht të kernelit.
- Programet aplikative, që përfshijnë të gjitha programet që nuk janë pjesë e sistemit operativ.
- Middleware është një bashkësi kornizash për zhvillimin e softuerit. Përkufizim: Ofron shërbime shtesë për zhvilluesit e aplikacioneve.
- Kompjuteri ka nevojë për një program fillestar, i njohur si bootstrap, që zakonisht është i thjeshtë.
- Bootstrap ruhet brenda harduerit si firmware dhe fillon të gjitha pjesët e sistemit kompjuterik. Shënim: Fillimi nis nga regjistrat e CPU-së deri te kontrolluesit e pajisjeve të përmbajtjes së memories.
Bootstrap dhe Programet Daemon
- Programi bootstrap duhet të vendosë sistemin operativ në memorien DRAM dhe të fillojë punën.
- Programi bootstrap gjen kernelin e sistemit operativ në disk dhe e vendos atë në memorien DRAM.
- Programet daemon ekzekutohen gjatë gjithë kohës në kernel.
- Ndërprerja trap (ose exception) shkaktohet nga softueri ose nga gabime të mundshme, ose kërkesa specifike të një programi shfrytëzuesi që kërkon një shërbim të sistemit operativ.
- System call (thirrje sistemore) është një operacion i veçantë i ekzekutuar për shërbime sistemore.
Multiprogramimi dhe Multitasking
- Multiprogramimi rrit përdorimin e CPU-së duke organizuar ekzekutimin e programeve.
- CPU-ja duhet të ketë gjithmonë një program gati për ekzekutim.
- Një program që ekzekutohet në sistem me multiprogramim njihet si proces.
- Multitasking është një zgjerim i multiprogramimit.
- Në sistemet me multitasking, CPU ekzekuton shumë procese duke kaluar shpesh nëpër to. Shënim: Ofrimi i shfrytëzuesit një kohë reagimi të shkurtër.
Mënyrat e Ndara të Punës
- Ekzistojnë dy mënyra të ndara të punës: Mënyra e shfrytëzuesit (ose user mode) dhe mënyra e kernelit (ose supervisor mode). Shënim: Një bit, i quajtur mode bit, i shtohet harduerit për të treguar mënyrën aktuale të punës: kerneli (me bitin 0) ose shfrytëzuesi (me bitin 1).
- Biti i mënyrës dallon një punë që kryhet për sistemin operativ dhe një punë që kryhet nga shfrytëzuesi.
- Në fillim, hardueri fillon në mënyrën e kernelit.
- Sistemi operativ vendoset në memorien DRAM dhe fillon programet e shfrytëzuesit në mënyrën e shfrytëzuesit.
- Kur paraqitet një trap ose ndërprerje, hardueri kalon prej mënyrës së shfrytëzuesit në mënyrën e kernelit. Shënim: Sistemi e merr nën kontroll kompjuterin duke kaluar në mënyrën e kernelit.
Kontrolli i Programit
- Sistemi kalon në mënyrën e shfrytëzuesit (me bitin 1) para se t'i japë kontrollin programit të shfrytëzuesit.
- Puna me dy mënyra (user mode dhe kernel mode) siguron mbrojtjen e sistemit operativ dhe përdoruesve.
Shënim: Instruksionet e rrezikshme, të quajtura instruksione të privilegjuara, ekzekutohen vetëm në kernel mode.
- Kernel Mode: Instruksionet e privilegjuara që mund të ekzekutohen.
- User Mode: Instruksionet e privilegjuara që nuk lejohen të ekzekutohen.
- Nëse një program në user mode përpiqet të ekzekutojë një instruksion të privilegjuar, hardueri e ndalon atë dhe e kthen kontrollin tek sistemi operativ. Shënim: Kjo parandalon që përdoruesit të dëmtojnë sistemin apo njëri-tjetrin.
- Struktura e mënyrave siguron sigurinë dhe stabilitetin e sistemit operativ.
- Mënyra e kernelit ka kontroll të plotë, ndërsa mënyra e përdoruesit është e kufizuar.
- Koncepti i mënyrave të punës mund të përfshijë më shumë se dy mënyra.
Unazat e Mbrojtjes dhe Virtualizimi
-
Procesorët Intel:
- kanë katër unaza mbrojtëse të ndara.
- Unaza 0 është mënyra kernel.
- Unaza 3 është mënyra e përdoruesit.
- Unazat 1 dhe 2 përdoren për shërbime të ndryshme të sistemit operativ, por rrallë në praktikë.
-
Sistemet ARMv8:
- kanë shtatë mënyra të ndryshme të punës.
-
CPU-të me Virtualizim:
- kanë një mënyrë të veçantë për menaxhuesin e makinës virtuale (VMM).
- VMM ka më shumë privilegje se proceset e përdoruesit, por më pak se mënyra e kernel-it.
- Kjo mënyrë lejon VMM të krijojë dhe menaxhojë makina virtuale.
-
Ekzekutimi i Instruksioneve:
- Sistemi operativ fillon në mënyrën e kernelit.
- Kur kontrolli kalon te një program përdoruesi, kalon në mënyrat e përdoruesit.
- Kur kontrolli kthehet tek sistemi operativ përmes një trapi ose ndërprerje, ose ndonjë thirrje sistemore.
- Struktura me nivele privilegji siguron që instruksionet kritike të ekzekutohen vetëm nga komponente të besueshme.
- Mbrojtja e sistemit dhe përdoruesve nga dëmtimet dhe keqpërdorimet.
Thirrjet Sistemore
- Thirrja sistemore është një mekanizëm që lejon programeve të përdoruesit të kërkojnë shërbime nga sistemi operativ, të cilat janë të rezervuara vetëm për sistemin operativ.
- Këto shërbime përfshijnë operacione si leximi ose shkrimi në disk, krijimi i proceseve, kontrolli i proceseve, etj.
- Thirrjet sistemore lejojnë programet e përdoruesit të kryejnë veprime që mund t'i kryej vetëm sistemi operativ.
- Kur një program shfrytëzues e ekzekuton një thirrje sistemore, ajo shkakton një trap në vektorin e ndërprerjeve, duke transferuar kontrollin te procedura në kernel.
- Kerneli i verifikon parametrat, ekzekuton kërkesën dhe pastaj e kthen kontrollin te programi i shfrytëzuesit.
Elementet Themelore të Sistemit Operativ
- Tajmeri përdoret për të parandaluar që një program të bllokohet në një unazë të pafundme. Shënim: ose të dështojë për shkak të thirrjeve të shërbimeve të sistemit dhe të mos e kthejë kontrollin tek sistemi operativ.
- Një proces është një instancë e një programi që ekzekutohet në një sistem operativ. Shënim: Është një program në ekzekutim.
- Sistemet operative janë përgjegjëse për menaxhimin e proceseve, si:
- Krijimi dhe fshirja e proceseve të shfrytëzuesit dhe të sistemit
- Planifikimi i ekzekutimit të proceseve dhe thredave në CPU
- Ndalja e përkohshme dhe vazhdimi i proceseve
- Ofrimi i mekanizmave për sinkronizim të proceseve
- Ofrimi i mekanizmave për komunikim në mes të proceseve
- Një fajll është një grumbull informatash të lidhura të përcaktuara nga krijuesi i fajllit.
Keshimi dhe Virtualizimi
- Keshimi është një teknikë për të rritur efikasitetin e programeve duke ruajtur të dhëna të shpeshta në një memorie më të shpejtë. Shënim: Përmirëson kohën e përgjigjes së programit dhe zvogëlon ngarkesën e sistemit.
- Virtualizimi fsheh harduerin e një kompjuteri në disa ambiente të ndryshme ekzekutimi.Shënim: Krijon një iluzion që secili ambient punon në kompjuterin e vet.
- Disa shërbime të sistemit operativ që ndihmojnë shfrytëzuesit përfshijnë:
- Interfejsi i shfrytëzuesit
- Ekzekutimi i programit
- Operacionet hyrje/dalje
- Puna me sistemin e fajllave
- Komunikimet
- Gjetja e gabimeve
- Ndarja e resurseve
- Logimi
- Mbrojtja dhe siguria
- Ekzistojnë tre qasje themelore për shfrytëzuesit që të përdorin sistemin operativ:
Përdorimi i Sistemit Operativ
-
Ekzistojnë tre qasje themelore për shfrytëzuesit që të përdorin sistemin operativ:
- Njëra ofron interfejs përmes komandave, që lejon futjen e drejtpërdrejtë të komandave për ekzekutim.
- Dy qasjet tjera ia mundësojnë shfrytëzuesit të përdorë sistemin operativ përmes interfejsit grafik. ose GUI.
- Shumica e sistemeve operative e trajtojnë interpretuesin e komandave si një program të veçantë që ekzekutohet kur fillon një proces.
- Në sistemet me shumë interpretues, interpretuesit njihen si shell.
- API (Application Programming Interface)
API (Application Programming Interface) dhe Rrethina në Kahën e Ekzekutimit
- Zhvilluesit e aplikacioneve i dizajnojnë programet sipas një interfejsi të programimit.
- API specifikon një bashkësi funksionesh që janë në dispozicion për një programues të aplikacioneve.
- Koha e ekzekutimit (run-time environment – RTE): është e tërë bashkësia e softuerëve që nevojitet për të ekzekutuar programet.
- RTE ofron një system-call interface (pra interfejs për thirrjet sistemore.) Shënim: që shërben si lidhje për thirrjet sistemore nga sistemi operativ.
- Thirrjet sistemore ndahen në gjashtë kategori:
- Kontroll i procesit
- Menaxhim i fajllave
- Menaxhim i pajisjeve
- Mirëmbajtje e informacionit
- Komunikime
- Mbrojtje
- Sistemi operativ shpesh vendos përmbajtjen e memorisë së programit në disk dhe paraqet një mesazh gabimi.
- Mund të kontrollohet më pas nga një debugger.
- Sistemi operativ bart kontrollin tek interpretuesit e komandave ose tek thirrësit.
- Dy mënyra të zakonshme të komunikimit: Më këmbim të mesazheve dhe Model i memorie të përbashkët.
Këmbimi i mesazheve, Memoria e përbashkët dhe Shërbimet
- Te modeli me shkëmbim të mesazheve, proceset komunikuese shkëmbejnë mesazhe me njëri-tjetrin.
- Në modelin me memorie të përbashkët, proceset përdorin thirrjet si: shared memory create () dhe shared memory attach (). Shënim: për të krijuar dhe marrë qasje në pjesët e memories të proceseve tjera.
- Shërbimet e sistemit, të njohura si system utilities: Shënim:: ofrojnë një ambient të përshtatshëm për zhvillimin dhe ekzekutimin e programit.
- Ndër shërbimet që ofron sistemi:
-Menaxhimi i fajllave
- Informacioni i statusit -Ndryshimi i fajllave -Përkrahja për gjuhë programuese -Vendosja e programit në memorie dhe ekzekutimi -Komunikimet dhe
- Shërbimet në prapavijë.
- Linker: i kombinon fajllat në objekt dhe të zhvendosshëm në një fajll binar dhe të ekzekutueshëm.
Linker dhe Loader
- Loader: përdoret për të vendosur në memorie një fajll binar të ekzekutueshëm.
- Linking dhe loading është zhvendosja që japinë adresat përfundimtare.
- Kodi thërret një librari me funksione dhe të qaset në variablat e tij gjatë ekzekutimit. Struktura Monolitike: organizim i thjeshtë i sistemit operativ, pa strukturë fare. I gjithë funksionaliteti i kernelit vendoset në një fajll binar që ekzekutohet në një hapësirë të vetme adresash. Qasja Monolitike: strukturë e zakonshme për dizajnimin e sistemeve operative. Shënim: Njihet si sistem i lidhur fortë sepse ndryshimet në një pjesë të sistemit mund të kenë ndikim në pjesët tjera.
Shtresat dhe Mikrokernelet
- Qasja me shtresa e ndan sistemin në disa shtresa. Shënim: Shtresa e poshtme është hardueri, kurse shtresa më e lartë është interfejsi me shfrytëzuesin.
- Mikrokernelet:Largojnë pjesët jo thelbësore prej kernelit në hapësira të ndryshme të adresave.
- Funksioni kryesor i mikrokernelit është të ofrojë komunikim në mes të programit të klientit dhe shërbimeve që janë duke u ekzekutuar në hapësirën e shfrytëzuesit. Procesi:
- Programi bëhet proces, kur një fajll i ekzekutueshëm vendoset në memorien DRAM.
Gjendjet e Procesit:
- New
- Running
- Waiting
- Ready
- Terminated
PCB (Process Control Block) dhe Multiprogramimi
- Një Blloku për kontroll të procesit (Process Control Block)PCB i paraqitet çdo procesi.
- Qëllimi i multiprogramimit është që në çdo kohë të kemi një proces i cili ekzekutohet.
- Qëllimi ndarjes së kohës për shfrytëzim është që një bërthamë e CPU-së të përdoret shpesh me radhë.
- Për të arritur këto qëllime, planifikuesi i proceseve përzgjedhë një proces.
- Numrin i proceseve që janë në memorie njihet si shkalla e multiprogramimit.
- Roli i planifikuesit të CPU-së është dhënia për shfrytëzim e një bërthame të CPU-së.
- Disa sisteme operative mund të kenë një formë swaping.shënim: Idea bazë e të cilës është se ndonjëherë mund të ketë përparësi largimi një procesi prej memories.
Ndërrimi i Kontekstit, Krijmit dhe Ekzekutimi
- Kalimi i bërthamës së CPU-së te një proces tjetër njihet si ndërrim i kontekstit.
- Proceset në sistemin operativ përdorin burime të përbashkëta me procesin prind.
- Proceset fëmijë krijohen përmes thirrjes sistemore fork().
- Pastaj, njëri nga proceset mund të përdorë thirrjen sistemore exec().
- Pasi thirret exec() procesi prind mund të pres për përfundimin e fëmijës me thirrjen wait(). Diagrami i gjendjeve të procesit evidenton kalimin e procesit nga njëra gjendje në tjetrën. Një proces përfundon ekzekutimin duke ekzekutuar shprehjen e fundit dhe duke thirrur thirrjen exit(). Shënim: Mund të kthejë një vlerë për rezultatin e ekzekutimit.
Raste kur Proceset mund të Përfundojnë
- Në disa raste, një proces shkakton përfundimin e një procesi tjetër përmes thirrjeve të përshtatura.
- Një prind mund të ndalojë ekzekutimin e një procesi fëmijë.
- Në disa sisteme operativë, përfundimi i një prindi shkakton edhe përfundimin e të gjithë fëmijët.
- Proces Zombie: proces ka përfunduar por që prindi it tij ende nuk ka thirrur wait().
- Procesi i pavarur nuk i ndan të dhënat me ndonjë proces tjetër, ndërsa proces i bashkëpunues ndikon ose ndikohet nga procese tjera që janë duke u ekzekutuar në sistem.
- Arsyet për të ofruar një ambient që lejon proceset të bashkëpunojnë:
Arsyet dhe Modelet e Komunikimi
- Ndarja e informacionit.
- Shpejtimi i llogaritjes
- Modulariteti
- Dy modele themelore: Memorie e përbashkët dhe bartja e mesazhit.
- Bartja e mesazheve siguron dërgimin dhe pranimin e të dhënave.
- Baferët janë mjete të rëndësishme në programim për të lehtësuar komunikimin dhe sinkronizimin mes proceseve.
- Llojet kryesore të baferëve: I pakufizuar dhe i kufizuar. Bartja e mesazheve:bartja e mesazheve ofron një mekanizëm.
Sinkronizimi, Përcaktimet e Bartjes, Thurjet dhe Njësia e Përdorimit
- Bartja e mesazheve ndahet në bllokuese ose jo bllokues.
- Thredi është një njësi themelore e përdorimit të CPU-së.
- Një proces tradicional ka një thred të kontrollit.
- Sistemi operativ monolitik vendos të gjitha pjesët në kernel.
- user Mode dhe Kernel Mode: dy mënyrat e sistemit operativ.
- Procesi ka minimum 1 thred.
Punët dhe detyrat e Sistemit Operativ
5 Detyrat e sistemit operativ:
- Menaxhimi i proceseve
- Menaxhimi memory -Menaxhimi i resurseve
- Menaxhimi i sistemit të file dhe
- Menaxhimi nderlidhjes se përdoruesve. Thredi ёshte pjesë e vogël e procesit që ekzekuton punën specifike Dallimet në mes thred dhe proces janë:
- Memoria Ndaja e burimeve Sinkronizimi Shkalla e rrjedhjes.
Race Condition, Veglat e Sinkronizimit, Performanca dhe Përfitimet
- Race Condition është gjendje ku disa thread ose procese përpiqen të ndryshojnë të njejtin burim të përbashkët.
- Veglat per sinkronizimi janë: Semafori Variablat e kushtit Monitori dhe Mutexlocks.
- Performanca e lartë dhe Përdorimi efikas i burimeve,
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Ky material shpjegon dallimet midis proceseve dhe thread-eve, si dhe problemet e garës dhe teknikat e sinkronizimit. Diskutohen veglat e sinkronizimit, atributet e thread-eve, dhe balancimi i ngarkesës. Fokusi është te kuptimi i koncepteve kyçe dhe mekanizmave në sistemet operative.