Proceset vs. Thread-et, Gara dhe Sinkronizimi
45 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

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'?

  • 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?

  • Mutexlocks
  • Monitori
  • Semafori (correct)
  • Variablat e kushtit

Çfarë tregon pthread_scope në një aplikacion me shumë thread-e?

<p>Cakun e një thread-i në një aplikacion me shumë thread-e. (A)</p> Signup and view all the answers

Cila nga opsionet e mëposhtme përmban vetëm librari kryesore për thread-e në përdorim?

<p>POSIX Pthreads, Windows Threads, Java Threads (B)</p> Signup and view all the answers

Cili funksion përdoret për të vendosur atributin e garës për një thread në Pthread IPC?

<p><code>pthread_attr_setscope()</code> (B)</p> Signup and view all the answers

Ç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?

<p><code>PTHREAD_SCOPE_SYSTEM</code> ose <code>PTHREAD_SCOPE_PROCESS</code> (B)</p> Signup and view all the answers

Çfarë janë push migration dhe pull migration në kontekstin e balancimit të ngarkesës?

<p>Metoda për të shpërndarë në mënyrë të barabartë ngarkesën e punës midis proceseve, ku <em>push</em> transferon punën nga proceset e mbingarkuara dhe <em>pull</em> merr punë tek proceset e ngarkuara. (A)</p> Signup and view all the answers

Në zgjidhjen e Peterson-it, çfarë roli ka variabla turn?

<p>Tregon se cili proces e ka radhën për të hyrë në seksionin kritik. (D)</p> Signup and view all the answers

Çfarë janë semaforët në kontekstin e sinkronizimit të proceseve?

<p>Variabla që kontrollojnë aksesin në burime të përbashkëta, duke lejuar operacione atomike si <code>wait()</code> dhe <code>signal()</code>. (B)</p> Signup and view all the answers

Çfarë përfaqëson 'Liveness' në sistemet operative?

<p>Një bashkësi veçorish që sigurojnë që proceset të bëjnë progres gjatë ekzekutimit të tyre. (B)</p> Signup and view all the answers

Çfarë është deadlock?

<p>Një gjendje kur dy ose më shumë procese presin pafundësisht për njëri-tjetrin, duke bllokuar progresin e të gjithëve. (D)</p> Signup and view all the answers

Si ndikon përdorimi i një liste pritjeje në implementimin e semaforëve në potencialin për deadlock?

<p>Lista e pritjes mund të çojë në një situatë kur proceset presin pafundësisht për një ngjarje që mund të shkaktohet vetëm nga njëri prej proceseve në pritje, duke shkaktuar <em>deadlock</em>. (B)</p> Signup and view all the answers

Në algoritmin Round-Robin, çfarë ndodh kur një proces nuk ka nevojë për të gjithë pjesën kohore të alokuar?

<p>CPU i jepet procesit të ardhshëm menjëherë. (C)</p> Signup and view all the answers

Si ndikon madhësia e pjesës kohore në performancën e algoritmit Round-Robin?

<p>Një pjesë kohore shumë e madhe e transformon algoritmin në FIFO. (A)</p> Signup and view all the answers

Në planifikimin me prioritete, çfarë ndodh me proceset që kanë të njëjtin prioritet?

<p>Ato planifikohen sipas radhës së ardhjes (FCFS). (A)</p> Signup and view all the answers

Si lidhet algoritmi SJF (Shortest Job First) me planifikimin e prioriteteve?

<p>SJF është një rast i veçantë ku prioriteti është i lidhur me gjatësinë e CPU burst. (B)</p> Signup and view all the answers

Çfarë përparësie ka përdorimi i prioriteteve të definuara nga brenda në planifikimin e proceseve?

<p>Prioritetet mund të përshtaten dinamikisht bazuar në sjelljen e procesit. (B)</p> Signup and view all the answers

Cili nga sistemet operative të mëposhtme përdor një identifikues unik të procesit (PID) për të menaxhuar proceset?

<p>UNIX, Linux dhe Windows (D)</p> Signup and view all the answers

Cili proces në sistemet UNIX/Linux ka gjithmonë PID-in me vlerë 1 dhe cilën rol kryen?

<p>Procesi systemd, i cili është procesi prind. (D)</p> Signup and view all the answers

Si ndikon përdorimi i një pjesë kohore shumë të vogël në algoritmin Round-Robin?

