You are on page 1of 60

Kapitulli 8

Hyrje në sistemet operative


8.1 Hyrje

• Kompjuteri më i shpejtë dhe më i madh në


Botë është i padobishëm nëse nuk mund t’i
ofrojë një shërbim cilësor shfrytëzuesve të
vet.
• Shfrytëzuesit e shikojnë kompjuterin përmes
softuerit aplikativ të tyre që ekzekutohet me
ndihmën e harduerit kompjuterik.
• Softueri sistemor është një formë e
ndërmjetësuesit në mes të softuerit aplikativ
të shfrytëzuesit dhe të harduerit kompjuterik.

2
8.1 Hyrje

Klasifikimi i softuerit
Software

Applications Systems
software software

laTE X
Compilers Operating Assemblers
systems

gcc as

Virtual File I/O device


memory system drivers

3
8.1 Hyrje

4
8.2 Sistemet operative

OS-i ofron keto shërbime:


• Mundëson (së bashku me compiler-in dhe linker-in)
krijimin e programeve
• Ekzekutimin e programeve
• Hyrje/Daljet dhe qasjet dhe menaxhimin e fajllave
• Kontrollin e qasjes
• Gjetja e gabimeve dhe reagimi ndaj tyre
• Accounting – Llogimi i shfrytëzuesve

5
8.2 Sistemet operative

• Sistemi operativ nuk është ende qartë i


definuar
– Me 1998, Departamenti i Drejtësisë në SHBA
akuzoi kompaninë Microsoft® për ofrim të tepruar
të funksionaliteteve si pjesë të sistemit operativ
Windows 98 ®, që rezulton në pengesë të një gare
të drejtë me prodhuesit e aplikacioneve
• Problemi ishte tek Internet Explorer/Outlook Express

6
Komponentet e sistemit operativ

• Menaxhimi i proceseve
• Menaxhimi i memories kryesore
• Menaxhimi i memories periferike
• Menaxhimi i fajllave
• Menaxhimi i H/Dve
• Mbështetja për rrjeta
• Sistemi mbrojtës
• Interpretimi i komandave
7
Menaxhimi i proceseve

• Definimi i procesit
• Përgjegjësitë e SO
– Krijimi dhe shkatërrimi i proceseve
– Suspendimi dhe vazhdimi i proceseve
– Sinkronizimi i proceseve
– Komunikimi i proceseve
– Trajtimi i qorsokakeve (deadlocks)

8
Menaxhimi i memories kryesore

• Mirëmbajtja e memories
(cili program mban cilën pjesë të memories)
• Seleksionimi i proceseve
(cilat procese thirren në memorie kur ajo është e lirë)
• Alokimi dhe dealokimi i hapërsirës së memories

9
Menaxhimi i memories periferike

• Menaxhimi i hapësirës së lirë


• Alokimi i hapësirës për vendosje të
shënimeve
• Planifikimi i orarit të disqeve (scheduling)

10
Menaxhimi i fajllave

• Krijimi dhe fshirja e fajllave


• Krijimi dhe fshirja e direktoriumeve
• Mbështetja e primitivëve për manipulim të
fajllave dhe direktoriumeve
• Vendosja e fajllave në memorie periferike
• Krijimi i kopjeve rezervë

11
Menaxhimi i H/D-ve

• Menaxhimi i komponentës së memories që


përfshin baferim, keshim dhe spulim (spooling:
procesi i akumulimit të materialit për tu shtypur në një fajll derisa printeri është i
nxënë. Fajlli shtypet kur printeri lirohet – në këtë mënyrë aplikacionet nuk duhet të
presin për proceset e ngadalshme të shtypjes)

• Interfejsi për drejtues të H/D pajisjeve

12
Mbështetja për rrjeta

• Sistemet e distribuara
• Roli i SOsë: unifikimi i qasjes në rrjetë
• Mundëson implementim më të lehtë të
– FTPsë
– HTTPsë
– NFSsë

13
Sistemi mbrojtës

• Prezenca e më shumë se një


shfrytëzuesi/aplikacioni/resursi kërkon një
mbrojtje nga keqpërdorimet
• Mbrojtja e memories
• Mbrojtja e H/Dve
• Mbrojtja e resurseve tjera