<p>Rritet koha e pritjes mesatare dhe rritet numri i ndërrimeve të kontekstit. (C)</p> Signup and view all the answers

Cili është një disavantazh i mundshëm i planifikimit të prioriteteve?

<p>Mund të çojë në starvation për proceset me prioritet të ulët. (B)</p> Signup and view all the answers

Cila thirrje sistemore përdoret për të krijuar një proces fëmijë, dhe çfarë ndodh gjatë këtij procesi?

<p>Thirrja sistemore <code>fork()</code>, e cila krijon një kopje të hapësirës së adresave të procesit prind. (A)</p> Signup and view all the answers

Nëse prioriteti 0 tregon prioritetin më të lartë, si do të planifikoheshin proceset me prioritete 0, 1, dhe 2?

<p>Proceset me prioritet 0 do të ekzekutoheshin të parat. (D)</p> Signup and view all the answers

Çfarë funksioni kryen thirrja sistemore exec() në kontekstin e krijimit të proceseve?

<p>Zëvendëson hapësirën e memories së procesit me një program të ri. (B)</p> Signup and view all the answers

Si mund të presë procesi prind për përfundimin e një procesi fëmijë dhe çfarë informacioni mund të marrë nga ky proces?

<p>Me thirrjen <code>wait()</code>, duke marrë një vlerë gjendjeje që informon për rezultatin e ekzekutimit. (D)</p> Signup and view all the answers

Si reagon sistemi operativ kur një program ndalon ekzekutimin në mënyrë jo të rregullt për shkak të një gabimi?

<p>Sistemi operativ vendos përmbajtjen e memorisë së programit në disk dhe paraqet një mesazh gabimi. (C)</p> Signup and view all the answers

Cili është roli i një debugger në procesin e zhvillimit të programeve?

<p>Të ndihmojë programuesin në identifikimin dhe zgjidhjen e gabimeve logjike. (B)</p> Signup and view all the answers

Çfarë ndodh kur një proces përfundon ekzekutimin dhe thërret exit()?

<p>Ai fshihet nga sistemi operativ dhe kthen një vlerë gjendjeje te prindi. (C)</p> Signup and view all the answers

Çfarë e karakterizon një proces si 'zombie'?

<p>Është një proces që ka përfunduar, por prindi ende nuk ka thirrur <code>wait()</code>. (A)</p> Signup and view all the answers

Në modelin e komunikimit me shkëmbim të mesazheve, si ndërveprojnë proceset me njëri-tjetrin?

<p>Ato komunikojnë duke shkëmbyer mesazhe. (B)</p> Signup and view all the answers

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?

<p><code>shared_memory_create()</code> dhe <code>shared_memory_attach()</code>. (D)</p> Signup and view all the answers

Në cilat kushte një proces konsiderohet i pavarur dhe kur bashkëpunues?

<p>I pavarur kur nuk ndan të dhëna me procese të tjera, bashkëpunues kur ndikon ose ndikohet nga procese të tjera. (D)</p> Signup and view all the answers

Cili nga shërbimet e sistemit ndihmon në organizimin dhe menaxhimin e të dhënave në një sistem operativ?

<p>Menaxhimi i fajllave (A)</p> Signup and view all the answers

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ë?

<p>Informacioni i statusit. (D)</p> Signup and view all the answers

Cili është funksioni kryesor i Linker-it në procesin e ndërtimit të një programi?

<p>Të kombinojë fajllat objekt në një fajll të vetëm të ekzekutueshëm. (A)</p> Signup and view all the answers

Cili është roli kryesor i Loader në një sistem operativ?

<p>Të vendosë në memorie një fajll binar të ekzekutueshëm. (A)</p> Signup and view all the answers

Cila nga arsyet e mëposhtme nuk është një arsye kryesore për të ofruar një ambient ku proceset mund të bashkëpunojnë?

<p>Përmirësimi i sigurisë së sistemit. (B)</p> Signup and view all the answers

Cili nga mekanizmat e mëposhtëm nuk konsiderohet si një model themelor i komunikimit ndër-proces (IPC)?

<p>Fajllat e sistemit. (B)</p> Signup and view all the answers

Në kontekstin e komunikimit ndër-proces, cili është dallimi kryesor midis një baferi të pakufizuar dhe një baferi të kufizuar?

<p>Baferi i pakufizuar lejon prodhuesin të shkruajë pa pritur, ndërsa baferi i kufizuar e detyron prodhuesin të presë kur është plot. (A)</p> Signup and view all the answers

Në komunikimin me bartje të mesazhit, cilat janë dy operacionet themelore që mundësojnë shkëmbimin e të dhënave midis proceseve?

<p><code>send()</code> dhe <code>receive()</code> (A)</p> Signup and view all the answers

Nëse një bafer i kufizuar ka madhësinë N, kur konsiderohet baferi i mbushur plotësisht?

<p>Kur (<code>in + 1</code>) % <code>N</code> është i barabartë me <code>out</code>. (B)</p> Signup and view all the answers

Në kontekstin e komunikimit ndër-proces, cili avantazh ofron përdorimi i memorjes së përbashkët krahasuar me bartjen e mesazhit?

<p>Memorja e përbashkët lejon shkëmbim më të shpejtë të të dhënave për shkak të aksesit të drejtpërdrejtë. (D)</p> Signup and view all the answers

Ç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?

<p>Procesi dërgues merr një sinjal gabimi dhe ndërpritet. (B)</p> Signup and view all the answers

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?

<p>3 (D)</p> Signup and view all the answers

Flashcards

Çfarë është një proces?

Një instancë e një programi që ekzekutohet në kompjuter.

Çfarë është një thred?

Pjesë e vogël e një procesi që kryen një punë specifike.

Ç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?

Tregon fushën e veprimit të një thred-i në një aplikacion me shumë threda.

Signup and view all the flashcards

Cilat janë tre libraritë kryesore për thredat?

POSIX Pthreads, Windows dhe Java.

Signup and view all the flashcards

Çfarë është PID?

Identifikues unik i procesit (PID) përdoret nga sistemet operative UNIX, Linux dhe Windows për të menaxhuar atributet e procesit në kernel.

Signup and view all the flashcards

PID-i i procesit systemd

Procesi systemd ka PID-in 1 dhe është procesi prind në sistemet UNIX/Linux.

Signup and view all the flashcards

Si krijohet një proces fëmijë?

Procesi fëmijë krijohet duke kopjuar hapësirën e adresave të procesit prind përmes thirrjes sistemore fork().

Signup and view all the flashcards

Qëllimi i thirrjes exec()

Thirrja sistemore exec() zëvendëson hapësirën e memories me një program të ri, duke nisur ekzekutimin e tij.

Signup and view all the flashcards

Si përfundon një proces?

Procesi përfundon duke thirrur exit() dhe duke liruar të gjitha burimet e sistemit.

Signup and view all the flashcards

Si përfundon një proces fëmijë nga prindi?

Procesi prind mund të shkaktojë përfundimin e një procesi fëmijë përmes thirrjeve të sistemit si TerminateProcess().

Signup and view all the flashcards

Çfarë është proces zombie?

Një proces zombie është një proces që ka përfunduar por prindi i tij ende nuk ka thirrur wait().

Signup and view all the flashcards

Proces i pavarur vs. bashkëpunues

Një proces është i pavarur nëse nuk ndan të dhëna me procese të tjera dhe bashkëpunues nëse ndikohet ose ndikon procese të tjera.

Signup and view all the flashcards

Pse bashkëpunojnë proceset?

Lejon ndarjen e informacionit, shpejtimin e llogaritjeve dhe modularitetin.

Signup and view all the flashcards

Modelet e komunikimit IPC?

Memoria e përbashkët dhe bartja e mesazhit.

Signup and view all the flashcards

Çfarë janë baferët?

Njihuni si mjete për të lehtësuar komunikimin dhe sinkronizimin mes proceseve.

Signup and view all the flashcards

Baferi i pakufizuar

Nuk ka kufizim të madhësisë, prodhuesi vendos të dhëna në çdo kohë, konsumuesi pret të dhëna të reja.

Signup and view all the flashcards

Baferi i kufizuar

Ka madhësi të kufizuar, prodhuesi pret hapësirë të lirë, konsumuesi pret të dhëna të reja.

Signup and view all the flashcards

Kur është i zbrazët baferi?

Baferi është i zbrazët kur elementi i parë është i barabartë me elementin e fundit

Signup and view all the flashcards

Kur është i mbushur baferi?