14
Interpretimi i komandave

• Ky sistem mundëson interaksion në mes të


sistemit operativ dhe shfrytëzuesit
• Shell interpretuesit
• GUI

15
8.2 Sistemet operative

• I përdorë vetë resurset e kompjuterit


• U jep programeve përkohësisht resurse
• Përdorë funksionalitet e programeve tjera
(driver-ave)
• Udhëheqë procesorin gjatë përdorimit të
resurseve dhe gjatë ndarjes së intervaleve
kohore proceseve konkurrente

16
8.2 Sistemet operative

Procesimi serial:
• Nuk ka nevojë për sistem operativ
• Programimi direkt i harduerit
• Komunikim i drejtpërdrejtë me I/O

• Problemi: I/O-ja është e ndiejshme në gabime


• Zgjidhja: Bibliotekë (Librari) për I/O

17
8.2 Sistemet operative

• Zhvillimi i sistemeve operative është bërë paralelisht


me zhvillimin e harduerit kompjuterik.
– Me shtimin e mundësive harduerike sistemet operative i
kanë lejuar njerëzit ta menaxhojnë më mirë fuqinë e një
makine.
• Kur memoria operative matej me KB, ndërsa shiriti
magnetik ishte forma e vetme e memoories
periferike, sistemet operative ishin vetëm programe
rezidente monitoruese të thjeshta.
– Monitoruesi rezident mund ta bënte vetëm leximin,
ekzekutimin dhe ndërprerjen e një programi.

18
8.2 Sistemet operative

• Një “parardhës” i monitoruesit rezident ishte njeriu që


quhej “operator i sistemit”
• Detyrat e operatorit të sistemit (batch processing)

19
8.2 Sistemet operative

Leximi i Punës nga Pajisja


Monitoruesi Hyrëse në
rezident User Programm Area

Interpretimi i JCL
Komandave

Ekzekutimi i
Programeve Aplikative

Vazhdimi në Monitor
20
8.2 Sistemet operative

• Në vitetn e gjashtëdhjeta hardueri arriti një


shkallë zhvillimi që bënte të mundur
multiprogramimin, d.m.th. ekzekutimin e
njëkohshëm të më shumë se një detyre.
• Multiprogramimi realizohet duke i alokuar çdo
procesi një interval të caktuar të kohës së CPU
(timeslice)
• Sistemet interaktive multiprogramore quhet
sisteme me ndarje kohore (timesharing systems).
– Kur procesi nxjerret nga CPU dhe zëvendësohet me një
proces tjetër, themi se ka ndodhur ndërrimi i kontekstit
(context sëitching).

21
8.2 Sistemet operative

Multiprogramimi
run Wait run Wait

run Wait run Wait


A A
run Wait run Wait
B B

run run run run


A B A B
22
8.2 Sistemet operative

• Sot, sistemet multiprocesoriale janë bërë të


zakonshme.
– Ato paraqesin një sfidë të vërtetë për disenjuesit e
sistemeve operative, përfshirë edhe mënyrën e
sinkronizimit të procesorëve, si dhe kryerjen e
aktiviteteve të tyre pa ndërhyrë në punët e njëri-
tjetrit

23
8.2 Sistemet operative
• Katër kombinime të shumë procesorëve dhe
shumë burimeve të të dhënave përshkruhen me
anë të Taksonomisë së Flynnit:
– SISD: Single instruction stream, single data stream.
– SIMD: Single instruction stream, multiple data
streams.
– MIMD: Multiple instruction streams, multiple data
streams.
– MISD: Multiple instruction streams, single data stream.
24
8.2 Sistemet operative
• Multiprocesorët simetrikë (SMP) dhe procesorët masivë paralelë
(MPP) janë arkitektura MIMD që dallohen përkah mënyra e
shfrytezimit të memories.
• Sistemet SMP e ndajnë memorien e njëjtë, ndërsa sistemet
MPP jo.
• Një mënyrë e lehtë për t’i dalluar:
MPP  shumë procesorë + memoria e shpërndarë + komunikimi përmes rrjetit
SMP  më pak procesorë + memoria e përbashkët + komunikimi përmes
memories
• Shembuj të tjerë të arkitekturave MIMD gjenden në procesimin e
distribuuar, i cili bëhet me punë të përbashkët të kompjuterëve të
lidhur në rrjetë
25
8.2 Sistemet operative