Baferi është i mbushur kur pozicioni i elementit të parë + 1 (modulo madhësinë) është i barabartë me pozicionin e elementit të fundit.

Signup and view all the flashcards

Si funksionon bartja e mesazhit?

Proceset komunikojnë dhe sinkronizojnë veprimet duke dërguar (send) dhe marrë (receive) mesazhe.

Signup and view all the flashcards

Trajtimi i ndërprerjeve të programit

Ndalon ekzekutimin e programit dhe ruan përmbajtjen e memories në disk, duke shfaqur një mesazh gabimi.

Signup and view all the flashcards

Çfarë është Debugger?

Një program që ndihmon programuesit të gjejnë dhe të rregullojnë gabimet në kod.

Signup and view all the flashcards

Mënyrat e komunikimit ndër-proceseve

Shkëmbimi i mesazheve dhe memoria e përbashkët.

Signup and view all the flashcards

Modeli me shkëmbim të mesazheve

Proceset komunikojnë duke dërguar mesazhe njëri-tjetrit.

Signup and view all the flashcards

Modeli me memorie të përbashkët

Proceset përdorin një zonë të përbashkët të memories për të shkëmbyer të dhëna.

Signup and view all the flashcards

Çfarë ofrojnë shërbimet e sistemit?

Ofrimi i një ambienti të përshtatshëm për zhvillimin dhe ekzekutimin e programeve.

Signup and view all the flashcards

Çfarë është Linker?

Kombinon fajllat objekt në një fajll të vetëm të ekzekutueshëm.

Signup and view all the flashcards

Çfarë është Loader?

Vendos një fajll të ekzekutueshëm në memorie për ekzekutim.

Signup and view all the flashcards

pthread_attr_setscope/getscope

Vendos ose lexon mënyrën e garës midis proceseve.

Signup and view all the flashcards

Push dhe Pull Migration

Dy qasje për balancimin e ngarkesës midis proceseve.

Signup and view all the flashcards

Zgjidhja nga Peterson

Algoritëm klasik për menaxhimin e pjesës kritike mes dy proceseve që përdorin ndarjen e burimeve.

Signup and view all the flashcards

Semafori

Variabël integjer që qaset vetëm përmes wait() dhe signal().

Signup and view all the flashcards

Liveness

Një bashkësi veçorish që sigurojnë progresin e proceseve gjatë ekzekutimit.

Signup and view all the flashcards

Deadlock

Situatë kur dy ose më shumë procese presin pafundësisht për një ngjarje që mund të shkaktohet vetëm nga njëri prej tyre.

Signup and view all the flashcards

Variabla turn (Zgjidhja nga Peterson)

tregon se cili proces e ka radhën për t’u futur në pjesën e tij kritike.

Signup and view all the flashcards

Vargu flag (Zgjidhja nga Peterson)

përdoret për të treguar nëse një proces është gati për t’u futur në pjesën e tij kritike.

Signup and view all the flashcards

Round-Robin

Algoritëm planifikimi ku çdo proces merr një pjesë kohore të CPU-së, në mënyrë ciklike.

Signup and view all the flashcards

Koha e pritjes

Koha totale që një proces pret në radhë para se të ekzekutohet.

Signup and view all the flashcards

Planifikimi sipas prioritetit

Prioriteti i jepet çdo procesi dhe CPU i jepet procesit me prioritetin më të madh.

Signup and view all the flashcards

SJF dhe Prioriteti

Algoritmi Shortest Job First është një rast i veçantë i algoritmit planifikim sipas prioritetit.

Signup and view all the flashcards

Prioriteti (P)

Prioriteti (P) është vlera inverze e CPU burst të radhës.

Signup and view all the flashcards

Diagrami Gantt

Diagram i cili paraqet planifikimin e proceseve në kohë.

Signup and view all the flashcards

Prioritet i definuar nga brenda

Prioritetet e përcaktuara nga faktorë brenda sistemit, si kërkesat e memories apo raporti I/O.

Signup and view all the flashcards

Prioritet i definuar nga jashtë

Prioritetet e përcaktuara nga faktorë të jashtëm, si rëndësia e përdoruesit ose koha e detyrës.

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.

Quiz Team

Related Documents

Sistemet Operative - PDF

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.

More Like This

Use Quizgecko on...
Browser
Browser