26
8.2 Sistemet operative

27
8.2 Sistemet operative

• Sistemet operative të kompjuterëve personalë janë


disnjuar për ta lehtësuar përdorimine tyre, e jo për
ta rritur performansën
• Idea që bëri revolucion në fushën e sistemeve
operative për kompjuterë personalë është BIOS
(basic input-output operating system), një çip qç
siguron kompatibilitetin e sistemit operativ në lloje të
ndryshme të makinave të vogla.
– BIOS përmban hollësitë për adresim të njësive të
ndryshme periferike përmes protokoleve të ndryshme.

28
8.2 Sistemet operative

29
8.2 Sistemet operative

• Sistemet operative me GUI u paraqitën në treg në


vitet e tetëdhjeta.
• Fillimisht, këto sisteme konsideroheshin të
përshtatshme për programe grafike, lojra, etj,
ndersa sot shikohen si avantazh i madh teknologjik
për shfrytëzuesit që nuk kanë një edukim të
mirefilltë teknologjik.
– DOS
– Windows
– UNIX
– Linux

30
8.2 Sistemet operative

• Dy komponenta janë esenciale për çdo sistem


operativ: bërthama dhe programet sistemore.
• Bërthama kryen menaxhimine memories, të
ndërprerjeve (interrupts), sinkronizimin, scheduling-
un, si dhe ofron siguri dhe mbrojtje.
– Sistemet me mikrobërthamë karakterizohen me një
funksionalitet minimal, ndërkohë që pjesa më e madhe e
shërbimeve ofrohen nga programe të jashtme (p.sh.
Windows 2000, XP, etj.).
– Sistemet monolite e kryejnë pjesën më të madhe të punës
përmes një programi të vetëm (p.sh. DOS, Linux, etj.).

31
8.2 Sistemet operative

• Sistemet me mikrobërthamë karakterizohen


me siguri më të lartë, mirëmbajtje më të
lehtë dhe me mundesi më të mira
transferimi, por edhe me një shpejtësi më
të ulët ekzekutimi.
– SMP janë platforma ideale për këtë lloj të SO-
ve.
• Sistemet monolite karakterizohen me një
shpejtësi më të madhe ekzekutimi, por
varen shumë prej arkitekturës së
kompjuterit.

32
8.2 Sistemet operative

• Menaxhimi i proceseve është qendror për çdo sistem


operativ
– OS krijon procese, përcakton orarin e qasjes së tyre
resurseve të caktuara (scheduling), i fshin proceset dhe i
liron resurset që janë alokuar gjatë ekzekutimit të procesit.
• Sistemi operativ monitoron aktivitetin e çdo procesi
për të shmangur problemin e sinkronizimit që mund
të shfaqet kur proceset ndajnë resurse të njëjta
• Nëse proceset kanë nevojë për komunikim të
ndërsjellë sistemi operativ do ta ofrojë këtë shërbim.

33
8.2 Sistemet operative

• Sistemi operativ përcakton orarin e ekzekutimit të


proceseve (scheduler)
• Së pari, sistemi operativ vendosë se cila procese do të
ketë mundësinë e qasjes CPU-së. Rëndom, këto
procese zën vend në tabelen e proceseve.
– Kjo quhet long-term scheduling.
• Pasi ta ketë pranuar një numër të proceseve, sistemi
operativ vendosë se cili proces do të ketë qasje në
CPU në momentine caktuar kohor
– Kjo quhet short-term scheduling.
• Ndërrimi i kontekstit bëhet kur procesi merret nga CPU
dhe zëvendësohet me procesin tjetër
– Informatat lidhur me gjendjen e procesit ruhen gjate
ndërrimit të kontekstit
34
8.2 Sistemet operative

Komponentat e një procesi


– Program i ekzekutueshëm
– Të dhënat e procesit (variablat, etj.)
– Konteksti
• Përmban gjendjen e procesit
• Mban të dhënat për realizimin e qëllimeve të OS-it
• Informatat për CPU-në: Program Counter-i, Regjistrat,

• Informatat për OS-in: Prioriteti, Kushtet e pritjes, ...

35
8.2 Sistemet operative
RAM Register
Idx-i i Procesit i
Lista e Proceseve i PC
j b
l
Gjatësia
Kontexti
Regjistrat e
Procesi A Të Dhë. tjerë ...
Prog.
b
Kontexti
Procesi B l Të Dhë.
Prog.
36
8.2 Sistemet operative

• “Short-term scheduling” mund te jetë pa


përparësi (nonpreemtive) ose me përparësi
(premptive).
• Në rastin “pa përparësi” procesi duhet ta
përdorë CPU-në derisa të përfundojë ose
duhet të presë që resurset e zëna të lirohen.
• Në rastin “me përparësi” çdo procesi i
alokohet një interval kohor. Me të skaduar
koha e caktuar për ekzekutim, vlersohet cili
proces është prioritar dhe, eventualisht, vjen
deri te ndërrimi i kontekstit.

37
8.2 Sistemet operative

• Janë katër qasje në përcaktimin e orarit per CPU


(sheduling):
– First-come, first-served ku punët kryhen sipas renditjes deri në
përfundimin e plotë të tyre.
– Shortest job first ku proceset më të shkurtëra renditen të parat.
(Problemi qënron në vlerësimin se cili proces është më i
shkurtër!)
– Round robin ku çdo procesi i alokohet një kohë e caktuar, ndersa
me të kaluar koha vjen deri te ndërrimi i kontekstit.
– Priority scheduling e largon procesin që e shfrytëzon CPU-në,
duke i dhënë përparësi procesit me prioritet më të lartë.

38
8.2 Sistemet operative

• Disa sisteme operative i kombinojnë mënyrat


e ndryshme të “schedulingut”, p.sh.
– Multitasking – lejohet që disa procese të
ekzekutohen njëkohësisht
– Multithreading – procesi ndahet në njësi më të
vogla të quajtura threads (fije)
• Proceset tradicionale kanë një thread të vetëm
• P.sh. një procesor teksti mund të ketë një thread për
paraqitjen e grafikës dhe një tjetër për leximine
tastierës, që janë pjesë e procesit të njëjtë
• Thread-at e njëjtë janë kontekst të përafërt, prandaj
ndërrimi i kontekstit në rastine tyre bëhët shumë më
shpejtë

39
8.2 Sistemet operative

WINDOWS 2000
• Sistem preemptiv 32-bitësh për mikroprocesorët
Intel
• Qëllimet kryesore: portabiliteti, siguria, përkrahja
për multiprocesorë, kompatibiliteti me
aplikacionet për MS-DOS dhe MS-Windows
• Arkitekturë mikrobërthamore.
• Versionet: Professional, Server, Advanced
Server, National Server.
40
8.2 Sistemet operative

Arkitektura
Windows
2000

41
Thirrjet sistemore

 Thirjjet sistemore ofrojnë një lloj interfejsi në mes te


programit që ekzekutohet dhe sistemit operativ
 Në përgjithësi, shkruhen ne assembler ose në gjuhë si C,
C++, etj..
 Janë tri metoda që përdoren për përcjelljen e
parametrave nga programi që ekzekutohet tek sistemi
operativ
 Përmes regjistrave.
 Ruajtja e parametrave në një tabelë në memorie dhe
përcjellja e adresës së memories, si parametër, në regjistër.
 Ruajtja e parametrave (push) ne stack nga programi dhe
heqja e tyre (pop) nga stacku nga sistemi operativ.
Përcjellja e parametrave në formë tabele
Llojet e thirrjeve sistemore

 Kontrolli i proceseve
 Menaxhimi i fajllave
 Menaxhimi i I/O
 Ruajtja e informatave
 Komunikimi
Ekzekutimi në MS-DOS

At System Start-up Running a Program


Ekzekutimi i disa programeve në UNIX
Modeli i komunikimit
 Komunikimi mund të bëhet përmes transmetimit të
mesazheve ose përmes memories së përbashkët

Transmetimi i mesazheve Memoria e përbashkët


Programet sistemore

 Programet sistemore ofrojnë një ambient të përshtatshëm


për zhvillimin dhe për ekzekutimin e programeve. Mund të
ndahen në programe për:
 Manipulim me fajlla
 Informata statusi
 Modifikim të fajllave
 Përkrahje për gjuhë programimi
 Lexim dhe ekzekutim të programeve
 Komunikime
 Programe aplikative
 Shumica e shfrytëzuesve e njohin sistemin operativ
përmes programeve sistemore, jo përmes thirrjeve
sistemore.
Struktura e sistemit të MS-DOS

 MS-DOS është shkruar që të ofrojë funksionalitet


maksimal në hapësirë minimale
 nuk është i ndarë në module
 edhepse ka një lloj strukture, interfejsat dhe nivelet e
funksionalitetit nuk janë mirë të ndara.
Struktura shtresore e MS-DOS
Struktura sistemore e UNIX-it

 UNIX është i kufizuar me funksionalitetin e harduerit.


Përbëhet prej dy pjesëve të veçanta:
 Programet sistemore
 Bërthama
 Përmban çdo gjë nën niveline thirrjeve sistemore dhe
mbi harduerin fizik.
 Ofron sistemine fajllave, scheduling, menaxhim te
memories dhe shumë funksione të tjera të sistemit
operativ.
Struktura sistemore e UNIX
Shtresat e OS

 Sistemi operativ ndahet në shtresa (nivele), ndërsa numri


i tyre ndryshon prej një sistemi tek tjetri. Shtresa më e
ulët (shtresa 0) është hardueri, ndërsa shtresa më e lartë
(shtresa N) është shfrytëzuesi
 Shtresat ndërtohen në atë mënyrë që secila i shfrytëzon
funksionet (operacionet) e shtresës më të ulët.
Një shtresë e sistemit operativ
Struktura e shtresave të OS/2
Makinat virtuale

 Makina virtuale është e tipit shtresor. Ajo e trajton


harduerin dhe bërthamën e sistemit operativ si një
harduer të vetëm.
 Makina virtuale ofron jë interfejs identik me harduerin
përkatës.
 Sistemi operativ krijon iluzionin se proceset e shumëta
ekzekutohen në procesorë të veçantë me memorie të vet
virtuale.
 Resurset e një kompjuteri fizik mund të ndahen për të
“krijuar” disa makina virtuale
Modelet e sistemeve

Makina e zakonshme Makina virtuale


Dizajnimi i sistemit operativ

 Qëllimet e shfrytëzuesit – sistemi operativ duhet të jetë i


përshtatshëm për shfrytëzim, i sigurtë dhe i shpejtë.
 Qëllimet e sistemit – sistemi operativ duhet të jetë i lehtë
për dizajnim, implementim dhe mirëmbajtje, si dhe
fleksibil, i sigurtë, pa gabime dhe efikas.
Implementimi i sistemeve operative

 Tradicionalisht, sistemet operative shkruhen në asembler,


por kohëve të fundit punohet shumë në gjuhë të larta
programore.
 Kodi i shkruar në gjuhë të lartë programore është:
 më i lehtë për t’u shkruar.
 më kompakt.
 më i kuptueshëm dhe më i lehtë për t’i përmirësuar gabimet.
 Sistemi operativ bartet shumë më lehtë prej një hardueri
në tjetrin, nëse është i shkruar në gjuhë të lartë.
System Generation (SYSGEN)

 Sistemet operative janë dizajnuar për të funksionuar në


një klasë të caktuar makinash.
 Vet sistemi duhet të konfigurohet për çdo kompjuter të
veçantë.
 Programi SYSGEN mbledh informata për konfiguracionin
specifik të harduerit.
 Booting – startimi i sistemit kompjuterik që bëhet me
leximin e bërthamës së tij
 Bootstrap programi – kodi që ruhet në ROM dhe është në
gjendje ta gjej bërthamën e sistemit, ta lexojë në memorie
dhe ta ekzekutojë atë.

You might also like