153
UNIVERSITETI SHTETËROR I TETOVËS FAKULTETI I SHKENCAVE MATEMATIKE-NATYRORE INFORMATIKË Përmbledhi dhe përpunoi Dr. Edmond Beqiri SISTEME OPERATIVE (Ligjërata të autorizuara 2010/2011) Tetovë, 2011

Sisteme operative

Embed Size (px)

Citation preview

Page 1: Sisteme operative

UNIVERSITETI SHTETËROR I TETOVËS

FAKULTETI I SHKENCAVE MATEMATIKE-NATYRORE

INFORMATIKË

Përmbledhi dhe përpunoi

Dr. Edmond Beqiri

SISTEME OPERATIVE

(Ligjërata të autorizuara 2010/2011)

Tetovë, 2011

Page 2: Sisteme operative

2

Përmbajtja

Sistemet Operative ................................................................................................................................. 8

Elemente të Sistemeve operative ....................................................................................................... 8

Funksionet e Sistemit operativ (SO) ........................................................................................................ 9

Menaxhimi i proceseve ......................................................................................................................... 10

Menaxhimi i memories ..................................................................................................................... 11

Siguria................................................................................................................................................ 12

Siguria e brendshme ............................................................................................................................. 12

Siguria e jashtme ............................................................................................................................... 13

DOS (Disk Operating System) ............................................................................................................ 14

MS-DOS (MicroSoft Disk Operating System) ................................................................................ 14

Mac OS X ........................................................................................................................................... 15

UNIX .................................................................................................................................................. 15

Linux .................................................................................................................................................. 16

Microsoft Windows ........................................................................................................................... 17

Sistemi operativ Windows XP ........................................................................................................... 18

Përparësitë e Windowsit ............................................................................................................... 18

Control Panel në Windows ................................................................................................................... 20

.Net framework ................................................................................................................................. 21

Dic cleanup ........................................................................................................................................... 21

Task menager ........................................................................................................................................ 23

System Restore...................................................................................................................................... 23

Defragmeneting hard disk ..................................................................................................................... 24

Backup and Restore .............................................................................................................................. 25

Windows update.................................................................................................................................... 26

Llojet dhe aplikimi i sistemeve operative ......................................................................................... 28

BIOS-i ................................................................................................................................................... 31

Page 3: Sisteme operative

3

Procesi i ruajtjes së të dhënave në Sistemet operative të ndryshme.................................................. 33

Ruajtja e informacionit ..................................................................................................................... 33

Hapësira e memories punuese elektronike -RAM ............................................................................ 33

Aktivizimi i programeve kompjuterike ............................................................................................. 35

Procesi i ruajtjes së të dhënave në kompjuter ................................................................................... 36

Hierarkia e shfrytëzimit të informacioneve në kompjuter ................................................................ 37

Ndarja e memories në bazë të natyrës së qasjes së informacionit te sistemet operative të ndryshme .......................................................................................................................................................... 38

Matja e memories dhe e diskut ......................................................................................................... 38

Fajlli, Folderi, Sistemi i fajllave ........................................................................................................... 40

Emërtimi i fajllave ............................................................................................................................ 41

Formatet e fajllit ................................................................................................................................ 42

Leximi i fajllit nga programet përkatëse ........................................................................................... 43

Sistemi i fajllave ............................................................................................................................... 43

Folderët (direktoritë) ..................................................................................................................... 46

UNIX dhe Windows ........................................................................................................................... 49

Avantazhet e sistemit Operativ UNIX: .............................................................................................. 49

Çka është UNIX-i? .............................................................................................................................. 50

Kernel ................................................................................................................................................ 51

Shell ................................................................................................................................................... 52

Fajllat/dosjet dhe Proceset ............................................................................................................... 52

Struktura e listave ............................................................................................................................. 52

Si i qasemi UNIX-it? ........................................................................................................................... 53

Njohuri për Sistemin Operativ Linux ..................................................................................................... 55

Sistemi operativ Linux për shfrytëzuesit e zakonshëm ......................................................................... 55

Të kuptuarit e drejtë të Linuxit ............................................................................................................. 56

Historia e Linuxit ................................................................................................................................... 58

UNIX kultura në Bell Labs .................................................................................................................. 58

Page 4: Sisteme operative

4

Deri te UNIX i komercializuar ............................................................................................................ 60

Arritja e BSD ...................................................................................................................................... 60

Plotësimi copëve që mungonin nga Linus Torvalds .......................................................................... 60

Përparësitë e Linuxit ............................................................................................................................. 61

Përkufizimi i kodit të hapur - OSI .......................................................................................................... 63

Projektet më të mëdhenj softuerik ....................................................................................................... 64

Ubuntu Linux ......................................................................................................................................... 66

Historia dhe procesi i zhvillimit ......................................................................................................... 67

Tiparet kryesore të Ubuntu Linux ..................................................................................................... 67

Instalimi ............................................................................................................................................. 68

Variantet e Ubuntu Linux .................................................................................................................. 70

Kërkesat harduerike për instalimin e Ubuntu Linux ......................................................................... 72

Desktopi GNOME .................................................................................................................................. 73

Menytë e panelit ............................................................................................................................... 75

Menyja e aplikacioneve (Applications) ............................................................................................. 75

Menyja e lokacioneve (Places) .......................................................................................................... 76

Menyja e sistemet (System) .............................................................................................................. 76

Instalimi, çinstalimi dhe përditësimi i softuerit .................................................................................... 78

Softuerët për menaxhimin e pakove në Ubuntu .............................................................................. 78

Përdorimi i Synaptic për të shtuar dhe larguar softuer .................................................................... 79

Linux dhe UNIX ...................................................................................................................................... 80

Koncepte themelore për LINUX FILESYSTEM ........................................................................................ 82

Linux File System ............................................................................................................................... 84

File sistemi EXT2 ............................................................................................................................. 86

EXT 2 Inode ....................................................................................................................................... 87

Superblock ext2 ................................................................................................................................ 88

Grupi ext2 Deskriptor........................................................................................................................ 89

Page 5: Sisteme operative

5

EXT2 DIREKTORIUMET ...................................................................................................................... 89

Gjetja e një File në një File System ext2 ........................................................................................... 90

3.7. Ndryshimi i Madhësisë së File-it në një File System ext2 .......................................................... 91

Virtual File System (VFS) ................................................................................................................... 92

Superblloqet VFS ............................................................................................................................... 94

VFS Inode .......................................................................................................................................... 94

Zhvillimi i një FILE SISTEMI ................................................................................................................ 96

Gjetja e një File në File Sistemin Virtual ........................................................................................... 97

VFS Inode Cache ................................................................................................................................ 98

Direktoriumet Cache ......................................................................................................................... 98

Cache Buffer ...................................................................................................................................... 99

Procesi i update............................................................................................................................... 100

“Problemet e konkurrencës në Sistemet Operative” ......................................................................... 100

1. Çfarë është OS? ........................................................................................................................... 101

Koncepti i konkurencës ................................................................................................................... 101

Pse konkurenca? ............................................................................................................................. 104

’Race condition’ .............................................................................................................................. 104

Problemet ICT (Inter Processes Communication) klasike .................................................................. 105

Problemi klasik i proceseve ............................................................................................................ 105

Kushtet për të pasur një zgjidhje të mirë ......................................................................................... 106

‘Race condition’ në mesin e proceseve .......................................................................................... 106

Zgjidhjet softwerike dhe hardwerike .................................................................................................. 107

Përpjekja e parë .............................................................................................................................. 107

Përpjekja e dytë .............................................................................................................................. 108

Përpjekja e tretë ............................................................................................................................. 109

Përpjekja e katërt ............................................................................................................................. 110

Algoritmi i Dekker-it ........................................................................................................................ 111

Page 6: Sisteme operative

6

Zgjidhjet hardwerike ....................................................................................................................... 112

Të metat e algoritmeve softwerike dhe hardwerike ...................................................................... 113

Zgjidhjet që bazohen në konstruktin e Sistemit Operativ .................................................................. 114

Përdorimi i mutex-ave .................................................................................................................... 114

Problemi i dedllokut ........................................................................................................................ 115

a) Procesët kokëfortë .................................................................................................................. 115

b) Procesët bujarë ....................................................................................................................... 116

Problemi i urisë ............................................................................................................................... 116

Verzioni majtas-djathtas ................................................................................................................. 117

Zgjidhjet e bazuara në konstruktin e gjuhës ....................................................................................... 118

Përdorimi i monitor-ëve .................................................................................................................. 118

Pseudo-kodi i përdorimit të monitor-ave në zgjidhjen e problemit ........................................... 118

Zgjidhja më e mirë! ......................................................................................................................... 120

Instalimi i më shumë sistemeve operative në kompjuter ............................................................. 121

Sistemet operative të rrjetit ............................................................................................................... 129

Windows ..................................................................................................................................... 132

UNIX ........................................................................................................................................... 134

MAC-OS ....................................................................................................................................... 135

Artisoft Lantastic ............................................................................................................................ 135

Sistemet operative në kohë reale ......................................................................................................... 137

Detyrat ............................................................................................................................................ 137

Fijet (threads) .............................................................................................................................. 137

Proceset ....................................................................................................................................... 138

Single-task system (super loop) ...................................................................................................... 138

Multitasking system ........................................................................................................................ 139

Preemptive multitasking ............................................................................................................. 139

Kooperativa multitasking ............................................................................................................ 140

Page 7: Sisteme operative

7

Implementimi i sistemit me RTOS ..................................................................................................... 141

Reagimi në kohë ............................................................................................................................. 141

Ndarja e detyrave ............................................................................................................................ 141

Detyra me prioritet .......................................................................................................................... 141

Multiprocessor RTOS ..................................................................................................................... 141

Sistemet Operative dhe Cloud Computing ......................................................................................... 143

Cloud Computing ............................................................................................................................ 143

Arkitektura e cloud computing ........................................................................................................... 143

Aplikacionet e cloud computing ......................................................................................................... 144

Brengat për cloud computing ............................................................................................................. 145

Siguria te sistemet operative .............................................................................................................. 147

Literatura ............................................................................................................................................. 153

Page 8: Sisteme operative

8

Sistemet Operative

Në këtë pjesë të tekstit sipërfaqësisht do të shpjegohen dhe të krijohen njohuri për disa elemente të rënsësishme që janë komponentë përbërës të sistemeve operative si në vijim:

- Sistemet operative - Kernel – bërthamat e sistemit - Programet aplikative - BIOS - Sistemet e hapura - Ndërvendosësi i kujtesës – Clipboard - Fajlli - Folderi - Sistemi i fajllave - Dritaret - GUI - Sipërfaqja punuese - Rregullimi i sistemit - Pllaka kontrolluese - Bluetooth - Kthimi i sistemit

Elemente të Sistemeve operative Programet, asemblerët dhe kompajlerët ekzekutohen në kompjuter, në praninë e një

mjedisi të caktuar programues. Këtë mjedis programues e përcakton sistemi operativ. Sistemi operativ është një grumbull i programeve i cili manipulon me resurset dhe shërbimet e sistemit kompjuterik (harduerit), siç janë memoria qendrore, njësitë hyrëse-dalëse, etj.

Pra sistemi operativ e komandon (manipulon) me harduerin e sistemit kompjuterik. Programi, në mënyrë implicite apo eksplicite, vetëm përmes direktivave të sistemit operativ mund t'i shfrytëzojë resurset dhe shërbimet e sistemit kompjuterik. Pra programi e urdhëron apo kërkon nga sistemi operativ shfrytëzimin e resurseve kompjuterike.

Nga kjo që u tha më sipër shihet se programet të cilat i shkruajmë (programeve aplikative) në gjuhët larta programuese, nuk e komandojnë harduerin, por i dërgojnë komanda sistemit operativ, i cili më pastaj manipulon me harduer për të arritur te rezultatet e dëshiruara. Kjo do të thotë se sistemi operativ është një lloj ndërmjetësuesi (interfejs) në mes të programeve aplikative dhe harduerit kompjuterik.

Roli kryesor i sistemit operativ është të shërbej si ndërmjetësues në mes të shfrytëzuesit dhe harduerit kompjuterik, dhe në mes të programeve aplikative dhe harduerit kompjuterik.

Ekzistojnë sisteme të ndryshme operative, mirëpo më të njohurat në PC janë MS-DOS dhe MS WINDOWS.

Pjesët të cilat janë nën kontrollin e sistemit operativ janë:

Page 9: Sisteme operative

9

Sistemi operativ (SO) është softuer i cili menaxhon ndarjen e resurseve të

kompjuterit dhe siguron një ndërlidhje për programorët për qasje në këto resurse. Sistemi operativ përpunon të dhënat sistemore dhe të dhënat hyrëse të përdoruesit, dhe i përgjigjet këtyre duke caktuar dhe menaxhuar detyrat dhe resurset e brendshme të sistemit në formë të shërbimit për përdoruesit dhe programet e sistemit.

Në themel të gjithë softuerëve sistemorë, sistemi operativ kryen detyrat elementare siç janë kontrollimi i shpërndarja e memories, caktimi i prioriteteve sistemore, kontrollimi i pajisjeve hyrëse dhe dalëse, mundësimi i përdorimit të rrjetës kompjuterike dhe menaxhimi i fajllave. Pjesa më e madhe e sistemeve operative kanë ndonjë aplikacion i cili mundëson ndërlidhje për menaxhimin e sistemit operativ. Sistemi operativ është platformë për softuerët tjerë që përdoren në kompjuter.

Sistemet operative bashkëkohore që mund të hasen nëpër kompjuter përfshijnë

Windows XP, Windows Vista, Linux, Mac OS X etj. Përderisa sistemi operativ Windows është i popullarizuar te përdoruesit e kompjuterëve të zakonshëm, sistemi operativ Linux është shumë i popullarizuar te kompjuterët serverë. Sidoqoftë shumë lloje të Linux-it janë duke përfituar popullaritet te përdoruesit e kompjuterëve të zakonshëm. Sistemet operative Windows, Linux dhe Mac OS X kanë versionet e tyre për Desktop si dhe për Server. Përveç Microsoft Windows, dizajni i të gjitha sistemeve operative të përmendura janë të inspiruar, ose të trashëguar drejtpërdrejtë nga sistemi operativ Unix. Sistemi operativ Unix ishte i zhvilluar pranë Bell Labs në fund të viteve të 1960-ta dhe ka hedhur farën për zhvillimin e shumë sistemeve operative. Shumë nga konceptet thelbësore të sistemeve operative moderne, ishin të paraqitura për herë të parë në sistemin operativ Unix dhe në derivatet e tij.

Funksionet e Sistemit operativ (SO)

Ekzistojnë disa lloje të programeve të cilat shfrytëzohen në kompjuter. Disa nga këto programe shërbejnë për aktivizim të kompjuterit, gjegjësisht të komponentëve të tij, disa të tjerë për mbarëvajtje të kompjuterit në punë, ndërsa disa të tjerë për kryerje të veprimeve të caktuara, p.sh. përpunimin e tekstit, rregullim të fotografive, dëgjim të muzikës, etj. Programet të cilat shërbejnë për punë të kompjuterit quhen sisteme operative ose punuese. Grupi tjetër i programeve kompjuterike janë programet aplikative.

Sistemi operativ është një bashkësi e programeve e cila udhëheqë me punën bazike të pjesës teknike-hardverit të kompjuterit. Funksionimi i kompjuterit sipas Von Neumann-it, nënkupton hyrjen, përpunimin, kujtimin dhe daljen e të dhënave.

Page 10: Sisteme operative

10

Sistemi operativ paraqet një lidhje programore në mes të programeve aplikative dhe hardverit të kompjuterit. Programet aplikative për punën e tyre normale shpesh “ftojnë” pjesët programore ose funksionet e sistemit operativ.

Zhvillimi i kompjuterëve dhe zhvillimi i sistemeve operative janë në varshmëri dhe në lidhje të ndërsjellët. Detyrat kryesore të sistemit operativ janë:

- Udhëheqja me memorie të kompjuterit - Udhëheqja me disqe dhe qasja në të dhëna - Kryerja e detyrave - Kontrolli dhe leximi i njësive hyrëse - Paraqitja e të dhënave në ndërfaqe (grafika)

Secili program është bashkësi e instruksioneve për procesorin që d.m.th. se procesorët më të fortë (më të mirë) duhet të përkrahen nga sistemet operative më komplekse. Sistemi operativ përbëhet nga bërthama (kernel), sistemi i fajllave, pjesa për ekzekutim të programeve, ndërfaqja grafike, lidhjet komunikuese nëpërmes protokolleve të rrjetit, ndërfaqja programore.

Gjatë startimit të kompjuterit, programi i parë që ekzekutohet është sistemi operativ. Ai mbetet i aktivizuar tërë kohën gjatë punës së kompjuterit duke i shpërndarë “punët” të cilat duhet kryer procesori dhe duke udhëhequr me rrjedhën e informacioneve përbrenda hardverit të kompjuterit. Për llojet e ndryshme të kompjuterëve, me fjalë të tjera për hardverë të ndryshëm i cili është i ndërtuar ekzistojnë edhe sistemnet operative të ndryshme, kështu që gjatë blerjes së kompjuterit shfrytëzuesi është mirë të interesohet se cili sistem operativ do të përdoret për kompjuterin e porositur.

Në fillim sistemet operative nuk kanë lënë përshtypje të “mikpritjes”, gjegjësisht qasja në komandat e tyre është prezantuar në një ekran të zi. Në atë kohë ishte e nevojshme që të dihen të gjitha komandat dhe të shënohen ato pa asnjë gabim me anë të tastierës përgjatë një linje komanduese (command prompt). Sistemet operative që përdoren në ditët e sotme shfrytëzojnë kryekëput ndërfaqen aplikative grafike (Graphical User Interface – GUI).

Menaxhimi i proceseve Secili program që ekzekutohet në kompjuter, qoftë si shërbim ose si aplikacion, është

proces më vete. Në fillim vetëm një proces mund të ekzekutohej nga një procesor njëkohësisht. Sistemet operative të mikrokompjuterëve të vjetër siç ishte MS-DOS as që provonin të kalonin këtë kufi, me përjashtim të përpunimit të ndërprerësve, dhe vetëm një proces mund të ekzekutohej në atë ambient (edhe pse vetë DOS-i kishte opsionin TSR si mjaft të mangët dhe opsion jo të lehtë për përdorim).

Shumica e sistemeve operative përdorin ekzekutimin konkurrent të shumë proceseve dhe programeve njëkohësisht përmes funksionit të quajtur “multitasking ”, edhe me një procesor të vetëm. Ky mekanizëm përdorej tek kompjuterët mainframe që nga fillimi i viteve të 1960-ta.

Menaxhimi i proceseve është mënyra në të cilën sistemi operativ merret me ekzekutimin e proceseve të shumëfishta. Te kompjuterët më të thjeshtë (ata që kanë një procesor me një bërthamë) “multitasking” bëhet thjeshtë me ndërrim shumë të shpejtë të proceseve që ekzekutohen. Varësisht nga sistemi operativ, sa më shumë procese që

Page 11: Sisteme operative

11

ekzekutohen njëkohësisht, ose do të zvogëlohet copa e memories që i caktohet procesit ose do të rritet koha para se procesit ti vjen rralla të ekzekutohet.

Menaxhimi i proceseve përfshin llogaritjen dhe shpërndarjen e kohës së procesorit si dhe të resurseve tjera. Shumica e sistemeve operative lejojnë që procesit ti caktohet prioriteti i cili ndikon në caktimin e kohës për të nga ana e procesorit.

Sistemet operative interaktive gjithashtu kanë ndonjë nivel të sistemit përmes të cilit përdoruesi merr prioritet më të lartë. Proceset e udhëhequra me ndërprerës zakonisht do të ekzekutohen me prioritet shumë të lartë. Në shumë sisteme ekzistojnë proceset e prapavijës siç është System Idle Process në sistemin operativ Windows, i cili do të ekzekutohet kur asnjë proces tjetër të mos jetë duke pritur për kohë të procesorit.

Menaxhimi i memories

Arkitekturat kompjuterike të kohës aranzhojnë sistemin e kompjuterit në mënyrë

hierarkike, duke filluar nga regjistrat më të shpejtë, keshi i procesorit, memoria punuese dhe disqet e forta. Menaxheri i diskut të sistemit operativ koordinon përdorimin e këtyre llojeve të ndryshme të memories duke përcjellë disponueshmërinë e tyre, pra, cila duhet të ngarkohet e cila të shkarkohet dhe si të barten të dhënat mes tyre. Ky aktivitet, zakonisht i quajtur menaxhim i memories virtuale, rrit sasinë e memories së disponueshme për secilin proces duke e bërë memorien nga disku i fortë të duket si memorie kryesore. Ekziston një dënim në shpejtësi i cili e përcjell përdorimin e disqeve ose memorieve të tjera të ngadalshme si memorie kryesore – nëse proceset aktive kërkojnë dukshëm më shumë RAM se sa që janë në dispozicion, sistemi mund të fillojë të degjenerojë. Kjo mund të ndodh ose për shkak se një proces kërkon sasi të madhe të RAM memories ose për shkak se dy ose më shumë procese janë në garë për sasi sa më të madhe të memories se sa që është në dispozicion. Kjo pastaj dërgon në bartje konstante të secilit proces në disqet më të ngadalshme.

Një pjesë e rëndësishme e menaxhimit të memorie është menaxhimi i adresave virtuale. Nëse procese të shumëfishta janë në memorie njëkohësisht, ato duhen parandaluar nga përzierja në memorien e njëra-tjetrës (përveç nëse është kërkesë eksplicite për përdorimin e memories së ndarë). Kjo arrihet me anën e hapësirave të ndara të adresave. Secili proces sheh tërë hapësirën e adresave virtuale, zakonisht prej adresës 0 deri në madhësinë më të madhe të lejuar të memories virtuale, si të caktuara për atë proces. Sistemi operativ ka një tabelë të faqeve e cila i bashkon adresat virtuale me adresat fizike. Këto caktime të memories përcillen ashtu që kur një proces përfundon, e tërë memoria që ishte në përdorim nga ai proces të mund të vihet në dispozicion të proceseve tjera.

Sistemi operativ gjithashtu mund të shkruaj faqe jo-aktive të memories në memoriet

sekondare. Ky proces quhet edhe “paging” (ang. page – faqe) ose “swaping” (ang. swat – ndërrim) – terminologjia dallon në mes të sistemeve operative.

Është e zakonshme gjithashtu për sistemet operative të vejnë në punë memorien që

nuk përdoret në formë të kesh-faqeve – që janë në të vërtetë kërkesa për të dhëna nga pajisjet më të ngadalshme dhe që mund të vendosen në memorie për të rritur shpejtësinë.

Page 12: Sisteme operative

12

Siguria Shumë sisteme operative kanë ndonjë nivel të sigurisë. Siguria është e bazuar në dy

ideja se: • Sistemi operativ mundëson qasjen në një numër të resurseve, në mënyrë të

drejtpërdrejtë ose indirekte, siç janë fajllat në vetë diskun fizik, thirrjet e privilegjuara në sistem, informatat personale mbi përdoruesit, dhe shërbimet e ofruara nga programet që janë duke u ekzekutuar nga sistemi;

Sistemi operativ është në gjendje të dallojë në mes të kërkesave të cilat janë të autorizuara (lejuara) ti qasen atyre resurseve dhe atyre që nuk janë të autorizuara (të ndaluara). Derisa disa sisteme mund thjeshtë të dallojnë nga “të privilegjuar” dhe “jo të privilegjuar”, sistemet zakonisht kanë një formë të identitetit të kërkuesit, siç është për shembull emri i shfrytëzuesit. Kërkuesit, në anën tjetër ndahen sipas këtyre dy kategori:

• Siguria e brendshme: një program që tashmë është duke u ekzekutuar. Në disa sisteme, nëse ndonjë program është duke u ekzekutuar ai nuk ka më kufizime, por zakonisht programet kanë identitet të cilin e mbajnë dhe e përdorin për të kontrolluar të gjitha kërkesat dhe resurset.

• Siguria e jashtme: kërkesa e re prej jashtë kompjuterit, siç është një qasje përmes konsolës së lidhur ose ndonjë lloj të lidhjes së rrjetit. Për të vendosur identitetin mund të ketë një proces të autentikimit. Shpesh emri i përdoruesit duhet të citohet, dhe secili emër i përdoruesit mund të ketë fjalëkalim. Metodat tjera të autentikimit, siç janë kartat magnetike ose të dhënat biometrike, mund të përdoren në vend të këtyre. Në disa raste, veçanërisht lidhjet në rrjetë, mund ti qasen resurseve të caktuara pa asnjë lloj të autentikimit.

Përveç modelit të sigurisë lejo/mos-lejo, sistemi me nivel të lartë së sigurisë gjithashtu do të ofrojë opsione të revizionit. Ky opsion do të lejonte përcjelljen e kërkesave për qasje në resurse (siç është, “kush ka lexuar këtë fajll në të kaluarën?”).

Siguria e sistemeve operative ka qenë brengë për një kohë të gjatë për shkak të shënimeve të ndjeshme që shpesh ndodhen në kompjuterë, qoftë të natyrës komerciale, ushtarake etj. Në SHBA janë themeluar standarde të ndryshme sipas të cilave bëhet vlerësimi i sigurisë së sistemeve kompjuterike. Standardet e këtilla janë bërë me rëndësi jetike për prodhuesit e sistemeve operative, për shkak se ato përdoren për të vlerësuar, klasifikuar dhe zgjidhur mes llojeve të ndryshme të sistemeve kompjuterike që përdoren për përpunim, deponim dhe punë me informata të ndryshme të klasifikuara.

Siguria e brendshme

Siguria e brendshme mund të mendohet si mbrojtje e resurseve të kompjuterit prej programeve konkurrente që janë duke u ekzekutuar në sistem. Shumica e sistemeve operative vendosin programet që ekzekutohen në mënyrë indigjene në procesorin e kompjuterit, ashtu që problemet shfaqen kur dëshirojmë që këto programe të bëjnë detyra të njëjta dhe të kenë privilegje të njëjta sikurse sistemi operativ (i cili pra edhe vetë është program). Procesorët e përdorur për sistemet operative klasike zakonisht kanë koncept harduerik të privilegjeve. Në përgjithësi programet më pak të privilegjuara bllokohen automatikisht nga përdorimi i instruksioneve të caktuara harduerike, siç janë ato të leximit dhe shkrimit nga pajisjet e jashtme sikurse që janë disqet. Në vend të kësaj, ata duhet të kërkojnë nga programet e

Page 13: Sisteme operative

13

privilegjuara (kerneli i sistemit operativ) për të iu mundësuar shkrimin ose leximin. Sistemi operativ pra merr shansin të kontrollojë identitetin e programit dhe të lejojë ose të mos lejojë kërkesën e shtruar.

Një strategji alternative, dhe e vetmja që mund të aplikohet për sistemet që nuk përmbushin kërkesat e virtualizimit, është sistemi operativ i cili nuk përdor programet e shfrytëzuesve si kod indigjen.

Siguria e brendshme është veçanërisht e rëndësishme për sistemet me përdorues të shumtë; ajo lejon secilin përdorues të sistemit të ketë fajlla privat që nuk mund të qasen nga përdoruesit tjerë. Siguria e brendshme është gjithashtu vitale në rastet e përdorimit të revizionimit, për shkak se ndonjë program mund të anashkalojë sistemin operativ, duke anashkaluar kështu edhe vetë sistemin e revizionimit.

Siguria e jashtme Zakonisht sistemi operativ ofron (ose ka) shërbime të ndryshme për kompjuterët dhe

përdoruesit e tjerë në rrjetë. Këto shërbime zakonisht sigurohen përmes porteve ose pikave të numëruara të qasjes në prapavijë të adresës së rrjetit të vet sistemit operativ. Këto shërbime përfshijnë oferta siç janë ndarja e fajllave, shërbimet e shtypit, e-mailit, ueb faqeve, dhe protokolleve të transferimit të fajllave (FTP ), shumica e të cilave mund të kenë siguri të komprometuar.

Në vijë të parë të sigurisë janë pajisjet harduerike të njohura si firewall ose sistemet e zbulimit/parandalimit të depërtimeve. Në nivelin e sistemit operativ, ekziston një numër i caktuar i firewall-ëve softuerik, si dhe i sistemeve të zbulimit/parandalimit. Shumica e sistemeve operative moderne përfshijnë një firewall softuerik, i cili është gjithmonë i aktivizuar. Firewalli softuerik mund të konfigurohet të lejojë ose të refuzojë trafikun në rrjetë në dhe prej shërbimit ose aplikacionit i cili ekzekutohet në sistemin operativ. Prandaj, në një kompjuter mund të instalohet dhe të jetë aktiv një shërbim i pasigurt, siç është Telnet ose FTP, dhe nuk duhet të jetë në rrezik nga e çarë në siguri për shkak se firewalli do të dëbojë çfarëdo trafiku i cili mundohet të lidhet për shërbimet në atë port të caktuar.

Ekzistojnë disa lloje sistemesh operative, por në përgjithësi ekzistojnë katër, kategorizuar

sipas tipit të kompjuterit që ato kontrollojnë dhe llojit të aplikacioneve që ato përkrahin:

• Sistemet operative të kohës reale (Real-time operating system - RTOS) - përdoren në raste kur lind nevoja e kontrollimit të makinerive, instrumenteve

shkencore, dhe sistemeve industriale. Një sistem operativ i këtij lloji, zakonisht ka një kapacitet shumë të

limituar kundrejt interfejsit të përdoruesve, dhe nuk ka vegla për përdoruesin përfundimtar, pasi që delivrimi i këtij sistemi për përdorim bëhet në formë të një “pakoje të farkuar”. Një pjesë shumë e rëndësishme e këtij sistemi operativ është, se ai bën menaxhimin e resurseve ashtu që, pothuajse çdo herë kur paraqitet procesi i caktuar, sistemi do të reagon në po të njëjtën mënyrë në po të njëjtën gjatësi kohore. Këto lloj sistemesh operative përdoren për kontroll të

proceseve nëpër centrale bërthamore, për shkak të saktësisë dhe stabilitetit të lartë në ekzekutimin e urdhrit.

• Një detyrësh (angl. Single-user, single task) – siç shihet edhe nga emri, ky sistem operativ është i dizajnuar të menaxhojë kompjuterin ashtu që, një përdorues të ketë mundësinë të bëjë vetëm një veprim brenda një kohe të dhënë. Sistemi operativ i kompjuterëve të xhepit Palm është një shembull i mirë i sistemit operativ në fjalë.

• Shumëdetyrësh (angl. Single-user, multi-tasking) – ky është një sistem operativ që gjerësisht përdoret sot tek kompjuterët personalë. Windows-i i Microsoft -it dhe Mac OS i

Page 14: Sisteme operative

14

Apple-s, janë shembuj tipik të sistemeve operative të këtij lloji, pasi ato i mundësojnë një përdoruesi njëkohësisht të punojë me më tepër aplikacione. P.sh., në momentin e shkruarjes së një dokumenti në një editor teksti, përdoruesi mund të shkarkojë nga interneti një dokument tjetër me rëndësi për punën e tij.

• Ndarës kohe (angl. Multi-user) – sistemi operativ i këtij lloji, ju mundëson më tepër përdoruesve të kenë qasje simultane në resurset e njëjta të kompjuterit të njëjtë. Sistemi operativ duhet të kujdeset që, nevojat e përdoruesve të ndryshëm të jenë të balancuara gjatë tërë kohës së punës së kompjuterit, dhe se secili nga programet që ata përdorin ka resurse të veçanta dhe të mjaftueshme, ashtu që problemet me njërin nga përdoruesit nuk kanë ndikim në mbarëvajtjen e punës së përdoruesve tjerë. Shembuj sistemesh operative të këtij lloji janë Unix, VMS dhe sistemet operative të superkompjuterëve ose mainframe kompjuterëve (p.sh.

MVS). Është me rëndësi të bëjmë dallimin ndërmjet sistemeve operative me më shumë

përdorues, dhe sistemeve operative me një përdorues të cilat përkrahin punën në rrjet (angl. networking). Windows 2000 dhe Novell Netware, janë sisteme operative me një përdorues, por me ndihmën e rrjetit ato ju mundësojnë qasje pune më shumë se disa mijëra përdoruesve. Këtu duhet përmendur, se sistemin operativ Windows 2000 dhe Novell Netware në fakt e përdor vetëm një përdorues i cili edhe e kontrollon atë, e ai është administratori i sistemit (angl. System Administrator).

DOS (Disk Operating System) Është emri i familjes të sistemeve operative që ka dominuar tregun e kompjuterëve të

kompjuterëve personal të IBM-it nga 1981 deri më 1995. Kjo familje përmban versionet: PC-DOS, MS-DOS, FreeDOS, DR-DOS, Novell-DOS, OpenDOS, PTS-DOS, ROM-DOS si dhe shumë versione tjera. Karakteristikë e sisteme operative të kësaj familje është që vetëm një shfrytëzues mundet të punoj drejtpërsëdrejti me makinë, dhe për atë kohë të ekzekutoj vetëm një detyrë (ang: single user, single task). Këto sisteme kanë pas funksionuar në kompjuterët personal të IBM-it në Intel x86 procesorë, apo diçka të ngjashme.

DOS sistemi më i shfrytëzuari ka qenë ai nga Microsoft i cili është pas quajtur MS-DOS.

MS-DOS (MicroSoft Disk Operating System)

MS-DOS është shkurtesa për Microsoft Disk Operating System ku ky është emri i

sistemit operativ që është komercializuar nga korporata Microsoft. Ky sistem ka qenë më i shfrytëzuari nga të gjithë sistemet operative të familjes DOS, si dhe ka mbizotëruar platformën e kompjuterëve personal gjatë viteve të 1980-ta. Që nga atëherë MS-DOS është zëvendësuar gradualisht me variacione të ndryshme të sistemit operativ Microsoft Windows.

MS-DOS fillimisht u krijua më 1980-en si QDOS (shkurtesë për Quick and Dirty Operating System) nga Tim Patterson për prodhuesin e kompjuterëve Seattle Computer Products (apo shkurtimisht SCP). SCP QDOS-in e ofroi nën emrin 86-DOS pasi që ai ishte dizajnuar për funksionim në procesorët Intel 8086.

Pas kësaj, Microsoft bleu të drejtat mbi QDOS nga SCP dhe më vitin 1981 e publikoi MS-DOS-in. Që nga viti 1981 MS-DOS është pas publikuar edhe në tetë versione kryesore para se zhvillimi i mëtutjeshëm u ndal më vitin 2000 nga ana e Microsoft-it.

MS-DOS ka qenë një nga gurë-themelet për rritjen e Microsoft-it nga një firmë që është marrë me gjuhë programuese në një firmë që është marrë me zhvillim të softuerit.

Page 15: Sisteme operative

15

Nga këndi i vështrimit të programerit MS-DOS është sistem operativ hierarkial, që përmban tri nivele (shtresa), të cilat e ndajnë shfrytëzuesin dhe programet aplikative prej harduerit kompjuterik. Këto shtresa janë BIOS (Basic Input-Output System që do të thotë sistemi themelor për hyrje-dalje), kerneli i DOS-it, dhe interpretuesi i komandave.

BIOS është i ndërtuar në makinë dhe përmban programin/kodin të nevojshëm për nisjen e makinës. BIOS kontrollon tastaturën, ekranin, disqet, komunikimet serike (serial) dhe gjera tjera varësisht nga prodhuesi.

BIOS qëndron në ROM çipin ndërsa sot mund të hasim edhe në makina me flash BIOS. Shumë prodhues gjatë nisjes së makinës e kopjojnë BIOS-in në RAM, ky proces quhet shadowing.

Ekziston edhe PnP BIOS apo Plug-and-Play BIOS (PnP BIOS zakonisht ndërtohet me flash memorie).

Kerneli i DOS-it, përveç tjerash, ofron shërbimet për: • Manipulimin e folderave dhe fajllave; • Manipulimin e memories qendrore; • Kohën dhe datën; • Menaxhimin e programeve aplikative. Ndërsa Interpretuesi i komandave ka për detyrë që të ekzekutojë komandat të cilat ia

jep shfrytëzuesi, duke kyçur edhe leximin dhe ekzekutimin e programeve aplikative.

Mac OS X Mac OS X (shqiptimi mak ou es ten, ose në shqip, mak o së dhjetë) është një linjë e

sistemeve operativë graficalë, zhvilluar, tregtuar dhe shitur nga Apple Inc., versioni i fundit i të cilit është i instaluar mbi të gjithë kompjuterët Macintosh sot në shpërndarje. Mac OS X është pasardhësi i Mac OS, i cili ka qenë sistemi operativ kryesor për Apple që nga viti 1984. Ndryshe nga paraardhësi i tij, Mac OS X bazohet mbi sistemin Unix.

Versioni i parë qe Mac OS X Server 1.0 në vitin 1999, që ndiqet nga një version për desktop Mac OS X v10.0, i vitit 2001. Që atëherë, edhe pesë versione të tjera (end-user dhe server) janë lëshuar. Emërtimi i versioneve behet sipas familjes se maceve te mëdha, p.sh. Mac OS X v10.5 referohet nga Apple dhe përdoruesit me emrin "Leopard".

UNIX Unix (i regjistruar si UNIX®, disa here i shkruar si Unix ose Unix® ) është një sistem

operativ për kompjuterë fillimisht i ndërtuar ne vitin 1969 nga një grup punëtoresh te AT&T ne Bell Labs, qe përfshinte Ken Thompson, Dennis Ritchie and Douglas McIlroy. Sot sistemet Unix janë te ndare ne dege te ndryshme, gjate viteve AT&T si dhe kompani te tjera fitimprurëse ose jo kane kontribuar ne ndërtimin e mëtejshëm.

Ne vitin 2007, zotëruesit e markës se regjistruar UNIX® është The Open Group, një korporate standardesh për industrinë. Vetëm sistemet qe janë plotësisht te pajisur me certifikate Single UNIX Specification kualifikohen si "UNIX®" (te tjerët quhen "Unix system-like" ose "Unix-like").

Gjate fundit te viteve 1970 dhe fillimit te viteve 1980, influenca e Unix ne qarkun

akademik beri qe Unix te përdorej ne shkalle te gjere (sidomos varianti BSD, i cili e ka origjinën nga University of California, Berkeley) ndërsa ne fushën tregtare, me i njohuri është Sun Microsystems.

Page 16: Sisteme operative

16

Sot, përkrah sistemeve Unix te certifikuara, sistemet operative Unix-like si Linux dhe BSD janë shume te përhapur. Shpesh, "Unix tradicional" mund te përdoret për te përshkruar një sistem Unix qe ka karakteristikat e Version 7 Unix ose UNIX System V.

Linux Linux (edhe GNU/Linux) është një sistem operativ i lirë për përdorim për kompjuter, i

cili është shumë i ngjashëm me UNIX. Për herë të parë u vu në përdorim në vitin 1991, kur autori i Linux-Kernel Linus Torvalds e publikoi versionin e parë.

Ky sistem është i përbërën nga pjesë të ndryshme, të cilat sot zhvillohen nga programues të ndryshëm në mbarë botën.

Nëse flitet për Linux duhet te zbulohen dhe origjinat e tij pra UNIX. Ne vitet 60' ndihej mundësia për te krijuar një sistem operativ praktik dhe te fuqishëm. Për këtë u krijua dhe projekti Multics, por për fat te keq nuk pati shume sukses dhe kështu një nga anëtarët e Multics "Bell Labs" hoqi dore nga projekti dhe me pas u impenjua duke krijuar sistemin e tij te quajtur UNIX. Ne fillim UNIX shpërndahej falas dhe u përhap ne shumë Universitete, me vone është implementuar edhe TCP/IP(protokolli aktual i rrjetit) dhe UNIX filloji te behej gjithmonë e me i fuqishëm. Ne vitin 1990 kishte një rol shumë te rëndësishëm ne tregun e serverëve, sidomos te universiteteve. Studentet dëshironin ta kishin dhe ne kompjuterët e tyre ne shtëpi por për fat te keq UNIX ishte bere komercial dhe shume i shtrenjte. Ne fakt ekzistonin dhe versione te lira si Minix,386BSD, NetBSD, FreeBSD dhe OpenBSD por ishin akoma ne hapat e para dhe përdoruesit normal hasnin vështirësi ne përdorim. Ne skene ne vitin 1991 merr pjese dhe Linus Torvalds (autori Linux-it). Nga ku vjen dhe emri Linux==Linus His Unix. Linus kishte përdorur UNIX ne Universitetin e Helsinkit dhe dëshironte diçka te ngjashme ta kishte dhe ne shtëpi. Meqë versionet komerciale ishin te shtrenjta filloi me Minix (nje sistem shfrytëzimi i krijuar nga Andrew Tanenbaum, ND)dhe shume shpejt filloi te shkruaje versionin e tij.

Linux është vetëm kerneli (bërthama) i një sistemi operativ, d.m.th ajo pjese qe lidh harduer-in dhe softuer-inme pak fjale ai qe bën qe programet te punojnë. Kerneli Linux-it implementon multitasking (ekzekutimin e shume programeve përnjëherë). Te gjithë programet me te cilët përdoruesi ose administratori ndërvepron janë ne maje te kernelit. Disa janë thelbësore, si interpretuesi i komandave ose "SHELL" që përdoret për te ndërvepruar me harduer dhe softuer. Linux nuk i shkroi këto programe vete por përdori ato falas. Shume programe duke përfshirë dhe kompilatorin e C erdhën nga Fondacioni Për Programet e Lira ose GNU (GNU is Not UNIX). GNU kishte si synim te krijonte një sistem operativ si UNIX por falas, dhe kështu shumë njerëz i referohen Linux-it si GNU/Linux.

Gjate viteve 92' 93' Linux fitoi shume interes dhe filloi te behej sistemi zëvendësues i UNIX duke përfshirë dhe një sistem dritaresh grafike ose "X". Fuqia e Linux-it përqendrohet tek aftësia për te ekzekutuar shume programe njëkohësisht ose "Multitasking" dhe gjithashtu tek "Multiuser" d.m.th aftësia për te pasur shume përdorues.

Ne ditët e sotme ekzistojnë ato qe quhen Distribucione Linux, qe janë Linux(kerneli) dhe programe te shumta aplikative te bashkuar në një sistem. Dukuria me e rëndësishme qe e bën Linux-in popullor është ajo qe quhet "Open Source", d.m.th kod i lire. Gjithçka mund te shihet si është ndërtuar, d.m.th. çdo gjë shpërndahet ne kod burim, dhe kjo behet ne baze te licencës GPL( GNU General Public License).

Page 17: Sisteme operative

17

Microsoft Windows

Microsoft Windows është emri e disa familjeve të softuerëve të patentuar (ang. proprietary software) të sistemeve operativë nga Microsoft. Microsoft i pari prezantoi një ambient operimi të quajtur Windows në Nëntor 1985 si një shtesë (add-on) për MS-DOS si përgjigje për rritjen e interesit në pamjen grafike e përdoruesit (ang. GUI). Microsoft Windows e zuri vonë mbizotërimin në tregun e kompjuterëve personal (personal computer, ose PC), duke kaluar OS/2 dhe Mac OS që u paraqitën më mbrapa. Në konferencën e vitit 2004 të IDC-a (shq. Korporata Internacionale e të Dhënave), zv. presidenti i IDC, Avneesh Saxena, tha që Windows ka afërsisht 90% të klientëve të sistemeve operativ.

Windows është sistem operativ grafik që bazohet në mënyrën vizuale të bashkëveprimit me kompjuter duke përdorur artikuj siç janë dritaret dhe ikonat, i krijuar dhe zhvilluar nga kompania e Microsoft-it. (Windows është sistem operativ, i cili e drejton dhe e kontrollon kompjuterin duke i përkthyer instruksionet tuaja në gjuhën të cilën e kupton ai, sikurse që është edhe sistemi operativ DOS, Linux apo UNIX).

Programi Windows për herë të parë u paraqit në vitin 1983 si sistem operativ grafik, mirëpo në punën e tij ishte i varur prej sistemit operativ DOS (Disk operating system) i cili daton nga viti 1981. Në vazhdim pasuan disa versione të sistemit operativ Windows por pa ndonjë dallim të dukshëm.

Në vitin 1990 u paraqit versioni Windows 3.0 i cili bëri një dallim të dukshëm nga versionet e mëparshme si edhe nga sistemi operativ DOS. Dallimi ishte lejimi i përpunimit të njëhershëm të më tepër punëve (detyrave) duke kaluar prej njërës detyrë në tjetër, e cila veti njihet me emrin Multitasking.

Në vitin 1992 u paraqit versioni Windows 3.1 i cili cilësohet me plotësimin me objekte dhe përdorimin e fonteve (shenjave) TrueType. Paralel me këtë version u paraqit edhe versioni Windows.3.11 I cili nga versioni i mëparshëm dallohej në elementet për kyçjen e kompjuterit në rrjetë, si versioni i specializuar për udhëheqje të rrjetës kompjuterike u paraqit versioni Windows for Workgroops.

Me 24 gusht 1995 u bë promovimi i sistemit operativ grafik plotësisht i pavarur nga sistemi operativ DOS, me emrin Windows 95. Ky sistem operativ grafik kryhet në modin e mbrojtur (protected mod) të procesorit, është program me bërthamën 32 bitësh (posedon edhe pjesën 16 bitëshe ku do të mund të ekzekutoheshin programet e vjetra), e ka më të përparuar teknikën multitasking, etj. Me paraqitjen e Windows 95 në përdorimin dhe hulumtimin e kompjuterëve filloi një gjeneratë e re (epokë e re).

Në pranverë të viti 1998 u promovua sistemi operativ Windows 98 i cili ka disa përmirësime dhe zbukurime nga vëllai më i madh i tij (Windows 95).

Ne gjysmën e dytë të vitit 1999 u paraqitën versionet Windows Me dhe Windows 2000. Sistemi operativ Windows Me ishte vazhdim i sistemit operativ Windows 98 ndërsa Windows 2000 ishte si vazhdim i sistemit operativ Windows NT 4.0 (sistem operativ i dedikuar për rrjeta kompjuterike). Sistemi operativ Windows 2000 është' ne disa versione si Professional, Server, Advanced Server dhe DataCenter Server. Sistemi operativ Windows 2000 është më stabil, përmban përveç standardit FAT32 (standard për regjistrimin e të dhënave në disk, Windows'98 dhe Me përdorin këtë standard) edhe standardin NTFS i cili garanton një siguri më të madhe te të dhënave.

Në vitin 2001 u paraqit versioni i ri i sistemit operativ Windows i quajtur Windows XP.

Në vitin 2007 u paraqit edhe versioni i ri i sistemit operativ Windows i quajtur Windows Vista.

Page 18: Sisteme operative

18

Sistemi operativ Windows XP

Windows XP është një familje e sistemeve operative 32 dhe 64 bit, e cila prodhohet nga Microsoft për PC (Kompjuterët Personalë). Në grupin e kompjuterëve që përdorin Windows XP janë desktopët, laptopët dhe kompjuterët Media Center. Emri "XP" nënkupton fjalën eXPerience – përvojë. Ky version vërtet paraqet një eksperiencë të re. Shfrytëzuesit e kompjuterëve nga sistemi operativ kërkojnë fuqi, stabilitet dhe përdorim të lehtë. Nëse e instaloni këtë version të sistemit operativ, do të thotë se do të keni sistem operativ të shpejtë, modern me mjaft elemente përparimtare që do të ju sigurojnë punë stabile.

Windows XP nuk është vetëm një pasardhës i sistemit operativ Windows 2000 Professional, por iu rekomandohet edhe shfrytëzuesve të Windows 95, 98, Millenium dhe NT 4.0.

Microsoft-i me këtë ka plotësuar dëshirën e kamotshme që sistemet e ndryshme operative të Windows-it ti shkrijë në një produkt – Windows XP.

Windows XP paraqitet në dy forma: Windows XP Professional – dedikuar shfrytëzuesve të avancuar si dhe kompanive

apo firmave të ndryshme. Windows XP Home Edition – dedikuar shfrytëzuesve për nevoja personale apo

shtëpiake. Esenca e këtyre dy produkteve është e njëjtë, Windows XP Professional është

plotësuar me një seri funksionesh dedikuar kryesisht shfrytëzuesve të avancuar. Gjëja e parë që bie në sy qysh në vetë procesin e instalimit të këtij sistemi të ri

operativ është pamja e re vizuale e Windows XP (ky ndryshim dramatik nuk është vetëm kozmetik), pastaj siguria, stabiliteti si dhe fuqia e XP janë më të mëdha se te sistemet e mëhershme. Në XP mund të shfrytëzojmë formatin e fuqishëm dhe sigurinë e sistemit të fajllave NTFS.

Përparësitë e Windowsit

Windows XP në vete përmban disa përparësi me qëllim që të lehtësojë instalimin dhe

azhurnimin e Windows-it. Këtu mendohet për Windows Upate, Files and Transfer Wizard, si dhe në shumë magjistarë për detyra të ndryshme, njohja e të gjithë driverë-ve para daljes së këtij sistemi operativ, si dhe përmban metodë efikase për de-instalimin e këtij sistemi operativ dhe thyerjen në sistemin tjetër.

Windows Update – starton periodikisht nëse jeni të kyçur në internet e që ofron

mundësinë e të gjitha shtesave (plotësimeve) që janë bërë nga ana e Microsoft-it, ashtu që versioni Windows-it të jetë sa më azhur dhe sa më kompaktë. Windows Update mund të startoni edhe manualisht sa herë që ju dëshironi.

Files and Transfer Wizard – Elementi i parë në Windows XP është Files and Transfer Wizard veçori që shfrytëzuesit e kompjuterëve e kanë kërkuar 10 vjet me radhë. Files and Transfer Wizard ka mundësi të bartjes së datotekave të caktuara dhe përshtatjes nga një kompjuter në tjetrin

Wizardi (Magjistari) – Në Windows XP ekzistojnë shumë magjistarë (Wizard) e që ju shëtisin nëpër proceset e komplikuara. Më të dëshiruarat janë Add Hardware Wizard dhe Network Setup Wizard, që ofrojnë konfigurimin efikas të rrjetave kompjuterike.

Njohja e driver-ëve – Windows XP përmban driver-a për shumë pajisje duke i kyçur edhe skenerët, kamerat digjitale dhe printerët. Windows XP i njeh driver-ët gati të të gjitha

Page 19: Sisteme operative

19

pajisjeve që janë prodhuar para se të bëhet promovimi i këtij sistemi operativ. Më së miri është që të instaloni driver-ët që ju kanë ardhur me pajisje.

Përdorimi i më shumë shfrytëzuesve – Windows XP përmban aftësinë që një kompjuter të mund të shfrytëzojnë shumë shfrytëzues, ku secili mund ta ketë shifrën e vet dhe pengon shikimin e fajllave të njëri tjetrit vetëm nëse diçka lëshohet për shikim qëllimisht.

Grupimi i dritares aktive në Taskbar – Windows XP paraqet nga një kontroll për secilin aplikacion e që versionet e më hershme nuk e kanë pasur këtë mundësi. P.sh. nëse i keni hapur dhjetë dritare, emrat e të gjitha dritareve kanë figuruar në Taskbar dhe të gjitha këto kanë zënë vend dhe pastaj ka qenë e vështirë leximi i tyre, sepse për ti zënë të gjitha është zvogëluar pamja e tyre.

Në Windows XP nëse aplikacioni ka më tepër dritare të hapura njëkohësisht, në Taskbar shihet vetëm emri i dritares së hapur ndërsa të tjerat paraqite nëse klikohet në butonin trekëndësh tek emri i dritares së hapur, me ç’rast hapet menyja rënëse dhe zgjidhet dritarja e dëshiruar.

Komprimimi i fajllave ose follderave – Windows XP është sistemi i parë operativ i cili në vete e ka të integruar formatin Zip i cili mundëson komprimimin dhe dekomprimin e fajllave apo follderave.

Lidhja me kompjuterët tjerë në largësi – Windows XP përmban Remote Desktop Conection, teknologji të posaçme e cila mundëson që përmes kompjuterit tuaj ta krijoni një lidhje me kompjuterin tjetër në largësi në të cilin gjithashtu është i instaluar Windows XP Professional, e që kur e bëni ndërlidhjen me kompjuterin në largësi është njësoj sikur të uleni para tij.

Ndihma – Windows XP ofron ndihmë shumë më të madhe sesa të gjitha versionet e tjera. Kërkimi për ndihmë ka qenë i vështirë derisa është gjetur tema e caktuar . Windows XP ofron qasje më të mirë përmes Help and Support Center. Ky aplikacion jo vetëm që përmban Help fajllat, por punon edhe me bazën e Microsoft-it.

Remote Desktop – është veçori përmes të cilës mund të fitohet ndihmë nga një profesionist përmes kompjuterit. P.sh. .nëse ju kërkoni ndihmë dhe e dërgoni thirrjen me postën elektronike ose përmes Windows Messenxherit, ai që ju ndihmon pranon porosinë dhe përgjigjet.

Remote Assistance e bën lidhjen e dy kompjuterëve duke shfrytëzuar shifrat për

identifikim dhe personi profesional tash mund ta shohë ekranin tuaj dhe të komunikojë me të e që mund të ju evitojë prishjen.

Windows XP ka në vete sajtin për eliminimin e prishjeve, sajtin e dedikuar për driver, mundësinë e kyçjes në rrjetë etj.

Instalimi dhe konfigurimi i Windows XP Ekzistojnë disa parakushte harduerike të cilat duhet të plotësojë kompjuteri në të cilin

dëshirojmë të instalojmë Windows XP e ato janë: Procesori duhet të jetë së paku 233 MHz e rekomandohet minimumi prej 300 MHz Memoria minimale duhet të jetë 64 MB derisa rekomandohet 128 MB Disku i fortë duhet ti ketë së paku 1.5 GB hapësirë të zbrazët Kartela grafike duhet të jetë Super VGA (800x600) ose më e lartë Sa i përket instalimit ai mund të bëhet versionin më të thjeshtë kur e instalojmë

Windows-in në një disk të zbrazët ose mund të instalojmë Windows-in në një kompjuter i cili veç ka të instaluar ndonjë sistem operativ (versioni upgrade). Instalimi i Windows XP mbi ndonjë sistem tjetër operativ mund të quhet edhe aktualizim apo zëvendësim i sistemit operativ.

Sistemet operative që mbështesin këtë aktualizim janë:

Page 20: Sisteme operative

20

• Windows 98 • Windows Millenium • Windows NT 4.0 • Windows 2000 Professional

Pra nëse kemi një kompjuter i cili ka të instaluar ndonjërin nga këto sisteme operative

dhe nëse ai i përmbush kushtet e instalimit të Windows XP mund ta kalojmë atë në sistemin operativ Windows XP duke i ruajtur programet e instaluara si dhe të dhënat që gjenden aty.

Control Panel në Windows

Kontrol paneli është pjese e Microsoft Windows graphical user interface i cili e lejon përdoruesin që të shikoj dhe manipuloje parametrat themelore të sistemit. Kontrol paneli ka qenë pjesë e pandarë e sistemit operativ Windows që prej lëshimit të parë (Windows 2.0) Që prej fillimi me Windows 95, Kontrol paneli është përfshiri si nje dosje speciale, folderi nuk ekzistonte fizikisht por ai vetëm përmbante shkurtesat të ndryshme si add or remove programs dhe internet options. Në versionin e fundit të windousit kontrol paneli ka 2 pamje, pamjen klasike dhe pamjen kategorike, dhe kjo është e mundur për të kaluar përmes një opsion që shfaqet në anën e majtë të dritares. Në dritaren e Control Panelit gjenden shumë ikona të cilat shërbejnë për administrimin e sistemit. Më të rëndësishmet prej tyre janë: Administrative Tools; Programs and Features; Backup and Restore; Date and Time; Internet Options; User Accounts; .Net framework;

Page 21: Sisteme operative

21

Windows Update; Disc defragmenter; Disc cleanup; Task menager; System restore;

.Net framework

.Net framework është një softuer që shkon kryesisht për mikrosoft Windows. Ai përfshin një bibliotekë të madhe dhe mbështet disa gjuhë programuese. Biblioteka .Net është në dispozicion për te gjithe gjuhët programuese që mbështesin .net-in Programet e shkruara për të ekzekutohen ne nje mjedis softueri i njohur si Common Language Runtime (CLR). Një makinë virtuale që siguron shërbime të rëndësishme si siguria, menaxhimi i memories .Bibliotekat dhe CLR së bashku përbëjnë .net framework. Baza e .net framework-ut siguron të dhënat e hyrjes, kriptografin, zhvillii i ueb-it ,algoritmet numerike, rrjetin e komunikimit. Programerët prodhojnë softuerë duke kombinuar kodin e tyre burimor me .net framework dhe bibliotekave tjera. .net framework ka për qëllim të përdoret nga aplikacionet më të reja të krijuara për platformën e windousit. Mikrosofti gjithashtu prodhon nje mjedis të integruar të zhvillimit të njohur kryesisht për softuer të quajtur vizual studio net.

Dic cleanup Disk cleanup është një vegël për mirëmbajtjen e kompjuterit e shërbimeve të përfshirë në mikrosoft windous e dizajnuar për ta liruar hapësirën në diskut. Bën analizimin e hard diskut nga fotografit që nuk janë më në përdorim, heq dosjet e panevojshme etj.

Page 22: Sisteme operative

22

Ka një numër të madh të kategorive të ndryshme që që Disk cleanup kryen analizat fillestare në disk si:

• Ngjeshja e dosjve të vjetra • Fajllat e përkohshëm të internetit • Fajllat e përkohshëm në windous • Shporta e mbeturinave • Program fajllat e shkarkuara • Fajllat jo aktiv • Largimi i aplikacionëve të papërdorura

Megjithatë lista e mësipërme nuk është e plotë. Nëse pas ngjeshjes së fajllave një përdorues dëshiron të hyj në një fajll të ngjeshur koha e qasjes mund të rritet dhe ndryshon nga sistemi në sistem. Përveç kategoritë që shfaqen në Disk cleanup more options ofron mundesi shtesë për ta liruar hapësirën e hard diskut

Page 23: Sisteme operative

23

Task menager Task menaxher është një menaxher detyre, që jep informacione të detajuara në lidhje me kompjuterin dhe drejtimin e aplikaconëve, proceset, përdorimin e procesorit, aktivitetin e rrjetit dhe statistikat, dhe shërbimet e sistemit. Task menaxheri mund të përdoret gjithashtu për të përcaktuar proceset me prioritet më të madh, ndërprerjen e proceseve me forcë dhe që janë mbyllur. Task menaxheri u prezantua në Windous Nt 4.0. Versionet e mëparshme të Windous Nt përfshirë edhe zbatimin e task listës e cila ishte karakteristike shumë pak. Task lista ishte në gjëndje ti rreshtoj proceset dhe ti bëj vrasjen e tyre, ose krijimin e procesit të ri. Në windous xp vetëm menyja Shut down lejon hyrjen në stand by . Versionet e mëhershme të windousit si Microsoft Windows 3.x, Windows 95, Windows 98, kishin një program të njohur si deture për të shfaqur programet që aktualisht ekzekutohen.

System Restore System restore ështe një komponent i Windous xp, Windows vista, Windows 7, por jo edhe sistemit operativ windous 2000 Familja e sistemit operativ Windows server nuk nuk e ka të përfshirë system restore. System restore i ndërtuar në windous xp mund mund të instalohet në një makinë Windows server 2003, megjithatë kjo nuk është e mbështetur nga mikrosofti.

Page 24: Sisteme operative

24

Në Windous vista dhe versionet e mëhershme system restore e ka përmirësuar dukshëm pamjen dhe është i bazuar në teknologjine Shadow copy. Në versionet e mëparshme ishte e bazuar në nje fajll filtër . Shadow copy ka një avantazh se nivelet e blloqeve ndryshojnë në fajllat e vendosura në ndonjë direktorium në volumin mund te montohet dhe mbështetet pavarësisht vend ndodhjen.

Defragmeneting hard disk Fragmentimi i diskut e bënë hard diskun të bëjë punë më të shpejta që e kanë ngadalësuar kompjuterin. Gjithashtu edhe usb mund ti bëhet fragmentim. Disk defragmenter i rregullon të dhënat që hard disku të punojë në mënyrë më efektive.Nëse disku është në përdorim nga një program tjetër të veçantë ose nëse është e formatuar disku duke përdorur një fajll sistemornt,fat ose fat32 ajo nuk mund të defragmentohet.

Page 25: Sisteme operative

25

Backup and Restore Edhe kjo dritare është një dritare e rëndësishme e cila na ndihmon shumë gjatë jetës së përditshme. Me Backup bëjmë një kopje të një particioni ose të krejtë diskut për ti ruajtur ato që të mos na humbin të dhënat, p.sh. gjatë formatizimit të diskut. Me Restore e kthejmë sistemin deri në kohën kur ai ka punuar siç duhet, p.sh. bëjmë instalimin e një programi, dhe në qoftë se nuk shkon diçka siç duhet në kompjuter, nëse del ndonjë problem, atëherë zgjidhja e duhur është System Restore me anë të së cilës kompjuteri do të kalojë në gjendjen e mëparshme para se të instalohet programi që na paraqiti problem dhe kështu do të funksionojë pa problem.

Page 26: Sisteme operative

26

Windows update Është një shërbim i ofruar nga Microsoft që ofron përditësim për sistemin operativ Microsoft Windows, dhe komponentët e tij që janë instaluar, duke përfshirë këtu edhe internet Explorer. Përditësimet (update) zakonisht merren përmes internetit edhe pse nuk ka dispozitë për përditësime të jetë e instaluar pa lidhje interneti. Përditësimet kritike eliminojnë dobësitë të njohura si malware dhe zbulim sigurie, përditësimet tjera korrigjojnë gabimet dhe për të rritur funksionalitetin. Konfigurimi i përditësimeve (update) mund te bëhet rutinor ,çdo dy javë, por mund të bëhet edhe sa herë që një uptade i ri është i nevojshëm . Windows update mund të konfigurohet që të instaloni përditësimet më kritike automatikisht përderisa kompjuteri është i lidhur në rrjet.

Page 27: Sisteme operative

27

Page 28: Sisteme operative

28

Llojet dhe aplikimi i sistemeve operative

Ekzistojnë sistemet operative të hapura dhe të mbyllura. Sistemet operative të hapura janë sisteme të kodit programor të hapur, të cilat secili shfrytëzues mund t’i përpunojë dhe përshtatë. Shembuj të këtyre sistemeve operative të hapura janë BSD (NetBSD, OpenBSD, FreeBSD), FreeDOS, Linux, por edhe pjesërisht: Mandiva (Mandrake), SuSe, Ubuntu, PC Linux, Red Hat etj.

Sisteme operative të mbyllura janë të gjitha sistemet të bazuara në ligjshmëritë komerciale dhe përfitime financiare. Shembuj të sistemeve operative të mbyllura janë: Microsoft DOS, Microsoft Windows NT, Xenix, Windows CE, Windows XP, Windows Vista, Windows Server, Windows 7, Windows mobile, UNIX, Sun (Solaris), versionet e IBM-it (AIX, PC-DOS, OS/2, OS-390, VMS), të Digital Research (DR-DOS, CP/M) etj.

Figura 1. Pamjet e ekranit të disa sistemeve operative të ndryshme

Aplikimi i sistemeve operative sot e përcjellë zhvillimin dhe përdorimin e kompjuterëve, prandaj sistemet operative i hasim edhe në kompjuterët: e zakonshëm, të bartshëm, në automobila, në mjete transportuese, në bartës PDA, në telefona mobilë, në transmetuesë etj.

Page 29: Sisteme operative

29

Figura 2. Ekrani i telefonit mobil me SO Windows Mobile

Ubuntu

Page 30: Sisteme operative

30

Linux

Windows Vista

Apple: OS X Leopard

Page 31: Sisteme operative

31

Steve Ballmer, C.E.O. në Microsoft Corporation, gjatë demonstrimit të Windows Vista operating system.

BIOS-i

Kompjuteri paraqet një bashkësi të pajisjeve elektronike të ndërlidhura në mënyrë logjike të cilat me mbështetje programore gjegjësisht me komanda të shkruara i mban në mend (i kujton) në kohë të pacaktuar të dhënat, i përpunon ato dhe i kryen detyrat e caktuara me to. Renditja e veprimeve dhe e detyrave që kryhen me anë të kompjuterit nuk ka nevojë që të është e njohur për shfrytëzuesin.

Kompjuterët e sotëm nuk e kryejnë vetëm një veprim, por disa veprime në të njëjtën kohë. Kryerja e disa veprimeve në kohë të njëjtë quhet multiveprim, punë shumëvepruese ose

multitasking. Shembull i punës së tillë është shkruarja e tekstit, deri sa në të njëjtën kohë dëgjohet muzika. Më herët është cekur që gjatë startimit të kompjuterit më së pari lexohet sistemi operativ i kompjuterit. Ky është programi i parë i cili lexohet, por para tij aktivizohen rutinat nga BIOS-i. BIOS-i (Basic Input Output System) paraqet sistemin themelor hyrës-dalës, që në të vërtetë është një bashkësi e rutinave dhe komandave të cilat janë të regjistruara në çipin ROM (Read Only Memory). Informacionet e nevojshme për aktivizim të sistemit mbesin të regjistruara edhe pas

ndërprerjes së punës së kompjuterit (shkyçjes së kompjuterit). Ideja kryesore dhe funksioni i BIOS-it ka qenë që të lexohet tastiera, miu dhe njësia e disqeve, nga cilat janë aktivizuar sistemet e para operative.

Figura 3. Çipi i BIOS-it

Page 32: Sisteme operative

32

Figura 4. Ndërfaqja për rregullimin e BIOS-it

Page 33: Sisteme operative

33

Procesi i ruajtjes së të dhënave në Sistemet operative të ndryshme

Ruajtja e informacionit

Procesori është paisje e cila bën perpunimin e të dhënave dhe percjelljen e informacioneve, por pothuaj se nuk ka aspak hapësirë për ruajtje të informacionit. Kompjuteri për të funksionuar në mënyrë normale duhet qe të ketë hapësirë për vendosjen dhe ruajtje te programeve, instruksioneve te cilat drejtojnë punen e procesorit dhe të dhënave. Pra, gjithsesi është e nevojshme edhe një pajisje shtesë elektronike që shërben per deponim të të dhënave.

Shënim. Në lëmin e kompjuterëve, termi e dhënë (shënim) paraqet llojin e informacionit te cilin duhet përpunuar. Të dhënat mund te jenë ne formë të numrave apo të informacioneve të cilat futen në kompjuter. Në qoftë se përdoret ndonjë program për përpunim të tekstit, të dhënat nënkuptojnë dokumentin, letrën, shkresen, poemën, novelen, udhëzimin, doracakun dhe çkado tjetër të kësaj forme, që është kryer ose është shtypur me tastierë duke u edituar .

Hapësira në të cilën vendosen të dhënat, zakonisht quhet memoria (kujtesa) dhe ndahet në memorie parësore (primare) dhe memorie dytësore (sekondare). Memoria parësore (primare) është e ndërtuar në bazë të gjysëmpërçuesëve - çipe te kujtesës. Edhe pse kapaciteti i tyre është i kufizuar, informacionet të cilat i permbajnë mund të shfrytezohen në një pjesë te miliontë të sekondës. Perveç kësaj kanë dimensione të vogëla dhe për këtë shkak janë ideale per konstruktim në kompjuter.

Sistemet dytësore (sekondare) te memories perbehen nga disqet magnetike të jashtme të cilat mund te pranojnë sasi shumë te medha të informacionesh. Sot dominojnë sisteme magnetike per ruajtje të dhenave në kompjuter por gjithnje e me shumë janë duke u zhvilluar sistemet optike, ku informacionet vendosen dhe lexohen nga disku me anë te laserëve dhe kapacitetet po shtohen edhe disa mijë here. Perveç kësaj, sistemet analoge te gjeneruara me zë dhe fotografi poashtu mund te shndrrohen ne shenime digjitale dhe si te tilla mund të vendosen dhe te lexohen nga kujtesa ne menyrë optike. Përparësitë qendrojnë jo vetëm ne kapacitet më të madh, por edhe në atë që procesi optik për nga natyra është shumë më pak i nënshtruar gabimeve eventuale.

Hapësira e memories punuese elektronike -RAM

Në bazë te njohurive te cilat u fituan deri tashti, fitohet pershtypja se kur e aktivizojmë ndonjë program, procesori merr instruksionet nga disku përnjeherë dhe i ekzekuton ato, duke u kthyer ne disk çdo herë pas kryerjes së veprimit të caktuar. Në qoftë se do te punonte kështu, kompjuteri do te ishte tepër i ngadalshëm, mund të konstatojmë pothuaj

Page 34: Sisteme operative

34

se i papërdorshëm .

Mbështetur ne pajisjet e veta, shumica e procesorëve te kompjuterëve personalë mund të ekzekutojnë edhe disa qindra million instruksione në sekondë. Por per shkak te pajisjeve mekanike nga te cilat është i ndertuar, ngasësi i diskut nuk mund që të dergojë instruksionet e programit as përafërsisht me këtë shpejtësi . Leximi i informacioneve nga disku nënkupton rrotullimin e diskut në mënyrë që të lexohet seksioni i caktuar i tij me njërën nga kokat lexuese/shkruese dhe pastaj lëvizjen e kokës më afër ose më larg nga qendra e derisa te pozicionohet drejtëpërsëdrejti mbi vendin në të cilin janë të vendosura të dhënat. Te ngasësit e hard disqeve ky proces zakonisht zgjatë disa mikrosekonda (disa të miliontat pjesë të sekondes).

Meqenëse procesori mund te ekzekutojë disa instruksione për sekondë, kurse ngasesi i hard diskut mund te dergojë, përafersisht disa qindra mijë instruksione per sekondë, e kemi rastin kur njera paisje (procesori) punon 10 deri në 100 herë me shpejtë se pajisja tjetër (ngasesi i hard diskut). Kjo mospershtatje e shpejtësive e bën te pamundur funksionimin e kompjuterit, sepse shpejtesia e procesorit do te ishte krejtësisht e pashfrytëzuar derisa do te priste që ngasesi i hard diskut t’i dergojë instruksionin e ardhshëm.

Për funksionim të efektshëm të kompjuterit është paraqitur i nevojshëm një mjedis i informacioneve që ka mundësi të mbajtjes se hapit me procesorin.

Kjo pjesë shtesë e memories është quajtur memorie punuese ose RAM (Random Access Memory - nga anglishtja - kujtesë te ciles i qasemi drejterdrejtë). Në literaturën kompjuterike RAM-i shpesh shkurtimisht quhet memorie e kompjuterit.

RAM- i fizikisht perbehet nga shumë qarqe te integruara të ndryshme. Secili nga keto paraqet perafersisht nga një çip te procesorit te cilët zakonisht janë te vendosur ne pllakat e fijeve te qelqta. Praktikisht, RAM-i trajtohet si nje tërësi kompakte e hapësirave per vendosje të të dhënave. Për përfytyrim më te mirë, RAM-i mund te krahasohet me bashkësinë e kutive postale përbrenda ndertesës se Postës. Secila kuti postale në këtë rast do te permbante nga një karakter (shkronjë, numër, shenjë e pikësimit,etj.) dhe i gjithë koleksioni i kutive numërohet në menyrë sekuenciale. Në literaturën kompjuterike kutitë postale quhen bajtë (bytes) kurse numrat e tyre rendorë quhen adresa të memories (memory addresses).

Page 35: Sisteme operative

35

Sikurse edhe çipi i procesorit CPU, çipet e memories vendosin dhe transmetojnë informacionin ne menyrë elektronike. Dërgimi i instruksioneve nga memoria në CPU në te vertetë paraqet transmetim (bartje) të impulsive elektronike. Në kete rast nuk ka pritje për rrotullim te diskut ose per zhvendosje të kokës lexuese/shkruese ne pozicion te duhur .

Aktivizimi i programeve kompjuterike

Meqenëse procesori mund te bartë informacione brenda dhe jashtë vetvetes shumë shpejtë ai e shfrytëzon memorien si hapësirë punuëse elektronike-vend ne te cilin ben vendosjen e çfarëdo te dhëne punuese ne këte moment ose planifikon te punojë me te se shpejti. Kur kompjuteri p.sh.urdhërohet që të përdorë ndonje pjesë te programit te caktuar, ai se pari kerkon programin ne hard disk dhe atë e kopjon ne memorie. Ky proces quhet aktivizim i programit dhe paraqet plotësim te memories me program (loading a program). Kjo shkakton që në startim te programit procesi i leximit te instruksioneve nga hard disku të jetë më i ngadalshëm. Pas plotësimit te memories me program aktivizimit të programit, procesori mundet që shumë shpejtë te lexojë instruksionet e caktuara nga memoria RAM sa herë qe ka për këtë nevojë.

Vendosja plotësimi e programit në memorie RAM nuk paraqet bartje të programit nga hard disku ne memorie, por krijohet nje kopje ekuivalente e programit nga hard disku në RAM. Programi origjinal mbetet në disk i gatshëm që të aktivizohet sa herë që kemi nevojë.

Programi i parë të cilin e aktivizojmë (plotësojmë) në RAM nga hard disku gjatë lëshimit te kompjuterit është sistemi operativ. Pra puna e parë të cilën e bën procesori me kyçje te kompjuterit është kerkimi dhe plotësimi i memories me program të sistemit operativ. Ky program mbetet aktiv –plotëson një pjesë te hapësirës se RAM-it, gjatë gjithë kohëzgjatjes së punës së kompjuterit. Gjatë aktivizimit te programeve aplikative, ato gjithmonë ndajnë hapësiren punuese te kompjuterit me systemin operativ dhe për te funksionuar kanë nevojë qe vazhdimisht të kanë aktiv sistemin operativ.

Page 36: Sisteme operative

36

Procesi i ruajtjes së të dhënave në kompjuter Procesori nuk vendos vetem programet ne memorie, por edhe te dhena të tjera. Në

figurën e meposhtme mund te verehet se secili karakter cili futet në kompjuter, duke përfshirë këtu edhe hapësiren e zbrazet, e zë një kuti postale te hapësires deponuese.

Me rastin e shkyçjes së kompjuterit nga tensioni elektrik, paraqet një problem sepse e tërë përmbajtja e memories fshihet pergjithmonë zbrazet. Kjo do te thotë se nëqoftë se rastësisht shkzqet kompjuteri ose nderprehet furnizimi i tij me tension elektrik gjatë punës, e tërë permbajtja e dokumentit te formuar gjatë kesaj kësaj kohe do te humbet. Kjo po ashtu nenkupton se nuk mund të mbeshtetemi ne memorie të kompjuterit dhe ti kthehemi punës per të vazhduar dokumentin ne ndonjë ditë tjetër. Të fshihen nga memoria po ashtu edhe sa herë te dalim nga programi i caktuar, sepse në këto raste i lehet hapësira e memories procesorit për të aktivizuar ndonjë program tjeter, ose për të kryer ndonje detyrë tjeter të parashtruar nga shfrytëzuesi i kompjuterit. Kjo është analoge me rastin kur p.sh. punohet në një zyrë të pakompjuterizuar, me ç’rast duhet pastruar tavolinen e punes nga puna e kaluar (p.sh. bëhët kalkulimi i çmimeve sipas një fature hyrëse) per të pasur hapësir në tavolinen e punës, per fillim te punës së re (p. sh. duhet llogaritur të ardhurat e punë torëve). Për këtë arsye është paraqitur nevoja për ruajtjen e të dhënave të cilat do te neviten më von si dhe për vendosjen e tyre ne hapësire të caktuar në të cilëndo të ruhenper një kohë të gjatë. Kjo realizohet me kopijimin e të dhënave momentale nga memoria në hapësirë më të sigurt të quajtur disk.

Procesi i ruajtjes së të dhënave nga memoria punuese në disk duhet qe të aplikohets a herë që:

• Është kryer puna me dokumentin e caktuar dhe dëshirohet që të fillohet puna ne projekt tjetër, dhe

• dëshirohet që të mbyllet puna në programin aplikativ.

Sa për siguri, pothuaj se të gjithë programet automatikisht parashtrojnë pyetjen nëse

dëshirohet që të bëhet ruajtja e përmbajtjes së dukumentit, sa herë që japim komandën për

ndërprerje të programit, apo për mbyllje të dokumentit aktiv. Komanda për ruajtje të të

dhënave preferohet që te jepet ç’do herë kur punohet një projekt më i rëndësishëm dhe

dëshirohet që të ruhet pjesa e caktuar e tij e punuar deri ne atë kohë. në këtë mënyrë të dhënat

ruhen nga rëniet e mundëshmë të tensionit elektrik, shkyqja e rastësishme e kompjuterit, apo

ndonjë gabim tjetër i shkaktuar gjat përdorimit të kompjuterit.

Page 37: Sisteme operative

37

Fig. Të dhënat nga memoria përpunohen në CPU dhe gjatë punës prapë kthehen në memorie, prej së cilës në fund barten në hard disk.

Procesi i ruajtjes së të dhënave, pra nuk i largon te dhënat nga memoria, por vetëm bën krijimin e kopjes së tyre në disk. Në këtë mënyrë edhe pas ruajtjes mund të vazhdohet me modifikimin e të dhënave origjinale dhe pas kohës së caktuar. Të dhënat e këtilla të modifikuara të ruhen në disk mbi ato të mëparshme. Shpeshtësia e dhënies së komandës për ruajtje varet nga disa faktorë, siç janë: rëndësia e dokumentit apo projektit te cilin e punojmë, stabiliteti i rrjetit elektrik etj.

Shënim: Ndonjëherë do të punohet me të dhëna për të cilat nuk do të ketë nevojë që të ruhen, sepse nuk do të përdorën më, p.sh. shkresat e shkurtra te cilat pasi që i shtypim në letër nuk na duhen më ose kur e shfrytëzojmë ndonjë program për llogaritje për të bërë kalkulime të caktuara te cilat nuk kemi nevojë që ti ruajmë. Në këto raste, mund të punojmë në program pa i ruajtur fare të dhënat gjatë punës.

Shumë programe ofrojnë edhe mundësinë e vendosjes (kopjimit) së të dhënave në memorie pa e mbyllur programin në rast se dëshirohet që të ndërprehet puna dhe të fillohet punë e re dhe ato të dhëna të përpunuara gjerë atëherë shfrytëzohen në programin e njëjtë ose edhe në program tjetër që punon në sistem operativ të njejtë. Në qoftë se të dhënat e caktuara jane vendosur një herë në disk, ato mund të kthehen (kopjohen) në memorie sa herë që dëshirohet për t’u shfrytëzuar prapë. Kjo dukuri quhet rikthim i të dhënave (retrieving data). Nga momenti kur bëhet rikthimi i të dhënave në memorie, ato paraqiten në ekran dhe mund të modifikohen sipas dëshirës. Në princip të gjitha të dhënat të cilat paraqiten në ekran gjatë shfrytëzimit të ndonjë sistemi operativ apo programi aplikativ, momentalisht gjenden në memorie, edhe pse nuk do të thotë se të gjitha të dhënat e vendosura në memorie paraqiten në ekran në të njëjtën kohë (mund të ketë të dhëna në memorie të cilat nuk shihen fare në ekran).

Hierarkia e shfrytëzimit të informacioneve në kompjuter

Deri më tashti është berë fjalë për tre lloje të ndryshme të informacioneve të cilat vendosen në memorie: sistemi operativ, programet aplikative dhe te dhënat. Si përfundim mund të përmendet se:

Me startim të kompjuterit, procesori (CPU) automatikisht kopjon programin e sistemit operativ nga disku në memorie.

Me rastin e aktivizimit të programit aplikativ të dëshiruar, procesori (CPU) kopjon atë program nga disku në memorie (pranë sistemit operativ). Me rastin e futjes së të dhënave të reja gjatë punës në ndonjë program aplikativ, apo me rastin e rikthimit të të dhënave, të

Page 38: Sisteme operative

38

dhënat vendosen po ashtu në memorie, pranë programit aplikativ dhe sistemit operativ. Të dhënat mbesin në memorie deri sa të jepet komanda per mbyllje te fajllit (fshirje të tij nga memoria) ose deri sa te mbyllet programi aplikativ. Sa here që dalim nga programi aplikativ që të dyja, programi aplikativ dhe të dhënat e tijë fshihen nga memoria. Sistemi operativ mbetet në të njëjtin vend deri sa te shkyqet kompjuteri.

Për krahasim, mund të përfytyrojmë këto tre tipe te ndryshme te iformacioneve si një tërësi e shtresave të ndryshme (p. sh. të mbushura me ujë), të cilat varen njëra nga tjetra. Sistemi operativ do te jetë shtresa e fundme, e përcjellur nga programi aplikativ dhe ky i percjellur nga te dhenat në qoftë se zbrazet cilado nga shtresat, shtresat e më sipërme po ashtu zbrazen. p. sh. në qoftë se zbrazet sistemi operativ duke e ndalur ose ristartuar sistemin-memoria zbrazet plotësisht. Në qoftë se zbrazet programi aplikativ nga memoria, edhe programi e edhe të dhënat me te cilat është punuar perbrenda atij programi fshihen nga memoria. Në qoftë se zbrazet vetem shtresa e sipërme-të dhënat me të cilat punohet programi aplikativ dhe sistemi operativ mbesin të aktivizuara dhe të gatshme për përdorim.

Ndarja e memories në bazë të natyrës së qasjes së informacionit te sistemet operative të ndryshme

Memoria ( kujtesa ) zakonisht ndahet në bazë të natyrës së qasjes (shfrytëzimit )së informacionit në:

• Memorien me qasje të drejtpërdrejtë(RAM), e cila është mjaftë fleksibile, sepse informacionet në te mund të ndërrohen dhe prapë te futen. Mirëpo dobësi e kësaj kujtese është se informacionet me shkyqjen eventuale te tensionit elektrik humben përgjithmonë.

• Memorien e pa ndryshueshme (ROM), e cila është paraprakisht e programuar dhe përmban iformacionet të cilat vetëm mund të lexohen. Por jo edhe të ndryshohen. Kjo është ideale për qëllime të caktuara, mu për shkak faktit se shënimet nuk mund të fshihen. Informacionet qe i përmbanë kjo kujtesë, pra janë pjesë përbërse e kompjuterit.

• Memorien e programueshme të përhershme (PROM), e cila është një lloj I kujtese e cila për ndryshim nga ajo ROM, mundet edhe të programohet.

• Memorien EPROM, e cila është edhe e programueshme edhe e fshieshme. Ne këtë kujtesë shfrytëzuesi mundet në mënyrë të caktuar të ndërrojë informacionet në qip sipas dëshirës së tijë.

Matja e memories dhe e diskut

Page 39: Sisteme operative

39

Siç është përmendur më parë, njësia Bajt (byte) nënkupton madhësinë e hapësirës e cila nevojitet që të paraqet një karakter (shkronjë, numër, hapësirë të lirë, shenjë të pikësimit etj.).

Fjala bajt përdoret duke mos marrë parasysh se a flitet për hapësirë në memorie, apo në ndonjë mjedis tjetër për deponim. Meqense është kompletuar një dokument, program për llogaritje, program me baza të të dhënave etj. nevojiten shumë bajtë, në informatikë përdoren disa shumëfisha për matje të informacionit, siç janë :

• Kilobajti shkurtimisht KB ose vetëm K ) i cili përmban 1024 bajt. Është marrë numri 1024, sepse në informatikë kemi të bëjmë me shumëfishe të numrit 2, meqense edhe baza matematikore e informatikës mbështet në numra binary të formuar nga dy shifra 0 dhe 1.

o Numri 1024 është fituar nga numri i fuqizuar në në fuqinë e 10 (210) dhe është shumëfish i numrit 2 më i përafërt me numrin 1000, numër që zakonishtë quhet kilo në jetën e përditshme. Për këtë arsye njësia kilobajtë në informatikë shënohet me shkronjën e madhe K, e jo si në madhësitë fizike të tjera ku shumëfishi kilo shënohet shkronjë të vogël k.

• Megabajti (shkurtMB ose vetëm M ) që paraqet 220 bajtë ose 1024 KB. Në jetën e përditshme zakonishtë merret se 1 MB përmban përafërsishtë 1 milion bajtë.

• Gigabajti (shkurt GB ose vetëm G) që paraqet 230bajtë ose 1024 MB. Në jetën e përditshme zakonisht merret se 1GB përmban përafërsishtë 1 miliardë bajtë.

• Terabajti (shkurt TB ose vetëm T) që paraqet 240 bajtë ose 1024 GB. Në jetën e përditshme zakonisht merret se 1TB përmban përafërsishtë 1 bilion bajtë.

Kompjuterët e sotëm personalë përmbajnë hapësirë standarde të RAM-it prej 32 MB, 64 MB, ose edhe 128 MB . Hard disqet standarde kanë mundësi që të vendosin rreth 2 GB ose edhe më shumë.

Sa për përfëtyrim, mund të vërejmë se një faqe standarde e shtypur e formatit A4 përmban 50 rreshta me nga 40 karaktere ( shkronja, numra, etj ), pra 50*40 =2000 B ose përafërsishtë 2 KB informacion. Në anën tjetër 1MB përmban përafërsishtë 500 faqe të këtilla të shtypura

( 500*2000=1000000B = 1MB).

Hapësira e memories dhe e diskut në kompjuter bën edhe pëcaktimin për llojet e punëve të cilat mund ti kryej ai kompjuter. Sasia e memories në kompjuter kushtëzon cilët programe mund të përdoren. Kështu shumë programe të cilët kanë përmbajtje grafike kërkojnë së paku 32 MB memorie. Madhësia e hapësirës së hard diskut është poashtu e rëndësishme për shkak se e përcakton se sa programe dhe sa shënime të ndryshme mund të vendosen në atë hard disk në të njejtën kohë. Zakonishtë, nevojitet mjaftë hapësirë e lirë që pa pengesa të vendosen të gjitha programet dhe të dhënat me të cilat punojmë rregullishtë.

Për informacionin se sa ka hapësirë të lirë në memorie apo në disk mund të kuptohet pasi që të bëhet fjalë për sistemin operativ të kompjuterit.

Page 40: Sisteme operative

40

Shënim : Memoria e kompjuterit (Ram – i ) mundet që vazhdimishtë të shtohet me instalimin e çipave të memories shtesë ).

Fajlli, Folderi, Sistemi i fajllave

Të gjitha të dhënat e ruajtura në pajisjet për ruajte të të dhënave në kompjuter janë të vendosura nëpër fajlla1. Fajlli paraqet një përmbledhje të emëruar të informacioneve të ruajtur në disk apo mjedis tjetër afatgjatë. Ekzistojnë dy lloje kryesore të fajllave: fajllat programorë, të cilët përmbajnë instruksione për kompjuter dhe fajllat me të dhëna të cilët përmbajnë të gjitha të dhënat të cilat futen me anë të programit aplikativ të caktuar. (Fajllat me të dhëna mjaft shpesh quhen dokumente).

Përveç fajllave që krijohen gjatë programimit të kompjuterit, të gjithë fajllat e tjerë që krijohen gjatë punës me kompjuter do të jenë fajla me të dhëna (data file). Çdo herë gjatë futjes së të dhënave në programin aplikativ të caktuar, çofshin ato në formë të: tekstit, numrave, figurave ose çfarëdo forme tjetër e të dhëna, gjatë ruajtjes së parë të tyre krijohet fajlli i caktuar. Meqenëse të gjithë fajllat, sipas përkufizimit duhet të kenë emrin përkatës, me rastin e dhënies së komandës për ruajtje do të paraqitet kërkesa nga programi për t'i dhënë emrin fajllit i cili është aktiv.

Të dhënat që regjistrohen në kompjuter mund të kanë karakteristika të ndryshme. Siç u përmend më lartë fajlli në të vërtetë paraqet një rend të të dhënave binare të cilat formojnë një tërësi logjike dhe janë të vendosura në disk. Këto të dhëna mund të janë: zëri, fotografia, teksti, të dhëna ekzekutuese gjegjësish reshta të programit etj. Madhësia e fajllit tregohet me bajtë.

Përveç fajllave që krijohen gjatë programimit të kompjuterit, të gjithë fajllat e tjerë që krijohen gjatë punës me kompjuter do të jenë fajla me të dhëna (data file). Çdo herë gjatë futjes së të dhënave në programin aplikativ të caktuar, çofshin ato në formë të: tekstit, numrave, figurave ose çfarëdo forme tjetër e të dhënave, gjatë ruajtjes së parë të tyre krijohet fajlli i caktuar. Meqenëse të gjithë fajllat, sipas përkufizimit duhet të kenë emrin përkatës, me rastin e dhënies së komandës për ruajtje do të paraqitet kërkesa nga programi për t'i dhënë emrin fajllit i cili është aktiv.

Shënim Në disa programe të dhënat ruhen në disk në mënyrë automatike. Në këtë mënyrë punojnë shumë programe me baza të të dhënave (database). Gjatë ndërtimit të bazës së të dhënave, krijohet fajlli i cili do t'i pranojë të dhënat. Me futjen e të dhënave të caktuara, p. sh. informacionet për blerësin ose produktin etj., ky informacion automatikisht ruhet në disk menjëherë pas kalimit në blerësin ose produktin tjetër.

1 Në literaturën në gjuhën shqipe, te disa autorë, fajllat quhen edhe skedarë.

Page 41: Sisteme operative

41

Emërtimi i fajllave

Rregullat për emërtimin e fajllave ndryshojnë në varësi nga sistemi operativ i cili përdoret. Kështu, p. sh. në disa sisteme operative, emri i fajllit përbëhet nga dy pjesë: pjesa parësore e quajtur emri i fajllit, e cila mund të ketë deri në tetë karaktere dhe shtesa opcionale (jo e detyrueshme) e quajtur ekstension (shtesë), e cila mund të ketë deri në tre karaktere.

Emri i fajllit dhe ekstensioni mund të përfshijnë: shkronja, numra dhe karaktere me shenjat vijuese: ' ~ ! @ # $ % ^ & ( ) _ - { } '.

Zakonisht emrat formohen nga shkronjat dhe numrat, për të mos pasur nevojë që të mbahen në mend shenjat e tjera të përmendura më sipër.

Emri dhe eksteksioni i fajllit ndahen (lidhen) me shenjën e pikës (.) në mes tyre. Kështu p. sh. në qoftë se emri i fajllit është DIPLOMA, kurse ekstensioni (mbriemri) i tij është TXT, atëherë emri i plotë i fajllit do të është DIPLOMA.TXT.

Në sistemet operative të sotme nuk do të paraqitet mundësia për zgjedhjen e ekstensioni të fajllit sipas dëshirës, sepse programet aplikative në mënyrë automatike shtojnë ekstensionin në emrin e fajllit. Kështu p.sh. në qoftë se fajlli krijohet në programin aplikativ për përpunimin e tekstit MS Word, shfrytëzuesi duhet që të shënojë vetëm emrin e fajllit (p. sh. TEMA) kurse vet programi automatikisht fajllit ia jep ekstensionin DOC (krijohet fajlli TEMA.DOC).

Në kompjuterët Macintosh dhe në sistemin operativ Windows të kompjuterëve personalë, emri i fajllit përmban vetëm një pjesë (vetëm emrin, pa ekstension) dhe mund të formohet nga 312 karakterë. Emrat e këtyre fajllave mund të përfshijnë: shkronja, numra, hapësira të zbrazëta dhe të gjitha shenjat tjera, përpos dy pika (:).

Ndryshim në emërtimin e fajllave të Macintoshit dhe Windowsit, është se te kompjuterët Macintosh fajllat me emër të njëjtë, por me përzierje të ndryshme të madhësive të shkronjave (shkronjë e madhe-e vogël) janë emra të ndryshëm të fajllave. Kështu p. sh. në të njëjtën hapësirë të diskut ne mund të ruajmë tre fajlla me emrat: DIPLOMA, Diploma dhe diploma. Në Windows emërtimi i tillë nuk do të jetë i mundshëm, sepse fajllat me emrat DIPLOMA, Diploma dhe diploma do të konsiderohen të njëjtë.

Në princip, secili fajll në hapësirën e caktuar të diskut duhet që të ketë emrin unik. Në këtë mënyrë, në qoftë se komandohet që të gjendet fajlli DIPLOMA.TXT dhe i njëjti të kopjohet në memorie, kompjuteri do të di saktësisht për cilin fajll është fjala. Nuk ka nevojë përcaktimi se cili fajll është DIPLOMA.TXT.

Rregulli mbi emrin unik të fajllit duhet që të parashikohet gjatë kopjimit të fajllave. Kështu p. sh. në qoftë se fajlli i quajtur DIPLOMA.DOC kopjohet nga disku 1 në diskun 2, kurse në qoftë se disku 2 në vete përmban që më parë fajllin me emër DIPLOMA.DOC, do të rrezikohet që versioni i vjetër i fajllit DIPLOMA.DOC në diskun 2 të zëvendësohet me version të ti nga disku 1 dhe të humbet përgjithmonë. Versionet e reja të sistemeve operative

Page 42: Sisteme operative

42

kanë parashikuar mbrojtjen e kopjimit mbi dokument të vjetër duke i parashtruar pyetjen shfrytëzuesit për konfirmim të zëvendësimit me fajll të ri.

Formatet e fajllit

Programet aplikative kanë formën e vetë unike për ruajtje të të dhënave, format i cili është i kuptueshëmn vetëm për atë program apo version të programit. Kështu p. sh. formati në të cilin programi për përpunimin e teksit MS Word e ruan fajllin nuk është i njëjtë me formatin në të cilin e bën ruajtjen programi MS Write. Rasti tjetër, në qoftë se vendoset që të preferohet versioni i vjeter i fajllit, mund të bëhet mbyllja e dokumentit (largimi i tij nga memoria ) pa ruajtje (save) të tij.

Me këtë veprim dokumenti aktiv i cili gjendej në memorie punuese (RAM) do të fshihet. Pas kësaj mund të bëhet rikthimi i versionit të vjeter (versionit nga disku ) dhe të fillohet ndryshimi apo plotësimi i tij. Kjo mund të paraqitet mjaftë praktike nëse është vërejtur se dokumentit aktiv i është ndryshuar përmbajtja gabimisht dhe deshirohet që të fillohet puna në të nga fillimi, ose nga pjesa që ka qenë e punuar mirë dhe ruajtur në disk më pare.

Sa here që deshirohet që të ruhet fajlli i cili është i ruajtur që më parë në disk, shfrytëzuesi duhet të vendosë se a do te përdorë të njëjtin emër të fajllit si në ruajtjen paraprake ose do të përdorë ndonjë emër të ri të fajllit. Në të njejtën hapësirë të diskut nuk mund që të ruhen dy fajlla në emër të njejtë dhe me përmbajtje të ndryshme. Në të vërtetë, nëse bëhet kopjimi i fajllit në pjesen e diskut ku ekziston fajlli me të njejtin emër, versioni i ri i fajllit do të zëvendësojë (mbulojë) versionin e vjetër të tij. Rezultat të njejtë kemi edhe me rastin e riruajtjes (ruajtjes së sërishme) së fajllit. P.sh. në qoftë se është duke u llogaritur suksesi mesatar i stundentëve me anën e ndonjë programi për llogaritje tabelare përafërsisht në mes të punes gjatë procesit, jepet komanda për ruajtjen e të dhënave, pastaj plotësohet me të dhëna të tjera dhe prapë ruhet. Në qoftë se ruajtja bëhet me të njëjtin emër me të cilin është bërë ruajtja e parë, versioni i ri do të mbulojë versionin e vjetër në disk. Në të shumtën e rasteve, për këtë edhe ka qenë e paraqitur nevoja. Por, ndonjëhere dëshirohet që fajlli i ruajtur më parë në disk të mos ndryshohet, sepse do të shfrytëzohet përseri më vonë. Në këto raste fajllit të riplotësuar duhet t’i jepet ndonjë emër i ri, që ndryshon së paku për një karakter nga ai më i vjeter i ruajtur në disk.

Programet aplikative për Windows dhe për Macintosh ofrojnë komandën për ruajtje të të dhënave me emër të njëjtë (Save) mbi fajllin e vjetër, si dhe komanden për ruajtje të të dhënave me emër tjetër nga ai ekzistues (Save As…) me të cilën ofrohet mundësia e jepjes së emrit tjetër fajllit të hapur nga ai me të cilin ekziston në disk. Disa sisteme operative dhe programe aplikative gjithmonë nga shfrytëzuesi kërkojnë konfirmim në rastin e ruajtjes së fajllit me emër ekzistues.

Page 43: Sisteme operative

43

Leximi i fajllit nga programet përkatëse

Në qoftë se deshirohet që të shikohet përmbajtja e fajllit me të dhëna të caktuara, duhet që fajlli të shikohet nga programi me të cilin është i krijuar. P.sh. nëse dëshirohet të shikohet fajlli me të dhëna i cili është krijuar në MS Excel, duhet aktivizuar programin MS Excel, e pastaj nga ky program i aktivizuar të hapet fajlli i dëshiruar. Nëse tentohet që fajlli të shikohet nga ndonjë program tjeter, p. sh. nga programi MS Word, sipas të gjitha gjasave në ekran do të paraqiten shumë karaktere të pakuptimta.

Kodet speciale të cilat i mundësojnë programit aranzhimin dhe formatimin e të dhënave e veçojnë formatin e fajllit të përdorur në një program dhe e pengojnë që të përdoret nga programi tjeter jopërkatës. Në këtë mënyrë p.sh. secili program për përpunim të tekstit e ka kodin e vetë për reprezantimin e shkronjave të pjerrëta (italike), të ndërprerjes së faqes etj.

Programet bashkëkohore ofrojnë edhe komandat për importim dhe eksportim të dhënave nga formatet e përdorura në programin tjetër. Kështu p.sh. programi për përpunim të tekstit MS Word mund të importojë fajllat e krijuar në Word Perfect në kode ekuivalente të MS Wordit.

Ndonjëherë, programi aplikativ në të cilin punohet nuk e ofron mundësinë për inerpretimin e kodeve speciale të krijuara në programin tjeter. Në këtë, rast fajlli mund të ruhet në format të përgjithshëm, pa asnjërin nga kodet speciale formatizuese, të cilat janë specifike për programin e caktuar. Formati i përgjithshëm i cili zakonisht përdoret është ai ASCII të kompjuteret personalë dhe formati text only (vetëm tekst) te kompjuterët Macintosh. Formati ASCII (shkurtesë nga gjuha angleze për American Standard Code for Information Interchange-kodi standard amerikan për këmbim të informacioneve) paraqet një bashkësi të kodeve të standardizuara të cilat përdoren për të prezantuar të gjitha karaktere të cilat mund të përftohen nga shtypja me tastierë të rëndomtë, si dhe disa karaktere shtesë. Me rastin e rujtjes së fajllit në formatin ASCII ose formatin text only, programi largon të gjitha kodet e veçanta, të cilat i prodhon ai program, duke lënë kështu vetëm tekst të paster. Çfarëdo atribute speciale, si p. sh. nënvizimi ose ndonjë shenjë speciale p. sh. e formules së caktuar do të humbet gjatë procesit të përkthimit. Fajlli ii ruajtur në formatin ASCII ose në formatin text only, mundë të hapet nga pothuajse të gjithë programet kompjuterike.

Sistemi i fajllave

Fajllat aplikativë dhe ekzekutuesë përbrenda sistemit janë të strukturuar në bazë të rregullave gjegjëse – konventave në të ashtuquajturin sistem të fajllave. Ekzistojnë disa lloje të ndryshme të sistemeve të fajllave, p.sh. sistemi i fajllave të bazës së të dhënave (database-based file system), flash sistemi i fajllave, sistemi i fajllave të diskut etj.

Page 44: Sisteme operative

44

Sistemi i fajllave të diskut është i paraparë për plotësim të fajllave në disk gjegjësisht në pajisjet për furnizim me të dhëna në kompjuter. Fajllat e këtij sistemi kanë ekstensionin FAT (File Allocation Table), FAT32, HFS, NTFS (New Technology File System), EXT2, EXT3, UDF etj.

Emërtimi i secilit fajll përbëhet nga dy pjesë. Pjesa e parë definon emrin kryesor (përmbajtjen) të fajllit (file name), ndërsa pjesa tjetër definon grupin të cilit i takon fajlli (grafika, zëri, teksti, program ekzekutues etj.) dhe cili program aplikativ duhet të aktivizohet nga sistemi operativ për t’u lexuar përmbajtja e fajllit. Pjesa e dytë quhet shtojca, sufiksi apo ekstensioni (file extension). Në sistemet e mëparshme operative emri i fajllit nuk ka mundur të jetë më i gjatë se tetë shenja. P.sh. fajlli me emrin “Ligjerata nga Sistemet Operative.doc” në sistemin operativ MS DOS, në ekran do të dukej vetëm në pjesën “Ligjera~1.doc”. Shtojcat e fajllit që më shpeshë përdoren te sistemet operative janë: .exe, .bat, .sys, .com, .dll, .ini, etj.

Figura 5. Paraqitja e fajllave në sistemet e ndryshme operative GUI

Fajlli të cilin për t’u shikuar ekziston programi i instaluar në kompjuter, e ka edhe ikonën apo piktogramin gjegjës para emrit të fajllit. Me klik të dyfushtë të miut në ikonë apo emër të fajllit aktivizohet programi në të cilin mund të përpunohet fajlli i zgjedhur.

Fajlli i panjohur i cili nuk ka program të instaluar në kompjuter për hapje dhe

përpunim të tij në SO Windows, e ka pamjen e një faqeje të zbrazët (). Me klik të dyfishtë në ikonën e tij hapet një dialog-dritare në të cilën SO kërkon që fajllit t’i instalohet një program për hapje.

Page 45: Sisteme operative

45

Në rastin tjetër kur emërtimi i fajllit të panjohur përkon me programet e instaluara, por nuk ka shtojcë (ekstension), me klik të dyfishtë në ikonën e tij hapet një dialog-dritare në të cilën SO kërkon që fajllit të hapet nga njëri prej programeve ekzistuese të instaluara.

Figura 6. Disa nga ikonat të njohura vetvetiu nga kompjuteri personal

Page 46: Sisteme operative

46

Folderët (direktoritë)

Në hard diskun e kompjuterit si dhe në disqe tjera zakonisht vendosen mijëra fajlla të ndryshëm. Për të mos u vendosur që të gjithë fajllat në po të njejtën vend, ata mund të organizohen në grupe të caktuara. Grupet e këtilla të organizuara në disk të kompjuterit quhen folderë (apo në disa sisteme operative quhen direktorium).

Folderet (direktoriumet) mund të paramendohen si regjistratorë të dokumenteve në një arkiv të ndërmarjes së caktuar, në të cilen secili regjistrator përmbanë dokumente të caktuara, p. sh. një regjistrator përmbanë faturat hyrëse të ndërmarrjes, tjetri kalkulimet e çmimeve, i treti ekstraktet e bankes etj.

Figura 7. Paraqitja e disa folderëve të hapur në sistemin operativ Windows

Gjatë organizimit të diskut bëhet edhe vendosja se cilët fajlla do të ruhen në cilin folder (direktorium). Zakonisht të gjithë programet aplikative dhe fajllat e tyre pëcjellës, vendosen në folderët (direktoriumet) e veçanta P.sh. në një folder ruhet programi i caktuar për llogaritje tabelare, në të tjetrin vendoset programi për përpunim të tekstit kurse në një folder të tretë vendoset p. sh. programi për përcjellje të afarizmit të ndërmarjes. Në të shumtën e rasteve, të dhëna e krijuara nga këto programe vendosen në nënfolder të veçantë. Kështu p. sh. në një folder vendoset programi MS Word, kurse në një nënfolder i cili është përbrenda atij folderi, vendosen dokumentet e krijuar në MS Word. Kjo mënyrë e organizimit e lehtëson manipulimin me fajlla me të dhëna, sepse ato pastaj shumë lehtë mundë të kopjohen në ndonjë folder të krijuar në disketë sipas dëshires, kështu që fitohen kopje reserve të të dhënave, ose edhe munden që të zhvendosen apo të fshihen nga disku, pa prekur fare fajllat e programit aplikativ burimor.

Në qoftë se punohet me lloje të ndryshme të të dhënave mund të krijohet nga një folder për secilin lloj. Po ashtu mund të krijohet një folder për të dhënat gjatë punës, kurse tjetri për të dhënat nga jeta private.

Duhet cekur se krijimi i folderit të ri, parasheh jepjen e emrit unik pë të. Rregullat për emërtim të folderëve janë të njejta me regullat për emërtim të fajllave, pra në sistemin operativ MS Windows dhe në Macintosh, emri mund të ketë deri në 132 shenja, duke përfshirë këtu edhe hapësirat e zbrazëta.

Fajllat në folderin e njejtë, duhet që të kenë emër unik. Në të njejtin disk mund të kemi dy fajlla me emër plotësisht të njejtë, por në dy folder të ndryshëm.

Page 47: Sisteme operative

47

Page 48: Sisteme operative

48

Sistemi Operativ UNIX

Ashtu siç kanë përparuar dhe janë zhvilluar kompjuterët, të njëjtin progress e kanë arritur edhe

sistemet operative. Shumë sisteme operative klasifikohen me më tepër tipare dhe veçori, respektivisht

dallohen nga versionet paraprake, kjo nënkupton atë se çdo version i fundit ofron më tepër elemente

të avansuara që e bëjn të njejtin edhe më joshës për konsumatorët.

Sot kemi shumë kompani apo më mirë të themi zhvillues të sistemeve operative që veç e kanë

kapluar tregun botëror, dhe ndër këta më të njohur janë:

Apple OSF

Bell labs QNX

BSD Red Hat

Commodore SCO

Corel SGI

Digital Slackware

GNU Sun

Hewlett

Packard SuSE

IBM System V

Kondara Turbolinux

Linus

Torvalds Ultrix

Mandrake Unisys

Microsoft UnixWare

MINIX VectorLinux

Shumë emra nga kjo listë mund edhe të mos i kemi degjuar fare, apo ti njohim vetëm pak, kurse për

dallim, me disa të tjerë veç operojmë personalisht, si Microsoft dhe UNIX (të cilët janë dy konkurentët

më të mëdha të sistemeve operative)në tregun botëror.

Në një sistem operativ të bazuar në komanda “command-line” (p.sh. DOS), shkruhet komanda

tekstuale dhe kompjuteri përgjigjet në bazë të asaj komande.

Në një sistem operativ me Graphical User Interface (GUI), (p.sh. Windows) bashkëveprohet me

kompjuterin nëpërmjet ndërlidhjes grafike me fotografitë dhe butonët duke e shfrytëzuar muin

elektronik (mouse) dhe tastierën(keyboard).

Në sistemin operativ UNIX kemi mundësi të përdorim opcionin “command-line”(ku kemi më shumë

kontroll dhe fleksibilitet) ose edhe GUI (për aplikim më të lehtë).

Page 49: Sisteme operative

49

UNIX dhe Windows

Këta dy sisteme operative kanë një të kaluar dhe të ardhme konkuruese. Sistemi operativ UNIX është

në përdorim për më shumë se tre dekada. Fillimisht ajo u ngrit nga hiri i një përpjekje të dështuar për

të zhvilluar një sistem të besueshëm operativ rreth viteve të 60’ta. Disa të mbijetuar nga “Bell Labs”

nuk hoqën dorë dhe zhvilluan një sistemi operativ që siguronte një mjedis pune të përshkruar si

“thjeshtësi e pazakontë, fuqi dhe elegancë”.

Që nga viti 1980 konkurenti kryesorë i UNIX-it Windows-i fitoj popullaritet për shkak të fuqisë së

ngritjes të mikro-kompjuterëve me processor kompatibil nga Intel-i. Windows-i në atë kohë ishte i

vetmi prodhues i sistemeve operative të dizajnuara për këtë lloj procesori. Megjithatë, në vitet e fundit

doli në shitje edhe një version i ri i sistemit operativ UNIX, i quajtur Linux, i cili gjithashtu ishte zhvilluar

për mikro-kompjuterë. Ky sistem operativ meret pa parapagesë dhe kjo është edhe një arsye që u

shpërnda me shpejtësi të madhe në treg, është një zgjedhje fitimprurëse si për individët ashtu edhe

për bizneset.

� Përkrahë serverit, UNIX-i qëndronte shumë afër në treg me Windows-in. Në vitin 1999 Linux-i

me “Novell Netware” e shtyu veten në vend të dytë me këtë sistem operativ pas Windows

NT’s. Kështuqë, në vitin 2001 sistemi operativ Linux solli ngritje në treg nga 12% me UNIX në

25% tani me Linux.

� Përkrahë klientit, Microsoft-i me sistemet operative dominon në treg me 90%.

Microsoft-i praktikon një politik të veçantë në treg, ai e shet sistemin operativ duke e integruar të

njëjtin në kompjuter para se të blehet ai, keshtu ai shet edhe paisjen(kompjuterin) edhe sistemin

operativ.shpesh herë edhe tek konsumatorët që nuk e kanë ideen se çfarë është një sistem operativ.

Shumë të tjerë nuk janë as në dijeni se egziston ndonjë sistem tjetër operativ përveç Windows-it. Pra,

më mirë do ishte të ndërmarim vetë vendim për ndonjë sistem operativ. Dhe varësisht se ku do e

përdorim të njëjtin, në shtëpi, apo në organizatë.

Në këtë rast duhet të kemi në konsideratë edhe UNIX/Linux-in, sidomos nëse i njejti mund të jetë i

rëndësishëm në mjedisin tonë.

Avantazhet e sistemit Operativ UNIX: � Sistemi operativ UNIX është më fleksibil dhe mund të instalohet në më shumë lloje të

kompjuterëve, përfshirë këtu “main-frame” kompjuterët, superkompjuterët dhe mikro-

kompjuterët.

� Sistemi operativ UNIX është më i qëndrueshëm dhe nuk bije lehtë si Windows-i, pra kërkon

më pak administrim dhe mirëmbajtje.

Page 50: Sisteme operative

50

� Sistemi operativ UNIX ka të integruar më tepër siguri dhe mundësi për veprim sesa sistemi

operativ Windows.

� Sistemi operativ UNIX posedon më shumë fuqi për përpunimin e të dhënave sesa sistemi

operativ Windows.

� Sistemi operativ UNIX është lider në shërbime të rrjetit. Rreth 90% të internetit mbështetet në

sistemin operativ UNIX, duke u drejtuar nga Apache server, web server-i më i shfrytëzuar në

botë.

� Avansimet software-ike nga Microsoft-i shpesh herë kërkojnë nga përdoruesit/klientët që ti

blejnë artikujt e tyre të azhuruar ose te rinjë, gjë që nuk kërkohet nga UNIX.

� Sistemi operativ UNIX frymëzon për qasje të reja në projektimin software-ik, si zgjedhja e

problemeve me ndërlidhjen e paisjeve të thjeshta, në vend të krijimit të programeve të

pandashme aplikative.

Mos harojmë se nuk ka ndonjë lloj të veçantë të sistemit operativ që mund të ofroj një përgjigje

univerzale për të gjitha nevojat tona kompjuterike, por duhet parë këtë si mundësi për zgjidhje dhe

marjen e vendimit se për cilin sistem operativ do përcaktohemi.

Çka është UNIX-i?

Sistemi operativ UNIX u zhvillua në vitet e 60’ta dhe ka qenë në zhvllim të vazhdueshëm që nga ajo

kohë. Me sistem operativ nënkuptojmë një komplet të programeve të cilët e bëjn kompjuterin të

operoj. Sistemi operativ UNIX është një sistem i qendrueshëm, “multiuser”, “multitasking”,

“multiprocessing”, “multithreading”, për të cilët funksione do japim sqarim më poshtë:.

“Multi-user” – Është nje sistem operativ i cili lejon më shumë përdorues ta shfrytëzojnë kompjuterin

e njejtë, në kohë të njejtë apo intervale të ndryshme kohore.

“Multi-processing” – Është një sistem operativ i cili është i aftë për të mbështetur dhe shfrytëzuar

më shumë se një processor në kompjuter.

“Multi-tasking” Është një sistem operativ i cili është në gjendje të lejon më tepër procese software-

ike të veprojnë në të njejtën kohë.

“Multi-threading” Është një sistem operativ i cili lejon pjesë të ndryshme të një programi software-ik

të drejtohen paralelisht.

Sistemi operativ UNIX ngjajshëm si Microsoft Windows, përmban edhe GUI(Graphical User Interface)

që nënkupton manipulim më të lehtë, duke vepruar me ikona dhe grafika.

Sistemi operativ UNIX është përdorur gjegjësisht për server, stacione punuese(workstation) dhe

paisje mobile(mobile device). UNIX-i dhe programi model “client-server” ishin elementet thelbësore në

zhvillimin e internetit dhe riorganizimin e sistemit kompjuterik, të përqëndruar më tepër në rrjetë sesa

në kompjuter individual.

Page 51: Sisteme operative

51

Fillimisht, UNIX-i ishte menduar të jetë më tepër një hapsirë punuese për programerët në vend që të

shfrytëzohet për ti drejtuar aplikacionet software-ike. Ky sistem operativ fitoj ngritje kur u përhap në

rrethin akademik, ku përdoruesit i shtuan veglat e tyre në sistem dhe i ndan të njejtat me kolegët e

tyre.2

Që të dyjat, edhe UNIX edhe gjuha programore C janë zhvilluar nga AT&T dhe ju shpërndanë

institucioneve qeveritare dhe akademike, të cilat çuan në shumëllojshmëri të gjërë të familjeve

makinerike, se çdo sistem tjetër operativ. Dhe si rezultat UNIX-i u be sinonim me sistemet e hapura.

Sistemet UNIX karakterizohen nga koncepte të ndryshme:

o Përdorimi i tekstit për klasifikimin e të dhënave

o Një sistem hierarkik për dosjet

o Trajtimin e paisjeve dhe llojet e caktuara të procesit të brendshëm të komunikimit(IPC/inter-

process communication), si dosjeve dhe përdorimi i një numri të madh të mjeteve software-

ike

o Programe të vogla që mund të lidhen së bashku nëpërmjet një interpretuesi/përkthyesi

”command–line”, në krahasim me një program të vetëm monolit që përfshijnë të njëjtin

funksionalitet.

Këta koncepte janë të njohura kolektivisht si filozofi e UNIX-it. Këtë edhe e përmblodhën Kernighan

dhe Rob Pike në një mjedis të programimit UNIX si “Ideja se fuqia e një sistemi vjen më shumë nga

marrëdhëniet mjedis programeve sesa nga vetë program”.

Sistemi operativ UNIX është i përbërë nga tri pjesë:

1. Kernel,

2. Shell dhe

3. Programet.

Kernel Kernel i UNIX-it është qendra e sistemit operativ, ajo alokon kohën dhe memorjen e programeve dhe

trajton dosjet e ruajtura dhe komunikimet si përgjigje në thirrjet e sistemit.

Si ilustrim i mënyrës se si punojnë së bashku Shell dhe Kernel mund të meret ky: Supozojm se një

shfrytëzues shtypën “rm dokumentin tim”(që nënkupton, respektivisht ka efektin e largimit të file-it me

emrin “dokumentin tim”, shell-i fillon me kërkimin e dosjes që përmban programin “rm”(remove), pastaj

kërkon Kernel nëpërmjet thirrjeve të sistemit për të egzekutuar programin “rm” ne “dokumentin tim”.

2 Powers, Shelley; Peek, Jerry; O'Reilly, Tim; Loukides, Mike (2002). Unix Power Tools. ISBN 0-596-00330-7.

Page 52: Sisteme operative

52

Kur mbaron egzekutimi i procesit, Shell-i pastaj kthen menjëherë tek përdoruesi sinjalin/shenjën % në

ekran, duke treguar se sistemi po pret komandën e ardhshme.

Shell Shell-i vepron si një ndërfaqe mes përdoruesit dhe Kernel. Kur përdoruesi regjistrohet në

kompjuter(bën log in), programi “log in” kontrollon emrin e përdoruesit dhe fjalëkalimin dhe pastaj fillon

një program i quajtur Shell. Shell-i është një interpretues i komandave(command line interpreter/CLI).

Ai interpreton komandat që përdoruesi i jep dhe rregullon egzekutimin e tyre. Komandat janë vetë

programet dhe kur ata përfundojnë Shell-i e nxjer në ekran sinjalin/shenjën %.

Shell-i përmban një listë të komandave që neve i kemi shtypur. Nëse dëshirojm ta përsërisim

komandën përdorim tastën e kursorit për të lëvizur lartë dhe poshtë në listë ose japim “history”për

ndonjë listë të komandave të mëparshme.

Fajllat/dosjet dhe Proceset

Çdo gjë në UNIX është ose një fajll ose një process.

Procesi është një program egzekutues i identifikuar nga një PID unik(proces identifier/identifikues i

procesit).

Një fajll/dosje është një koleksion i të dhënave, të cilët janë krijuar nga përdoruesit duke përdorur

tekst editorët, egzekutimin e përpiluesve(compilers), etj.

Shembuj të fajllave/dosjeve mund të jenë:

Një document(raport, esse, etj.)

Teksti i një program të shkruar në ndonjë gjuhë të lartë programore

Instruksione të kuptueshme direkt në makinë dhe të pakuptueshme për një përdorues të

shkujdesur, për shembull, një koleksion i shifrave binare(një fajll i egzekutueshëm apo binar)

Një listë që përmban informacion rreth përmbajtjes së saj, e cila mund të jetë edhe një

përzierje e listave tjera(nënlistave) dhe fajllave/dosjeve të zakonshme.

Struktura e listave Të gjithë fajllat/dosjet janë të grupuara në strukturën e listave. Sistemi i fajllave/dosjeve është

aranzhuar sipas një strukture hierarkike, si një pemë e përmbysur dhe në krye të hierarkisë qëndron

rënja(root) e shënuar si /.

Page 53: Sisteme operative

53

Nga diagrami më lartë shohim se fajlli/dosja bazë e një studenti “ee51vn” përmban dy nënfajlla/dosje

“docs” dhe “pics” dhe një fajll të ashtuquajtur “report.doc”.

Tani të shohim se si duket rruga e plotë e dokumentit “report.doc” -

/home/its/ug1/ee51vn/report.doc

Si i qasemi UNIX-it?

Për të hapur një dritare ne UNIX terminal, klikojmë mbi “Terminal” ikonën nga menyja

“Application/Accessories” si ne figurën e mëposhtme(Fig.1):

Fig.1

Do të shfaqet një dritare me sinjalin/shenjën % në ekran, si në figurën e mëposhtme(Fig.2), që

nënkupton së makina është duke pritur që të shtypim komandën e dëshiruar:

Page 54: Sisteme operative

54

(Fig.2)

Kur bëjm së pari log in në kompjuter, direktoriumi aktual i punës është direktoriumi kyç. Direktoriumi

kyç në këtë rast e mban emrin e njejtë si emri i përdoruesit, për shembull “user” dhe ky është edhe

lokacioni ku ruhen fajllat tonë personal dhe nënfajllat.

Pastaj për ta shfletuar të njejtin direktorium vetëm shtypim komandën “% ls”(list) dhe do egzekutohet

kërkesa jonë. Kjo komandë do e liston përmbajtjen e direktoriumit ku jemi duke punuar.

Njejtë si kjo i kemi në dispozicion edhe më shumë komanda të cilat kryejnë funksione të ndryshme,

dhe varësisht se çfarë inputi do i japim neve, ajo edhe do zbatohet. Pra, dëshirojm të listojmë

direktoriumet e punës, apo të krijojm një direktorium të ri, të kopjojm një fajll, ta zhvendosim të njejtin,

ta fshijmë, të shfaqet një fajll, të kalkulojmë numrin e të dhënave, rrjeshtave, numrave, karaktereve

dhe shkonjave në dokument, ti sortojm të dhënat, etj.

Page 55: Sisteme operative

55

Njohuri për Sistemin Operativ Linux

Në këtë pjesë të tekstit do të bëhet fjalë për sistemin operativ Linux me një vështrim të veçantë në versionin “Ubuntu” të tij. Ky sistem operativ i cili ka një konkurrent të fortë në sistemet e ndryshme operative të ofruara nga Microsoft siç janë Windows XP dhe Windows Vista prapë se prapë po arrin të tërheq një numër të madhe të profesionistëve të ndryshëm kompjuterik si dhe së fundi me paraqitjen e versionit Ubuntu të këtij sistemi operativ edhe një numër të shfrytëzuesve të thjeshtë madje dhe të atyre në biznes.

Linux për një kohë të gjatë ka qenë i njohur si një sistem operativ që ka avantazhe të shumta ndaj sistemeve operative Windows duke filluar nga siguria, portativiteti e të tjera mirëpo ishte njëkohësisht edhe mjaft i anashkaluar nga shfrytëzuesit e rëndomtë të kompjuterëve për shkak të vështirësive gjatë punës me të dhe kryesisht përdorimi i tij ishte i rezervuar për shfrytëzuesit me më shumë përvojë apo ata që ishin edhe profesionistë në ndonjë lëmi të teknologjisë informative.

Ubuntu Linux ka arritur të ndryshojë gjumë gjëra për sa i përket mënyrës në të cilën njerëzit e vështrojnë sistemin operativ Linux duke thjeshtësuar shumë çka në ambientin e komplikuar të Linux-it duke filluar nga ndërfaqja kryesore punuese apo desktopi e deri te mënyra e punës në rrjet dhe bashkëpunimi në mes të sistemeve të ndryshme operative.

Sistemi operativ Linux për shfrytëzuesit e zakonshëm

Për vetëm pak vite, sistemi operativ Linux kaloi prej asaj që konsiderohej sistem operativ vetëm për specialistët në një sistem operativ për përdorim nga të gjithë. Sistemet me Linux të para-konfiguruar dhe para-kompajluar mund të instalohen edhe pa njohuri teknike. Versionet e ndryshme të sistemit operativ Linux tashmë mund të gjenden në pajisjet nga më të ndryshmet, prej PC-ve e deri te kompjuterët e dorës (PDA3-të), prej konsolëve për lojëra (siç është Playstation 3) deri te superkompjuterët. Thënë shkurt, Linux është bërë sistem i atillë sa që të mund të ekzekutohet në çdo pajisje nga çdo njeri.

Si në kompjuterët desktop4 po ashtu edhe në ata server, Linux është bërë sistem i leverdishëm operativ për një llojllojshmëri të aplikacioneve të biznesit. Sot, ndërmarrjet e mëdha mund të përdorin me mijëra sisteme duke përdorur instalime të Linuxit nga kompanitë siç jsnë Red Hat, Inc. dhe Novell, Inc. Bizneset e vogla mund të përziejnë shërbimet e zyrës dhe të internetit për të cilat kanë nevojë duke ulur në atë mënyrë koston e përgjithshme.

Modeli i zhvillimit të softuerit pa pagesë dhe me kod të hapur (FOSS5) i cili promovon ndarjen, lirinë de çiltërsinë tashmë ndodhet në trajektoren nga e cila mund të tejkaloj kualitetet e sistemeve të tjera operative edhe jashtë serverëve tradicional me Linux dhe stacionet teknike punuese. Komponentët që në të kaluarën ishin pikë e dobët e Linuxit, siç ishin vështirësia e përdorimit të desktopit dhe aplikacionet e produktivitetit personal, janë përmirësuar me një tempo të përshpejtuar. Në sferën e sigurisë, lehtësisë së përdorimit, 3 PDA – ang. Personnal Data Assistant – asistenti personal digjital

4 Deskop – në përkthim të lirë do të thotë kompjuter tavoline mirëpo zakonisht me këtë fjalë i referohemi

kompjuterëve të zakonshëm statik 5 FOSS – ang. Free and Open Source Software – softueri pa pagesë dhe me kod të hapur

Page 56: Sisteme operative

56

lidhshmërisë dhe shërbimeve të rrjetës, Linux vazhdon të përmirësojë dhe ruaj avantazhin që ka ndaj konkurrentëve të tij.

Lojtarët e mëdhenj të industrisë së kompjuterëve siç janë Microsoft dhe Oracle përfundimisht kanë pranuar rolin dhe mundësitë që ofron Linux. Microsoft ka bërë marrëveshje me kompani që punoj me Linux duke përfshirë Novel, Linspire dhe Xandros për të krijuar me to partneritete që kryesisht kanë për qëllim mbrojtjen e këtyre kompanive nga paditë e ndryshme nga ana e Microsoft. Oracle madje filloi të prodhoj versionin e tij të sistemit operativ Linux që quhet Unbreakable Linux, për të provuar ndryshimin e rrjedhës së klientëve që gjithnjë e më shumë po orientohen për Red Hat Enterprise Linux.

Të kuptuarit e drejtë të Linuxit

Linux është një sistem operativ gjithë-përfshirës që është një klon pa pagesë i sistemit operativ jashtëzakonisht të qëndrueshëm dhe të fuqishëm – UNIX. Kur niset kompjuteri me sistemin operativ Linux, ai do të kujdeset për këto aspekte të kompjuterit në të cilin ekzekutohet:

• Procesori – Për shkak se Linux mund të ekzekutojë shumë procese nga shumë shfrytëzues të ndryshëm në të njëjtën kohë (madje dhe me CPU të shumëfishtë në të njëjtin kompjuter), ai duhet të jetë në gjendje ti menaxhoj këto procese. I ashtuquajturi Linux scheduler cakton prioritetet për detyrat që po ekzekutohen dhe cakton cilat procese në cilin CPU duhen ekzekutuar (nëse kemi të bëjmë me procesor të shumëfishtë). Scheduler mund të kurdiset në mënyra të ndryshme për llojet e ndryshme të sistemeve Linux. Nëse është i kurdisur siç duhet, proceset më të rëndësishme marrin përgjigje të menjëhershme nga procesori. Për shembull, Linux scheduler në një sistem desktop i jap prioritet proceseve siç janë lëvizja e dritares se sa për shembull bartjes së fajllave në prapavijë.

• Memoria – Linux mundohet të maj proceset më esenciale në memorien RAM6, duke menaxhuar në ndërkohë me mënyrën në të cilën proceset që tejkalojnë memorien në dispozicion futen në memorie dhe largohen kalohen në të ashtuquajturin swap space. Swap space përkufizohet si zona e diskut të fortë që përdoret për menaxhimin e mbingarkesës së proceseve dhe të dhënave që ekzekutohen. Kur memoria RAM është e mbushur, proceset vendosen në swap space (që nuk është gjë e mirë të ndodh), proceset e rinj nuk mund të nisen.

• Pajisjet (Devices) – Linuxi përkrah mijëra pajisjet harduerike, duke e ruajtur kernelin7 me madhësi që mund të menaxhohet përmes ngarkimit vetëm të driver-ëve më të duhur në kernelin aktiv. Modulet mund të ngarkohen apo shkarkohen sipas nevojës, me shtimin apo largimin e harduerit.

• Sistemet e fajllave – Sistemet e fajllave japin një strukturë me të cilën ruhen fajllat në diskun e fortë, CD, DVD, fllopi disk apo ndonjë medium tjetër. Linuxi i njeh llojet e ndryshme të llojeve të sistemeve të fajllave (siç është për shembull Linux ext3 dhe reiserfs file sistem, apo VFAT dhe NTFS në sistemin operativ Windows) dhe din si ti menaxhoj ata.

6 RAM – ang. Random Access Memory – memoria punuese e kompjuterit

7 Kerneli – zemra (thelbi) e sistemit operativ Linux

Page 57: Sisteme operative

57

• Siguria – Sikurse UNIX, edhe Linux është i ndërtuar prej zeros për të mundësuar shfrytëzues të shumëfishtë ti qasen sistemit njëkohësisht. Për të mbrojtur resurset e secilit shfrytëzues, secili fajll, direktorium, dhe aplikacion ka një set të drejtash për lexim, shkrim dhe ekzekutim me anën e të cilave përkufizohet se kush mund ti qaset cilit resurs. Në një Linux sistem standard, shfrytëzuesi root8 ka qasje në tërë sistemin, disa shfrytëzues të tjerë të para-krijuar kanë qasje në disa shërbime të veçanta të sistemit (siç është Apache për ueb shërbime, për shembull), dhe secilit shfrytëzues mund ti caktohen të drejta individuale apo sipas grupeve.

Të gjitha këto komponent të numëruar kryesisht menaxhohen nga ajo që shpesh referohet si Linux kernel. Në të vërtetë, Linux kernel (i cili ishte krijuar dhe ende mirëmbahet nga Linus Torvalds9) është njëkohësisht edhe burimi i emrit për Linuxin. Kerneli është softueri i cili niset kur nisim kompjuterin dhe i cili është ndërfaqja me programet që përdorim ashtu që ata të mund të komunikojnë në mënyrë efikase me harduerin e kompjuterit.

Komponentët siç janë komandat administrative dhe aplikacionet prej projekteve tjera pa pagesë dhe me kod të hapur punojnë së bashku me kernelin për të bërë Linuxin një sistem të kompletuar operativ. Projekti GNU, në veçanti, kontribuoi shumë implementime të komponentëve të zakonshme të UNIX-it që tani janë pjesë e Linuxit. Apache, KDE, GNOME dhe projektet e tjerë të mëdhenj të kodit të hapur në Linux, gjithashtu kanë dhënë kontributin e vet në popullarizimin e Linuxit. Këto projekte të tjera kanë shtuar gjërat siç janë:

• Ndërfaqja grafike për shfrytëzues (GUI10) – Përbëhet nga korniza grafike (zakonisht është ky sistemi X Window), menaxherët e dritareve, paneleve, ikonave dhe menyve. GUI-të mundësojnë shfrytëzuesit të përdorin Linuxin me kombinimin e tastierës dhe miut, në vend të përdorimit vetëm të tastierës për të shkruar komandat (siç është bërë në ditët e hershme të Linuxit).

• Funksionet administrative – Duke përfshirë me qindra (ndoshta edhe me mijëra) komanda dhe dritare grafike për të bërë gjërat si shtimi i shfrytëzuesve, menaxhimi i disqeve, monitorimi i rrjetës, instalimi i softuerit dhe në përgjithësi sigurimi dhe menaxhimi i kompjuterit.

• Aplikacionet – Edhe pse asnjë distribucion i Linuxit nuk përfshin të gjithat, janë pothuajse me qindra lojëra, vegla për produktivitet personal, ueb shfletues, shërbime chati, lexues multimedial si dhe aplikacione të tjera që mund të përdoren në Linux.

• Veglat për programim – Duke përfshirë veglat e programimit për krijimin e aplikacioneve dhe libraritë për implementimin e ndërfaqeve speciale.

• Funksionet shërbyese (server) – Që mundësojnë ofrimin e shërbimeve prej kompjuterit me Linux drejt kompjuterëve apo rrjetave të tjera. Me fjalë të tjera, derisa Linux përfshin ueb shfletues për të vështruar ueb faqet, ai mund të jetë edhe kompjuteri i cili bën ofrimin e ueb faqeve për kompjuterët tjerë. Funksionet e popullarizuar shërbyese përfshijnë uebin, mailin, bazat e të dhënave, shtypjen, fajllat, shërbyes për DNS11 dhe DHCP12.

8 Root – në gjuhën shqipe ka kuptimin e rrënjës

9 Linus Torvalds njihet si krijuesi i Linuxit

10 GUI – Graphical user interface

11 DNS – ang. Domain Name Service – shërbimi për konvertimin e IP adresave në emra të kuptueshëm dhe të

kundërtën 12

DHCP – ang. Dynamic Host Configuration Protocol – protokoli për konfigurimin automatik të kompjuterëve

në rrjetën kompjuterike.

Page 58: Sisteme operative

58

Pasi që Linus Torvalds dhe miqtë e tij arritën të kenë një kernel punues të Linuxit, kompletimi i një sistemi të tërë operativ me kod të hapur ishte i mundshëm për shkak të numrit të madh të softuerit “pa pagesë” që kishte prejardhjen nga:

• Licenca Publike GNU (GPL) apo të ngjashme – Që lejon një sistem të tërë operativ të shpërndahet pa pengesa, nëse iu përshtatet udhëzimeve që cakton përdorimi kodit të hapur.

• Sistemet operative të ngjashme me UNIX – U krijuan klone të pothuajse të gjitha komponentëve në nivel të shfrytëzuesit nga sistemet UNIX. Këto vegla dhe aplikacione ishin shkruar që të mund të ekzekutohen në sistemet UNIX apo të ngjashme me UNIX-in.

Historia e Linuxit

Një pjesë e historisë së Linuxit fillon me një mesazh që Linus Torvalds postoi në një newsgroup pranë comp.os.minix me 25 gusht të vitit 1991, ku thuhej:

Përshëndetje të gjithëve që janë duke përdorur minix – Jam duke e bërë (pa pagesë) një sistem operativ (e kam si hobi, nuk do të jetë gjë e madhe as profesionale) për klonet e AT 386(486). Jam duke e bërë gati që nga prilli, dhe është pothuajse gati. Do të dëshiroja komente për gjërat që pëlqeni/nuk pëlqeni në minim, pasi që sistemi im operativ i ngjan paksa (shtrim i njëjtë fizik i sistemit të fajllave (për shkaqe praktike) në mes tjerash) ... Sugjerimet janë të mirëpritura, por nuk premtoj se do ti implementoj :-)

Linus ([email protected])

Minix ishte një sistem operativ i ngjashëm me UNIX që përdorej në kompjuterët e hershëm PC të viteve të 90-ta. Sikurse Minix, edhe Linux ishte një klon i sistemit operativ UNIX.

Për të kuptuar në mënyrë të drejtë se si do të mund të ketë ardhur deri te modelimi i një sistemi operativ pa pagesë në AT&T Laboratories, ndihmon të njohim më për së afërmi kulturën në të cilën ishte krijuar UNIX dhe zinxhirin e ngjarjeve që bënë të munduar thelbin e UNIX-it të riprodhohet në mënyrën në të cilën bëhet sot.

UNIX kultura në Bell Labs

Që nga fillimi, sistemi operativ UNIX ishte krijuar dhe i ushqyer në një ambient komercial. Krijimi i tij nuk ishte i udhëhequr nga nevojat e tregut, por nga dëshira për kaluar pengesat në programet e prodhimit. AT&T, e cila fillimisht ishte pronare e markës UNIX, me gjasë e shndërroi atë në produkt komercial, por deri në atë kohë, shumë nga konceptet (si dhe pjesa më e madhe e kodit fillestar) që e bënte UNIX-in të veçantë kishte dalë në publik.

Deri vonë AT&T ishte kompania e vetme telefonike dhe ishte aq kompani e fuqishme sa që kishte mjete të mjaftueshme financiare për të ia lejuar vetës investimin në projekte që ishin thjeshtë kërkimore. Meka e projekteve të këtilla ishin laboratorët e Bell dy pjesëtarët e të cilëve Ken Thompson dhe Dennis Ritchie pas dështimit të një projekti, nisën një projekt të

Page 59: Sisteme operative

59

vetin për krijimin e një sistemi operativ që do të ofronte një ambient të avancuar për zhvillim të softuerit. Deri në atë kohë pjesa më e madhe e programeve shkruhej në kartat e shpimit që duheshin ushqyer në kompjuterët e mëdhenj mainframe13. Në një ligjëratë të vitit 1980 mbi “Evoluimin e sistemit të ndarjes së kohës të UNIX” Dennis Ritchie përmblodhi shpirtin i cili e nisi UNIX-in kështu:

Çfarë dëshironim të ruanim ne ishte jo vetëm ambienti i mirë i punës në të cilin bëhet programimi, por sistemi mbi të cilin do të mund të krijohej anëtarësia. Ne dinim nga përvoja që qëllimi i tij është jo vetëm shkrimi i programeve por edhe inkurajimi i komunikimit sa më të madh.

Thjeshtësia dhe fuqia e dizajnit të UNIX-it filloi të thyej barrierat që vendosnin zhvilluesit e softuerit. Baza e UNIX ishte i ndërtuar mbi disa elemente kyçe:

• Sistemi i fajllave për UNIX – pas krijimit të strukturës që lejonte nivele të nën-direktoriumeve (që për përdoruesit e së sotmes, duket si follder brenda follderit), UNIX mundi të bërë organizimin e fajllave dhe direktoriumeve në një mënyrë intuitive. Për më shumë, metodat kompleks të qasjes në disk, kaseta dhe pajisjet tjera u thjeshtësuan në masë të madhe me prezantimin e këtyre pajisjeve si fajlla individual të cilat gjithashtu mund të qasen si artikuj brenda një direktoriumit.

• Ri-drejtimi i hyrjes/daljes – sistemet e hershme UNIX gjithashtu përfshinin ri-drejtimin dhe gypëzimin hyrjeve. Nga linja e komandave, shfrytëzuesit e UNIX-it mund të drejtonin daljen e komandës në fajll duke përdorur shenjën e shigjetës djathtas (>). Më vonë, është shtuar koncepti i gypit (׀) ku rezultati i një komande mund të ridrejtohej në hyrje të një komande tjetër. Kjo metodë e drejtimit të hyrjes dhe daljes i mundësoi zhvilluesve të krijojnë veglat e tyre të specializuara që mund të bashkoheshin me veglat ekzistuese. Ky modularitet bëri të mundshëm për pjesën më të madhe të kodit të zhvillohet nga një numër i madh i njerëzve të ndryshëm.

• Mundësitë portative – pjesa më e madhe e punës në thjeshtimin e përvojës së përdorimit të UNIX dërgoi në zhvillimin e aftësive të jashtëzakonshme portative të ekzekutimit në sisteme të ndryshme. Duke pasur udhëheqës të pajisjeve (të përfaqësuar me fajlla në trungun e sistemit të fajllave), UNIX kishte mundësinë e prezantimit të ndërfaqes së aplikacioneve në mënyrë që programet nuk kishin nevojë të dinin për detajet e harduerit në shtresat e më ulëta. Për të portuar më pastaj UNIX-in në një sistem tjetër, krejt çfarë duhej të bënin zhvilluesit ishte të ndryshojnë drejtuesit (driverët). Aplikacionet pra nuk kishin nevojë të ndryshohen për llojet e ndryshme të harduerit. Për të bërë real konceptin e portativitetit, është paraqitur nevoja e ekzistencës së një gjuhe programuese të nivelit të lartë për të bërë implementimin e softuerit. Në vazhdim, Brian Kernighan dhe Dennis Ritchie krijuan gjuhën programuese C. Më 1973, UNIX u ri-shkrua në C. Sot, C është ende gjuha primare për krijimin e kernelëve për sistemin operativ UNIX (dhe Linux).

Një gjë është e qartë kur kalojmë nëpër historinë e sistemit UNIX e ajo është se zhvillimi ishte një proces i pa-ndikuar, me mungesë të egos dhe se ishte i dedikuar në bërjen e UNIX-it një sistem i mrekullueshëm. Ky proces dërgoi në ndarjen e kodit (si brenda ashtu edhe jashtë Bell Labs) që mundësoi zhvillimin e përshpejtuar të sistemit operativ UNIX me kualitet të

13

Mainframe – lloj i veçantë i kompjuterit që zakonisht kryen shërbime të llogaritjes për kompjuterët më të

vegjël

Page 60: Sisteme operative

60

lartë. Kjo gjithashtu bëri që ky sistem operativ të del nga duar e AT&T pasi që ata më nuk arritën ta kthejnë nën ombrellën e tyre.

Deri te UNIX i komercializuar

Para divestiturës së AT&T më 1984, kur ajo u nda në AT&T dhe shtatë kompani “baby Bell”, AT&T e kishte të ndaluar shitjen e sistemeve kompjuterike. Kompanitë që tani njihen me emra si Verizon, Qwest dhe Lucent Technologies ishin të gjitha pjesë e AT&T. Si rezultat i monopolit të AT&T-së mbi sistemin telefonik, qeveria e SHBA-ve ishte e brengosur që AT&T e pakufizuar do të mund të ishte axhami edhe i industrisë së kompjuterëve.

Për shkak se AT&T u ndalua të shes kompjuterët drejtpërdrejtë për klientët para divesturës, kodi burimor i UNIX u licencua për universitete për një kosto nominale. Në AT&T nuk kishte UNIX sistem operativ për të shitur por shfrytëzuesit kishin mundësi të bëjnë vet kompajlimin e tij.

Arritja e BSD

Më 1975, UNIX V6 u bë versioni i parë i UNIX që u vë në përdorim të gjerë jashtë Bell Laboratories. Prej këtij kodi burimor të hershëm të UNIX, u krijua varianti i parë i madh i UNIX në Universitetin e Kalifornisë në Berkley. Ai u emërtua Berkley Software Distribution (BSD).

Për pjesën më të madhe të dekadës së ardhshme, BSD dhe versioni i UNIX nga Bell Labs u nisën në drejtime të kundërta. BSD vazhdoi të lundrojë në ujërat e modifikimeve të lira, mënyrën e ndarjes së kodit që është edhe një nga shenjat dalluese të UNIX të hershëm nga Bell Labs, derisa AT&T filloi të drejtojë UNIX kah komercializimi. Me formimin e laboratorit të posaçëm për UNIX, AT&T u mundua të komercializoj UNIX-in. Deri më 1984, divestitura ishte kryer dhe AT&T ishte në gjendje të filloj të shes versione të sistemit operativ UNIX.

Plotësimi copëve që mungonin nga Linus Torvalds

Linus Torvalds filloi të punojë në Linux në vitin 1991, derisa ishte student në Universitetin e Helsinkit, në Finlandë. Ai dëshironte të krijonte një kernel të ngjashëm me atë të UNIX ashtu që të mund të përdorte llojin e njëjtë të sistemit operativ në kompjuterin e tij në shtëpi sikurse që po përdorte në shkollë. Në atë kohë, Linus ishte duke përdorur sistemin operativ Minix, por ai dëshironte të shkonte përtej asaj çka lejohej me standardet e Minix.

Siç u tha edhe më herët, Linux lajmëroi versionin e parë publik të kernelit Linux në newsgroupën comp.os.minix më 25 gusht të vitit 1991, edhe pse data e vërtetë e publikimit të versionit të parë ishte mesi i shtatorit të po atij viti.

Page 61: Sisteme operative

61

Edhe pse Torvalds pohonte se Linux ishte i shkruar për procesorin 386 dhe me gjasë nuk ishte portativ, të tjerët ishin këmbëngulës në inkurajimin (dhe kontribuimin) në një qasje më portative për versionet e hershme të Linux. Deri më 5 tetorë, Linux 0.02 u paraqit me një pjesë të madhe të kodit origjinal burimor të ri-shkruar në gjuhën programuese C, që e bëri të mundshme portimin e tij në makinat tjera.

Kerneli i Linux ishte pjesa e fundit – dhe më e rëndësishme – e kodit që nevojitej për kompletimin e tërë sistemit operativ të ngjashëm me UNIX që do të funksiononte nën licencën GPL14. Kështu, kur njerëzit filluan të vendosin së bashku versionet, mbeti emri Linux. Disa versione siç është për shembull Debian, i referohen vetes si versione GNU/Linux.

Në disa vite të ardhshme, versionet komerciale dhe jo-komerciale filluan të paraqiten. MCC Interim Linux u paraqit në SHBA në shkurt të vitit 1992 në Britaninë e Madhe. Slackware Linux, i cili për herë të parë u paraqit në prill të vitit 1993, është një nga versionet më të vjetra të Linux që po arrijnë të mbijetojnë.

Linus vazhdon të mirëmbajë dhe përmirësojë kernelin e Linuxit.

Përparësitë e Linuxit

Puna kontribuuese e projekteve UNIX dhe GNU ndihmoi që Linux të njihet dhe fillon të përdoret shumë shpejtë. Kultura e ndarjes në komunitetin e kodit të hapur dhe adoptimi i një vargu të madh të veglave për komunikim në Internet i ndihmuan Linuxit që me shpejtësi të kalojë nëpër adoleshencë dhe të bëhet sistem i pjekur operativ.

Një përkushtim i thjeshtë për të ndarë kodin është me gjasë kontribuuesi më i madh në rritjen e lëvizjes së softuerit të hapur në përgjithësi, dhe i Linuxit në veçanti. Ky përkushtim gjithashtu ka inkurajuar e grupit të njerëzve që janë të përkushtuar ti kontribuojnë komunitetit nga i cili po përfitojnë. Pranimi i Linusit për përfshirjen e kodit nga të tjerët në kernelin e Linuxit gjithashtu ishte kritike për suksesin e Linuxit.

Nëse ndokush nuk ka përdorur më parë Linuxin janë disa gjëra që janë të ndryshme në krahasim me sistemet tjera operative. Ja një listë me disa nga funksionet e Linuxit që mund janë interesante:

• Nuk ka nevojë për ri-nisje – koha e qëndrimit online është çështje e krenarisë (sidomos kur merret parasysh fakti se Linux dhe UNIX janë sisteme që më së shpeshti përdoren për serverë, kështu që duhet të jenë online 24/7/365). Pas instalimit origjinal, mund të instaloni apo largoni softuer sipas dëshirës pa pasur nevojë për ri-nisje të kompjuterit.

• Nisja/ndalja e shërbimeve pa ndërprerjen e punës së të tjerëve – mund të nisim apo ndalim cilindo shërbim individual (për shembull, shërbimet e uebit, fajllave apo emailit) pa pasur nevojë për të ri-nisur kompjuterin apo ndërprerë punën e shfrytëzuesve që janë të kyçur në kompjuter. Me fjalë të tjera, nuk ka nevojë për ri-

14

GPL – ang. General Public License – licenca për përdorim publik

Page 62: Sisteme operative

62

nisjen e kompjuterit sa herë që bëjmë diçka në sistem (instalimi i kernelit të ri është e vetmja arsye për ri-nisjen kompjuterit).

• Softueri portativ – me lehtësi mund të kaloni në ndonjë version tjetër të sistemit Linux, UNIX apo BSD dhe prapë të përdorni të njëjtin softuer që keni përdorur më parë. Pjesa më e madhe e softuerit me kod të hapur janë të zhvilluara që të punojnë në një numër të madh të sistemeve të ngjashme me UNIX madje disa prej tyre mund të ekzekutohen edhe në sistemet Windows, nëse ekziston nevoja për atë gjë. Nëse ndonjë program nuk ekzekutohet në një sistem të dëshiruar, me shumë gjasë, mund të gjendet ndokush që mund ta bëjë portimin e aplikacionit të dëshiruar.

• Aplikacionet që mund të shkarkohen – nëse aplikacionet që preferoni nuk gjenden në versionin e dëshiruar të Linuxit, shpesh ato mund të shkarkohen dhe instalohen me një komandë të vetme, duke përdorur veglat si apt, urpmi dhe yum.

• Nuk ka rregullime të fshehura në kod apo regjistra – kur të mësohet njeriu me disa gjëra rreth Linuxi, ai do të zbuloj se (nëse janë rregulluar mirë të drejtat e shfrytëzuesve të ndryshëm që përdorin kompjuterin) pjesa më e madhe e konfigurimeve janë të bëra në fajlla të thjeshtë tekstual që janë të lehtë për tu gjetur dhe ndryshuar. Për shkak se Linux është i bazuar në çiltërsinë, asgjë nuk është e fshehur nga shfrytëzuesi. Madje edhe kodi burimor, për softuerin e mbuluar me GPL, është në dispozicion të shfrytëzuesve për rishikim.

• Desktop që ka arritur pjekurinë – X Window System (që siguron një kornizë të përdorimit për sistemin) ka qenë këtej pari për një kohë më të gjatë se vet Windows. Ambientet desktop si KDE dhe GNOME sigurojnë ndërfaqe grafike (dritare, meny, e të tjera) që janë rival me ato të Microsoft. Problemet e lehtësisë së përdorimit për Linux janë duke u zhdukur me shpejtësi.

• Liria – Linux, në formën e tij më të thjeshtë, nuk ka agjendë të përbashkët apo pikë të skajshme për të përmbushur. Shfrytëzuesit janë të lirë të zgjedhin versionin e dëshiruar të Linux që iu përshtatet më së miri, shikojnë kodin që ekzekutohet nga sistemi, dhe të shtojnë apo mënjanojnë softuer që pëlqejnë apo nuk pëlqejnë si dhe mund ta bëjnë kompjuterin çfarëdo që dëshirojnë. Linux mund të ekzekutohet në çdo gjë duke filluar prej superkompjuterëve e deri te telefonat celularë dhe çdo gjë që bien në mes. Shumë vende janë duke ri-zbuluar lirinë e të vendosurit duke bërë ndryshime në nivelet e ndryshme qeveritare. Franca, Gjermania, Koreja dhe India janë vetëm disa vende që kanë marrë në përqafim Linuxin. Ndërkohë kjo listë është duke u zgjeruar me tempo të përshpejtuar.

Janë disa aspekte të Linuxit që e bëjnë të vështirë adaptimin e shfrytëzuesve të rinj. Një nga ato është se Linux sipas preferencave origjinale është i mbaruar të jetë më i sigurt, kështu që duhet bërë mjaft rregullime duke përdorur login administrativ (root) për shumicën e ndryshimeve që ndikojnë sistemin në përgjithësi.

Page 63: Sisteme operative

63

Përkufizimi i kodit të hapur - OSI

Për zhvilluesit e softuerit, Linux siguron një platformë që i mundëson ata të ndryshojnë sistemin operativ sipas dëshirës dhe të marrin një varg të gjerë të ndihmës për krijimin e aplikacioneve për të cilat kanë nevojë. Një nga rojtarët e lëvizjes së kodit të hapur është Open Source Initiative (www.opensource.org).

Ideja kryesore që qëndron pas kodit të hapur është shumë e thjeshtë: Kur ata që bëjnë programimin të mund të lexojnë, kontribuojnë, shpërndajnë dhe modifikojnë kodin burimorë për një pjesëz të softuerit, atëherë softueri evoluon. Njerëzit e përmirësojnë atë, e adoptojnë atë si dhe i riparojnë gabimet në të. Madje kjo dhe mund të bëhet me një shpejtësi të hatashme dhe të habitshme.

Derisa qëllimi kryesorë i softuerit me kod të hapur është që ta bëjë publik kodin burimorë, qëllimet tjera të tij gjithashtu janë të përkufizuar nga OSI. Pjesa më e madhe e rregullave në vazhdim për licencat e pranueshme të kodit të hapur kanë për qëllim mbrojtjen e lirisë dhe integritetit të kodit të hapur:

• Shpërndarja e lirshme – licenca e kodit të hapur nuk mund të kërkojë tarifë nga ndokush që bën rishitjen e softuerit.

• Kodi burimor – kodi burimorë duhet të jetë i përfshirë me softuerin dhe nuk mund të jetë i kufizuar nga shpërndarja e mëtejmë.

• Punimet e përfituara – licenca duhet të lejojë modifikimin dhe shpërndarjen e kodit nën të njëjtët kushte të përdorimit.

• Integriteti i kodit burimorë të autorit – licenca mund të kërkojë që ata që përdorin kodin të largojnë emrin e projektit origjinal apo versionin nëse bëjnë ndryshimin e kodit burimorë.

• Mos-diskriminim kundër personave apo grupit – licenca duhet të lejojë të gjithë njerëzit të jenë njëlloj të obligueshëm ndaj përdorimit të kodit burimorë.

• Mos-diskriminim ndaj fushave të përpjekjes – licenca nuk mund të kufizojë projektin nga përdorimi i kodit burimorë për shkak se është komercial apo për shkak se është i shoqëruar nga ndonjë fushë e përpjekjes që nuk i pëlqen ofruesit të softuerit.

• Shpërndarja e licencës – nuk duhet të ketë nevojë për licencë shtesë për përdorimin apo shpërndarjen e softuerit.

• Licenca nuk duhet të jetë e veçantë për ndonjë produkt – licenca nuk duhet të kufizojë kodin burimorë ndaj një shpërndarje të caktuar të softuerit.

• Licenca duhet të jetë neutrale për teknologjitë – licenca nuk mund të kufizojë metodat në të cilat kodit burimorë mund të shpërndahet.

Page 64: Sisteme operative

64

Projektet më të mëdhenj softuerik

Disa projekte softuerike kanë shkuar mbi statusin e të qenit thjeshtë një komponentë e Linuxit apo ndonjë derivati tjetër të UNIX-it. Disa nga këto projekte janë të sponsoruar dhe mirëmbajtur nga organizatat që mbikëqyrin projekte të shumëfishta të kodit të hapur. Projektet dhe organizatat më të popullarizuara të kodit të hapur përfshijnë:

• The Apache Software Foundation - Fondacioni i softuerit Apache (www.apache.org), nuk është vetëm softueri më i popullarizuar i kodit të hapur për ueb server në botë, por është edhe softueri më i popullarizuar për ueb server. Shumica e shpërndarjeve të linuxit që kanë softuer për ueb server kanë Apache. Apache Software Foundation mirëmbanë Apache Web (HTTP15) serverin dhe një bollëk të projekteve tjera, duke përfshirë SpamAssassin (për bllokimin dhe filtrimin e spam16 postës në email), Apache Portals (për mundësimin e softuerëve për portale), dhe disa projekte për prodhimin e moduleve që duhet të përdoren me Apache Web Server.

• The Internet Systems Consortium - Konsorciumi i sistemeve të internetit (www.isc.org) përmban projektet që bëjnë përkrahjen e infrastrukturën kritike të Internetit me anë të licencës së kodit të hapur. Këto projekte përfshijnë Bind (softueri shërbyes për DNS17), DHCP18 (për caktimin e IP adresave dhe informatave të tjera për klientët në Internet), INN19 (për krijimin e shërbyesve të emrave të Internetit), dhe OpenReg (një vegël për menaxhimin e delegimit të domenëve në regjistra të ndarë).

• The Free Software Foundtaion – Fondacioni i softuerit pa pagesë (www.fsf.org) është sponsori kryesorë i projekteve GNU. Pjesa më e madhe e komandave dhe funksioneve të UNIX-it që janë të përfshirë në Linux që nuk ishin të bashkërenditur për së afërmi me kernelin ishin prodhuar nën ombrellën e projektit GNU.

• Projekti Mozilla (www.mozilla.org) – produkti i parë i madh i shfletuesit të uebit ishte Mozilla Navigator, i cili fillimisht ishte i bazuar në kodin e lëshuar në komunitetin e kodit të hapur nga Netscape Communicator. Shfletuesit e tjerë me kod të hapur përfshijnë makinën e Mozilla-s. Projekti Mozilla gjithashtu ofroi një suitë të klientëve të ndryshëm të Interntit që përfshijnë emailin, kompozuesin, IRC Chat dhe softuer për libra të adresave (address book). Zhvillimet e reja nga projekti Mozilla janë të fokusuar në Thunderbird që është një klient për email dhe lajme si dhe shfletuesin e e internetit Firefox, që kanë parë sukses të jashtëzakonshëm në platformat Linux, Windows dhe Mac OS X në disa vite të fundit. Suita e vjetër Mozilla ofrohet sot në emrin Seamonkey (www.mozilla.org/projects/seamonkey).

• Projekti Samba (www.samba.org) ofron softuer për ndarjen e fajllave dhe shtypësve me përdorimin e klientit CIFS20 dhe SMB21. Këto protokolle janë mjetet më të

15

HTTP – ang. Hypertext Transfer Protocol - gjuha programuese e ueb faqeve 16

Spam – posta e padëshiruar që vjen në kutitë tona postare pa dëshirën tonë 17

DNS – ang. Domain Name Service – shërbim i shndërrimit të IP adresave në emra të kuptueshëm dhe e

kundërta 18

DHCP – ang. Domain Host Configuration Protocol – protokoll për konfigurimin automatik të klientëve në

Internet 19

INN – ang. International Nonproprietary Name – emrat e pa-patentuar në Internet 20

CIFS – ang. Common Internet File System – sistemi i fajllave të zakonshëm të internetit 21

SMB – ang. Server Message Block – protokoll për shkëmbimin e fajllave në Internet

Page 65: Sisteme operative

65

përshtatshme për ndarjen e fajllave dhe shtypësve me anën e sistemit operativ Windows.

• Konsorciumi Sendmail (www.sendmail.org) – mirëmban agjentin sendmail për transportim të emailit, i cili është softueri më i popullarizuar në botë për dërgimin e postës elektronike.

Ekzistojnë natyrisht edhe shumë projekte dhe organizata të tjera që ofrojnë softuer të përfshirë në shpërndarje të ndryshme të Linuxit, por këto që përmendëm këtu njihen si më kryesoret dhe më të përdorurat në botën e kodit të hapur.

Page 66: Sisteme operative

66

Ubuntu Linux

Ubuntu është sistem operativ i bazuar në Linux dhe që është i shpërndarë në baza të softuerit me kod të hapur (pa pagesë). Ubuntu është një sistem shumë stabil i përditësuar, që mund të përdoret edhe nga shfrytëzuesit që kanë njohuri mesatare të kompjuterit, me fokus të fortë në lehtësinë e përdorimit dhe lehtësinë e instalimit. Nga shumë ueb faqe të popullarizuara Ubuntu është zgjidhur si shpërndarja më e popullarizuar e Linuxit për kompjuterët desktop22, duke përfshirë më shumë se 30% të instalimeve për desktop gjatë viteve 2007 dhe 2008.

Ubuntu përbëhet nga disa pako të softuerëve që zakonisht shpërndahen përmes licencës së kodit të hapur qoftë GNU apo GPL dhe është i sponsoruar nga kompania Canonical Ltd me zyrat qendrore në Britani të Madhe dhe me pronësi të biznesmenit Afrikano Jugorë Mark Shuttleworth. Duke e mbajtur Ubuntun si sistem pa pagesë dhe me kod të hapur, Canonical ka mundësinë e përdorimit të talentit të zhvilluesve nga komuniteti në zhvillimin e komponentëve përbërës të Ubuntus.

Canonical publikon versione të reja të Ubuntu-s çdo gjashtë muaj si dhe mundëson përditësimin e sistemeve me riparimet e sigurisë, arnat për bug-a si dhe mbindërtime të vogla për vetë sistemin operativ. Versionet LTS23 të Linux Ubuntu që publikohen çdo dy vite, kanë përkrahje tri vjeçare për desktop dhe pesë vite për versionin server. Versioni aktual në momentin që po e shkruajmë këtë punim është Ubuntu 9.04 i cili u publikua në prill të vitit 2009.

Figura 2 – Pamja e desktopit të Ubuntu 9.04

22

Desktop – kompjuterët e tavolinës (desk – tavolinë dhe top- në majë) 23

LTS – ang. Long Term Support – versioni i Ubuntu-s me përkrahje afat-gjate

Page 67: Sisteme operative

67

Historia dhe procesi i zhvillimit

Ubuntu është një patentë që ka bazë në kodin e projektit Debian24. Qëllimi origjinal ishte publikimi i versionit të ri të Ubuntu çdo gjashtë muaj, duke pasur kështu rezultat përditësime më të shpeshta të sistemit. Paraqitje e parë e Ubuntu ishte me 20 tetorë 2004 ndërsa emri i tij vjen nga fjala “ubuntu” në gjuhën Zulu që do të thotë “humanitet për të tjerët”.

Ubuntu publikohet një muaj pas publikimit të GNOME25-it. Për ndryshim nga patentë të tjerë të Debian (siç janë MEPIS, Xandros, Linspire, Progeny dhe Libranet) që në masë të madhe përdorin shtesa me patentë dhe të kodit të mbyllur, Ubuntu kryesisht përdorë softuer pa pagesë, duke bërë një përjashtim vetëm për disa driver të patentuar për harduer.

Pakot për Ubuntu janë të bazuara në pakot nga pakot për Debian: pra përdorin pako me formatin deb për Debian dhe pako që instalohen me veglat për menaxhimin e pakove (APT dhe Synaptic). Pakot për Debian dhe Ubuntu mund të mos jenë në përputhshmëri binare njëri me tjetrin, sidoqoftë, shpesh pakot .deb duhen rindërtuar nga kodi që të mund të përdoren në Ubuntu. Shumë zhvillues për Ubuntu kanë gjithashtu rol në mirëmbajtjen e pakove kryesore të Debian-it.

Momentalisht Ubuntu është duke përdorur fondet e Caonical Ltd. Më 8 korrik 2005, Mark Shuttleworth dhe Canonical Ltd paralajmëruan krijimin e Fondacionit Ubuntu dhe siguruan një kapital investues prej 10 milion dollarë. Qëllimi i fondacionit është të sigurohet për përkrahjen dhe zhvillimin e të gjitha versioneve të ardhshme të Ubuntu-s.

Logo i Ubuntu dhe tipografia kanë mbetur të pandryshuar që nga paraqitja e parë. Fonti Open Type i shkruar me dorë të lirë që përdoret ka emrin Ubuntu-Title. Ky font është i shpërndarë përmes kushteve të licencës LGPL derisa gjithmonë inkurajohet përdorimi i fontit, dhe logos së Ubuntu, dhe derivateve të tij).

Figura 3 – Logo dhe tipografia e Ubuntu Linux

Tiparet kryesore të Ubuntu Linux

Ubuntu është i fokusuar në lehtësi të përdorimit si dhe në ofrimin e sigurisë. Instaluesi Ubiquity mundëson që Ubuntu të instalon në diskun e fortë përmes ambientit Live CD, pa pasur nevojë për rinisje të kompjuterit para instalimit. Ubuntu gjithashtu thekson aksesibilitetin dhe internacionalizimin për të arritur deri te numri sa më i madh i njerëzve. Duke filluar nga Ubuntu 5.04, UTF-8 u bë kodimi preferencë i karaktereve, i cili siç dihet lejon përkrahjen e llojllojshmërisë të skriptave jo-Roman. Si funksion i sigurisë, vegla sudo përdoret për të caktuar privilegje momentale administrative, duke mundësuar kështu llogarinë root të mbetet e mbyllur, dhe duke parandaluar shfrytëzuesit e papërvojë të bëjnë ndryshime të pakthyeshme të padëshiruara apo duke hapur vrima të sigurisë.

24

Debian – sistem operativ i përbërë nga pakot softuerike pa pagesë të publikuara nën licencën e kodit të

hapur 25

GNOME – ndërfaqja grafike për sistemin operativ Linux

Page 68: Sisteme operative

68

Ubuntu zakonisht vjen i para-instaluar me një varg të softuerit të ndryshëm duke përfshirë OpenOffice, Firefox, Pidgin, Transmission, GIMP dhe disa lojëra të lehta (siç janë Sudoku apo shah). Ubuntu lejon mbylljen e porteve të rrjetit me përdorimin e firewallit, me opinion e zgjidhjes së porteve të dëshiruara për tu mbyllur. GNOME (desktopi aktual preferencë) ofron përkrahjen për më shumë se 46 gjuhë. Ubuntu gjithashtu mund të ekzekutojë shumë programe të dizajnuara për Microsoft Windows (siç është për shembull Microsoft Office), përmes programit Wine ose duke përdorur Makinën Virtuale (siç janë VMWare Workstation apo VirtualBox).

Instalimi

Instalimi i Ubuntu zakonisht bëhet përmes Live CD-s. Ubuntu OS mund të ekzekutohet drejtpërdrejtë nga CD (me një humbje të vogël të efikasitetit), duke lejuar shfrytëzuesin të bëjë një “vështrim testues” të sistemit operativ për kompatibilitet të harduerit dhe përkrahje për driver. Në CD ndodhet gjithashtu edhe instaluesi Ubiquity, i cili pastaj mund të udhëzojë shfrytëzuesin nëpër procesin permanent të instalimit. CD imazhet e të gjitha versioneve të tashme dhe të kaluara mund të shkarkohen nga ueb faqja zyrtare e Ubuntu (www.ubuntu.com). Instalimi nga CD kërkon që kompjuteri të ketë së paku 256 MB të memories RAM26.

Një vegël e migrimit për Microsoft Windows, e quajtur Migration Assistant (e paraqitur në prill të vitit 2007, mund të përdoret për importimin e bookmars-ëve, fotot në prapavijë të desktopit (wallpaper), dhe rregullimeve të ndryshme nga instalimi aktual i MS Windows në instalimin e ri Ubuntu.

Ubuntu dhe Kubuntu (njëri nga versionet e Ubuntu) mund të aktivizohen/instalohen nga USB flash disku (nëse kompjuteri ka përkrahjen për nisjen e kompjuterit nga BIOS-i), me opsion të ruajtjes së rregullimeve në flash disk. Kjo mundëson një instalim portativ të mund të ekzekutohet në cilindo PC që mund të niset nga USB disku. Në versionet më të rinj të Ubuntu, mund të gjendet edhe programi USB creator i cili është në dispozicion për instalimin e Ubuntu-s në USB disk (me ose pa diskun LiveCD).

26

RAM – ang. Randoom Access Memory – memoria punuese e kompjuterit

Page 69: Sisteme operative

69

Figura 4 – Ubuntu i nisur nga LiveCD

Page 70: Sisteme operative

70

Variantet e Ubuntu Linux

Ekzistojnë disa variante zyrtare dhe jozyrtare të Linuxit Ubuntu. Këto variante të Ubuntu instalojnë një varg të pakove që i bëjnë të dallohen nga shpërndarja origjinale e sistemit operativ Ubuntu.

Variantet zyrtare deponojnë pakot dhe përditësimet në repositore të njëjta sikurse Ubuntu, ashtu që softueri i njëjtë të jetë në dispozicion dhe që të jetë përgjithësisht kompatibil në mesin e varianteve zyrtare. Derivatet e Ubuntu që janë plotësisht të përkrahur nga Canonical janë:

• Kubuntu – version për desktop që përdorë pakon KDE për desktop e jo pakon GNOME sikurse versioni origjinal i Ubuntu

• Edubuntu – një nën-projekt i bazuar në GNOME dhe një shtesë për Ubuntu, i dizajnuar për ambientet e shkollave dhe shfrytëzuesit shtëpiak

• Ubuntu Server Edition – version i cili instalohet në harduer të dedikuar për server

• Ubuntu MID Edition – një version i Ubuntu që është i kustomizuar për përdorim në pajisjet mobile për Interenet (fjala MID është shkurtesë e Mobile Internet Device)

• Ubuntu Netbook Remix – i dizajnuar për netbook dhe kompjuterët e tjerë ultra-portativ.

Variantet jozyrtare dhe derivatet nuk kontrollohen apo udhëhiqen nga Canonical dhe janë zakonisht kustomizime me patentë që janë krijuar për qëllime speciale. Derivatet që janë të pranuara por nuk janë të përkrahura nga Canonical janë:

• Xubuntu – një version “lightweight” i bazuar në ambientin e desktopit Xfce në vend të atij GNOME, i cili është i dizajnuar të punojë në kompjuterë me specifika shumë të ulëta harduerike.

• Gobuntu – një version që mundohet të jetë plotësisht i ndarë nga softueri, driverët apo firmware me licenca kufizuese.

• Mythbuntu – një platformë multimediale e bazuar në Myth TV

• Ubuntu Studio – një formë multimediale e Ubuntu-s.

• Ubuntu JeOS – version i varfëruar, i cili është në veçanti i kustomizuar për ambientet virtuale të përdorimit

Ekziston edhe një numër i versioneve të ngjashme të derivuara, siç janë Linux Mint, gOS, OpenGEU, SuperOS, CrunchBangLinux, gNewSense dhe Portable Ubuntu for Windows.

Page 71: Sisteme operative

71

Figura 5 – Pamja e desktopit të versionit Kubuntu

Page 72: Sisteme operative

72

Kërkesat harduerike për instalimin e Ubuntu Linux

Versioni desktop i Ubuntu momentalisht përkrah arkitektura Intel x86, AMD64 dhe ARM. Disa versione për server gjithashtu përkrahin edhe arkitekturën SPARC27. Përkrahja jozyrtare është në dispozicion për arkitekturat PowerPC, IA-64 (Itanium) dhe PlayStation 3.

Kërkesat minimale për instalim në destkop janë procesori x86 300 MHz, 256 MB të memories RAM, 4 GB hapësirë në disk dhe një video kartelë e cila përkrah VGA28 në rezolucion prej 640 x 480. Kërkesat e rekomanduara për punë në desktop janë procesori x86 në 700 MHz, 384 MB të memories RAM, 8 GB vend në diskun e fortë dhe video kartela e cila përkrah VGA në rezolucion prej 1024 x 768. Kërkesat për server janë x86 procesori në 300 MHz, 64 MB të memories RAM dhe një video kartelë që përkrah VGA në 640 x 480.

Kompjuterët që nuk i përmbushin këto kërkesa preferohen që në vend të Linux Ubuntu të provojnë të instalojnë ndonjë version tjetër si për shembull Xubuntu, që ishtë i bazuar në Xfce.

27

SPARC – arkitekturë e kompjuterëve e tipit RISC 28

VGA – ang. Video Graphics Array – platformë grafike që përdoret në kompjuter

Page 73: Sisteme operative

73

Desktopi GNOME

Në figurën 6 shihet desktopi GNOME në pamjen e tij fillestare në një sistem Ubuntu Linux kur bëjmë login për herë të parë.

Figura 6 – Pamja e dritares kryesore të Ubuntu Linux

Ubuntu ka një prapavijë mjaft të këndshme për sy, set shumë të përshtatshëm të fonteve, dekorimet e dritareve, dhe butonat e kontrollit për cilindo aplikacion që nisim. Këto dekorime dhe kontrolla janë të njohura edhe si tema, të cilat me lehtësi mund të ndërrohen vetvetiu.

Në figurën e mësipërme shihen disa pjesë të ndryshme të desktopit preferencë GNOME, ato janë:

• Paneli i sipërm – paneli është një pjesë speciale e desktopit, e kontrolluar nga aplikacioni për panel, i cili ofron mënyra të ndryshme të bashkëveprimit me desktopin dhe aktivizimin e llojeve të ndryshme të aplikacioneve. GNOME mund të shfaq panelet përgjatë cilitdo skaj të ekranit, por konfigurimi origjinal e shfaq atë në pjesën e sipërme dhe të poshtme të ekranit. Me preferencë, paneli i sipërm ka këto elemente:

Page 74: Sisteme operative

74

o Aplikacions, Places dhe System (aplikacionet, vendet dhe sistemi) – një meny kjo që përbëhet nga lista e shkurtesave për tek komandat, detyrat dhe aplikacionet specifike. Këto tri meny ofrojnë qasje të lehtë në aplikacionet, vendet e ndryshme në kompjuter apo lokacionet në rrjetë, si dhe në detyrat e ndërlidhura me sistemin. Për të shfaqur cilindo nga këto meny të panelit, vetëm duhet klikuar në emrin e tyre dhe menyja i caktuar do të hapet në ekran. Për të mbyllur menynë mjafton të klikohet kudo në ekran.

o Lëshuesit e aplikacioneve – këto ikona nisin aplikacionet specifike kur klikojmë mbi to (me tastin e majtë të miut).

o Apletët – këto ikona nisin aplikacione të lehta që ekzekutohen në formë të panelit dhe ofrojnë mundësi nga më të ndryshmet.

• Butoni Log Out – ky buton përfundon sesion aktual dhe ri-shfaq menaxherin e kyçjeve për GNOME

• Sipërfaqja punuese – kjo është pjesa e ekranit në të cilën ekzekutohen aplikacionet dhe shfaqin dritaret e tyre dhe komunikojnë me shfrytëzuesin.

• Paneli i poshtëm – ky panel shfaqet në pjesën e poshtme të ekranit dhe përmban këto ikona:

o Butoni për shfaqjen e desktopit – ky buton minimizon të gjitha dritaret dhe dialogët që janë të shfaqur momentalisht në ekran duke e zbuluar kështu desktopin e sistemit operativ

o Kontrollet e aplikacioneve – secili aplikacion që është aktiv në sipërfaqen punuese të kompjuterit shfaq një regjion të bashkërenduar për kontrollim në këtë pjesë të panelit të poshtëm. Klikimi me tastin e djathtë të miut mbi këtë kontroll bën uljen apo ngritjen e dritares së aplikacionit derisa klikimi me tastin e majtë të miut shfaq një meny kontekstuale për lëvizjen dhe kontrollimin e dritares së aplikacionit.

o Ndërruesi i sipërfaqes punuese – ky është një aplet special që mundëson sipërfaqe të shumëfishta punuese dhe jap një shfaqje miniaturë të sipërfaqeve aktive punuese. Sipërfaqet punuese janë parimisht ekrane të ndara virtuale që mundësohen nga GNOME desktop. Mund të ekzekutoni aplikacione në sipërfaqe të ndryshme punuese, lëvizni aplikacionet prej një sipërfaqe punuese në tjetrën etj. Sipërfaqet e shumëfishta punuese janë një mënyrë e përshtatshme e ekzekutimit të llojeve të ndryshme të aplikacioneve mbi ekranet e ndryshme virtuale pa i parë atë përveç nëse dëshirojmë të kryejmë ndonjë veprim mbi to.

o Shporta – është një aplet special që mundëson qasjen në objektet e fshira nga sipërfaqja punuese dhe nga kompjuteri.

GNOME ka mundësi të mëdha të konfigurimit dhe secili shfrytëzues mund ta bëjë konfigurimin e tij sipas preferencës së vet. Ka gjasë të jetë vështirë të gjenden dy shfrytëzues të GNOME-it që kanë konfigurimin e njëjtë të tij.

Menytë në GNOME

Page 75: Sisteme operative

75

GNOME mundëson dy lloje të ndryshme të menyve: menytë që ndodhen në panel, dhe të cilat mundësojnë qasje të lehtë tek aplikacionet e ndryshme dhe veglat e ndryshme të sistemit dhe menytë kontekstuale që mundësojnë qasjen në veglat e ndryshme të sistemit varësisht prej vendit ku i kemi aktivizuar (klikuar) ato.

Menytë e panelit

Menytë shfaqen në panele kur klikojmë me tastin e djathtë të miut mbi emrin e panelit. Menytë ose përmbajnë shënime për detyrat e lokacionet e caktuara në sistem, apo përmbajnë meny të tjera. Menytë që ndodhen brenda menyve të tjerë njihen edhe si nën-meny. Në figurën 7 shihet përmbajtja e nën-menysë Internet të menysë Aplications.

Figura 7 – Pamja e nën-menysë Internet të menysë Aplications

Menyja e aplikacioneve (Applications)

Menyja e aplikacioneve e bën të lehtë nisjen e aplikacioneve të ndryshme të GNOME-it, duke i grupuar ato nëpër nënmeny që shfaqen kur vendosim kursorin mbi menynë e caktuar. Menyja e aplikacioneve ka këto grupe:

• Aksesoret (Accessories) – që përmban një kategori të përgjithshme të aplikacioneve të vogla me përdorim të zakonshëm siç është kalkulatori, fjalori, editorët tekstual dhe terminali i komandave.

• Lojërat (Games) – përmban pra lojërat që janë në dispozicion brenda desktopit GNOME. Pasi që Ubuntu i është dedikuar njerëzve, ai në mënyrë shumë natyrale përmban ato gjëra që njerëzit përdorin më së shumti – lojërat.

• Programet e grafikës (Graphics) – jap qasjen deri tek aplikacionet që përdoren për krijimin, zënien dhe manipulimin e imazheve në ekran apo nga skaneri, si dhe një vështrues të vogël për shikimin e fajllave ekzistues.

• Internet - përmban elementet për punë me internetin siç është sistemi e telefonisë Voice-Over-IP, klienti për postë elektronike Evolution, shfletuesi i internetit Firefox etj.

• Programet për zyra (Office) – në listë ka aplikacionet e zakonshme të biznesit që janë në dispozicion në sistem. Me preferencë ky meny ka shkurtesat për programet tekstuale, të llogaritjes për bazat e të dhënave e të ngjashme.

• Zë dhe Video (Sound and Video) – jap një mundësi të lehtë të qasjes në aplikacionet për zë dhe video, duke përfshirë aplikacionet për incizimin e zërit, konvertimin e

Page 76: Sisteme operative

76

audio CD-ve, dëgjimin e online audio dhe videove, si dhe aplikacionet e sofistikuara për krijimin e llojeve të ndryshme të CD-ve. VCD-ve dhe DVD-ve.

Përveç këtyre, menyja e aplikacioneve jap qasjen edhe tek komanda për instalimin/de-instalimin e aplikacioneve (Add/Remove Applications) që e bën të lehtë instalimin e aplikacioneve në sistem.

Menyja e lokacioneve (Places)

Menyja e lokacioneve jap mundësinë e qasjes tek fajllat, direktoriumit dhe aktivitetet e tjera të diskut. Zgjidhja e lokacionit apo diskut në menynë Places e hap menaxherin e fajllave Nautilus, i cili shfaq përmbajtjen e lokacionit të zgjidhur. Menyja e lokacioneve gjithashtu jap një qasje të lehtë tek veprimet që kanë të bëjnë me deponimin e të dhënave, siç janë kallja e një disku CD apo DVD, lidhja në serverin e fajllave, dhe kërkimi apo ri-vizitimi i fajllave dhe direktoriumeve specifike .

Përveç shkurtesave deri tek lokacionet specifike të sistemit, menyja Places ka edhe dy nën-meny: Boomkarks, i cili shënon të gjitha objektet Bookmarks deri tek direktoriumet e caktuara që janë krijuar në menaxherin e fajllave Nautilus, dhe Recent Documents, që përmban listën e 10 fajllave apo objekteve të desktopit që janë hapur së fundmi. Ky meny e bën të lehtë vazhdimin e punës me të njëjtat dokumente me të cilët kemi qenë duke punuar sa herë që kyçemi në Ubuntu Linux.

Menyja e sistemet (System)

Menyja e sistemit përmban komandat për bashkëveprim me GNOME dhe sistemin e Ubuntu-s, siç janë vendosja e preferencave personale për mënyrën se si duket dhe sillet GNOME dekstop, kryerja e detyrave të administrimit siç është konfigurimi i harduerit, përditësimi i sistemit, konfigurimi i shërbimeve të rrjetës, marrja e ndihmës dhe dalja nga sistemi apo fikja e sistemit Ubuntu.

Menyja System përmban këto elemente:

• Preferencat (Preferences) – jap qasjen në një numër të madh të aplikacioneve që ia mundësojnë përdoruesit të konfigurojë mënyrën në të cilën ai bashkëvepron me GNOME, sistemin Ubuntu, dhe cilëndo rrjetë në të cilën ka qasje (siç është për shembull Interneti apo rrjeta shtëpiake). Nëse shfrytëzuesit nuk i pëlqen mënyra në të cilën punon ndonjë gjë në Ubuntu, ai mund ta ndryshojë nga menyja Preferences në diçka që i pëlqen më shumë, mund të nis cilindo aplikacion relevant dhe të bëjë eksplorim sipas dëshirës.

• Administrimi (Administration) – jap qasje në disa aplikacione që ju mundësojnë të konfiguroni softuerin e instaluar në sistemin Ubuntu, pajisjet e ngjitura për sistem, dhe shërbimet që ekzekuton sistemi si dhe leximin e informatave kryesore të sistemit siç janë koha, data dhe lista e shfrytëzuesve të cilët janë të autorizuar për tu qasur në sistem etj.

Page 77: Sisteme operative

77

• Ndihma (Help) – ofron llojet e ndryshme të ndihmës për përdorimin e sistemit. Ky meny ofron qasje në dokumentacionin online në sistemin Ubuntu etj.

Page 78: Sisteme operative

78

Instalimi, çinstalimi dhe përditësimi i softuerit

Ubuntu Linux është me gjasë një nga komunitetet më energjetike dhe më dinamike prej të gjitha komuniteteve të Linuxit që mund të hasen në internet. Ky komunitet përbëhet si nga shfrytëzuesit po ashtu edhe nga ata që zhvillojnë softuer të llojeve të ndryshme. Përditësimet dhe riparimet e ndryshme në sistem janë mjaft të shpeshta, e që është një gjë jashtëzakonisht e mirë.

Një mori e softuerit është në dispozicion për shkarkim dhe instalim. Qasja ndaj softuerit të ri dhe të mbindërtuar është gjithashtu shumë e lehtë. Update Manager i Ubuntu në mënyrë automatike lajmëron përdoruesit për përditësimet e rinj që janë në dispozicion për softuerin që ai ka të instaluar në kompjuter, ndërsa që mbajtja e sistemit me përditësim nuk kërkon më shumë se tri a katër klikime të miut. Veglat tjera siç janë dpkg, apt-get, Synaptic Package Manager e bën të lehtë kërkimin për softuer sipas interesit.

Çelësi i të gjitha këtyre përparësive dhe lehtësisë së përdorimit është formati i shkëlqyeshëm i paketimit DEB (për Debian), i zhvilluar për shpërndarjen Debian të Linuxit e cila përdoret edhe nga Ubuntu Linux.

Softuerët për menaxhimin e pakove në Ubuntu

Instalimi i zakonshëm i Ubuntus ofron disa vegla të ndryshme për menaxhimin dhe marrjen e pakove të ndryshme softuerike për Ubuntu, duke filluar nga veglat për komanda tekstuale e deri te ato me ndërfaqe të sofistikuara grafike.

Veglat kryesore të cilat instalohen si pjesë e instalimit të zakonshëm të Ubuntu janë:

• apt-get – vegël me komanda tekstuale që ofron nën-komanda të cilat mundësojnë instalimin, largimin dhe menaxhimin e pakove në sistem, si ato individuale ashtu edhe ato të komponentëve të një shpërndarje.

• aptitude – vegël e orientuar në terminal që shërben si ndërfaqe për veglat e nivelit të ulët siç janë apt-get dhe dpkg. Vegla aptitude ka një ndërfaqe që jap mundësinë e instalimit, largimit, dhe menaxhimit të pakove nga linja komanduese.

• dpkg – vegla elementare e Ubuntu dhe Debian për instalimin, de-instalimin menaxhimin e pakove. Kjo vegël përdorë veglat tjera të nivelit më të ulët siç është dpkg-deb për të kryer instalimin e pakove apo dpkg-query për të kërkuar për ndonjë pako të caktuar.

• dselect – është dpkg vegël e orientuar në terminal që ka meny kuazi-grafike dhe një ndërfaqe brenda kontekstit të term, GNOME Terminal apo ambienteve të tjera të linjës komanduese. Vegla dselect gjithashtu pranon opsione të linjës komanduese dhe argumentet që mund të përdoren për të nisur veprimet e caktuar nga menyja.

• Synaptic – vegël sistemore grafike me X Window për instalimin, de-instalimin dhe menaxhimin e pakove softuerike në Ubuntu. Për shumë përdorues kjo është vegla e preferuar e menaxhimit të pakove për punë të përditshme.

Page 79: Sisteme operative

79

• update-manager - vegël sistemore grafike me X Window për identifikimin dhe instalimin e versioneve të përditësuara të pakove që janë të instaluara në një sistem Ubuntu Linux.

Përdorimi i Synaptic për të shtuar dhe larguar softuer

Synaptic Package Manager është aplikacion grafik i GNOME për instalimin, de-instalimin dhe në përgjithësi menaxhim të pakove softuerike në Ubuntu. Është një aplikacion që është shumë i preferuar si vegël për menaxhimin e pothuajse të gjitha detyrave që kanë të bëjnë me detyrat e menaxhimit të pakove.

Synaptic fillimisht u zhvillua nga djelmoshat pranë Connectiva Linux, një shpërndarje Latino-Amerikane e Linuxit që pastaj u ble nga Mandrake Linux, i cili më vonë ndryshoi emrin në Mandriva. Synaptic ishte shkruar duke përdorur veglën WINGS toolkit që përdorej nga menaxheri i dritareve X Window. Sot Synaptic ndërtohet me anën e GTK+toolkit i cili përdoret nga GNOME. Një gjë interesante është se, Connectiva ishte një shpërndarje e bazuar në RPM, por që Synaptic tashmë zakonisht shoqërohet nga pakot DEB që përdoren nga shpërndarjet Ubuntu dhe Debian.

Vegla për menaxhimin e pakove Synaptic instalohet me preferencë si pjesë e instalimit Ubuntu. Ajo mund të aktivizohet nga System ➪Administration ➪Synaptic Package Manager. Sikurse që ndodh me ekzekutimin e të gjitha veglave grafike edhe me këtë rast shfrytëzuesit do ti kërkohet të jap fjalëkalimin me të drejtë administrative. Pas nisjes dritarja hyrëse e Synaptic do të duket sikurse në figurën 8.

Figura 8 – Pamja kryesore e aplikacionit Synaptic

Page 80: Sisteme operative

80

Linux dhe UNIX

Për vetëm pak vite, sistemi operativ Linux kaloi prej asaj që konsiderohej sistem operativ vetëm për specialistët në një sistem operativ për përdorim nga të gjithë. Versionet e ndryshme të sistemit operativ Linux tashmë mund të gjenden në pajisjet nga më të ndryshmet, prej PC-ve e deri te kompjuterët e dorës. Thënë shkurt, Linux është bërë sistem i atillë sa që të mund të ekzekutohet në çdo pajisje nga çdo njeri. Si në kompjuterët desktop po ashtu edhe në ata server, Linux është bërë sistem i leverdishëm operativ për një llojllojshmëri të aplikacioneve të biznesit. Bizneset e vogla mund të përziejnë shërbimet e zyrës dhe të internetit për të cilat kanë nevojë duke ulur në atë mënyrë koston e përgjithshme.

Linux është një sistem operativ gjithë-përfshirës që është një klon pa pagesë i sistemit operativ jashtëzakonisht të qëndrueshëm dhe të fuqishëm – UNIX. Kur niset kompjuteri me sistemin operativ Linux, ai do të kujdeset për këto aspekte të kompjuterit në të cilin ekzekutohet: Procesori – Për shkak se Linux mund të ekzekutojë shumë procese nga shumë shfrytëzues të ndryshëm në të njëjtën kohë. Memoria – Linux mundohet të maj proceset më esenciale në memorien RAM, duke menaxhuar në ndërkohë me mënyrën në të cilën proceset që tejkalojnë memorien në dispozicion futen në memorie dhe largohen kalohen në të ashtuquajturin swap space. Pajisjet – Linuxi përkrah mijëra pajisjet harduerike, duke e ruajtur kernelin me madhësi që mund të menaxhohet përmes ngarkimit vetëm të driver-ëve më të duhur në kernelin aktiv. Sistemet e fajllave – Sistemet e fajllave japin një strukturë me të cilën ruhen fajllat në diskun e fortë, CD, DVD, fllopi disk apo ndonjë medium tjetër. Siguria – Sikurse UNIX, edhe Linux është i ndërtuar prej zeros për të mundësuar shfrytëzues të shumëfishtë ti qasen sistemit njëkohësisht.

Komponentët siç janë komandat administrative dhe aplikacionet prej projekteve tjera pa pagesë dhe me kod të hapur punojnë së bashku me kernelin për të bërë Linuxin një sistem të kompletuar operativ. Apache, KDE, GNOME dhe projektet e tjerë të mëdhenj të kodit të hapur në Linux, gjithashtu kanë dhënë kontributin e vet në popullarizimin e Linuxit. Këto projekte të tjera kanë shtuar gjërat siç janë: ndërfaqja grafike për shfrytëzues, funksionet, aplikacionet, veglat për programim, funksionet shërbyese (server).

Linus Torvalds filloi të punojë në Linux në vitin 1991, derisa ishte student në Universitetin e Helsinkit, në Finlandë. Ai dëshironte të krijonte një kernel të ngjashëm me atë të UNIX ashtu që të mund të përdorte llojin e njëjtë të sistemit operativ në kompjuterin e tij në shtëpi sikurse që po përdorte në shkollë. Në atë kohë, Linus ishte duke përdorur sistemin operativ Minix, por ai dëshironte të shkonte përtej asaj çka lejohej me standardet e Minix. Një pjesë e historisë së Linuxit fillon me një mesazh që Linus Torvalds postoi në një newsgroup pranë comp.os.minix me 25 gusht të vitit 1991.

Ja një listë me disa nga funksionet e Linuxit që mund janë interesante: nuk ka nevojë për ri-nisje, nisja/ndalja e shërbimeve pa ndërprerjen e punës së të tjerëve, softueri portativ, aplikacionet që mund të shkarkohen, nuk ka rregullime të fshehura në kod apo regjistra, desktop që ka arritur pjekurinë si dhe liria që ofron Linux.

Ubuntu është sistem operativ i bazuar në Linux dhe që është i shpërndarë në baza të softuerit me kod të hapur (pa pagesë). Ubuntu është një sistem shumë stabil i përditësuar, që mund të përdoret edhe nga shfrytëzuesit që kanë njohuri mesatare të kompjuterit, me fokus të fortë në lehtësinë e përdorimit dhe lehtësinë e instalimit.

Page 81: Sisteme operative

81

Ubuntu përbëhet nga disa pako të softuerëve që zakonisht shpërndahen përmes licencës së kodit të hapur qoftë GNU apo GPL dhe është i sponsoruar nga kompania Canonical Ltd. Canonical publikon versione të reja të Ubuntu-s çdo gjashtë muaj si dhe mundëson përditësimin e sistemeve me riparimet e sigurisë, arnat për bug-a si dhe mbindërtime të vogla për vetë sistemin operativ.

Ubuntu është një patentë që ka bazë në kodin e projektit Debian. Qëllimi origjinal ishte publikimi i versionit të ri të Ubuntu çdo gjashtë muaj, duke pasur kështu rezultat përditësime më të shpeshta të sistemit. Paraqitje e parë e Ubuntu ishte me 20 tetorë 2004 ndërsa emri i tij vjen nga fjala “ubuntu” në gjuhën Zulu që do të thotë “humanitet për të tjerët”.

Derivatet e Ubuntu që janë plotësisht të përkrahur nga Canonical janë: Kubuntu, Edubuntu, Ubuntu Server Edition, Ubuntu MID Edition, Ubuntu Netbook Remix.

Page 82: Sisteme operative

82

Koncepte themelore për LINUX FILESYSTEM

Ne Windows, particionet e ndryshme janë zbuluar në boot dhe caktohet një njesi si drive. Sipas Linux, përveç nëse ju inicializoni një particion apo një pajisje, perndryshe sistemi nuk e di të ekzistencën e atij particioni apo pajisje. Ky mund të mos duket të jetë mënyra më e lehtë për të siguruar qasje në particionin tuaj ose pajisjet por ajo ofron fleksibilitet të madh.

Ky lloj i layout, i njohur si sistemi i skedave të unifikuar, ofron disa përparësi mbi qasjet që Windows përdor. Le të marrin shembull nje / usr direktorium. Ky direktoriumper dallim nga direktoriumi rrënjë përmban shumicën e ekzekutuesit te sistemit. Me filesystem Linux, ju mund të zgjidhni qe të rritet ajo ndarje apo edhe jashtë një tjetër makinë mbi rrjete. Sistemi themelor nuk do të di dallimin sepse / usr duket të jetë një direktorium lokal që është pjesë e strukturës se direktoriumeve lokale! Sa herë keni dashur të lëvizë ekzekutuesi dhe të dhënat nga Windows, vetëm për të kandiduar në regjistrin dhe gabimet e sistemit.

Unix ka qenë ne perdorim një kohe shumë më të gjatë se sa Windows dhe ishte një standard shumë para se Windows-i. Përkundrazi, DOS mori rrugë të ndryshme, duke përdorur '/' për command-line opsionet dhe si ndarës direktorium. Ne tani lëvizin mbi të layout ose struktura e direktoriumeve te Linux sistemin e fileve . Nisur më poshtë është rezultat i një ls-p 'në direktorium rrënjë.

bin / dev / home / humbur + gjetur / proc / / sbin usr /

/ etc / boot / lib / MNT / root / tmp / var /

/ sbin - Ky direktorium përmban të gjitha shifrat binare që janë thelbësore për e punën e sistemit. Këto përfshijnë administrimin e sistemit, si dhe mirëmbajtjen e hardware dhe programet e konfigurimit. Gjej Lilo, fdisk, init, ifconfig etj . Këto janë programe esenciale që janë të kërkuara nga të gjithë përdoruesit. Një direktorium që përmban shifrat binare është sistemi / usr / sbin. Ky përmban shifrat binare të tjera të përdorimit të administratorit të sistemit. Kjo është ajo ku ju do të gjeni demonet e rrjetit për sistemin tuaj së bashku me shifrat binare tjera se vetëm administratori ka qasje në sistem, por që janë nuk kërkohet për mirëmbajtjen e sistemit, riparim etj.

/ bin - Në kontrast me / sbin, direktoriumi bin përmban disa të komanda te dobishme që janë përdorur nga të administratori i sistemit, si dhe përdoruesve jo të privilegjuar. Ky direktorium zakonisht përmban : bash csh si edhe komanda te përdorura më shumë si cp, mv, rm, cat, ls. Ky gjithashtu është / usr / bin, e cila përmban shifrat binare te përdorueseve tjerë . Këto shifra binare nga ana tjetër nuk janë thelbësore për përdoruesit. Shifrat binare in / bin megjithatë,jane ato pa te cilat një përdorues nuk mund të bëjë pa to, prandaj jane te nevojshme.

/ boot - Kjo është nje direktorium përmban system.map file si edhe Linux kernel. Lilo hapesira backups boot sektori në këtë direktorium. / dev - Kjo është një direktorium shumë interesant që nxjerr në pah karakteristikat e rëndësishme te filesystem Linux - çdo gjë është një file apo direktorium. M këtë direktori dhe ne duhet të shikojmë hda1, hda2 etj, që përfaqësojnë particione të ndryshme në makinë masteri i parë i sistemit. / dev / cdrom dhe / dev/fd0 përfaqësojnë CDROM drive tuaj dhe floppy tuaj. Kjo mund të duket e çuditshme, por kjo do te kete kuptim nëse do ti krahasonit karakteristikat e dosjeve me atë të pajisjeve tuaja. Të dy mund të lexohen nga dhe te shkruhen ne to . Në mënyrë të ngjashme, dërgimit të të dhënave për të dhe leximi nga / dev/ttyS0 (COM 1) do t'ju lejojë të të komunikoni me një pajisje bashkangjitur atje - modemin tuaj.

/ etc - Ky direktorium përmban të gjithë file-t e konfigurimit të sistemit tuaj. Skedari juaj lilo.conf gjendet në këtë dosje si host, resolv.conf dhe fstab. Sipas këtij diirektoriumi do të

Page 83: Sisteme operative

83

jetë X11 nën-dosjen e cila përmban file të konfigurimit të X. Më e rëndësishmja, / etc / Lista rc.d përmban Scripts per fillimin e sistemit. Kjo është një Lista e mirë për të backup

shpesh. Ajo patjetër do t'ju shpëtojë një shumë të ri-konfigurimin më vonë, nëse ju ri-instaloni ose humbasni instalimin tuaj aktual.

/ home - Linux është një mjedis shumë-përdorues kështu që çdo përdorues caktohet edhe një direktorium specifik që është i arritshëm vetëm për atë dhe administratori te sistemit. Këto janë user home direktoriume, të cilat mund të gjenden under / home / username. Ky direktorium përmban gjithashtu antar specific për programet si IRC, X, etj.

/ lib - Kjo përmban të gjitha bibliotekat e përbashkëta që janë të kërkuara nga sistemi i programeve. Windows ekuivalent me një bibliotekë të përbashkët do të jetë një skedar DLL.

/ lost + found - Linux gjithmonë duhet të kalojnë nëpër një mbyllje te duhur. Ndonjëherë

sistemi juaj mund të përplaset apo te dështoj.Sido që të jetë, në boot-in e ardhshëm, një kontroll të gjatë duhet përdorur sistemin e skedave KSUK . KSUK do të shkojnë përmes sistemit dhe të përpiqet të rikuperojë të gjitha filet e korruptuar që ai gjen. Rezultat i këtij operacioni te rimëkëmbjes do të vendosen në këtë dosje.

/ MNT - Kjo është një pikë e përgjithshëm per filesystemin tuaj ose pajisjen . Në rritje është procesi me të cilin ju bëni një filesystem në dispozicion të sistemit. Pas rritje filet e juaj do të jene te mundshëm nën direktorium. Ky direktorium zakonisht përmban nje pikë ose nën-direktorium ku ndodhet floppy dhe CD juaj. Ju gjithashtu mund të krijojë shtesë pika këtu nëse ju dëshironi. Nuk ka asnjë kufizim për krijimin e një pikë kudo në sistemin tuaj.

/ opt - Ky direktorium përmban të gjithë software dhe paketat shtesë që nuk janë pjesë e instalimit default. Përgjithësisht ju do të gjeni dhe KDE StarOffice këtu. Përsëri, ky direktorium nuk është përdorur shumë shpesh , kryesisht si një standard në instalimet e Unix.

/ proc - Kjo është një direktorium i veçantë në sistemin tuaj. Ne do te pershkrujame ne menyre më të hollësishme kete artikull këtu.

/ root - Ne shtjelluam direktoriumet home te user-ve edhe më parë dhe ky është direktoriumi home ne rrënjë te përdoruesit. Kjo nuk duhet të ngatërrohet me rrënjë sistem, i cili është në dosjen e në nivelin më të lartë në sistemin e skedave.

/ tmp - Ky direktorium përmban kryesisht file që kërkohen përkohësisht. Shumë programe që përdorni këtu për të krijuar file i perdorni dhe për ruajtjen e përkohshme të dhënave. Në disa sisteme, ky direktoriumështë pastruar ne boot ose në mbyllje.

/ usr - Kjo është një nga direktoriume më të rëndësishme në sistem si direktorium qe përmban të gjitha shifrat binare te përdoruesit. X dhe biblioteka mbështetëse e saj mund të gjenden këtu. User programe si Telnet, FTP etj janë vendosur edhe këtu.

/ usr / doc përmban dokumentacionin e sistemit të dobishem.

/ usr / src / linux permban kod burimor për kernel Linux.

/ var - Ky direktorium përmban të dhëna si spooling mail . Shkrimet e sistemit janë mbajtur edhe këtu në / var / log / messages.

Ju do të gjeni edhe bazën e të dhënave për të qe lidhen në / var / emrin dhe për NIS në / var / yp.

Page 84: Sisteme operative

84

Linux File System

Ky kapitull përshkruan se si kernel Linux mban file në sistemet e file-ve që ajo mbështet. Ai përshkruan Virtual File System (VFS) dhe shpjegon se si sistemet e vërtetë kernel Linux file janë mbështetur.

Një nga karakteristikat më të rëndësishme të Linux është mbështetja e tij për sistemet me shumë file të ndryshme. Kjo e bën atë shumë fleksibil dhe mirë në gjendje të bashkëjetoj me shumë sisteme operative të tjera. Në kohën e shkrimit, Linux mbështet sistemet me15 file system: ext, ext2, xia, minix, umsdos, msdos, vfat, proc, smb, ncp, iso9660, sysv, hpfs, affs dhe ufs, dhe pa dyshim, me kalimin e kohës më shumë do të shtohen.

Në Linux, siç është për Unix TM, sisteme të ndara skedar sistemi qe mund të përdorim nuk janë qasur me aparat identifikues (të tilla si një numër me makinë apo një emër me makinë), por në vend të kësaj ata do të bashkohen në një strukturë të vetme hierarkike pemë që përfaqëson file sistem si një entitet tërësi. Linux shton çdo sistem të ri fotografi në këtë pemë sistemi të vetëm skedën siç është e montuar. Të gjitha sistemet e file-ve sistemor , e çfarëdo lloji, janë ngritur mbi nje direktori dhe dosjet e sistemit te fileve jane montuar ne përmbajtjen ekzistuese të directory. Kjo List është e njohur si Lista e caktuar apo pike e caktuar. Kur sistemi është i pacaktuar,atehere ne kete rast file sistemor vet Lista janë shpallur edhe një herë.

Kur disqet janë initialized (duke përdorur fdisk,) do të thotë se ata kanë një strukturë të ndarjes së imponuar atyre që ndan disqet fizike në një numër të caktuar të ndarëseve logjike. Çdo ndarje mund të zhvillojë një sistem të vetëm file-ve, për shembull një sistem ext2 file. File të organizojnë sistemet e file-ve në strukturat hierarkike logjike me directories, lidhje e ne mes tyre dhe kështu me radhë mbahet në blloqe në pajisjet fizike. Pajisjet që mund të përmbajnë sistemet e file-ve janë të njohur si pajisje bllok. Particioni I diskut: IDE / dev/hda1, paraqet particionin e parë të IDE disk drive në sistem, është një pajisje bllok. Sistemet Linux file krijojne keto lidhje me këto pajisje bllok si koleksione te thjeshta lineare te blloqeve, ata nuk e kane te bejne me kujdesin ndaj pjeses fizike të diskut. Është detyrë e secilit driver te seciles pajisje bllok te kete një kërkesë për të lexuar një bllok të veçantë të pajisjes së tij në kushte të rëndësishme për pajisjen e tij, rrugën e veçantë, sektori dhe cilindër i hard diskut te saj ku blloku është mbajtur. Një sistem i file–ve duhet të shikojë dhe të vepronë në të njëjtën mënyrë pa marrë parasysh se çfarë pajisje është në kujdesin e tij. Për më tepër, duke përdorur Linux file sisteme, nuk ka rëndësi (të paktën për përdoruesit sistemit) se këto sisteme të ndryshme te file-ve janë në mediat e ndryshme fizike e te kontrolluar nga kontrollorët e hardware të ndryshme. Sistem i file-ve nuk mund edhe të jetë në sistemin vendor, ai mund të jetë vetëm si një disk nga distanca ngritur mbi një lidhje të rrjetit. Konsideroni shembull pas ku një sistem Linux është sistem i skedarit saj rrënjë në një disk SCSI:

A E boot etc lib opt tmp usr

C F cdrom fd proc root var sbin

D bin dev home mnt lost+found

As shfrytezuesit ose user, e as programet që operojnë në file vetë duhet te dinë nevojën e tyre per: / C e qe është në fakt një VFAT file sistem që është në disk IDE si particion te parë në sistem. Në shembullin (e cila është në fakt në Linux sistemin ), / E eshte IDE master disk në kontrollues IDE të dytë. Nuk ka rëndësi as se cili eshte i pari kontrollues IDE per kontrollues

Page 85: Sisteme operative

85

PCI dhe se cili është i dyti në kontrollues SNA që gjithashtu kontrollon CDROM-IDE. Mund të thirrni në rrjet ku punoni duke përdorur një modem dhe protokollin PPP te rrjetit , keshtu duke përdorur një modem dhe në këtë rast mund te komunikohet ne distanca permes Alpha AXP sistemit Linux file sistemeve ne / MNT / te largët.

File në një sistem te file-ve janë koleksionet e të dhënave; file-t e tilla nga burimet në këtë sisiteme kane te bejne me nje file te quajtur ASCII filesystems.tex. Një sistem i file-ve jo vetëm ka të dhëna që përmban brenda sistemit te file-ve, por edhe struktura te sistemit file. Ai mban të gjithë informacionin që përdoruesit e Linux dhe proceset e shohin si file, directories si lidhje mes tyre ne softuer, madhësia e mbrojtjes së informatave dhe kështu me radhë. Për më tepër ai duhet të mbajë këtë informacion në mënyrë të sigurtë, integriteti themelor të sistemit operativ varet nga sistemet e file-ve. Askush nuk do të përdorë një sistem operativ që ka humbur rastësisht të dhëna dhe file.

Minix, sistemit të parë dosjen që kishte Linux është mjaft kufizuese dhe mungesa e performancës. Emrat e file-ve te saj nuk mund të jenë më te gjatë se 14 karaktere (e cila është akoma më mirë se 8,3) dhe madhësisë maksimale e file është 64MBytes. 64Mbytes në shikim të parë mund të duket mjaft të madhe, por madhësi të mëdha janë të nevojshme për të mbajtur edhe bazat e të dhënave modeste.

File sistemi i pare i projektuar posaçërisht për Linux, Extended File sistemi, ose EXT, u prezantua në prill 1992 dhe dhe permes tij u mundesua zgjidhje per shumë probleme, por ai ende pati probleme si eshte njeri prej tyre mungesa e performancës.

Kështu, në vitin 1993, sistemi i dytë i Zgjeruar i file, apo ext2, u shtua. Ai është nje system i fajllave cili perfaqson nje ky sistem q file-ve është përshkruar në detaje më vonë në këtë kapitull.

Një zhvillim i rëndësishëm u be kur sistemi i file-ve EXT u shtua në Linux. Sistemet e vërtetë te fike-ve ishin të ndara nga sistemi operativ dhe shërbimet e sistemit nga një shtresë perkatesisht interface e njohur si Sistemi i file-ve Virtual, ose VFS VFS Linux lejon për të mbështetur , shumë shpesh sisteme te file-ve të ndryshme, sisteme te file-ve sistemor, ku secili prej tyre paraqet një interfejs të përbashkët kompjuterik që prezenton VFS. Të gjitha detajet e sistemeve te file-ve ne Linux janë te përkthyer nga software në mënyrë që të gjitha sistemet file-ve duken identike me pjesën tjetër të kernel Linux dhe të programeve që konkurrojnë në sistem. Shtresat e Virtual Linux File sistem ju lejojne ne menyre transparente te caktohet shumë sisteme të ndryshme te file-ve në të njëjtën kohë.

Virtual File sistemi ne Linux është implementuar në mënyrë që qasja në dosjet e tij është po aq e shpejtë dhe efikase ne maksimum te mundesive qe ka. Ai duhet gjithashtu të siguroj që dosjet dhe të dhënat e tyre janë mbajtur saktë. Këto dy kërkesa mund të jenë në kundërshtim me njëra-tjetren. VFS Linux ruan informacionet në kujtesën e çdo file sistemi ne varesi se si eshte është caktuar dhe përdorur. Një kujdes i veqant duhet të ju kushtohet update-ve te saktë si të dhënave në këto pjese te memoriesashtu edhe se si është ndryshuar për herë parë si file dhe direktoriumet qe janë krijuar, me shkrim dhe fshihen. Nëse ju mund të shihni strukturat e sistemit të dhënave brenda running kernel, ju do të jeni në gjendje për të parë blloqet e të dhënave, për të lexuar dhe shkruar nga sistemi i skedarit. Strukturat e të dhënave, duke e përshkruar file-t dhe janë në dispozicion nëpërmjet direktoriumeve që do të krijohen dhe të shkatërruara dhe të gjithë kohën driveret e pajisjet do te jene me larg duke ngarkuar të dhëna dhe të kryeni ndryshimet. Më e rëndësishmja nga këto është Cache Buffer, e cila është e integruar në mënyrë që individi sistemet e file-ve ka qasje në themel të tyre sidomos te pajisjet bllok. Si blloqe ato janë vënë në Cache Buffer dhe mbajtur në radhët e gjata të

Page 86: Sisteme operative

86

ndryshme varësisht nga vendet e tyre. Cache Buffer jo vetëm arka të dhënave mbulesë, ai gjithashtu ndihmon menaxhimin josinkronik me driverët e pajisjeve bllok.

File sistemi EXT2

File sistemi i dytë i zgjeruar u krijua (nga Remy Card) si një sistem të zgjeruar dhe i fuqishëm i file sitem per Linux. Ky është edhe sistem më i suksesëshem deri tani në komunitetin Linux dhe është bazë për të gjithë aktualisht gjate shpërndarjeve te Linux.

Sistemi EXT2 file, si shumë sisteme të tjera te file-ve, është i ndërtuar mbi premisën se te dhënave të mbajtura në file është mbajtur në blloqet e të dhënave. Këto janë të gjitha blloqet e të dhënave ne të njëjtën gjatësi dhe, megjithëse kjo gjatësi mund të ndryshojë në mes të sistemeve të ndryshme file ext2 , madhësia e nje blloku te një sistemi të veçantë ext2 file është e vendosur kur ai është krijuar (duke përdorur mke2fs). Madhësia e çdo skede është rrumbullakuar deri në një numër integral te blloqeve.

Nëse madhësia bllok është 1024 bytes, atëherë njëri file, p.sh. i 1025 bytes do të marrin dy blloqe 1024 bajt. Për fat të keq kjo do të thotë se mesatarisht ju mbesin gjysma e file qe mund te bllokojnë një për file. Zakonisht në informatikë kujdes te veqant i kushtohet përdorimit të CPU , hapsires për memorie dhe perdorimit te sajë. Në këtë rast Linux, së bashku me shumicën e sistemeve operative, ofron një përdorim dhe punë jashtë diskut relativisht efikase në mënyrë për të zvogëluar ngarkesën e punës se CPU. Jo të gjitha blloqeve të dhënave në sistemin e file-ve, disa duhet të përdoren për të përmbajtur informacion që përshkruan strukturën e sistemit file.

Figura .1: Shtresat fizike te EXT2 File system

Ext2 përcakton sistemin topologji duke përshkruar çdo skedë në sistemin me një strukturë të dhënave inode. Një inode përshkruan ate që bllokon te dhëna brenda një skedari, si dhe qasjen e të drejtave te tyre, e herë dosjen për ndryshimin dhe llojin e file. Çdo file në sistemin file ext2 është përshkruar nga një inode e vetme dhe çdo inode ka një numër të vetëm unik per identifikimin e tij. Inodes për sistemin janë mbajtur të gjithë së bashku në tabelat inode. Direktoriumet ext2 janë thjesht fajlla të posaçem (vetem te përshkruar nga inodes), të cilat përmbajnë pointers të inodes per të hyrat e tyre ne direktorium.

Page 87: Sisteme operative

87

Figura 1 tregon shtresat e EXT2 File sistem ne gjendjen i zënë bllokon një seri në një bllok pajisje të strukturuar. Deri më tani, si çdo sistem skedar është serioz, pajisjet bllok janë vetëm një seri e blloqeve që mund të lexohet dhe të shkruara. Një sistem i skedarit nuk ka nevojë për bllokim vetem se në media fizike një bllok duhet të vihet, se është punë te driverit të pajisjes së caktuar. Kurdo që një sistem i skedarit ka nevojë të lexoni informacion ose të dhëna nga atë që përmbajnë pajisje bllok, ajo kërkon që driveri i tij mbështet pajisjen lexon një numër integral te blloqeve. Sistemi ext2 file ndan particione logjike që ajo zë në Grupet e Bllokut.

Secili grup eshte kopje identike e informacionit kritik për integritetin e sistemit te file-ve si edhe mbajtjen reale dhe direktoriumet si blloqe të informacionit dhe të dhënave. Ky dyfishim është i nevojshme duhet të ndodhë një dhe sistem file ka nevojë për t'u përmiresuar. Paragrafet ne vijim do te përshkruajnë me hollësi më shumë përmbajtjen e çdo Grup Blloku.

EXT 2 Inode

Në sistemin file ext2, të inode është bllok themelor për ndërtimin e grup bllokut, çdo file dhe direktoriume në sistemin skedar është përshkruar nga një dhe vetëm një inode. Inodes ext2 për çdo grup Blloku janë mbajtur në tabelë inode së bashku me një bitmap që lejon sistemin që mbajnë gjurmët e ndara dhe disa inodes.

Figura 2: ext2 Inode

Figura 2 tregon formatin e një inode ext2, në mesin e informacioneve të tjera, ai përmban fushat e mëposhtme:

mode

Kjo ka dy pjesë të informacionit; çfarë ky inode përshkruan dhe lejet që përdoruesit kanë në të. Për ext2, një inode mund të përshkruajnë një fotografi, drejtorisë, lidhja simbolike, pajisje bllok, pajisje karakter ose FIFO.

Owner Information

Perdoruesi identifikues dhe grupi i pronarëve të këtij file apo directory. Ky sistem lejon kartelën e drejt per tu qasur ne te drejtën e accesseve,

Madhësia

Page 88: Sisteme operative

88

Madhësia e file-it ose dosjes në bytes,

Timestamps

Koha që inode ishte krijuar dhe hera e fundit që ajo është ndryshuar për here te fundit,

Datablocks

Pointeret e blloqeve që përmbajnë të dhëna se se keto jane përshkruar si inode. Dymbëdhjetë poineteret e parë janë pointer të blloqeve fizik që përmbajn të dhënat e përshkruara nga ky inode dhe tre pointeret e fundit përmbajnë nivele gjithnjë e më shumë padrejtuar. Për shembull, dy blloqeve per pikën treguese indirekt në një bllok të pointereve në blloqe të pointereve të të dhënave të blloqeve. Kjo do të thotë se file më pak se ose e barabartë me dymbëdhjetë të dhënat bllokon në gjatësi janë më të shpejt.

Ju duhet të kini parasysh se inodes ext2 mund të përshkruaj file të veçantë per secilen pajisje. Këto nuk janë reale, por merret me file se programet mund të përdorë për pajisje të aksesit. Të gjitha file ose dosjet qe pajisjen në / dev janë atje për të lejuar programe për të hyrë në pajisjet në Linux.

Superblock ext2

The Superblock përmban një përshkrim të madhësisë dhe formës themelore të këtij file sistemi. Informacioni brenda lejon File sistemin kryesor për përdorimin dhe mirëmbajtjen e file sistemit. Zakonisht vetëm Superblock në Blloku Grupi 0 lexohet kur file sistemi është montuar por secili grup Blloku përmban një kopje të kopjuar në rastin e sistemit të korrupsionit te file-ve. Ndër të tjera ai mban informacion:

Magic Number

Kjo lejon që softuerit te kete rritje për të parë se kjo është vërtet Superblock për një sistem file ext2. Për versionin e tanishëm të ext2 kjo është 0xEF53.

Revision Level

Nivelet e mëdha dhe të vogla të lejojë rishikim të kodit në rritje për të përcaktuar nëse janë apo jo të këtij file sistemi mbështet vetëm tiparet që janë në dispozicion në rishikimet e veçantë të file sistemit. Ka gjithashtu veçori të fushave të cilat ndihmojnë përputhshmërinë kodi në rritje për të përcaktuar se cilat karakteristika të reja mund të përdoren në mënyrë të sigurtë në këtë file sistem,

Së bashku këto të lejojnë që sistemi për të përcaktuar nëse file sistemi duhet të kontrollohet plotësisht. Ky është incremented ne çdo kohë ne filesistemin dhe është ngritur dhe kur ajo është e barabartë me maksimumin si dhe numërimin e mesazhit paralajmërim , duke i rekomanduar e2fsck te shfaqet,

Numri i Bllok Grupeve që mban këtë kopje të Superblock, madhësia e bllokut për këtë file sistem llogaritet në bytes, për shembull 1024 bytes, Numri i blloqeve në një grup. Ashtu si madhësia blloku kjo është caktuar kur file sistemi fotografi është krijuar,

Free Blocks

Numri i blloqeve të lirë në file sistemin e caktuar,

Free Inodes

Numri i Inodes të lirë në file sistemin e caktuar,

Page 89: Sisteme operative

89

Inode e Para

Ky është numri inode-ve te parë në sistemin e file. The inode të parë në një sistem file ext2 rrënjë do të jetë në dosjen e hyrjes për dosjen '/'.

Grupi ext2 Deskriptor

Çdo grup ka një strukturë të Bllokut të dhënave duke e përshkruar atë. Ashtu si Superblock, të gjithe përshkruesit e grupit për të gjitha grupet e Bllokut janë të dyfishta në çdo Grup Block në rastin e sistemit të korrupsionit te file.

Çdo Descriptor Grupi përmban informacionin e mëposhtëm:

Blocks Bitmap

Numri bllok i alokimit te bitmap bllok për këtë Grup Block. Kjo është përdorur gjatë alokimit dhe dealokimit te blloqeve,

Inode Bitmap

Numri bllok i bitmapeve te alokimit inode-ve për këtë Grup Block. Kjo është përdorur gjatë ndarjes se inode dhe dealokimit te tyre,

Inode Tabela

Numri i bllokut duke filluar për tabelen inode për këtë Grup Block. Çdo inode përfaqësohet nga struktura ext2 e te dhënave inode përshkruar më poshtë.

Free blloqe count, Free count Inodes, te perdorura count Lista

Keto përshkrime te ketij grupi janë të vendosur më pas ne një tjetër dhe së bashku ata bëjnë tabela te cilat njihen edhe si descriptor tegrupit. Çdo Grupi i blloqeve përmban tabelën e tërë te përshkruesve të grupit , kopjen e saj të Superblock. Vetëm kopja e parë (në Bllok Grupi 0) është përdorur nga file sistemi ext2. Kopjet e tjera janë atje, si kopje e Superblock, në rast se kopja kryesore është e korruptuar.

EXT2 DIREKTORIUMET

Në file sistemin ext2, direktoriumet janë fajlla të veçantë që përdoren për të krijuar dhe mbajtur qasjet në dosjet në file sistemin e caktuar. Figura 9,3 tregon paraqitjen e shtresave te nje direktoriumi hyres te vendosur ne memorje.

Page 90: Sisteme operative

90

Figura 3: ext2 Direktoiumet

Një direktorium është një listë e shënimeve te ruajtura ne file, secili prej tyre përmban informacionin e mëposhtëm:

inode

Inode janë term per n je direktorium te tille. Ky është një tregues në grup inodes qe jane mbajtur në Inode Tabela te Bllok Grupit. Në figurën 3, hyrja në dosjen për dokumentin e quajtur skedar ka një referencë të inode numrin i1,

name length

Gjatësia e këtij direktoriumi matet me bytes,

name

Emri i kësaj hyrje te direktoriumit.

Gjetja e një File në një File System ext2

Një filename Linux ka format të njëjtë si të gjithë filenames ne Unix TM. Kjo është një seri e emrave të direktoriumeve te ndara nga simboli / (``/'') dhe duke përfunduar në emrin e file-së. Një shembull do të jetë filename / home / rusling / .cshrc ;

ku / home dhe / rusling janë emrat e directoriumeve dhe emri i file është. Cshrc. Ashtu si të gjitha sistemet e tjera Unix TM, Linux nuk ka kujdes për formatin e skedarit vetë, por mund të jetë çdo gjatësi dhe përbëhet nga ndonjë nga karakteret e mundshem. Për të gjetur inode që përfaqësojnë këtë file brenda një file sistemi ext2 sistemi duhet të bëj analizë gramatikore te një liste te direktoriumeve në një kohë deri sa të kemi në dosjen vetë perkatesisht file-in e kerekuar.

Te inoda e parë nevojitet te jete inode për rrënjët e file sistemit (root) dhe ne gjejmë në numrin e saj superblock filesistemin. Për të lexuar një ext2 inode ne duhet të shikojmë për të

Page 91: Sisteme operative

91

në tabelën e inode te Grupit të Bllokut. Nëse, për shembull, numri i inode root është 42 vjeç, atëherë ne kemi nevojë për inode 42 nga tabela inode e Bllokut Grupi 0. The inode rrënjë është një List ext2, me fjalë të tjera mënyra të inode rrënjë e përshkruan atë si një direktori dhe ajo i bllokon të dhënat qe përmban shënimet ext2 directoriumi.

Ne duhet të lexojm këtë në dosje e (nga leximi i parë inode e saj dhe pastaj leximin e shënimeve nga direktoriumi i blloqeve të dhënave të përshkruara nga inode e saj), për të gjetur hyrjen rusling që na jep numrin e inode përshkruar në home/ / rusling directory.

3.7. Ndryshimi i Madhësisë së File-it në një File System ext2

Një problem i përbashkët me një file sistem është tendenca e saj në fragmentim.Blloqet që të mbajë të dhëna, të merrin dosjen e përhapur në të gjithë file sistemin, kjo e bën bllokon sekuencial me aksese apo qasje gjithnjë e më shumë joefikas në të dhënat e file te mëtejshëm përveç blloqeve të dhënave. Sistemi ext2 file përpiqet për të kapërcyer këtë me ndarjen e blloqeve të reja për një file, fizikisht afër bllokut te saj aktual te të dhënave ose të paktën në Grup Bllokun e njëjtë si dhe bllokon të dhënat aktuale. Vetëm kur kjo nuk e bën atë të japë të dhëna per bllokun në një bllok grup tjetër.

Kurdo që një proces i përpjekjeve për të shkruar të dhëna në një File të file sistemit ne Linux kontrollohet për të parë nëse të dhënat i ka shkuar jashtë bllokut në fund të fundit ndahen në dosje. Në qoftë se ka, atëherë ajo duhet të caktojë një bllok të ri për te dhëna për këtë skedë. Deri në shpërndarje është e plotë, se procesi nuk mund të kandidojë, por duhet të prisni për sistemin te caktojë një bllok të dhëna të reja dhe të shkruani në pjesën tjetër te të dhënave për këtë para se të mund të vazhdojë. Gjëja e parë që rutinat ext2 duhet te bejne nuk është të bllokoj Superblock ext2 për këtë file sistem. Caktimin dhe dealokimin e ndryshimeve ne fushat brenda superblock, dhe file sistemi Linux nuk mund të lejojë më shumë se një proces për të bërë këtë në të njëjtën kohë. Në qoftë se një proces tjetër ka nevojë të japë më shumë blloqe të dhënave, ajo do të duhet të pres derisa ky proces ka mbaruar. Proceset e pritjes për superblock janë të suspenduara, të paaftë për të drejtuar, derisa kontrollin e superblock nga përdorues të saj aktual. Qasja në superblock është dhënë në një vijë të parë, ka shërbyer si bazë dhe një herë në proces ka kontroll të superblock, ajo mban kontroll deri sa ai ka mbaruar. Duke bllokuar superbllokun, procesi i kontrolleve që ka mjaft blloqe te lira te mbetura në këtë file sistem. Nëse nuk ka mjaft blloqe të lirë, atëherë kjo përpjekje që të caktojë më shumë do të dështojë dhe procesi do të heqë dorë nga kontrolli i këtij sistemi superbllokë.

Nëse ka mjaft blloqe të lirë në file sistemin, e procesit të përpiqet që të akordojë një. Nëse file sistemi ext2 ka qenë ndërtuar për të bere para alokimin e blloqeve të të dhënave atëherë ne mund të jemi në gjendje per të marrë një nga ata.VFS inode përfaqësojnë kartelën që ne jemi duke u përpjekur që të caktojmë një bllok të ri qe ka të dhëna për dy fusha specifike te ext2: prealloc_block dhe prealloc_count, të cilat janë numri bllokut e të dhënave të parë dhe sa prej tyre janë, përkatësisht. Nëse nuk ka pasur blloku preallocated ose bllok preallocation nuk është aktivizuar, sistemi ext2 file duhet të caktojë një bllok të ri. File sistemi ext2 duhet për të parë nëse blloku i të dhënave te para e qe vine pas bllokut të dhënave të fundit në file është i lirë. Logjikisht, ky bllok është më efikas për të caktuar si kjo e bën shumë më të shpejtë aksesin apo qasjen ne vijimi. Nëse ky bllok nuk është i lirë, atëherë kërko qe te zgjerohet dhe të duket për një bllok të dhënave brenda 64 blloqeve të e bllokut ideal. Ky bllok, edhe pse nuk ideal është të paktën në mënyrë të drejtë të ngushtë dhe brenda Grupit të Bllokut njëjtë me blloqet e tjera të të dhënave që i përkasin tek kjo skedë.

Page 92: Sisteme operative

92

Në qoftë se edhe se blloku nuk është i lirë, procesi fillon duke kërkuar në të gjitha grupet e tjera të Bllokut nga ana e tij deri sa gjen disa blloqe të lirë. Nëse nuk mund të gjeni tetë së bashku, ajo do të zgjidhte për më pak. Kudo që të gjen bllokun e lirë, përditësimet (update) e alokimit të bllokut ne kodin e bitmap bllokut dhe rezervon një tampon të dhënave në cache tampon. Kjo mbrojtëse e të dhënave unike është identifikuar nga sistemi identifikues mbështetës I file-ie në pajisjen dhe numri i bllokut te caktuar. Së fundi, superbllok vetë është shënuar si `` papastra''për të treguar se ajo ka qenë ndryshuar dhe ai është i hapur. Nëse ka qenë ndonjë nga proceset e pritur për superbllok, i pari në radhë është e lejuar të kandidojë përsëri dhe do të fitojë kontrollin ekskluziv të superbllok për operacionet e skedës. Procesi i të dhënave është shkruar në bllokun e ri të dhënave dhe, në qoftë se blloku të dhënave është i mbushur, i gjithë procesi të përsëritet dhe një here ne tjetër bllok caktuar të dhënave.

Virtual File System (VFS)

File sistemi virtual duhet të menaxhojë të gjitha sistemet e file-ve të ndryshme që janë ngritur në çdo kohë të dhënë. Për ta bërë këtë ai mban strukturat e të dhënave që përshkruajnë gjithë (virtuale) dhe reale, te ngritur, dhe madhësinë e sistemeve.

Figura 4: Diagrami logjik i Sistemit Virtual

Figura 4 tregon marrëdhënien ndërmjet sistemit Virtual kernel Linux File dhe file sistemeve të vërtetë.

Më saktë, VFS përshkruan dosjet e sistemit në drejtim të superbllok dhe inode në pjesën më të njëjtën mënyrë si file sistem ext2 përdor superbllok dhe inode. Ashtu si inode ext2, ashtu

Page 93: Sisteme operative

93

edhe inode VFS përshkruajnë file-t dhe direktoriumet brenda sistemit, përmbajtjen dhe topologjine e File Sistemit Virtual. Tani e tutje, për të shmangur konfuzionin, do të shkruajme për inode VFS dhe VFS superbllok të per dallim nga ata inode ext2 dhe superbllok.

Si çdo file sistem edhe ketu fajlli është i vet inicializuar , ai regjistron vetën me VFS. Kjo ndodh sepse sistemi operativ initializon veten në kohë ne boot sistem. Sistemet e vërtetë janë ndërtuar ose në kernel vetë ose janë ndërtuar si module. File modulet e sistemit janë ngarkuar kur sistemi ka nevojë për ata, kështu që, për shembull, në qoftë se sistemi skedar VFAT është zbatuar si një modul kernel, atëherë ajo është e ngarkuar vetëm kur një sistem i skedarit VFAT është i montuar. Kur një pajisje bllok sistem e bazuar është montuar, dhe kjo përfshin edhe file sistemin rrënjë, të VFS duhet lexuar superbllok te saj. Superbllok te cilido sistem i skedarit jane nje lloj i lexuar rutinë dhe duhet të punojnë jashtë topologjise se file sistemit dhe ka harta që tregojne informacionin mbi një strukturë të dhënave VFS. Keshtu VFS mban një listë të file sistemeve te ngritur në sistem së bashku me superbllok VFS te tyre. Çdo super bllokVFS përmban informacion dhe pointer për rutinat që kryejnë funksione të caktuara. Kështu, për shembull, superbllok qe përfaqëson një file sistem ext2 përmban një tregues të veçantë ext2 , te leximi rutinë inod. Kjo inod ext2 e lexuar rutinë, si të gjithë file sistemet inode specifike lexuar rutinat, mbushen nga fusha në një inodeVFS. Çdo superbllok VFS përmban një tregues për të parë inod VFS në file sistemin. Për file sistemin rrënjë, kjo është inod që përfaqëson ``/''. Kjo hartë e informacionit është shumë efikase për file sistemin ext2 por mesatarisht më pak për file sistemet e tjera.

Si direktoriumet e proceseve të sistemit dhe file-t, e ketij sistemi janë quajtur ashtu që te mos vine ne kundërvënie me VFS inodes në sistem.

Për shembull, shtypni ls për dosjen apo cut për një skedë qe të bëjë me File virtual Sistemin për të kërkuar nëpërmjet inodes VFS që përfaqësojnë file sistemin. Si çdo file dhe direktorium për sistemin është e përfaqësuar nga një inode VFS, pastaj një numër të inodes do të jetë po arrihen në mënyrë të përsëritur. Këto inodes janë mbajtur në cache inode që e bën qasjen në ato më të shpejtë. Nëse një inode nuk është në sasi inode, atëherë një sistem i skedarit rutinë duhet të thirret për të lexuar inode duhur. Veprimi i leximit të inode shkakton që ajo të jetë vënë në cache inode dhe më tej në inode mbajtur atë në cache. Sa më pak te përdoret VFS inodes me pak keni hequr nga cache.

Të gjitha file sistemet Linux përdorin një sasi të përbashkët mbrojtëse të dhënave cache si mbulesë nga pajisjet themelore për të ndihmuar dhe përshpejtuar qasjen nga të gjitha file sistemet tek një pajisje fizike,si dhe zhvillimin e file sistemeve .

Kjo sasi është e pavarur prej file sistemeve dhe është e integruar në mekanizmat që kernel Linux përdor për të ndare dhe të lexoni dhe të shkruani të dhënat mbulesë. Ai ka avantazhin e veçantë për bërjen e file sistemeve Linux te pavarur nga mediat themelore dhe nga driverët e pajisjeve që i mbështesin ato. Të gjitha pajisjet e strukturuara bllok të regjistrojne veten me kernel Linux dhe të paraqesë një uniforme, blloku i bazuar, interface zakonisht josinkronik. Edhe pajisjet bllok relativisht komplekse të tilla si pajisje SCSI bëjnë këtë. Si file sistemet e vërtetë qe lexojn të dhënat themelorenga disqe fizike, kjo rezulton në kërkesën të drejtuesit e pajisjeve të bllokuara për të lexuar bllokun fizike nga pajisje që ata të kontrollojne. Integruar në këtë ndërfaqe është cache tampon. Si blloqe janë lexuar nga file sistemet ata janë ruajtur në cache tampon globale ndahet nga të gjitha file sistemet dhe kernel Linux. Buffers brenda tij janë identifikuar me numrin e tyre bllok dhe një identifikues unik për pajisjet që lexojnë atë. Pra, në qoftë se të dhënat e njëjta gjë është e nevojshme shpesh, kjo do të jetë marrë nga depoja tampon në vend se lexohet nga disku, i cili do të marrë disi më të gjatë. Disa pajisje

Page 94: Sisteme operative

94

mbështetetese lexojn përpara , varesisht se ku janë të dhënat e bllokut te lexuar vetëm në rast se janë të nevojshme.

The VFS permban gjithashtu një sasi të Lookups Direktoriumeve mënyrë që inodes për direktoriumet e përdorura me shpesh mund të gjenden shpejt.

Si një eksperiment, provoni nje direktorium te renditur net e cilin ju nuk keni shënuar kohët e fundit. Hera e parë që ky direktorium, verehet pas një pauzë të vogël, por hera e dytë që përmbajtja e saj ndryshohet, rezultati i kerkimit është i menjëhershëm. Depoja në dosjen qe nuk i ruajnë në inodes për vetë direktoriumet, këto duhet të jenë në inode cache, cache direktorium dhe numrin e tyre inode.

Superblloqet VFS

Çdo sistem i integruar i nje file sistemi përfaqësohet nga një superbllok VFS; mes informacioneve të tjera, superblloqet VFS përmbajn:

Device

Kjo është aparat identifikues për pajisjen bllok se ky file sistem përmbahet. Për shembull, / dev/hda1, e hard disk IDE në sistemin identifikues ka një pajisje e 0x301,

Pointers Inode

Te ngritura si pika inode treguese në inode te parë në këtë file sistem. Pastaj duke mbuluar pikë treguesin inode në inode përfaqëson direktoriume që ky sistem është i integruar në file. Superblock VFS File rrënjë i sistemit nuk ka një akrep per te mbuluar,

Blocksize

Madhësia bllokut në bytes e këtij file sistemi , për shembull 1024 bytes,

Operacionet Superblock

Një tregues për një sërë rutinash superbllok për këtë sistem file. Ndër të tjerash, këto janë përdorur nga rutinat VFS të lexojnë dhe shkruajnë inodes dhe superbllok.

File Sistem type

Një tregues të strukturës file_system_type per sistemine montuar të dhënave,

File Sistem specifike

Një tregues për informacionin e duhur nga ky file sistem ,

VFS Inode

Ashtu si file sistem ext2, çdo file, direktorium e kështu me radhë në VFS është e përfaqësuar nga një dhe vetëm një VFS inode.

Informata në çdo inode VFS është ndërtuar nga informacioni në file sistemin themelor nga sistemi skedar ne rutinat e caktuara. Inodes VFS ekzistojnë vetëm në kujtesën e kernel dhe janë mbajtur në depo të inode VFS për aq kohë sa ato janë të dobishme për sistemin. Ndër të tjera informacione, inodes VFS përmbajnë fushat e mëposhtme:

Device

Kjo është identifer pajisjen e pajisjes mban file apo çfarëdo që kjo inode VFS përfaqëson,

Page 95: Sisteme operative

95

Numri inode

Ky është numri i inode dhe është unik brenda këtij file sistemi. Kombinimi i pajisjes dhe numri inode është unik brenda File sistemeve virtuale,

mode

Si fushë ext2 këtu përshkruan se çka ky inode VFS përfaqëson si dhe të drejtat e qasjes në të,

IDS përdorues

Identifikues pronar, qe perdoret here per krijimin, ndryshimin dhe disa herë qe te shkruaj,

Madhësia e bllokut

Madhësia e një blloku për këtë skedar në bytes, për shembull 1024 bytes,

operacionet inode

Një tregues për një bllok adresash rutinë. Këto rutina janë specifike për file sistemin dhe ata kryejnë operacione për këtë inode, për shembull, kufizojn dosjen që është e përfaqësuar nga kjo inode.

count

Numri i komponentëve të sistemit aktualisht duke përdorur këtë inode VFS. Një akuzë e zero do të thotë se inode është i lirë për t'u hedhur poshtë ose ripërdoren,

lock

Kjo fushë është përdorur për të bllokuar inode VFS, për shembull, kur ajo është duke u lexuar nga file sistemi,

dirty

Tregon se nëse kjo inode VFS është shkruar për të, nëse në mënyrë që file sistemi themelor do duhet modifikuar,

4.3. Rexhistrimi i File Sistemeve

Kur ne ndertojme kernel Linux do të pyetemi nëse dëshirojm qe te mbeshtesim secilin nga file sistemet . Kur kernel është ndërtuar, file sistemi fillimisht përmban kodin, thirrjet për rutinat , inicializimin per të gjitha keto të ndërtuara në file sistemet.

File sistemet Linux mund të ndërtohen si module dhe, në këtë rast, ata mund të kërkojë ngarkohet si ato qe janë të nevojshme ose ngarkohen nga ana përdorues. Kurdo që një sistem i skedarit modul është i ngarkuar vetem me atë ne regjistrat kernel dhe vetë kur ai është shkarkuar. Inicializimi i cilitdo file sistem të regjistrave rutinë e gjene veten me File Sistemin virtual dhe është e përfaqësuar nga një strukturë të dhënave file_system_type i cili përmban emrin e file sistemit dhe një tregues për të lexuar VFS te saj ne superbllok rutinë

Figura 5: Registered File Systems

Page 96: Sisteme operative

96

Figura 5.tregon se strukturat file_system_type te dhënat janë vënë në një listë vuri në file_systems. Çdo strukturë file_system_type e të dhënave përmban informacionin e nevojshem te komponeteve te saj.

Për shembull:

ext2

proc nodev

iso9660

Zhvillimi i një FILE SISTEMI

Kur supershfrytezuesit (superuser) përpjekjet për të filluar një file sistem , kernel Linux duhet qe së pari të kene argumente vlefshme per të kaluar në sistemin e thirrjes. Edhe pse, ajo nuk e dinë se cilat file sisteme e kane ndërtuar këtë kernel dhe që kane mbështetur. Konsideroni komandën në vijim:

$ Mount-t iso9660-o ro / dev / cdrom / MNT / cdrom

Kjo komandë do të kalojnë ne kernel tre pjesë të informacionit; emrin e file sistemit, e pajisjes fizike bllokun që përmban file sistemin dhe, së treti, ku në sistemin ekzistues.

Gjëja e parë që e File Sistemi Virtual duhet të bëjë është që të gjejë file sistemin.

Për ta bërë këtë duhet qe perms kërkimeve te gjendet lista e njohur e file sistemeve duke shikuar në çdo strukturë të dhënave file_system_type dhe në listën e vene nga file_systems.

Nëse gjen një emër që përputhen ajo tani e di se ky lloj file sistemi është i përkrahur nga kjo kernel dhe ka adresën e file sistemit rutinë të veçant për të lexuar superbllok këtë skedë të sistemit.

Në këtë pikë VFS per kete kod duhet të caktojë një superbllok VFS dhe të kalojë atë ne informacionin e superbllok te lexuar ne rutinë për këtë file sistem. Të gjitha keto tek superblloqet VFS sistemet janë mbajtur në vektor super_blocks te strukturave të dhënave super_block dhe duhet të ndahen për këtë piedestal. The superbllok rutinore i duhet të plotësoni fushat superbllok VFS bazuar në të dhënat që ajo lexon nga pajisje fizike. Për file sistemin ext2 këtë hartë ose përkthim të informatave është shumë lehtë, ajo thjesht lexon superbllok ext2 dhe mbush jashtë superbllok VFS nga atje. Për file sistemet të tjera jo të tilla si file sistemi i MS DOS-it, ajo si e tillë është mjaft një detyrë e lehtë. Çfarëdo file sistemi , qe e ka plotësuar superbllok VFS do të thotë se file sistemi duhet të lexoni çdo gjë që e përshkruan atë nga pajisjet e bllokut që e mbështesin atë. Nëse pajisja bllok nuk mund të lexohet nga ajo ose në qoftë se ajo nuk përmban kete lloj sistemi skedar atëherë kjo komandë do të dështojë.

Page 97: Sisteme operative

97

Figura 6: Një zhvllim i nje File System

Çdo file sistem i tille është përshkruar me një strukturë të dhënave vfsmount; shih figurën 6. Këto janë te tilla në një listë te vene nga vfsmntlist.

Një tjetër tregues, pika vfsmnttail në hyrje të fundit në listë dhe pikat mru_vfsmnt treguese në file sistemin fotografi më të përdorur kohët e fundit. Çdo strukturë vfsmount pajisje përmban numrin e pajisjes qe bllokojnë zhvillimin e file sistemit , direktoriumi ku ky file sistem është ngritur dhe një shigjetë për VFS superbllok te caktuara kur ky sistem i skedarit u montua. Nga ana e pikave superbllok VFS në strukturën e të dhënave file_system_type për këtë lloj te file te sistemit dhe të inode rrënjë për këtë file sistem. Kjo inode mbahet ne cache inode VFS gjate gjithë kohës që ky sistem skedar është ngarkuar.

Gjetja e një File në File Sistemin Virtual

Për të gjetur inode VFS i një file sistemi virtual, VFS duhet të zgjidhë emrin direktoriumit në një kohë, duke shikuar lart VFS inode përfaqësojnë secilin nga direktoriumet e ndërmjetme në emër. Çdo lookup direktorium përfshihet ne thirrje te secilit lookup file specifik adresa e të cilit është mbajtur në VFS inode e qe përfaqëson direktoriumin prind. Kjo punon sepse ne gjithmonë kemi inode VFS e rrënja e çdo file sistemi te skedarit dhe vuri në dispozicion nga superbllok VFS për atë sistem. Çdo herë që një inode është shikuar deri me ate kohe ne file sistemin e vërtetë ajo kontrollon cache directory për direktoriumin aktual. Nëse nuk ka hyrje ne dosjen cache, sistemi i vërtetë merr VFS inode ose nga file sistemi themelor ose nga cache inode.

Një file sistem i skedarit nuk mund të ecen mire nëse diçka në sistem është duke përdorur një file të saj. Kështu, për shembull, ju nuk mund të umount / MNT / cdrom në qoftë se një proces që është duke përdorur në file apo ndonjë prej nenproceseve të saj. Nëse diçka është duke përdorur sistemin ku mund të jetë inodes VFS nga ajo në sasi të inode VFS, dhe kontrollon kodin për këtë duke shikuar nëpërmjet listës te inodes kërkon për inodes në

Page 98: Sisteme operative

98

pronësi të pajisjes qe ky file sistem i ka. Nëse superbllok VFS për file sistemin I cili eshte duke u ngritur është ne gjendjen dirty , që është është ndryshuar, atëherë ajo duhet të shkruhet përsëri në sistemin në disk. Pasi ai ka qenë shkruar në disk, në kujtesën e okupuar nga superbllok VFS dhe është kthyer falas në kernel te kujtesës.

VFS Inode Cache

Si file sistemet e integruara te file-ve qe janë të levizur vazhdimisht, edhe VFS inodes e tyre janë duke u lexuar vazhdimisht dhe, në disa raste, ne to shkruhet. File Sistemi Virtual i mban një sasi të inode për të përshpejtuar qasjen për të gjitha file sistemet . Sa herë që një VFS inode lexohet nga cache inode sistemi ruan një qasje në një pajisje fizike.

VFS inode cache është implmentuar si një tabelë hash me të hyrat e të cilave janë në listat e pointereve VFS inodes që kanë të njëjtën vlerë hash. Vlera hash e një inode llogaritet nga numri i saj inode dhe nga identifikues të pajisjes për pajisjen themelore fizike që përmban file sistemin. Kurdo që File Sistemi virtual ka nevojë për të hyrë në një inode, ajo e para duket në VFS inode cache. Për të gjetur një inode në cache, sistemi i parë llogarit vlerën e saj hash dhe pastaj përdor atë si një indeks në tabelë Hash inode. Kjo jep një tregues për një listë të inodes me të njëjtën vlerë hash. Ajo pastaj lexon çdo inode nga ana e tij deri sa gjen një me të dy qe kane të njëjtin numër inode dhe identifikues të njëjtë per pajisje si ai që është në kërkim për të.

Në qoftë se nga kjo mund të gjeni inode në cache, numërimin e tij është rites dhe do të tregojë se ai ka një përdorues tjetër dhe qasja ne file sistem vazhdon. Përndryshe një VFS inode e lirë duhet të gjendet në mënyrë që file sistemi do te mund të lexon inode nga memoria. VFS ka një numër zgjedhjesh se si të merrni një inode falas. Në qoftë se sistemi mund të caktojë VFS më shumë inodes atëherë kjo është ajo që bën, ajo ndan faqet kernel dhe pushimet e tyre deri në hapesire, inodes te lirë dhe e vë ata në listën e inode. Të gjitha VFS inodes të sistemit janë në listën first_inode si edhe në tabelën e Hash inode. Nëse sistemi tashmë ka të gjitha të inodes sa ai lejohet të ketë, ajo duhet të gjejë një inode se është një rast i mirë për të qe te ripërdoret.. Pasi një prej tyre për pas ripërdorimit ka qenë e vendosur, ajo pastaj do të pastrohet. VFS inode mund të jetë dirty dhe në këtë rast duhet të jetë e shkruar mbrapa në file sistemin apo ajo mund të jetë e mbyllur dhe në këtë rast sistemi duhet të prs që ajo të jetë e hapur para se të vazhdoj. VFS inode duhet të pastrohen para se te mund të ripërdoren.

Megjithatë VFS inode te reja janë gjetur, për nje file sistem rutinë të veçant dhe duhet të thirren për të mbushur atë nga informacioni i cili lexohet nga file sistemi themelor I ne file reale. Përderisa është duke u mbushur jashtë, ky VFS inode ka një akuzë të përdorimit dhe është mbyllur në mënyrë që asgjë tjetër te mos kete qasje ne atë derisa ai përmban informata të vlefshme.

Për të marrë VFS inode është e nevojshme, qe file sistemi të ketë nevojë për të hyrë në inodes per disa të tjera. Kjo ndodh kur lexon nje liste, vetëm inode për direktoriumin e fundit është e nevojshme, por inodes për të jane te ndërmjetëm dhe duhet gjithashtu të lexohen.

Direktoriumet Cache

Për ta rritur shpejtësine e qasjes ne direktoriumet e përdorura, zakonisht, VFS mban një sasi te shënimeve ne cache direktoriume.

Si direktoriume janë shikuar nga file sistemet e vërteta dhe të dhënat e tyre janë shtuar në cache direktorium. Herën tjetër direktoriume e njejta jane ngritur lart, për shembull tek lista e tyre ose të hapur një file brenda asaj liste , atëherë ajo do të gjendet në cache direktorium.

Page 99: Sisteme operative

99

Vetëm hyrjet ne direktoriumet e shkurtera (deri në 15 karaktere) janë kopje e ruajtur, por kjo është e arsyeshme që emrat te jene më të shkurtër, prandaj keto direktoriume janë ato më të zakonshëm që përdoret. Për shembull, / usr/X11R6/bin zakonisht arrihen kur server X është ne gjendjen running.

Cache direktoriumi përbëhet nga një tabelë hash, ku secila hyrje tregon në një listë të shënimeve cache që kanë të njëjtën vlerë hash. Funksioni hash përdor numrin e pajisjes mbajnë sistemin, emrin e file dhe directoriumin për të llogaritur kompensimin, apo indeks, në tabelë hash. Kjo lejon qe hyrjet ne cache të mund te gjinden shpejt. Ajo ka pasur një sasi të përdorimi kur Lookups brenda cache kane marrë shumë kohë për të mos gjetur hyrje, apo edhe për të gjetur atë.

Ky është qëllim e jo se këto shënime kanë qenë vetëm duke u shikuar, por edhe ato kanë qenë te referuara në mënyrë të përsëritur.

Cache Buffer

Si file sistemet per te cilat folem me heret qe janë përdorur, theksuam se ato gjenerojnë shumë kërkesa për pajisje të bllokut për të lexuar dhe shkruar të dhëna ne blloqe. Të gjitha të dhënat bllok qe lexojnë dhe shkruajnë kërkesat janë dhënë për driver-et e pajisjeve në formën e strukturave të dhënave buffer_head nëpërmjet thirrjeve standarde kernel rutinë. Këto japin të gjithë informacionin që driver-et e pajisjeve bllok duhet te dine ; identifikuesi i pajisjes unike identifikon pajisjen dhe numri i bllokut tregon driver-it te pajisjeve që blloku eshte gati për të lexuar. Të gjitha pajisjet bllok shihen si koleksione lineare te blloqeve me të njëjtën madhësi. Për të përshpejtuar qasjen në pajisjet fizike bllok, Linux ka një cache buffer. Të gjitha këta cache buffer në sistem janë mbajtur diku në këtë sasi tampon, edhe të reja, të papërdorura. Kjo sasi është e ndarë në mes të gjitha pajisjeve te bllokut fizik, në çdo kohë në cache, që i përkasin çdo një prej pajisjeve të sistemit.. Nëse të dhënat e vlefshme qe jane në dispozicion nga cache tampon këtë e kursen sistemi per një qasje në një pajisje fizike. Çdo tampon bllok ka qenë përdorur për të lexuar të dhënat nga një pajisje bllok ose për të shkruar të dhëna për këtë shkon në cache buffer. Me kalimin e kohës ajo mund të hiqet nga depoja për të bërë rrugën për një tampon më shumë te drejte apo mund të mbetet në cache ashtu siç ndodh shpesh ne raste te tilla.

Zakonishte madhesite e perkrahura apo te mbeshtetura te buffereve janë 512, 1.024, 2.048, 4.096 dhe 8.192 bytes.

Kurdo që një file sistem ka nevojë për të lexuar një tampon nga pajisja në themel të saj atehre ai duhet që të marrë një bllok nga cache tampon. Në qoftë se nga kjo nuk mund të merrni një tampon nga cache tampon, atëherë do të merrni një te pastër nga ata qe jane të përshtatshem. Ashtu si të gjithë cache tampon duhet të mbahet në mënyrë që ajo te drejtoj në mënyrë efikase dhe të drejtë cache entries si dhe te ndan në mes të bllokut duke përdorur pajisjet cache tampon. Linux përdor bdflush daemon kernel për të kryer një shumë e detyrave të shtëpisë në cache por disa here ndodh automatikisht si rezultat i cache duke e përdorur.

Page 100: Sisteme operative

100

Procesi i update

Komanda update është më shumë se vetëm një komandë, por është gjithashtu një deamon. Kur të perdoret si superuser (gjatë sistemit te inicilizimit) se do të rritet në mënyrë periodike ne të gjithë dirty buffer-et të vjetër që jane jashte diskut. Këtë e bënë duke e quajtur një shërbim të sistemit rutinë që ka më shumë ose më pak të njëjtën gjë si bdflush. Kurdo që një dirty buffer është përfunduar, është pajisur me etiketë me kohë se sistemi duhet të jetë shkruar jashtë në diskun e saj. Çdo herë që update shkon kjo duket në të gjitha dirty buffer dhe sistemi do te kërkoj për ato me një kohë të skaduar . Çdo buffer i skaduar është shkruar jashtë në disk.

“Problemet e konkurrencës në Sistemet Operative”

Një ndër temat qëndrore në sistemet operative moderne janë multiprogramimi, multiprocesimi dhe procesimi i distribuuar. Qenësore në këto tema dhe fundamentale në teknologjinë e dizajnimit të sistemit operativ është konkurenca. Në rast se disa procese janë duke u ekzekutuar në mënyrë konkuruese, aktualisht në rastin e një sistemi multiprocesorik ose virtualisht në rastin e sistemit multiprogramues njëprocesorik, paraqiten problemet e zgjidhjes së drejt të konflikteve dhe ato të bashkëpunimit.

Proceset konkuruese mund të bashkëpunojnë në disa mënyra. Proceset që s’janë në dijeni për proceset e tjera në sistem megjithatë, mund të garojnë për resurse siç është koha procesorike dhe qasja në paisjet hyrëse/dalëse. Proceset që në mënyrë indirekte janë në dijeni për ekzistencën e ndonjë procesi tjetër në sistem për shkak se ato procese do të kenë qasje të përbashkët (ang. shared) në ndonjë objekt të caktua, siç është blloku i memories kryesore ose ndonjë fajll. Dhe proceset që në mënyrë direkte dinë për njëri tjetrin dhe bashkëpunojnë me anëtë shkëmbimit të informatave. Problemet kyçe që paraqiten në këto bashkëveprime janë garantimi i përjashtimit reciprok dhe eliminimi i dedllokut. Përjashtimi reciprok është një kusht ku në rast se gjenden një bashkësi e proceseve konkuruese,vetëm një prej këtyre proceseve/thredave duhet të jetë në gjendje që ti qaset një resursi të caktuar (që është i përbashkët-ang. shared) ose të kryej ndonjë funksion të caktuar në ndonjë moment. Teknikat e përjashtimit reciprok mund të përdoren për të zgjidhur konfliktet, siç janë garimet për resurse dhe arritja e sinkronizimit të proceseve në mënyrë që ato të mund të bashkëpunojnë. Një numër i algorimeve hardwerike dhe softwerike janë shqyrtuar me qëllim të arritjes së përjashtimit reciprok. Mirëpo, nuk merren parasysh si zgjidhje të duhura meqë bazohen në pritjen e zënë (ang. busy waiting). Përafrim tjetër për ta arritur përjashtimin reciprok është përdorimi i veçorive brenda sistemit operativ si dhe konstrukteve që gjuhëve programuese. Disa nga këto teknika më të shpeshta janë semaforat, dërgimi i mesazheve dhe monitorat. Semaforat janë: përdorur për sinjalizim në mes të proceseve dhe mund të jenë përdorur për të detyruar një disiplinë të përjashtimit reciprok. Monitorat si konstrukte të gjuhëve programuese bazohen në atomicitetin e kryerjes së instruksione të caktuara. Ndërsa, mesazhet janë përdorur për ta detyruar përjashtimin reciprok si dhe për të mundësuar një mënyrë efektive të komunikimit në mes të proceseve.

Page 101: Sisteme operative

101

1. Çfarë është OS?

Në tekstin e mëparmë është konstatuar që Sistemi operativ është program që ndërmjetëson në mes programeve aplikative dhe hardverit. Programe që sigurojnë apstrahim e që e thjeshtëzojnë zhvillimin e aplikacioneve:

• Fajlla në vend të bajtëve në disk

• Regjione memoruese në vend të bitëve në RAM

• Procese për aktivizim të aplikacioneve.

Program që mundësojnë programet të funksionojnë pa konflikte:

• udhëheq politikë mbrojtje dhe

• Shfrytëzon masa sigurie

Programe që mundësojnë shfrytëzim efikas të hardverit (resurseve).

Bashkësi programesh që udhëheqin me punën e SK (Sistemit Kompjuterik) me qëllim të shfrytëzimit optimal të resurseve dhe lehtësim maksimal të punës së përdoruesve.

Softver që i apstrahon dhe i drejton resurset e SK.

Bashkësi programesh që e lehtëson zhvillimin e aplikacioneve.

Ka funksion të menaxhimit të pjesëve përbërëse të SK siç janë: procesori, kontroleri dhe memorja.

Krijon për përdoruesin e SK një mjedis ideal pune duke e transformuar atë nga një makinë që operon me bite dhe bajte në një makinë që operon me fajlle dhe procese.

Koncepti i konkurencës

Sistemet kompjuterike shumëprocesorike kanë mundësi në ekzekutimin e më tepër se një instruksioni njëkohësisht. Për shembull, një sistem dyprocesorik ka mundësi që ti ekzekutoj dy instruksione njëkohësisht, nga një instruksion në secilon procesor. Në sistemet e tilla zakonisht gjendet një memorie fizike qendrore ku për të gjithë procesorët kodi dhe të dhënat janë të përbashkëta.

Për ta shpjegu konceptin e konkurencës, le të supozojmë se dy procese momentalisht e ekzekutojnë të njëjtin kod, kodin që e bënë rritjen e vlerës së variablës X për një.

Secili proces e vendos (ngarkon) përmbajtjen e X-it në një variabël lokale, e ndryshon përmbajtjen e saj dhe rezultatin e ruan përsëri në variablën X.

Kodi duket si në vijim:

lokal:= X;

lokal:= lokal + 1;

X:=lokal;

Page 102: Sisteme operative

102

Meqë që të dy proceset janë të pavarura nga njëra tjetra, nuk ka ndonjë sekuencë të veçantë në të cilën do të ekzekutohen. Le ta marrim sekuencën e ekzekutimit si në vijim:

Procesori1 Procesori2

lokal1 := X;

lokal1:=lokal1+ 1; koha t1

X:=lokal1; lokal2 :=X;

lokal2:=lokal2+1;

koha t2 X := lokal2;

Pasi që të dy proceset ta kenë përfunduar ekzekutimin, vlera e variablës së përbashkët (ang. shared) X do të jetë rritur për dy, që njëherit paraqet edhe rezultatin e kërkuar. Tani le ta shqyrtojmë sekuencën vijuese të ekzekutimit të proceseve:

Procesori 1 Procesori 2

lokal1 := X;

lokal2 := X;

lokal := lokal1 + 1;

lokal2 := lokal2 + 1;

X := lokal1;

X := lokal2;

Përsëri që të dy proceset e përfundojnë ekzekutimin, por variabla X në këtë rast do të rritet për një. Mospërputhja në sekuencën e ekzekutimit të instruksioneve shkakton problem. Ky problem s’është vetëm tek një sistem multiprocesorik. Në një ambient njëprocesorik-multiprogramues procesori i vetëm është ndarë në mes shumë shfrytëzuesve. Komutimi i procesorit shkaton që një proces të parandalohet (pre-empt) në një moment dhe procesori të jetë në dispozicion të procesit tjetër.

Le ta shqyrtojmë ekzekutimin e dy proceseve në një sistem njëprocesorik dhe në një ambient multiprogramues, ku që të dy këto procese dëshirojnë të ndryshojnë vlerën e variablës X. Për shkak se kohë pas kohe mund të ndodhë që radha e ekzekutimit (skedulimi) të kaloj nga procesi në proces, le të marrim sekuencën e ekzekutimit si në vijim:

Page 103: Sisteme operative

103

Procesi 1 Sistemi Operativ Procesi 2

lokal1:= X; parandalohet procesi 1

procesori i ipet

procesit 2

lokal2:=X;

parandalohet procesi 2

procesori i ipet procesit 1

lokal1:= lokal1 + 1;

parandalohet procesi 1

procesori i ipet

procesit 2

lokal2:=lokal2 +1;

parandalohet procesi 2

procesori i ipet

procesit 1

X:= lokal1;

parandalohet procesi 1

procesori i ipet

procesit 2

X:= lokal2;

Si tek sistemi shumëprocesorik edhe këtu tek sistemi njëprocesorik multiprogramues vlera e variablës X është rritur për një në vend se të rritet për dy. Në të dy rastet problemi, i ndryshimit të gabuar të vlerës së variablës X, ka rrjedhur nga sekuenca e ekzekutimit të instruksioneve. Edhepse që të dy sistemet, si ai njëprocesorik poashtu edhe ai shumëprocesorik, shkatuan të njëjtin problem gjatë ndryshimit të vlerës së X –it, duhet të dimë ti dallojmë modet e ekzekutimit të dy proceseve në secilin sistem. Kur kemi dy procesor themi se ekzekutimi i instruksioneve ka ngjarë njëkohësisht (ang. simultaneously): të dy proceset ngjajnë në të njëjtën kohë.

Në një sistem njëprocesorik s’kemi mundësi që instruksionet ti ekzekutojmë njëkohësisht. Instruksionet ekzekutohen sekuencialisht (njëri pas tjetrit), por efekti përfundimtar mund të jetë edhe këtu katastrofik, si tek sistemi shumëprocesorik.

Këtu, tek sistemi multiprogramues, themi se proceset ekzekutohen në mënyrë konkuruese (ang. concurrently). Edhepse ekzekutimi ishte sekuencial, efekti ishte i njëjtë si tek ekzekutimi i njëkohësishëm. Ky efekt është arritur nga ’aftësitë’ e sistemit operativ për të dirigjuar dhënien e procesorit tek shumë procese.

Page 104: Sisteme operative

104

Pse konkurenca?

Në një makinë njëprocesorike, ku sistemi operativ e përkrah konkurencën ekziston mundësia që më tepër aplikacione të ndajnë (shfrytëzojnë bashkarisht) resurset në atë mënyrë që aplikacionet duken se ekzekutohen në të njëjtën kohë. Meqë një aplikacion i zakonshëm nuk i shfrytëzon të gjitha resurset në një koment, me një koordinim të kujdesshëm mund të arrijmë që secili aplikacion të ekzekutohet sikur ta zotëroj të tërë makinën.

Ekzistojnë një numër i përparësive për një sistem operativ, i cili e përkrah konkurencën:

1. Përparësia më e madhe është që ka mundësi të ekzekutohen më tepër aplikacione në të njëjtën kohë.

2. Përderisa resurset që janë të papërdorshme nga një aplikacion mund të përdoren nga aplikacioni tjetër, konkurrenca mundëson shfrytëzim më të mirë të resurseve.

3. Pa konkurencë, secili aplikacion duhet të ekzekutohet për tu kompletuar e më pas të filloj ekzekutimin aplikacioni tjetër. Këtu, konkurenca mundëson një kohë mesatare të përgjigjjes më të mirë për aplikacionet individuale.

4. Koha e nevojshme për të mbaruar punën dy aplikacione është më e vogël se sa në rastin kur s’kemi konkurencë në sistem. Prandaj themi se me konkurencë arrijmë performansa më të mira.

Konkurenca ka edhe disa të meta:

1. Më tepër aplikacione duhet të mbrohen nga njëra-tjetra.

2. Më tepër aplikacione është e nevojshme të koordinihen përmes mekanizmave shtesë.

3. Komutimi (ang. switching) në mes të aplikacioneve nënkupton kompleksitet në sistem (p.sh., rreth vendosjes se cilit aplikacioni ti ipet radha e ekzekutimit).

4. Në rastet ekstremne të ekzekutimit të shumë aplikacioneve në mënyrë konkuruese do të kemi një degradim në performansa.

Mbi të gjitha, kur përdoret si duhet, konkurenca ofron më tepër të mira se sa që sjell probleme.

’Race condition’

Kur dy ose më tepër procese/threda që janë duke u ekzekutuar në mënyrë konkuruese, kanë qasje në një të dhënë të përbashkët (ang. shared) dhe rezultati përfundimtar varet nga rendi i ekzekutimit (se kush kur ekzekutohet), kemi të bëjmë me problemin e njohur si race condition. Nga më parë vërejtëm se qasja në të dhënat e

Page 105: Sisteme operative

105

përbashkëta (ang. shared) nga më tepër procese të cilat ekzekutohen mënyrë konkuruese, gjeneronte rezultate të ndryshme kur radha e ekzekutimit është e ndryshme (figura 2.1).

Kjo në fakt paraqiste race condition. Për të mos ndodhur kjo është e nevojshme që çdo gjë që është e përbashkët (ang. shared) në sistem të definohet si pjesë kritike, në atë kuptimin që vetëm një proces në një moment guxon ta ekzekutoj atë pjesë. Prandaj, ndihet nevoja për një mekanizëm, i cili do të na ofronte një sinkronizim në mes të proceseve gjatë ekzekutimit të tyre dhe para së gjithash do të na garantonte përjashtim reciprok në mes të proceseve me rastin e ekzekutimit të pjesëve kritike.

Si pjesë kritike njihen të gjitha resurset, qofshin ato konkrete apo abstrakte, të ripërdorshme apo të përkohshme. Kështu, nën termin resurs përfshihen:paisjen hyrëse/dalëse, koha procesorike, një lokacion memorik-variablat, sinjalet, semaforat, mesazhet, fajllat, bandwith-i, printeri, ploteri etj..

Me qëllim të garantimit të përjashtimit reciprok çdo herë qasjen e proceseve/ thredave në pjesët kritike e kushtëzojmë me një mutex kyç ( nga mutual exclusion). Me qëllim të garantimit të përjashtimit reciprok duhet të definojmë pjesët kritike dhe qasjen në këto pjesë ta bëjmë të kushtëzuar disi (figura 2.2).

Fig.2.1.Qasja në resurset e regjionit kritik Fig.2.2.Definimi i përbashkëta

Problemet ICT (Inter Processes Communication) klasike

Problemi klasik i proceseve

Problemi i klasik i proceseve ishte propozuar (zbuluar) nga (E.W.Dijskra1) më 1965. Problemi i klasik është një prej problemeve klasike që përdoren me qëllim të ilustrimit të koncepteve të regjionit kritik (ang. critical section) dhe sinkronizimit në mes të shumë proceseve. Ky problem është një model dhe metodë univerzale për testimin dhe krahasimin e teorisë në rezervimin e resurseve. Dijsktra mendoi ta përdorë atë për të krijuar një sistem operativ të niveluar (ang. layered). Në shikim të parë do të duket si diç e pakuptimtë, por ama është një problem tipik që mirret me zgjidhjen e shumë probleme të sinkronizimit që

Page 106: Sisteme operative

106

kanë të bëjnë me rezervimin e resurseve në Sistemet Operative dhe njëherit njihet si problem çuditërisht i ndërlikuar.

Proceset dhe pjesët e tyre janë vetëm metafora të Dijsktra-s për një problem të përgjithshëm që ka të bëjë me rezervimin e resurseve në një mjedis të proceseve garuese.

Kushtet për të pasur një zgjidhje të mirë

Merret pjesa e caktuar? Në ndonjë program ne thjesht e shtypim mesazhin, p.sh. ”E ka pjesën e majtë”, i cili është mjaft lehtë që të shkruhet. Mirëpo, problemi është se cila pjesë është e ndarë (shfrytëzohet bashkarisht) në mes të dy proceseve, apo më mirë të themi se paraqet një resurs të ashtu quajtur “shared” (që shfrytëzohet bashkarisht nga proceset fqinjë). Qëllimi ynë është që një proces mos të lejojmë që të merr pjesën, e cila veçse është marrur nga (d.m.th., e posedon) procesi fqinjë. Rrjedhimisht, me këtë dëshirojmë që ti shmangemi problemit të njohur si race condition në Sistemet Operative. Pyetja se si një proces do ti merr pjesët, në fakt paraqet pyetjen se si ta eliminojmë race condition.

Në realitet, ajo që duhet të ndalojmë është që të mos lejojmë që dy procese ta posedojnë pjesën e njëjtë në të njëjtën kohë. Me fjalë të tjera ajo që na nevoitet është përjashtimi reciprok, dmth ndonjë mënyrë, e cila do të na siguroj se në rast se njëri proces e posedon ndonjërin prej pjesëve, procesi tjetër s’do ti lejohet që ta përdorë atë.

Edhe në rast se arrijmë ta eliminojmë problemin, që dy procese fqinjë të mos kenë mundësi të kenë njëkohësisht të njëjten pjesë, kjo s’do të jetë e mjaftueshme që proceset të themi se po punojnë me efektivitet. Prandaj, nevoiten disa kushte për të pasur një zgjidhje të mirë:

• S’lejohet që dy procese të posedojnë njëkohësisht të njëjtin pjesë (sigurimi i përjashtimit reciprok);

• S’lejohet që proceset të cilët janë duke menduar, ta pamundësojnë marrjen e pjesës nga procesit tjetër-fqinjë, i cili dëshiron të pres.

• S’lejohet që ndonjëri prej proceseve të pres përgjithmonë që ti merr dy pjesë, në mënyrë që ti mundësohet kryrje,

• Të kemi kujdes dedllokun, ku të gjithë peoceset e presin njëri-tjetrin dhe asnjëherë në mesin e tyre s’do të ketë progres (dedlloku- jo progresi).

‘Race condition’ në mesin e proceseve

Nëse implementojmë një protokol, në të cilin procedurave, merre pjesa e parë pastaj të dytin, nuk u vëmë kurrfarë kushtesh-implementimi, atëherë lejojmë mundësinë që dy procese fqinjë në të njëjtën kohë ta përdorin të njëjtin pjesë, gjë që bie ndesh me qëllimin tonë! Kjo do të thotë se e lejojmë mundësinë që dy procese fqinjë të jenë duke u kryer në të nëjtin pjesë njëkohësisht. Prandaj, themi se në këtë rast s’do të kemi zgjidhjen e kërkuar. Për ta evituar

Page 107: Sisteme operative

107

problemin e tillë rrjedhimisht, kërkohet që të mos lejojmë që dy procese fqinjë të jenë duke u kryer në të njëjtën kohë. Më saktësisht, duhet ti definojmë pjesët kritike, në të cilat s’mund të kenë qasje dy procese njëkohësisht, dhe si rezultat i mos respektimit të kësaj pjese do të merrnim një rezultat përfundimtar të gabuar.

Zgjidhjet softwerike dhe hardwerike

Me qëllim të gjetjes së zgjidhjeve që do ti eliminojnë problemet e regjionit kritik më saktësisht, që garantojnë përjashtim reciprok janë propozur një numër i zgjidhjeve hardwerike dhe softwerike. Më pas për shkak të problemeve të jo efektshmërisë në pika të caktuara tek këto zgjidhje, janë propozuar zgjidhje të tjera që mbështetën në vet konstruktin e sisitemin operativ si dhe të gjuhëve programuese.

Përpjekja e parë

Me qëllim të zgjedhjes së problemit të pjesës kritike, që në fakt paraqet pjesën kur ndonjë proces paraqet kërkesën për marrjen e pjesës, do ta përdorim një variabël turn, e cila tregon se cili proces e ka radhën për ta marrur pjesën në mënyrë që ta ekzekutoj pjesën kritike, përkatësisht të ketë mundësi të kryhet. Ja pseudo-kodi :

Procesi P1() Procesi P2()

{ {

while (true) while (true)

{ {

procesi1:=duke_pritur; procesi2:=duke_pritur;

while (turn==1); while (turn==2);

pjesa kritike pjesa kritike

turn=2; turn=1;

procesi1:=duke_pritur; procesi2:= duke_pritur;

} }

} }

Page 108: Sisteme operative

108

Nëse e analizojmë kodin vërejmë së përjashtimi reciprok është garantuar meqë vetëm P1 ose P2, mund te jenë duke u kryer në një moment, këtë gjë e mundëson variabla turn që ia kemi shoqëruar çdo pjesë. Ky algoritëm e eleminon problemin e përjashtimit reciprok, por në të njëjtën kohë shfaqet një problem tjetër.

Le ta shqyrtojmë sekuencën vijuese të marrjes së pjesëve nga proceset P1 dhe P2. P1, është duke ekzekutuar kodin e pjesës kritike d.m.th. P1 është duke kryer ndërsa, P2 është duke pritur për t’iu mundësuar kryerjen. P1 dikur e mbaron (kryhet) dhe turn e bënë 2. P2 tash ka mundësi të kryhet. P1 mund të jetë proces, i cili pjesën më të madhe të kohës e kalon duke pritur, e rasti më i keq është kur P1 kalon në gjendjen ku do të vendoset përgjithmonë, në realitet ky paraqet një proces, i cili mund të terminoj. P2 dikur e mbaron procesin dhe turn e bënë 1. Pas një kohe P2 prap dëshiron të kryhet, por turn =1 dhe P2 është i detyruar të pres P1 që turn ta bëjë 2 ,gjë që në realitet s’do të ndodhë fare (asnjëherë), në rastin më të keq kur procesi/thredi ”i parë” të ketë terminuar apo procesi P1 do të kaloj në gjendjen ku do të vendoset pëgjithmonë. Rrjedhimisht, as P2 s’do ti mundësohet kryerjen një kohë të gjatë apo asnjëherë. Në këtë rast P2 s’iu ka mundësuar kryerja nga P1, i cili as vetë s’është duke kryer.

Gjendja ekuivalente në një sistem real do të ishte p.sh. kur një procesi s’iu ka lejuar përdorimi i printerit sepse një proces tjetër është duke lexuar në ndonjë fajll ose në rastin më banal kur ky procesi i dytë veçse s’ekziston më! E gjithë kjo ndodhë për shkak se ky algoritëm si merr parasysh gjendjet e proceseve (proceseve/thredave).

Përpjekja e dytë

Me qëllim të shqyrtimit të gjendjes së proceseve, një kyç e shoqërojmë me secilin proces. Procesi kur bëhet i mangët e vendos kyçin në true dhe e vendos atë në false kur të mbaroj vendosja. Algoritmi do të jetë:

Procesi P1() Procesi P2()

{ {

while P1() while P2()

{ {

procesi1:= duke_pritur; procesi2:= duke_pritur;

while (kyç2); while (kyç1);

kyç1 = true; kyç2 = true;

pjesa kritike; pjesa kritike;

kyç=false; kyç=false;

procedura1:=duke_pritur; procedura2:=duke_pritur;

} }

} }

Page 109: Sisteme operative

109

Përdorimi i kyç1 dhe kyç2 e eliminon problemin e pritjes së një procesi për procesin. Fqinjë, i cili s’ka nevojë të kryhet një kohë të gjatë apo s’kryhet fare më. Përderisa, në algoritmin e parë përjashtimi reciprok ishte siguruar, këtu është prap problem qenësor.

Le ta shqyrtojmë sekuencën e ekzekutimit të proceseve: procesi1 e verifikon kyç2 se është false, me ç’rast del nga unaza while. Para se kyç1 ta bëjë true, procesi2 e verifikon kyç1 e sheh se është false, dhe poashtu do të del nga unaza while. P1 tani kyç1 e bënë true P2 poashtu,

kyç2 e bënë true. Me fjalë të tjera që të dy procesëve iu është mundësuar kryerja. Rrjedhimisht, që të dy procesët e posedojnë të njëjtën pjesë, me ç’rast dy proceset fqinjë janë duke kryer, gjë që është në kundërshtim me qëllimin tonë që ti pamundësojmë fqinjtë të kryhen njëkohësisht.

Përpjekja e tretë

Në këtë rast përdoret variabla kyç për të treguar dëshirën e një procesi që të kryhet. Këtu procesi së pari e shfaq dëshirën për tu kryer e më pas e shqyrton gjendjen e procesit tjetër, se a është ai duke kryer. Pseudo-kodi duket:

Procesi P1() Procesi P2()

{ {

while (true) while (true)

{ {

procesi1 := duke_pritur; procesi2:= duke_pritur;

kyç1 = true; kyç2 = true;

while (kyç2); while (kyç1);

kyç1:=false; kyç2:=false;

procesi1:=duke_pritur; procesi2:=duke_pritur;

} }

} }

Ky algoritëm si më parë garanton përjashtim reciprok, por ka një problem. Le ta shqyrtojmë sekuencën vijuese të ekzekutimit të proceseve (proceseve/thredave).

Që të dy procesët 1 dhe 2 së pari janë duke pritur, pas pak shfaqin dëshirën që të kryhen. Procesi P1 e shqyrton kyç2 vetëm pasi kyç1 të bëhet true. Megjithatë, pas sajë procesi P2 e vendos kyç2 në true. Kështu, kyç1 dhe kyç2 që të dy janë në true dhe si rrjedhim që të dy procesët do ta ekzekutojnë while gjendjen pambarim dhe në këtë rast themi se këtu është ndryshuar principi i bllokimit të dyanshëm (ang. mutual blocking). Këtu problemi ndodhë për shkak se variabla kyç ka një definim të papërcaktueshëm. Ajo është përdorur për të teguar dëshirën e procesit që të kryhet dhe gjithashtu tregon se një proces

Page 110: Sisteme operative

110

veçse është duke u kry. Kur procesii fqinjë e shqyrton kyç të pjesës së përbashkët, e sheh se vlera e kyç është në true, ai s’ka njohuri se ai proces është duke u kry apo ka shfaqur dëshirën për tu kry. Në këtë rast procesët nuk kanë informata të mjaftueshme për gjendjen momentale të njëri-tjetrit.

Përpjekja e katërt

Për ta definu papërcaktueshmërinë e definimit të kyç variablës e shqyrtojmë algoritmin vijues:

Procesi P1() Procesi P2()

{ {

while (true) while (true)

{ {

procesi := duke_pritur; procesi2:=duke_pritur;

kyç1 = true; kyç2= true;

while(kyç2); while (kyç1);

{ {

kyç1 = false;

while (kyç2); while (kyç1);

kyç1 = true; kyç2 = true;

} }

pjesa kritike; pjesa kritike;

kyç1=false; kyç2= false;

procesi1:= duke_pritur; procesi2:=duke_pritur;

} }

} }

Kjo në fakt mund të duket sikur njëri proces i thotë tjetrit “nëse dëshiron të kryhesh vetëm vazhdo, unë do të pres deri të mbarojsh ty”! Mirëpo, pikërisht kjo sjellje e procesëve shkakton problem. Le ta analizojmë sekuencën vijuese të ekzekutimit të P1 dhe P2 (shih Tabela 1.):

procesi1 kyç2 procesi2 kyç1

Page 111: Sisteme operative

111

Do të përsëritet përgjithmonë!

Tabela 1. Sekuenca e ekzekutimit të procesit 1 dhe procesit 2

Shih tabelën e mësipërme, që të dy procesët këtu e presin njëri-tjetrin. Vërejmë se sekuenca e pritjes së njëri-tjetrit do të jetë e pafundme. Asjëri proces s’do të ketë mundësi për tu kry.

Algoritmi i Dekker-it

Algoritmi i Dekker-it është bazuar në kombinimin e përpjekjes së parë dhe të katërtë.

Pseudo-kodi i algoritmit të Dekker-it është:

Procesi P1() Procesi P2()

{ {

while (true) while (true)

{ {

procesi1 := duke_pritur; procesi2 := duke_pritur;

kyç1 = true; kyç2 = true;

while (kyç2); while (kyç1);

{ {

if (turn==2) if (turn==1)

{ {

true true

while(kyç2) true true

true while(kyë1)

true

kyç1=false true false

false kyç2=false false

while(kyç2) false false

false while(kyë1)

false

kyç1=true false true

true kyç2=true true

Page 112: Sisteme operative

112

kyç1 = false; kyç2 = false;

while (turn==2); while (turn==1);

kyç1 = true; kyç2 = true;

} }

} }

pjesa kritike pjesa kritike

turn:=2; turn:=1;

kyç:=false; kyç:=false;

procesi1:=duke_pritur; procesi2:=duke_pritur;

} }

} }

Ky algoritëm garanton përjashtim reciprok, në anën tjetër edhe “mutual blocking”është pamundësuar. Kjo në fakt mund të themi se paraqet një zgjidhje. Mirëpo, çfarë të themi për problemet e përshkruara në vijim që shfaqen tek zgjidhjet softwerike dhe ato hardwerike.

Zgjidhjet hardwerike

Me qëllim të garantimit të përjashtimit reciprok me rastin e qasjes në pjesët kritike tentohet që zgjidhjet të kërkohen nga hardweri, meqë zgjidhjet softwerike njihen si zgjidhje të pa parashikueshme. Ndër zgjidhjet hardwerike dy janë më të njohura: njëra që bazohet në pamundësimin e interrapteve dhe tjetra e bazuar në instruksinone të makinës.

Tek pamundësimi i interrapteve, nëse një proces dëshiron të ketë qasje në një pjesë kritike, ai proces së pari e bënë pamundësimin e interrapteve në sistem ( d.m.th., me qëllim që vetëm ai të ketë mundësi ta përdorë procesorin derisa ta ekzekutoj pjesën kritike) e më pas fillon ekzekutimin e pjesës kritike. Mirëpo, ti ipet të drejtë një procesi të shfytëzuesit që ti pamundësoj interraptet është shumë rrezik. Çka nëse ai proces i ka pamundësu interraptet dhe për ndonjë arsye të mundshme (të ndonjë gabimi) nuk i mundëson ato më? Kjo në fakt thuhet se paraqet fundin e sistemit. Në anën tjetër kjo metodë nuk funksionon tek sistemet shumëprocesorike.

Rrjedhimisht, pamundësimi i interrapteve është metodë që e përdorë vet sistemi operativ, por nuk mirret si metodë për të arritur përjashtim reciprok te proceset e shfrytëzuesve.

Page 113: Sisteme operative

113

Testo dhe vendos kyçin (ang. test_and_set_lock-TSL) bazohet në përdorimin e

instruksioneve të makinës. Kjo teknikë mund të përdoret edhe në sistemet shumëprocesorike, meqë ekzekutimi i instruksioneve është atomik (nuk mund të ndërhyjnë proceset e tjera në sistem gjatë ekzekutimit të një instruksioni). Për shembull, test_and_set veprimi në mënyrë atomike e bënë leximin e një lokacioni të memories, e vendos atë në 1, dhe e kthen vlerën në vend të asaj të vjetrës në atë lokacion të memories.

Të metat e algoritmeve softwerike dhe hardwerike

Një ndër të metat kryesore të algoritmeve softwerike dhe hardwerike është pritja e zënë (ang. busy waiting). Pritja e zënë do të thotë që një proces (thread) është duke i shfrytëzuar ciklet e procesorit derisa është duke pritur që vlera e një variable të ndryshohet apo më mirë të themi se një proces është duke i shpenzuar ciklet e procesorit gjatë kohës që pret për të ndodhur një ngjarje. Për ti eliminu këto

probleme kërkohen mekanizma dhe rregulla më të mira që e sinkronizojnë punën e proceseve në një sistem, me rastin e qasjes së tyre në pjesët kritike. Pikërisht për shakak të problemit të pritjes së zënë (ang. busy waiting) këta mekanizma s’mund ti konsiderojmë fare si zgjidhje. Në një rast thuhet se Intel 432 ishte një makinë e ngadalshme për shkak të kyçeve në nivelin hardwerik.

Page 114: Sisteme operative

114

Zgjidhjet që bazohen në konstruktin e Sistemit Operativ

Përdorimi i mutex-ave

Le të supozojmë se secila pjesë si diç e përbashkët të mund të mbrohet nga një mutex kyç. Tani secili proces, para se të filloj për tu kryer, e kyç pjesën e tij të majtë dhe pastaj edhe atë të djathtë. Në qoftë se arrin ndonjë nga proceset vendos dy kyçat fqinjë me sukses, për të themi se i posedon dy pjesët, gjë që do të thotë se ai proces mund të filloj për të kryhet. Pasi të përfundoj kryerjen, ky proces do ti lëshoj që të dy pjesët dhe fillon të veproj. Rrjedha e ekzekutimit duket si në vijim(figurën 5.1.). Meqë na nevoitet që të kyçim dhe të çkyçim një pjesë, rrjedhimisht secila pjesë është e shoqëruar nga një mutex kyç. Meqë i kemi pesë procese të cilët mendojnë dhe kryhen njëkohësisht, na nevoitet të krijojmë pesë threda, nga një për secilin proces. Meqë çdo proces duhet të ketë qasje tek të dy mutex kyç-at që janë të shoqëruar me pjesën e majtë respektivisht, të djathtë, këta mutex kyç-a në program i deklarojmë si variabla globale.

Figura 5.1. Radha e marrjes dhe lëshimit të pjesëve nga procesorët

Në këtë rast, secili proces ka një pozicion të fiksuar. Rrjedh pyetja se a është një gjë e tillë e nevojshme? Sigurisht që s’është. Për shembull, kur një proces është i pakryer, ai mund të gjeneroj një numër të rastësishëm (çfarëdoshëm) i nga rangu 0 deri 4, për pozitë. Në qoftë se ajo pozitë është e zënë, atëherë gjenerojmë një numër tjetër, të plotë, të rastësishëm.

Page 115: Sisteme operative

115

Në këtë mënyrë ne thjesht e simulojmë aktivitetin e gjetjes së një pozite të lirë. Vetëm pasi që një pozit, të themi

i-pozita, të jetë gjetur se është e lirë, ky proces i përdor pjesët më të afërt, në fakt këta paraqesin pjesët i dhe (i+1). Procesët, në rast se dëshirojmë ti implementojmë protokolin me ndonjë gjuhë programuese. Mirëpo, ne që më parë edhe në vijim do e përdorim verzionin ku të gjithë procesëve u japim nga një pozitë të fiksuar. Kjo për arsye se, nëse tentojmë që ta implementojmë në kod edhe problemin se procesët kanë të drejtë ta ndrrojnë vendin (pozita) atëherë, kodi ynë do të jetë shumë kompleks dhe do të nevoitej njëshqyrtim më i thukët i problemit. Poashtu, shqyrtimi i mësipërm thjesht e detyron që çdo proces të marrë dhe të lëshoj pjesën e tij të majtë, e pastaj atë të djathtin. Kjo gjë thjesht bëhet me qëllim të thjeshtësisë. Në fakt, s’ka rëndësi rendi i marrjes dhe lëshimit të pjesëve nga ana e procesëve. Problemi më serioz i këtij protokoli është se mund të ndodh dedlloku!

Problemi i dedllokut

a) Procesët kokëfortë

Bëhet pyetja, çfarë do të ndodhë në qoftë se të gjithë procesët kryhen në të njëjtën kohë dhe e marrin pjesën e tyre të majtë, si në (figura 5.1.1.a))? Në këtë rast, që të gjithë pjesët janë të kyçur dhe asnjë prej procesëve s’do të ketë sukses në marrjen edhe të pjesës së djathtë. Si rezultat, do të kemi një pritje ciklike (dmth. çdo proces është duke pritur për pjesën e djathtë që në realitet është marrur nga fqinji i tij i djathtë) rrjedhimisht, themi se ka ngjarë dedlloku përkatësisht, gjendja ku të gjithë procesët e kanë nga një pjesë dhe presin fqinjin për pjesën tjetër, që ta lëshoj, në mënyrë që ndonjërit ti mundësohet kryerja. Mirëpo, një gjë e tillë s’do të ndodhë sepse edhe fqinji i tij poashtu është duke pritur atë për t’ia marrur pjesa, rrjedhimisht që të gjithë proceset janë në një pritje ciklike të njëri tjetrit (figura 5.1.1.b)).

a) b)

Fig 5.1.1. a) dhe b) Ilustrimi dedllokut-pritjes cilëve

Page 116: Sisteme operative

116

Procesët e tillë njihen si kokëfortë meqë, kur ta kenë marrur njërin pjesë nuk e lëshojnë atë derisa ta mbarojnë procesin e kryerjes. ‘Kokëfortësia’ e tyre bënë që të ngjajë dedlloku në mes tyre. Deri më tani supozuam se procesët marrin së pari pjesën e majtë e pastaj shohin se a kanë mundësi që ta marrin edhe pjesën e djathtë, në mënyrë që të kenë mundësi të kryn për pak kohë. Mirëpo, pamë se kjo zgjidhje dështoi sepse kishte mundësi për dedllok, në rast se të gjithë procesët i merrnin pjesën e majtë në të njëjtën kohë.

S’na mbetet tjetër vetëm se të propozojmë një zgjidhje tjetër.

b) Procesët bujarë

Mirëpo, çfarë nëse e ndryshojmë programin ashtu që, pasi ta ketë marrur pjesën e majtë, procesi pastaj e analizon se a është pjesa djathtë në dispozicion. Nëse s’është, procesi e lëshon edhe pjesën e majtë, pret pak kohë dhe pastaj e përsëritë të gjithë procesin

e mësipërm. Megjithatë, edhe ky tentim poashtu dështon. Me pak fat të keq mund të ndodhë që të gjithë procesët ta fillojnë algoritmin njëkohësisht. Marrin pjesët e majta, pastaj shohin se pjesët e djathtë s’janë në dispozicion dhe me ç’rast vendosin ta lëshojnë edhe pjesën e majtë, kështu me radhë. Pas një kohe të caktuar prap e kërkojnë pjesën e majtë, çka do të thotë se, meqë koha është fikse, përsëri që të gjithë procesët do t’ia fillojë algoritmit, për marrjen epjesëve, njëkohësisht. Si rezultat, një gjendje e tillë do të vazhdojë përgjithmonë. Një situatë e

tillë, ku të gjitha proceset (resp. thredat) vazhdojnë të ekzekutohen pafund herë, por dështojnë në aspektin e arritjes së ndonjë progresi është quajtur uri (ang. starvation).

Tash mund të mendojmë, nëse procesët i lëmë të presin vetëm një kohë të rastësishme në vend se të presin për kohë të njëjtë-fikse. Dmth. të eliminojmë mundësinë që procesët të kryhen për kohë të njëjtë dhe të mendojnë poashtu, për kohë të njëjtë! Pasi të kenë dështuar në kërkimin e pjesës së djathtë, shansa që çdo njëri do të vazhdojnë hapin prapa për brenda një ore është shumë e vogël.” Ky supozim është i vërtetë, në kuptimin se përdoret në sistemet reale dhe përafërsisht në të gjitha aplikimet.

Thënia “provo më vonë përsëri” s’është ndonjë problem. Për shembull, në një rrjetë lokale të Ethernet-it, nëse dy kompjuter e dërgojnë nga një paketë, në të njëjtën kohë, secila

prej tyre do të pret një kohë të rastësishme (jo të definuar) dhe provon përsëri më vonë; në praktikë kjo zgjidhje punon mirë. Mirëpo, në pak aplikacione, pak kush do të preferoj një zgjidhje që gjithmonë punon dhe nuk do të dështoj për shkak të një serie të pa dëshiruar të numrave të rastësishëm. Le të mendojmë rreth kontrollit të sigurisë në një uzinë të fuqisë nukleare.

Problemi i urisë

Le të imagjinojmë se dy procese veprojnë shpejt dhe kryhen shpejt. D.m.th. ata janë kryerës të shpejtë dhe mendues të shpejtë. Pastaj, ata janë në pozitë që gjenden në opozitë. Për shkak se janë shumë të shpejtë, është e mundur që ata të marrin (kyçin) nga dy pjesët dhe të fillojnë kryerjen. Pasi të kenë përfunduar kryerjen dhe para se fqinjët e tyre të kenë

kyçur pjesët dhe të fillojnë të kryhen, ata kthehen dhe i kyçin pjesët prap dhe si rrjedhim iu mundësohet kryerja përsëri. Në këtë rast, tre procese tjera, edhepse kanë

Page 117: Sisteme operative

117

qëndruar në rradhë për një kohë të gjatë, ata prap s’kanë shansë për tu kryer. Ky problem njihet si uri (ang. starvation).

Theksohet se ky nuk paraqet dedllok sepse s’ka pritje ciklike, dhe çdo njëri ka një shansë të kryerjes, se kur do ti vije ajo shansë…?!

Verzioni majtas-djathtas

Më parë patëm një zgjidhje në të cilën secili proces merrte pjesën e tij të majtë të shoqëruar me atë të djathtin. Me atë rast, theksuam se ajo zgjidhje shkaktonte dedllok dhe gjithashtu, paraqitej problemi i urisë në mesin e proceseve. Eliminimi i dedllokut nuk është ndonjë problem aq i vështirë. Në shembujt e mësipërm dedlloku ishte shkaktuar meqë secili proces duhej ta marrë pjesën e tij të majtë, së pari. Me ç’rast krijohej një pritje ciklike, në mesin

e procesëve, për pjesën. Në qoftë se këtë pritje ciklike mund ta prishim disi atëherë ne do ti shmangemi dedllokut. Për ta arritur këtë ne mund ta detyrojmë ndonjërin prej procesëve që të veproj ndryshe rreth marrjes së pjesëve. Më saktësisht, kjo do të thotë se ne mund ta detyrojmë ndonjërin prej procesëve që të merr së pari pjesën e tij të djathtë e pastaj atë të majtin. Kështu që, një proces, i cili e merr pjesën e tij të majtë të shoqëruar me atë të djathtin themi se është i majtë përndryshe themi se është i djathtë. Theksojmë se shuma e procesëve të majtë dhe atyre të djathtë duhet të jetë e barabartë më numrin e procesëve dhe që të dy bashkësitë s’guxojnë të jenë zero njëkohësisht. Intuitivisht, ekzistenca e një procesi të djathtë mund ta thej pritjen ciklike, siç e përmendëm edhe më parë.

Le ta vërtetojmë këtë. Ritregojmë se, një dedllok ndodhë në qoftë se disa ose të gjithë thredat janë të përfshirë në një pritje ciklike. Në rast se sigurojmë që pritja ciklike të mos ndodhë asnjëherë, për sistemin themi se nuk do të ketë dedllok.

Page 118: Sisteme operative

118

Zgjidhjet e bazuara në konstruktin e gjuhës

Përdorimi i monitor-ëve

Më parë, diskutuam rastin kur i përdorim pesë mutex kyça për të pesë pjesëve, me ç’rast vërejmë se në atë zgjidhje mund të ndodhë dedlloku. Pastaj, verzioni majtas-djathtas, ku gjendej së paku një proces i djathtë, i cili gjithmonë e merrte pjesën e djathtë së pari. Duke i përdorur semaforat, kemi akoma një version në të cilin vetëm katër proces mund të pozicionohen dhe të kryhen. Treguam se në këto dy verzionet e fundit ishte i pamundur dedlloku. Në vijim do e prezentojmë një zgjidhje tjetër në të cilën e përdorim monitorin dhe në të cilën zgjidhje poashtu s’do të kemi dedllok.

Në zgjidhjet e më parshme, një procesi i merrte pjesët një nga një. Kjo shkaktonte që të vie deri te paraqitja e dedllokut në mesin e procesëve, në rast se marrja e pjesëve s’ishte koordinuar si duhet. Çka do të ndodhë me atë procesin, i cili i merr të dy pjesët si një njësi të vetme, dmth përnjëherë? Më saktësisht, një proces mund të kryhet vetëm nëse ai i merr të dy pjesët në të njëjtën kohë. Kështu, nëse një proces vëren se të dy pjesët janë në dispozicion, ai i merr ata dhe kryhet. Përndryshe, ai pret derisa pjesët e tij të jenë në dispozicion. Pasi të ketë kryer, ai proces i lëshon pjesët.

Ajo që na intereson është se, a do të ketë dedllok. Për të pasur dedllok, duhet të dominoj gjendja ku; procesi 0 e ka një pjesë që i nevoitet procesi 1, procesi 1 e ka një pjes që i nevoitet procesit 2 dhe procesi 2 e ka një pjes që i nevoitet procesit 0 (në rastin me tre procese!). Meqë një proces mund të kryhet vetëm në rast se i ka që të dy pjesët, situatë në të cilën një proces e ka një pjesë dhe pret për pjesën tjetër, asnjëherë s’mund të ndodhë dhe dy procesët fqinjë asnjëherë s’do të jenë duke u kry, në të vërtetë s’do të ketë dedllok.

Pseudo-kodi i përdorimit të monitor-ave në zgjidhjen e problemit

Monitori për problemin e procesëve përbëhet nga dy procedure: fillon_kryerja dhe ndale_kryerja, siç është paraqitur në figurë:

monitor procesët_që_kryhen ()

{

int pjesët[5];

kushti pjesët_e_lirë [5];

procedura fillon_kryerja (int i)

{

if (pjesët [i] !=2) pjesët_e_lirë[i].wait;

Page 119: Sisteme operative

119

pjesët[(i-1)%5]--;

pjesët[(i+1)%5]--;

}

procedura ndale_kryerjen (int i)

{

pjesët[(i-1)%5]++;

pjes[t(i+1)%5]++;

if (pjesët[(i-1)%5] = = 2)

pjesët_e_lirë[(i-1)%5].signal;

if (pjesët[(i+1)%5] = = 2)

pjesët_e_lirë[(i+1)%5].signal;

}

/* inicializimi i variablave të monitorit*/

{

for (i=0; i<=4; i++)

pjesët[i] = 2;

}

}

Një proces do ta ekzekutoj fillon_kryerjen para se të kryhet dhe ndale_kryerjen, pasi ta mbaroj dhe është i gatshëm për të kaluar në gjendjen duke menduar. Zgjidhja me monitora nuk e kufizon numrin e procesëve të cilët mund të marrin pozitën e duhur.

Le ta alalizojmë se si punon algoritmi. Kur një proces e ekzekuton fillon_kryerjen, së pari do të shqyrtoj se sa pjesë i ka në dispozicion. Nëse që të dy pjesët i ka në dispozicion atëherë do ta bëjë zbritjen për 1, të numrit të pjesëve tek procesët fqinjë dhe do të filloj kryerjen.. Në rast se vëren se si ka në dispozicion që të dy pjesët do të pret në variablën pjesë_e_lira[i]. Procesi mund të vërej se numri i pjesëve që janë në dispozicion për të mund të jetë 2, në rast se asnjë nga procesët fqinjë s’është dukeu kryer, 1 nëse ndonëri nga procesët fqinjë është duke u kryer dhe 0 kur që të dy procesët fqinjë janë dukeu kryer. Në rast se procesi e mbaron kryerjen, para se të vazhdoj të veproj, së pari e bënë rritjen e numrit, që janë në dispozicion, të pjesëve tek fqinjtë edhe atë për 1. Tani në rast se fqinji i majtë i ka që të dy pjesët në dispozicion (pjesët((i+1)%5)==2) do ta dërgojë një sinjal për ta liruar atë proces nga rendi. E njëjta gjë ndodhë edhe me fqinjin e djathtë.

Page 120: Sisteme operative

120

Zgjidhja më e mirë!

Në verzionin e parë, me mutex kyç-at vërejtëm se mund të vie deri te gjendja e dedllokut. Në verzionin djathtas-majtas kishim së paku një proces të djathtë, i cili e merrte pjesën e djathtë të tij. Verzioni i tretë e përdorë një semafor me të cilin lejohen vetëm katër procese të marrin pozitën e pritjes. Ndërkaq, nëse i përdorim monitorat, verzioni i katërtë e detyron që një proces të pret derisa të dy pjesët janë në dispozicion. Por, ky version ka një pritje të përsëritur e cila s’është edhe aq e efektshme. Në këtë version, të pestë, do të japim një zgjidhje më të efektshme, e cila bazohet në idenë e njëjtë. Ku është dallimi? Pika kyçe te këtij version është mënyra e organizimit se kush do ti ketë të dy pjesët me qëllim që ti mundësohet kryerjen. Përsëri nëse procesit i, të themi, s’mund të kryhet, ai vendost në variablën kushtëzuese. Për më tepër, një proces i ka tri gjendje: duke pritur i uritur dhe duke kryer. Një proces themi se është në gjendjen i uritur nëse ai dëshiron të kryhet, por s’mund ti marr pjesët. Më saktësisht, gjendja i uritur do të thotë se një proces është duke pritur për ti marrur pjesët.

Kur një proces provon të kryhet, gjendja e tij bëhet i uritur. Pastaj, e testojmë se a mund të kryhet ky proces. Nëse pjesët janë të lirë, ai mund të nise procedurën dhe gjendja e tij bëhet duke u kryer. Përndryshe, ky proces thjesht do ta bllokoj vetvetën. Në anën tjetër, kur një proces ta mbaroj kryerjen, ai e ndryshon gjendjen e tij në duke pritur, dhe i informon fqinjët e tij kështu që ata kanë shansë për tu kry. Problemi është se si të dizajnohet një procedurë testuese, e cila është e ndryshme nga ajo e mëparshmja.

Nisemi nga analiza se, procesi i mund të kryhet vetëm nëse fqinjët e tij, përkatësisht proceset djathtas dhe majtas tij, s’janë dukeu kryer dhe vetë procesi i është në gjendjen i uritur. Nëse është takuar ky kusht, gjendja e procesit i është ndryshuar në duke u kry, kështu që procesi i mund të filloj kryerjen.

Ndryshimi në mes të këtyre dy zgjidhjeve të fundit është se në këtë rast ideja ishte ti përdorim gjendjet e procesëve për të përcaktuar se cili proces mund të kryhet. Në zgjidhjen e më parshme, testimi (se cili proces mund të kryhet) ishe bazuar në atë se a janë pjesët e

zënë apo jo, ndërsa tani i shqyrojmë vetëm gjendjet e procesëve fqinjë, e më pas vijmë në

përfundim se a mund të kryhet apo jo ai proces.

Ku është përparësia e kësaj zgjidhje ndaj asaj të mëparshmes? Më parë, procesët ishin të detyruar që në mënyrë të përsëritshme të shqyrtojnë se kur pjesët do të bëhen të gatshëm, ndërsa këtu si shqyrtojmë fare gjendjet e pjesëve.

Page 121: Sisteme operative

121

Instalimi i më shumë sistemeve operative në kompjuter Një ndër temat qendrore në sistemet operative instalimi i më shumë sistemeve

operative në kompjuter. Në teknologjinë e dizajnimit të sistemit operativ janë shum sisteme operative të kompanive të ndryshme me kode të ndryshme nga njra tjetra disa sisteme operative jan me kode te hapura (open sourse) si Ubuntu e disa jan me kode të mbyllura si ato të Microsoft Windows. Sistemi operativ (SO) është softuer i cili menaxhon ndarjen e resurseve të kompjuterit dhe siguron një ndërlidhje për programerët për qasje në këto resurse. Sistemi operativ përpunon të dhënat sistemore dhe të dhënat hyrëse të përdoruesit dhe i përgjigjet këtyre duke caktuar dhe menaxhuar detyrat dhe resurset e brendshme të sistemit në formë të shërbimit për përdoruesit dhe programet e sistemit. Sistemet operative që mund të hasen nëpër kompjuter të shumtë janë Windows XP, Windows Vista, Windows 8, Ubuntu, Mac OS X etj. Përderisa sistemi operativ Windows është i popullarizuar te përdoruesit e kompjuterëve të zakonshëm, sistemi operativ Linux është shumë i popullarizuar te kompjuterët serverë, për arsye se ka imunitet ndaj viruseve dhe programeve spiunë dhe është falas.

Sistemi operativ (SO) është softuer i cili menaxhon ndarjen e resurseve të kompjuterit dhe siguron një ndërlidhje për programerët për qasje në këto resurse. Sistemi operativ përpunon të dhënat sistemore dhe të dhënat hyrëse të përdoruesit dhe i përgjigjet këtyre duke caktuar dhe menaxhuar detyrat dhe resurset e brendshme të sistemit në formë të shërbimit për përdoruesit dhe programet e sistemit. Në themel të gjithë softuerëve sistemorë sistemi operativ kryen detyrat elementare siç janë kontrollimi i shpërndarja e memories caktimi i prioriteteve sistemore, kontrollimi i pajisjeve hyrëse dhe dalëse, mundësimi i përdorimit të rrjetës kompjuterike dhe menaxhimi i fajllave. Pjesa më e madhe e sistemeve operative kanë ndonjë aplikacion i cili mundëson ndërlidhje për menaxhimin e sistemit operativ. Sistemi operativ është platformë për softuerët tjerë që përdoren në kompjuter.

Sistemet operative bashkëkohore që mund të hasen nëpër kompjuter përfshijnë Windows XP, Windows Vista, Windows 7, Linux, Mac OS X etj. Përderisa sistemi operativ Windows është i popullarizuar te përdoruesit e kompjuterëve të zakonshëm, sistemi operativ Linux është shumë i popullarizuar te kompjuterët serverë. Sidoqoftë shumë lloje të Linux-it janë duke përfituar popullaritet te përdoruesit e kompjuterëve të zakonshëm. Sistemet operative Windows, Linux dhe Mac OS X kanë versionet e tyre për Desktop si dhe për Server. Përveç Microsoft Windows, dizajni i të gjitha sistemeve operative të përmendura janë të inspiruar, ose të trashëguar drejtpërdrejtë nga sistemi operativ Unix. Sistemi operativ Unix ishte i zhvilluar pranë Bell Labs në fund të viteve të 1960-ta dhe ka hedhur farën për zhvillimin e shumë sistemeve operative. Shumë nga konceptet thelbësore të sistemeve operative moderne, ishin të paraqitura për herë të parë në sistemin operativ Unix dhe në derivatet e tij.

Page 122: Sisteme operative

122

1. Instalimi i më shumë sistemeve operative në kompjuter.

Installimi i sistemeve operative në kompjuter është diçka që secili kompjuter duhet ta këtë patjeter qoftë Windows qoftë Linux por nuk do te thotë që patjeter te kemi vetmen një sitsem operativ mundemi të kemi më shum se një sistem operativë, nevoja për të pas me shumë se një sistem operativ jan te shumta, ndonjëri e perdorë në rastë nevoje dikush nga dëshira. Do të sqarojm se si mundë të kemi dy ose më shumë sisteme operative në një kompjuter. Në kohën e sodit ka shumë siteme operative më të popullarizuara janë ato të kompanisë Windows-it, kompanis Linux-it etj. Ju mundeni të installoni dy apo më shumë sisteme operative në kompjuterin tuaj, dhe pastaj zgjidheni atë që ju doni të perdoreni çdo kohë ta rinisni, kjo është e njohur si Multibooting. Në hapat në vazhdim do të installoim Windows 7 dhe Ubuntu-në.

2. Instalimi i dy sistemeve operative në një Kompjuter.

Me gjithë zhurmën që po bëhet së fundmi për Sistemin Operativ Linux - softuerët e shumtë falas, imuniteti ndaj viruseve dhe programeve spiunë - është fare e natyrshme të bëhemi kureshtar rreth tij. Mund ta konfigurosh kompjuterin në mënyrë të tillë që të pranojë dy ose më shumë sisteme dhe të zgjedhësh atë që dëshiron sa herë ta ndezësh ose ta ristartojsh kompjuterin. Në vaxhdim do të sqarojm se si te installojm Windows 7 dhe Ubuntu-n në një kompjuter.

3. Rregullimi particioneve të Hard diskut (HDD).

Së pari duhet te installoim Windows 7 në kompjuter në particion të caktuar pasi nuk mund ta instalosh Ubuntun-në në të njëjtin particion të diskut ku ndodhet edhe Windows 7. Prandaj duhet të përdorësh një aplikacion të posaçëm të përfshirë në Windows 7, në mënyrë që të lirosh një hapësirë për një particon te posaçëm për Ubuntu-në. Fillimisht duhet te shohim se sa hapësirë të lirë ke dhe sa do të duhet të lirosh per particionin e Sistemi Operativ Linux-Ubuntu, por duhet të kete një hapsire sipas deshires por preferohet pë të mos jete më e voges se sa 10GB. Shkruaj madhësinë e hapësirës që dëshiron të përdorësh për ndarjen e re te particionit qe krijohet për Ubuntu-në.

Nëse ke në desktopin e kompjuterit (desktop) ikonën Computer klikoje me të djathtën dhe zgjidh Manage përndryshe kliko Start pastaj me të djathtën mbi Computer dhe zgjidh sërish Manage. Kjo bën që të hapet programi Computer Management (Menaxhimi i Kompjuterit) i Windows 7-së. Në panelin në të majtë kliko Disk Management (Menaxhimi i Diskut). Pas pak në panelin qendror do të të shfaqen drive-të e disponueshëm. Kliko me të djathtën mbi C: dhe pastaj zgjidh Shrink Volume (Ngjeshe Njësinë).

Madhësia e driv-it përcaktohet hapësira e liruar për Ubuntu-në. Megjithatë Windows 7 nuk të lejon të lirosh të gjithë hapësirën e mundshme. Kompjuteri që përdora kishte një disk prej 40 GB, nga të cilat 20GB ishin të lira dhe unë arrita ta ndajë vetëm në 10GB. Për të

Page 123: Sisteme operative

123

ndarë 20GB shkruajtëm “20000” në fushën përkatëse dhe pastaj klikuam Shrink. Nëse dëshiron 10GB p.sh. për Ubuntu-në, shkruaj “10000”.

4. Shkronjat e particioneve.

Pëpara se ta shndërrosh hapësirën e liruar në një particion për Ubuntu-në, duhet pasur parasysh të emërtosh me një shkronjë tjetër drive-in e CD-së ose të DVD-së. Ky është një hap i rrëndësishëm por vlen për ata përdorues që dëshirojnë t’i kenë të emërtuar drive-t e tyre me shkronja të njëpasnjëshme. Në rastin kur drive-in optik e keni të emërtuar D: atëherë particioni i ri i Ubuntu–se do të emërtohet E: në rast se nuk e riemërtoni drive-in optik.

Falë Windows 7-s ky proces është mjaft i lehtë. Sigurohu që të kesh futur një disk në driver. Gjej drive-in në pjesën e poshtme të panelit qendror (ka shumë mundësi të ketë emër të tipit “CD-ROM 0”, edhe nëse është një djegës DVD-sh), klikoje me të djathtën dhe zgjidh Change Drive Letter and Paths (Ndrysho Shkronjën dhe Vendndodhjen e Drive-it). Tani kliko te butoni Change (Ndrysho) dhe te dritarja që del zgjidh shkronjën që dëshiron për drive-in optik. Ky ndryshim mund të ndikojë te lojërat ose te programe të tjerë që përdorin shkronja specifike drive-sh për t’u instaluar. Në këtë rast duhet t’i riinstalosh programet në mënyrë që ta dinë se ku të kërkojnë për shkronjën e re.

5. Installimi i Ubuntu-së.

Pasi që kemi krijuar particion të veçant për Ubuntu-në vjen rradha që të installohet Ubuntu kur ta ristartojmë kompjuterin por së pari duhet futur diskun e Ubuntu-së në drive dhe mos lidhim asnjë pajisje në portat USB. Kjo është pjesa më e lehtë dhe njëkohësisht më e gjata, e të gjithë procesit.

Gjithça që duhet të bësh është të ndjekësh instruksionet e udhëzuesit për instalimin e Ubuntu-së.

Page 124: Sisteme operative

124

Pasi të kemi shkarkuar imazhin e Ubuntu-së dhe hedhur atë në një CD/DVD e vendosim në lexuesin e diskut dhe rinisim kompjuterin. Në imazhim më poshtë ju shfaqen disa opsione nga ku do të krijojme bazat për sistemin tonë dual boot me Ubuntu 9.10 dhe ky proçes do të instaloj dhe GRUB si boot loader-in tuaj. Zgjidhni opsionin Install Ubuntu me shigjetat nga tastiera për installim nëqoftë se zgjedheni opsionin Try Ubuntu without any change to your computer keni mundesi të perdoreni live.

Nëqoftë keni problem me grafikën dhe Ubuntu nuk po shfaqet siç duhet shkoni mbrapa në

faqen e fillimit dhe shtypni F4 për të zgjedhur Safe graphics mode.

Page 125: Sisteme operative

125

Vazhdoni me instalimin hap pas hapi duke zgjedhur gjuhën që preferoni rregulloni orën e sistemit dhe tipin e tastierës. Janë hapa të thjeshtë për tu ndjekur dhe ajo që duhet ti kushtoni më shumë rëndesi është hapësira që do zëjë Ubuntu. Në imazhin më poshtë tregohen dy shirita ku në të parin është hapësira e zënë nga Windows 7. Ndërsa në shiritin e dytë ju mund ta rreshqisni duke caktuar hapësiren që doni tu zëjë ndarja për Ubuntu-në.

Ngjyra jeshile tregon sa hapesirë do të lini për Windows 7 dhe ajo në ngjyre kafe tregon hapesirën që do marri Ubuntu. Në këtë shëmbull po i kushtomë 10GB Ubuntu-t dhe pjesën tjetër për Windows 7.

Kliko Continue në dritaren në vazhdim.

Page 126: Sisteme operative

126

Kurse në dritaren tjetër do ju kërkohet username dhe fjalëkalimi për sistemin Ubuntu.

Page 127: Sisteme operative

127

Pas tabelës së prembledhjes klikoni Forward nqs gjithçka është siç ju e preferoni. Në këtë proçedurë do të filloj Instalimi i Ubuntu dhe do të shfaqen disa nga opsionet e reja që do të gjeni në këtë sistem.

Koha që duhet për instalim varet nga sistemi në sistem por pasi të këtë mbaruar rinisni kompjuterin tuaj.

Mos u habitni kur të shikoni pamjen e nisjes ndryshe nga herët e tjera në të është instaluar karikuesi GRUB dhe ju mund te zgjidhni të nisni Ubuntu ose Windows 7 duke përdorur shigjetat nga tastiera e kompjuterit.

Page 128: Sisteme operative

128

Pas gjitha ketyre hapave të permendur me lartë kemi rrezulltatin e dëshiruar tash më kemi të installuar dy sisteme operative në një kompjuter si system operativ të par kemi Windows 7 pastaj kemi Ubuntu-në. Pasi që kemi insalluat dy sisteme operative kur e kyçim kompjuterin do të na paraqitet një pamje e rre e quajtur si Double Boot në të cilen do të kemi mundesi të zgjedhim njërin nga sistemet operative që i kemi të instauar në kompjuterin tonë në rastin tonë ështe Windows 7 dhe Ubuntu. Për një kohë shumë të shkurtër disa sekonda nëse nuk zgjedhim asnjë sistem operativ automatikisht do te aktivizozet sistemi operativ Ubuntu. Në foto është pamja e cila do të na paraqitet në desktop.

Page 129: Sisteme operative

129

Sistemet operative të rrjetit

Secili kompjuter ka Sistem Operativ që u lejon atyre të funksionojnë dhe ti pranojn urdhërat e dhëna nga shfrytëzuesi.Një kompjuter pa sistem operativ do ishte vetem një kuti me qarqe të intregruara dhe nuk do ta kishte vleren e sotit.

Kjo është e njejta edhe për rrjetin, pa sistem operativ të rrjetit rrjeti do te ishte asgjë më shum se një lidhje në mes me shumë kompjuterave mirepo qe nuk do na hynte në punë. Në mënyrë që të përcjell informacionin dhe pë të komunikuar ne rrjet është e domosdoshme Sistemi opeariv i rrjetit apo (Network Operating System-NOS). Me një fjale mundë të themi se Sistem Operativ të rrjetit quajm sistemin operativ me funksione që e lehtësojnë komunikimin e rrjetit, do të lejojë ndarjen e burimeve të kompjuterit në një rrjet, dhe të sigurojnë kontrollin e qasjes në këto burime. Sistemi operativ i rrjetit menaxhon aktivitet e rrjetit dhe siguron një mjedis të rrjetit,organizon hadwarin në një tërësi interaktive,mbështet sigurin dhe privatësin e rrjetit dhe përdoruesve etj. Komponentet e NOS janë : -emërtimi i shërbimeve -lista e shërbimeve -klient dhe server software

Emërtimi i shërbimeve : në shumë rrjeta emri është më shumë për identifikim dhe qasje në burimet e të gjitha llojeve. Njerëzit mbajn mend më mirë emrat simbolik se sa emrat numeric, emërtimi i shërbimeve i përkthen emrat simbolik në rrjetin e adreses koresponduese. Emri nuk mund të jete më i madh se 15 karaktere, mirëpo nëqoftëse emrin e mbarojm me $ atëherë e pengon atë për tu shfaqur ne shfletimin e NetBios. Në tabelen më poshtë janë paraqitur karakteret të cilat nuk duhet të shfrytzohen në emrin e netbios.

Page 130: Sisteme operative

130

Lista e shërbimeve mundëson menaxhimin me : - Informacionin rreth shërbimeve të rrjetit - Burimet -Përdoruesit -Grupet -Objektet

Në mënyrë për të transmetuar sinjale nëpër një rrjet, është e nevojshme për kompjuterin që të komunikoj me modemin e saj ose me kartelen e integruar te rrjetit. Mirëpo vlen të theksohet se Sistemi Operativ i rrjetit jo vetëm qe na mundëson komunikimin, ajo po ashtu na mundson edhe që administrator i rrjetit te kontroloj burimet dhe të siguroj që rrjeti te funskionoj në mënyrë efikase. Ndarja e burimeve të rrjetit mund të bëhet peer-to-peer ose client/server. Peer to peer kemi një ndarje të plot të burimeve dhe më së shumti perdoret për rrjeta të vogla dhe zakonisht janë më të lirë se rrjetet klient/server. Server/klient janë më të shtrenjtë dhe më të fuqishëm se peer to peer rjetat dhe përgjithsisht të mbështetur në ndërtimin e rrjetave të mëdha.

Në vijim tregojmë se si duken të dy llojet e burimeve

Peer to peer

Page 131: Sisteme operative

131

Server/Klient

Sistemi operativ i rrjetit duhet që të ofrojë mundëisnë që të mos vendoset i tëri në një kompjuter të vetëm, por komponentet e nevojshme për atë sistem operativ, duhet të jenë të vendosura në më shumë kompjuterë. Ketë mundësi e ofrojnë shumë sisteme operative të ndryshme siç janë: • Windows 95 • Windows 98 and Windoës 98 Second Edition • Windows Millenium (ME) • Windows NT • Windows 2000 • Windows XP • Windows for Workgroups • Novel Netware • OS/2 • Unix • Microsoft Lan Manager • Artisoft Lantastic • Performance Technology Power-server, etj. Shumë njerëz përdorin këto sisteme, mirëpo është njoftuar se kompania ”Microsoft”, është kritikuar nga disa persona për dobësinë që kanë sistemet e tyre të Windows-it ,siç janë; siguria,mirëpo në edicionin e fundit ,shihet qartë se kjo mangësi qe i ka munguar Windowsit në edicionet e mëparshme është riparuar. Shumica e njerëzve të thjeshtë sistemin operativ të rrjetit kompjuterik,e përdorin për të: • Shiquar një web faqe,

Page 132: Sisteme operative

132

• Për të derguar apo pranuar një email, ( postë elektronike), • Për të komunikuar në “chat”,(komunikim i drejtpërdrejtë), • Për të luajtur lojëra të ndryshme, etj. Mirëpo, personat qe kanë mjaft njohuri në internet dhe kompjuter, këto sisteme i përdorin edhe për të transferuar fajlla te ndryshëm nga apo në FTP-( File Transfer Protocol). Në temën rrjetat kompjuterike kemi cekur se kompjuterët në përberje të rrjetit kompjuterik mund të jenë kompjuterë me përparësi të njëjtë dhe më server më klient. Tek rrjetat në të cilat kompjuterët janë të lidhur më përparësi të njejtë (ang. rrjetat “Peer to Peer”),në të gjithë kompjuterët duhet që të instalohet pjesë e njëjtë e sistemit operativ (për ketë arsye edhe quhen kompjuter më përparësi të njëjtë), dhe në këtë mënyrë mundësohet komunikimi në mes të kompjuterëve. Ndërsa të rrjetat kompjuterike të quajtura server më klient, pjesa kryesore e sistemit operativ duhet të vendoset në server. Kurse në klient apo stacione punuese vendoset vetëm ajo pjesë e sistemit operativ e cila bënë të mundur komunikimin e klientit me server. Për server të rrjetit duhet të zgjedhet kompjuteri,i cili ka procesorin më të shpejtë ,ka disqe më të mëdha ,dhe kujtesë punuese (“Ram Memorje”) më të madhe.

Windows

Më 1993, Microsoft lëshoi Windows NT 3.1, një sistem operativ për biznes me ndërfaqen e Windows 3.1 por një kernel krejtësiht tjetër. Më 1995, Microsofti lëshoi Windows 95, një verzion i ri i sistemit operativ kryesor të kompanisë që ofronte një ndërfaqe krejt të re, përfshirë një novel start buton, mbi 1 milion kopje u shitën brenda katër ditëve të para. Kompania gjithashtu lëshoi shfletuesin e

rrjetit (web browser), Internet Explorer, me Windows 95 Plus! Kjo është epoka e Fax/Modem-it,e-mail, bota e re online, si dhe softwarëve edukativ. Windows 95 ka ndertim ne mbeshtetjen ne internet si dhe dial-up rrjetin si dhe aftesine Plug & Play qe na mundwson me lehtë te bejm instalimin e hadwareve. Në vitet e 1990 filloi te bisedohet per internetin një rrjet i cili do ti lidhte gjith kompjuteret e botes, në vitin 1995 Bill Gates jep një memorandum të titulluar “The Internet Tidal Wave” dhe e deklaroi internetin si zhvillimi më I rëndësishem prej fillimit të përdorimit te PC. Mundë te themi se ëindows 95 ishte si fillim i Sistemeve Operative te Microsoftit ne aspekt me rrjetat kompjuterike, ne vazhdim dolen në treg edhe shumë prodhime të kompanis

Page 133: Sisteme operative

133

Microsoft të cilat çdoher u zhvilluan si ne aspektin e rrjetave po ashtu edhe ne aspektet tjera. Me lansimin në treg të Windows 98, PC u bënë të zakonshme në punë dhe shtëpi ndërsa në këto vite ishin edhe në modë internet kafet ku ne mundeshim te jemi online në internet. Windows Me u projektua per kompjuteret shtëpiak. Windows Me ofron muzika te shumta, video dhe përmisime të rrjetave në shtëpi dhe përmisime të besueshmërisë në krahasim me versionet e më parshme. Windows 2000 Profesional thjeshton instalimin e hadwareve duke shtuar mbështetjen në për një shumëllojshmëri të gjerë të Plug & Play, përfshirë krijimin e rrjeteve të avancuara dhe të produkteve wireless, pajisjet USB, IEEE 1394 pajisjet, dhe pajisjet infra të kuqe. Windows XP ofron zgjerime të tilla si Network Setup Wizard,permban edhe Key enhancements per perdoruesit mobile duke përfshire wireless 802.1x në rrjet dhe Windows Messenger. Windows vista karakterizohet me siguri te madhe ne krahasim me sistemet operative tjera. Nga fundi i viteve 2000, u përhap wireless ne botë. Kur Windows 7 është lëshuar në tetor të vitit 2009, laptopë janë nxoren nga perdorimi apo PC dhe nëpër të gjitha kafet u be publike inerneti wirless me WIFI ZONE, po ashut neper të gjitha firmat dhe shtëpite filloi përdorimi i wireless.

Novell NetWare

Netware është një sistem operativ i rrjetit i krijuar nga Novell, është një sistem operativ multitasking dmth që na mundëson në të njejtën koh të mundë të kryejmë disa funsione. Novell e zevendesoi NetWare ne vitin 2005 me Open Enterprise Server (OES). Versioni i fundit i NetWare është v6.5 Support Pack 8, e

cila është identike me OES 2 SP1,NetWare kernel. Mundë të themi se sistemi operativ NetWare ka evoluar nga një concept i thjeshte, pasi që deri në ate kohe shkembimi i fajllave është bërë duke i vendosur ata ne disqe dmth nëpërmjet shkëmbimit të disqeve, me Netware u mundësua shkembimi i fajllave nëpërmjet rrjetit dmth në mënyrë të drejtpërdrejt. Përdorimi i NetWare u rit dhe u popullarizua ne vitin 1985,atëherë kur në treg dolen NetWare 286 2.0a dhe Intel 80286 16-bit processor, e cila mundësoi qasje deri në 16 MB RAM. Kjo ishte shumë me rëndësi pasi u bë çelës për punën e Novell ku edhe u lejuan të ndërtohen rrjetat e mëdha. Novell po ashtu ndërtoi një Dos-client software e cila lejonte që DOS stacionet te lidhen në server. Për Novell Netware na mundëson logimin apo hyrjen prej cdo kundi dhe të kemi qasjen e njejtë prej ku te hymë.

Page 134: Sisteme operative

134

Kemi verzione te ndryshme të Netware : Netware 286 2.x Netware 3.x Netware 4.x NetWare 4.1x and NetWare for Small Business Netware 5.x Netware 6.0 Netware 6.5 Open enterprise server 1.0 dhe 2.0. NetWare dominoi në tregun e Sistemeve operative të rrjetit ne vitet prej 1980 deri 1990 ku u karakterizote me një performance shumë më të mira se sistemet operative te rrjetit të asaj kohe. Mundë të themi se në vitin 2010 disa organizata ende e perdorin sistemin operativ NetWare, mirëpo duket qartë se I ka ra popullaritet që nga viti 1990, atëherë kur Kompania Microsoft hoqi dorë nga përdorimi i Netware produkteve, duke i krijuar te vetat.

UNIX

Unix është një sistem operativ për kompjuterë fillimisht i ndërtuar në vitin 1969 nga një grup punëtoresh të AT&T në Bell Labs, qe përfshinte Ken Thompson, Dennis Ritchie and Douglas McIlroy. Sot sistemet Unix janë te ndare ne dege te ndryshme, gjate viteve AT&T si dhe kompani te tjera fitim prurëse ose jo kane kontribuar ne ndërtimin e mëtejshëm.

Ne vitin 2007, zotëruesit e markës se regjistruar UNIX është The Open Group, një korporate standardesh për industrinë. Vetëm sistemet qe janë plotësisht te pajisur me certifikate Single UNIX Specification kualifikohen si "UNIX" (te tjerët quhen "Unix system-like" ose "Unix-like"). Gjate fundit te viteve 1970 dhe fillimit te viteve 1980, influenca e Unix ne qarkun akademik beri qe Unix te përdorej ne shkalle te gjere (sidomos varianti BSD, i cili e ka origjinën nga University of California, Berkeley) ndërsa ne fushën tregtare, me i njohuri është Sun Microsystems. Unix është sistemi operativ më i vjetër që përdoret edhe sot, ky sistem operativ mund të përdoret edhe me rrjetat peer to peer edhe me klient/server. Kompnentët e rrjetave në UNIX kanë qenë në zhvillim për shumë vite, dhe janë bazuar në përjpjekjet e përbashketa të

shumë zhvilluese. Sa i përket rrjetit sistemi operativ Unix është shumë i besueshëm dhe njihet si sistemi operativ me i besushem, kjo është edhe arsyeja se pse shumë kompani i a besojn shërbimin e rrjetave këtij sistemi operativ dhe ndërfaqjen e internetit.

Page 135: Sisteme operative

135

Rrjetat në UNIX janë të bazuar në TCP/IP protokole i cili është i integruar në sistemin opeartiv të rrjetit Microsoft Winodows. Shumica e TCP/IP shërbimeve të përdorura në UNIX janë gjithashtu të përdorur zakonisht në sistemet operative Microsoft Windows me disa përjashtime:

1. Network File System (NFS)-NFS siguron ndarjen e hard disk mbi TCP / IP rjeteve. rjeteve. Ai është fajlli primar dhe protokoli për shpërndarje të direktoriumeve i përdorur nga UNIX.

2. Shërbimet Remote Login- Unix ka qenë gjithmon një sistem operativ i vërtet shumë-përdorues, po ashtu edhe proceset Multitasking në UNIX janë shumë më të fuqishëm se në Microsoft NT. Përveç kësaj shum përdorues njëkohësisht mundë të drejtojnë sesione privatë në UNIX, të cilën na mundësojn RLOGIN and TELNET protokolet.

3. Sisetmi operativ graphic(GUI operating system)- e dimë që sistemi operativ Winodows është një sistem operativ GUI, duke përdorur X-Winodows shfrytzuesi mundë të ekzekutoj një aplikacion në kompjuter dhe atë ta lejoj qe të ndikoj ndonjë shfrytzues tjeter.Përveç kësaj, X-Windows sistemi operativ është në dispozicion për sistemet operative të Microsoft Windows duke lejuar që aplikacionet e hapura nga UNIX të hapen edhe në Winows.

MAC-OS

Mac-OS është një linjë e sistemeve operative graficiale, zhvilluar, tregtuar dhe shitur Apple Inc, versionit të fundit të cilit është instaluar mbi të gjithë kompjuterët Makintosh sot në shpërndarje. AppleShare na ofron shërbime të rrjetit për sistemin operativ Mac-OS.

AppleShare përkrah shpërndarjen e fajllave dhe printereve mbi disa tipe të rrjetit fizik, duke përdorur AppleTalk protokole për transport: LocalTalk, EtherTalk, TokenTalk

ose FDDITalk. Prej kur u popullarizua shum intereneti, TCP/IP u krijuat edhe per Makintosh Kompjuteret. AppleShare në rrjetat peer to peer përdoret në për regullimin e grupit të vogël ose të mesem të rrjetave, mirëpo nuk është adoputar ose regulluar në shkallë të lartë në korporata LAN.

Artisoft Lantastic

Artisoft Lantastic është sistem operativ i rrjetit peer to peer për DOS, Microsoft Windows, Novell NetWare dhe OS/2. Lantastic përkrah Etthernet dhe ARCET.

Page 136: Sisteme operative

136

Ëshrtë një multi-platfort, që e lejon qasjen në Windows dhe Dos dhe gjithashtu lejon që të bëj share apo shpërndaje dosje, printera, CD-rom. Lantastic ishte i popullarizuar para Windows 95, dhe ishte i populliarizuar në atë kohë njet si Novell që e cekëm më parë se ishte edhe lider i asaj kohe. Lantastic u krijua nga Artisoft Inc në Arizona. Verzioni i 2006 i Lantastic 8.01 mundet te lidhet apo konektohet duke hapur DOS 5.0 me Winodws 3.x ose me lart duke përfshirë edhe Windows XP. Duhet të theksohet se rrjetat Lantastic përdorin Net-Bios.

Page 137: Sisteme operative

137

Sistemet operative në kohë reale

Një sistem është në kohë reale nëse korrektësia e llogaritjes varet nga korrektësia logjike e rezultateve dhe afati kohor i tyre. Një sistem i vërtetë në kohë duhet të plotësoj kufizimet e përgjigjeve në kohë. Dështimi për përmbushjen e përgjigjes në kohën e kufizuat të çon në dëmtimin e sistemit. Tendencat e kohëve të fundit tregoj se sistemet e ardhshme duhen të jenë gjithnjë e më shumë të natyrës dinamike:

• Aplikacionet në kohën reale janë duke u bërë më të përhapura dhe më komplekse. Për shembull, gjenerata e ardhshme e sistemeve detare pritet të mbështesin të dhëna të llojllojshme, duke përfshirë ato analoge, diskrete, grafike, audio dhe video, të cilat kanë të integruar komunikimin dhe kontrollin. Ky trend është përshpejtuar nga dy faktor të përgjithshëm lidhur me to. Së pari, rritja e madhe e aplikacioneve multimediale kishte sjell fjalë për fjalë lloje të dhënave në kohën kritike. Së dyti, rritja e vazhdueshme e energjisë së kompjuterit me çmime gjithnjë në rënie mundëson më shumë aplikacione me shumë detyra të njëhershme duke u bërë një kandidat për përdorimin e cikleve të gatshme.

• Karakteristikat e larta të rrjetave si ATM hap aplikimet e reja me bandwidth29 të lartë dhe kërkesat e shërbimit të garantuar. Këto aplikime përfshijnë telemjekësinë, mësimet në distancë, kontrollin e trafikut ujor, sistemet e sofistikuara të mbrojtjes dhe monitorimin e rrjetit.

Prirjet e mësipërme janë prirje që rezultojnë në sistemet e ndryshueshme, miqësore, dinamike dhe informative, por ky fleksibilitet i eksesit sjell probleme të reja të tilla si çështja e sigurisë dhe privatësisë. Përveç kësaj, në kohë reale duhet të vendosen lidhjet online. Në vijim, ne argumentojmë se mekanizmat e fuqishëm për mbrojtje janë të nevojshme për të plotësuar mekanizmat hapësinor në mënyrë që të arrihet një qëllim i përkryer i kësaj sfere.

Konceptet bazike

Detyrat

Në këtë kontekst, një detyrë është një program i ngritur në shtresën e CPU-së të një micëro kontrollori. Nëse kemi kernelin30 e sistemi jo multitasking31 atëherë procesori mundë ta kryej vetëm një detyrë në një kohë të caktuar. Kjo është quajtur sistem me një detyrë. Një sistem operativ në kohë reale lejon zbatimin e më shumë detyrave në një kohë nga një procesorë i vetëm.

Fijet (threads)

Fijet janë detyra të cilat ndajnë të njëjtën shpërndarje të memories. Dy fije mund të kenë qasje në të njëjtën lokacion të memories. Nëse memoria virtuale është e nxënë, të

29

Bandwidth – Konsumimi i të dhënave në komunikim të shprehura në bits. 30

Kernel – është komponentë qendrore e shumicës së sistemeve operative. 31

Multitasking – është një metodë ku kryhen shumë detyra në të njëjtën kohë, e njohur edhe si proces.

Page 138: Sisteme operative

138

njëjtën e transferon prej asaj virtuale në atë fizike me të njëjtat drejta të përdorimit. Detyrat e RTOS32 janë fijet ku ato të gjitha kanë të drejtat e njëjta të përdorimit në eksesin e memories dhe transferimin (në sistemin me memorie virtuale).

Proceset

Proceset janë një instancë e programeve kompjuterike të cilat janë ekzekutuar. Në përmbajtje të kodit të programit është një aktivitet aktual. Në varësi nga sistemet operative , një sistem mund të jetë i përbërë nga shumë fije të ekzekutimit që ekzekutojnë udhëzimet e njëkohshme. Proceset janë detyra të cilat paraqiten në shpërndarjen e memories. Dy procese normalisht nuk mund të hyjnë në një vend të njëjtë të memories. Proceset e ndryshme në mënyrë tipike kanë të drejtat e ndryshme të qasjes dhe të tabelave të ndryshme të transferimit.

Single-task system (super loop)

Nëse ju keni vetëm një detyrë dhe nuk dëshironi ndonjë tjetër, atëherë nuk ka dobi të përdoret një RTOS. Në fakt ajo është e dëmshme, sepse një RTOS përdor dy memorie RAM dhe ROM. Rruga klasike e projektimit të sistemeve është pa RTOS. Kjo është quajtur edhe “design super loop” . Në mënyrë tipike, kerneli është përdor jo në kohës reale, kështu që ndërpriten rutina e shërbimit (ISR33) dhe duhen të përdoren pjesë reale të programeve ose operacione kritike (niveli i ndërprerjes).

Figura 8 - Single-task system

Nuk ka kernel në kohë reale dhe vetëm një pirg është përdorur si program ROM kurse madhësia e RAM është më e vogël për aplikacionet e vogla. Sigurisht, nuk ka probleme me sinkronizimin e nën-detyrave të një aplikacioni super loop. Megjithatë, super loops vështirë 32

RTOS – Sistemet operative në kohë reale. 33

ISR – interrupt servile routines

Page 139: Sisteme operative

139

mund të mbahet nëse programi bëhet shumë i madh. Sepse një komponentë e programit nuk mundë të ndërpritet nga një komponentë tjetër, koha e reagimit të një komponenti varet nga koha e ekzekutimit e të gjitha komponentëve tjera të sistemit.

Multitasking system

Në një sistem multitasking, ka mënyra të ndryshme të shpërndarjes së kohës të CPU-së në mesin e detyrave të ndryshme. Ky proces është quajtur planifikim.

Figura 9 - Multitasking system

Preemptive multitasking

Preemptive multitasking është një detyrë në të cilën një sistem operativ përdor disa kritere për të vendosur sa kohë ti jepet për çdo detyrë para se të kryhet një detyrë tjetër. Aktin e marrjes së një kontrolli të sistemit operativ nga një detyrë dhe duke i dhënë atë detyrës tjetër quhet preempting. Në disa sisteme operative, disa aplikacioneve mund të jepen prioritet i lartë nga kërkesat tjera, duke i dhënë përparësi programeve më prioritet më të lartë të kontrollit.

Page 140: Sisteme operative

140

Figura 10 - Preemptive multitasking

Kooperativa multitasking

Është një formë e multitasking ku është përgjegjësi e detyrave aktuale për ti hequr nga procesi dhe për të lejuar të kyçen në proces detyrat tjera të cilat kanë kandiduar. Kooperativa multitasking kërkon programues në vendin e thirrjeve në pikat e përshtatshme në kodin e tij për të lejuar një detyrë të jetë në pritje të radhës. Nëse një detyrë nuk lejon veten të jenë në pritje atëherë të gjitha detyrat që janë në pritje pas sajë do të jenë të ngrira.

Figura 11 - Kooperativa multitasking

Page 141: Sisteme operative

141

Implementimi i sistemit me RTOS

Implementimi i një sistemi duke përdorur një RTOS kërkon llogaritje dhe planifikim. Projektuesi duhet të marr parasysh të gjitha aspektet për kohën e sistemit. Duke u bazuar në llogaritjet e kohës për ndarjet e detyrave të përdorura. Projektuesi mund të vendos nëse RTOS mund të ofroj aftësinë e nevojshme. Përveç kësaj, projektuesi duhet të marr parasysh prioritetin e detyrës, ndërprerjen e përdorimit, mbështetjen e multiprocessor-it nëse është i aplikueshëm si dhe mbështetjen e gjuhës së zgjedhur nga RTOS.

Reagimi në kohë

Sistemi duhet të përgjigjet me një dalje të rezultatit para se të dhënat tjera të hyjnë si hyrje. Prandaj, koha e sistemit për të shfaqur përgjigjen duhet të jetë sa më e shkurtër se sa koha minimale midis hyrjeve të njëpasnjëshme.

Ndarja e detyrave

Pas përcaktimi të përgjigjes në kohën e kërkuar, projektuesi vazhdon me ndarjen e projektit në detyra. Projektuesi duhet të jetë i barabartë me shumën e komunikimit paralel [2]. Kriteret e detyrave së kohezionit janë përdorur për ndarjen e zgjedhjes duke kombinuar detyrat paralele për tu ekzekutuat njëra pas tjetrës.

Detyra me prioritet

Prioriteti i caktuar për çdo detyrë është i domosdoshëm për funksionimin e duhur të një aplikacioni. Ndërprerja e detyrave tjera ndodhë kur detyra me prioritet më të lartë është e gatshme për të kandiduar, duke rezultuar në kohë të pamjaftueshme për procesorin për detyrat me prioritet më të ulët [6]. Projektuesi duhet të përcaktoj cilat detyra janë kritike në përmbushjen e afateve dhe t’ua dhënë atyre prioritetin më të lartë. Megjithatë, kur koha e ekzekutimit është shumë e kërkuar, detyrat të cilat nuk kontribuojnë në përmbushjen e afateve në kohë reale të sistemit, nuk mundë ta marr të drejtën e ekzekutimit para detyrave të cilat kanë kohë kritike.

Multiprocessor RTOS

Sistemet multiprocessor në mënyrë tipike kanë një proces për kontrollin e çdo pajisje në sistem. Shumica e RTOS janë të përshtatshëm me multiprocessor të cilët përdorin instancë të shpërndarë në kernel34 për secilin procesor. Aftësia e multiprocessor-it vjen nga aftësia e kernelit për dërgimin dhe pranimin e informacioneve në mes procesorit. Shumë RTOS mbështetin multiprocesimin, dhe nuk ka ndryshim në mes single procesorit dhe multiprocesorit në zgjidhjen e detyrës së parë. RTOS përdor një tabelë në çdo kernel lokal që përmban vendndodhjen e çdo detyre në këtë sistem. Kur një detyrë dërgon një mesazh te një tjetër detyrë, kerneli lokal shikon lokacionin e arritjes së detyrës në rrugë më të përshtatshme.

34

Kernel – është komponentë qendrore e shumicës së sistemeve operative.

Page 142: Sisteme operative

142

Nga ekzekutimi i detyrës së parë deri te ajo e fundit janë ekzekutuar me të njëjtin procesor [3].

Page 143: Sisteme operative

143

Sistemet Operative dhe Cloud Computing

Cloud Computing

Supozoni se jeni drejtor në një kompani të madhe. Përgjegjësitë e juaja përfshijnë të përkujdeseni se të gjithë punëtorët të kenë harduerin dhe softuerin që ju nevojitet për të kryer punën e tyre. Blerja e kompjuterëve për të gjithë punëtorët nuk është e mjaftueshme – gjithashtu duhet të blihet edhe softueri apo licencat për softuerin për të ia dhënë punëtorëve mjetet që të punojnë. Sa herë të pranohet një punëtorë i ri, duhet blerë licenca shtesë apo të siguroheni se licencat ekzistuese të softuerit lejojnë një shfrytëzues tjetër.Së shpejti, mund të paraqiten alternativat për drejtorët që janë në këso pozitash. Në vend të instalimit të suitave të softuerit për secilin kompjuter, do të keni nevojë për ngarkimin e vetëm një aplikacioni. Ky aplikacion do të ia mundësojë punëtorëve që të kyçen në shërbimin e bazuar-në-ueb i cili ekzekuton të gjitha programet për të cilat ka nevojë shfrytëzuesi për punën e vet. Makinat në largësi që janë pronë e kompanive të ndryshme do të ekzekutojnë çdo gjë nga emaili, përpunimi i tekstit e deri te programet për analizën e të dhënave komplekse. Kjo alternativë quhet cloud computing (kompjuterizim në re), dhe mund të ndodhë që ai të ndryshoj në tërësi industrinë kompjuterike. Në sistemet me cloud computing, ndodh një zhvendosje e madhe e ngarkesës së punës. Kompjuteri lokal më nuk ka nevojë të bëjë detyra të rënda për sa i përket aplikacioneve që ekzekutohen në të. Rrjeta e kompjuterëve që përbëjnë renë (ang. cloud) bën ekzekutimin dhe bart peshën e ngarkesës. Të vetmen gjë që duhet të bëjë kompjuteri i shfrytëzuesit është që të jetë në gjendje të ekzekutojë softuerin ndërfaqe të sistemit për cloud computing, i cili softuer mund të jetë aq i thjeshtë sa që të jetë një ueb shfletues i thjeshtë, ndërsa rrjeta e resë e merr tërë pjesën tjetër të ngarkesës. Ka gjasë që deri tani të keni përdorur ndonjë formë të cloud computing. Nëse keni një email me shërbim emaili të bazuar në ueb sikurse që janë Hotmail, Yahoo! apo Gmail, atëherë ju në të vërtetë keni përdorur cloud computing. Në vend të ekzekutimit të një programi për email në kompjuterin tuaj, ju thjeshtë përmes ueb shfletuesit qaseni në llogarinë e emailit nga largësia. Softueri dhe hapësira e llogarisë tuaj nuk ekzistojnë në kompjuterin tuaj – ato janë në renë kompjuterike të shërbimit.

Arkitektura e cloud computing

Kur flasim për një sistem cloud computing, është e udhës ta ndajmë atë në dy seksione: pjesën front end (pjesën e përparme) dhe pjesën back end (pjesa e fundme). Ata lidhen njëri me tjetrin përmes një rrjete, zakonisht përmes Internetit. Pjesa front end është pjesa e kompjuterit të shfrytëzuesit, apo ajo të cilën e she klienti. Back end është pjesa “cloud” e sistemit. Pjesa front end përfshin kompjuterin e klientit (apo rrjetën kompjuterike) dhe aplikacionin që nevojitet për qasje ndaj sistemit cloud computing. Jo të gjitha sistemet cloud computing kanë të njëjtën ndërfaqe të shfrytëzuesit. Shërbimet sikurse që janë programet për email përdorin

Page 144: Sisteme operative

144

ueb shfletuesit ekzistues sikurse që janë Internet Explorer apo Firefox. Sistemet tjera kanë aplikacionet unike që mundësojnë qasjen në rrjetë nga klientët. Në pjesën back end të sistemit ndodhen kompjuterë të ndryshëm, sererët dhe sistemet e deponimit të dhënave që krijojnë “cloud” (retë) e shërbime kompjuteristike. Në teori, një sistem cloud computing mund të përfshijë praktikisht cilindo program kompjuterik që mund të paramendoni , prej përpunimit të dhënave deri te video lojërat. Zakonisht, secili aplikacion do të ketë serverin e vet të dedikuar. Serveri qendror bënë administrimin e serverit, monitorimin e trafikut dhe kërkesat e klientëve për tu siguruar se çdo gjë punon si duhet. Ai përcjell një set të rregullave që quhen protokolle dhe përdorin një lloj special të softuerit që quhet middleware. Softuerët middleware i lejojnë kompjuterët në rrjetë të komunikojnë me njëri tjetrin. Nëse një kompani që bën cloud computing ka shumë klient, ka gjasa që të ekzistojnë një kërkesë shumë e lartë për shumë hapësirë deponuese. Disa kompani kanë nevojë të përdorin qindra pajisje për deponim digjital. Sistemet cloud computing kanë nevojë për së paku dy herë më shumë hapësirë deponuese se sa zakonisht nevojitet për ruajtjen e të gjitha informatave të klientëve. Kjo për shkak se këto pajisje, sikurse dhe të gjithë kompjuterët tjerë, kohë pas kohe dinë të prishen. Sistemi cloud computing duhet të ketë kopje të të gjitha të dhënave të klientëve dhe ti ruaj ato në pajisje të ndara. Kopjet ia mundësojnë serverit qendrorë ti qaset makinave backup për të nxjerrë të dhënat gjë që në rastin tjetër nuk do të ishte e mundur. Bërja e kopjeve të dhënave në formë të backup-it njihet edhe me termin redundancë.

Aplikacionet e cloud computing

Aplikacionet e cloud computing janë praktikisht të pakufishëm. Me middleware të duhur, një sistem cloud computing do të mund të ekzekutoj të gjitha programet që mund të ekzekutohen nga një kompjuter i zakonshëm. Potencialisht, çdo gjë nga softueri i zakonshëm për përpunim të tekstit deri te programet e kustomizara të dizajnuar për ndonjë kompani të caktuar mund të jenë duke u ekzekutuar në një sistem cloud computing. Por një pyetje që mund të parashtrohet është se përse do të dëshironte ndokush që të bazohet në një kompjuter tjetër për të ekzekutuar programet dhe për të deponuar të dhënat? Ja disa nga arsyet: • Klientët do të jenë në gjendje ti qasen programeve të veta prej kudo që ndodhen në cilëndo kohë. Ata mund të qasen në sistemin cloud computing duke përdorur cilindo kompjuter të kyçur në Internet. Të dhënat nuk do të duhej të jenë të kufizuara vetëm në hard diskun lokal në kompjuterin e shfrytëzuesit apo as në rrjetën e brendshme të korporatës. • Cloud computing mund të shkaktojë uljen e kostot për harduerin. Sistemet cloud computing do të zvogëlojnë nevojën për harduer të avancuar në skajin e klientit. Nuk do të ketë nevojë për blerjen e kompjuterëve më të shpejtë me shumë memorie, për shkak se sistemi i cloud computing do të kujdeset për këto nevoja në vend të kompjuterit tuaj. Si zgjidhje, shfrytëzuesi mund të blejë një terminal kompjuterik të lirë. Terminali mund të

Page 145: Sisteme operative

145

përfshij një monitor, pajisjet hyrëse siç janë tastiera dhe miu dhe aq fuqi përpunuese sa për të ekzekutuar middleware-in e duhur për tu qasur në sistemin cloud. Nuk do të ekzistojë nevojë për disk të fortë me shumë giga për shkak se të gjitha të dhënat do të ruhen në kompjuterin në largësi. • Korporatat që mbështeten tek kompjuterët duhet të përkujdesen se kanë softuerin e duhur të instaluar në mënyrë që të mund të arrijnë qëllimin e tyre. Sistemet cloud computing i jap këtyre organizatave qasje në mbarë kompanitë në të gjitha aplikacionet kompjuterike. Kompanitë nuk kanë nevojë të blejnë sete të softuerit apo licenca softuerike për secilin punëtorë. Në vend të kësaj, kompania do të ketë mundësinë të paguaj një çmim të matur për kompaninë që ofron cloud computing. • Serverët dhe pajisjet e depozitimit digjital zënë hapësirë. Disa kompani huazojnë hapësira fizike për të vendosur serverët dhe bazat e të dhënave për shkak se nuk i kanë ato në dispozicion në lokacionin e vet. Cloud computing ia jap këtyre kompanive opsionin e ruajtjes së të dhënave në harduer të tjetër kujt, duke larguar kështu nevojën për hapësirën fizike në pjesën front end. • Korporatat mund të kursejnë para për përkrahje të TI-së. Hardueri më i thjeshtë, teorikisht, mund të shkaktojë më pak probleme se sa një rrjetë e makinave dhe sistemeve operative heterogjene. • Nëse pjesa back end e një sistemi cloud computing është rrjetë e sistemeve kompjuteristike, atëherë klienti mund të përfitoj nga avantazhet e fuqisë përpunuese të rrjetës. Shpesh, shkencëtarët dhe hulumtuesit punojnë me formula aq komplekse sa që do të nevojiteshin vite për një kompjuter individual ti përfundojë ato. Në një sistem kompjuterik në formë rrjete, klienti do të mund të dërgoj llogaritjen tek retë për përpunim. Sistemi cloud do të mund të përfshijë fuqinë përpunuese të të gjithë kompjuterëve në dispozicion në pjesën back end, dhe në mënyrë të dukshme të përshpejtoj përllogaritjen.

Brengat për cloud computing

Ndoshta brengat kryesore të cloud computing janë siguria dhe privacia. Ideja e dorëzimit të dhënave të rëndësishme tek një kompani tjetër mund ti brengos disa njerëz. Ekzekutivët e korporatave mund të hezitojnë për të marrë avantazhet e sistemeve cloud computing për shkak se ata nuk mund të mbajnë ato të dhëna nën dry dhe çelës. Një kundër-argument për këtë pozitë është se kompanitë që ofrojnë shërbimet cloud computing jetojnë dhe vdesin nga reputacioni. Këto kompani kanë dobi nga masat e qëndrueshme të sigurisë të cilat implementojnë në sistemet e tyre. Për ndryshe, shërbimi do të humbas të gjithë klientët që ka. Është në interesin e tyre të vënë në punë teknikat më të avancuara për të mbrojtur të dhënat e tyre. Privacia është një gjë tjetër. Nëse klienti mund të kyçet nga cilido lokacion për tu qasur tek të dhënat dhe aplikacionet, ekziston mundësia se privacia e klientit të mund të komprometohet. Kompanitë e cloud computing do të kenë nevojë të gjejnë mënyrat që të mbrojnë privacinë e klientëve. Një mënyrë janë teknikat e autentikimit siç janë username dhe password. Një

Page 146: Sisteme operative

146

mënyrë tjetër është përdorimi i formatit të autorizimit – secili shfrytëzues mund ti qaset vetëm të dhënave dhe aplikacioneve të cilat janë relevante për punën e tij. Si do të vazhdoj cloud computing të ndikojë industrinë e teknologjisë informative? Ekziston një brengë gjithnjë e më e madhe për mënyrën në të cilën cloud computing do të ndikoj biznesin e mirëmbajtjes dhe riparimit të kompjuterëve. Nëse kompanitë shkojnë para dhe fillojnë të përdorin këtë sistem të ri, atëherë ato do të kenë më pak nevojë për teknologjinë informative. Disa ekspert të sigurisë besojnë se nevoja për punët në TI-në do të migrojnë në pjesën back end të sistemit cloud computing.

Page 147: Sisteme operative

147

Siguria te sistemet operative

Sistemet kompjuterike të lidhura në rrjetë, në ditët e sotme, shpesh janë të pambrojtura nga

kode të krijuara nga burime pothuajse të panjohura. Kodi mund të jetë i bashkangjitur me email,

mund të jetë i përmbajtur në dokumente apo mund të jetë I shkarkuar nga Interneti. Fatkeqësisht,

shumica e shfrytëzuesve të kompjuterëve janë të sprovuar drejtpërsëdrejti nga efektet e kodeve

mobile keqdashëse sikurse janë viruset35 dhe krimbat36 e të cilët i dëmtojnë apo edhe mund ti

shkatërrojnë shënimet. E në të njëjtën kohë na sjellin dëme duke na kushtuar në kohë dhe para.

Shumica e mekanizmave të zakonshëm të sigurisë i japin të drejta shfrytëzuesit duke u bazuar në kreditencialet e tij (zakonisht fjalëkalimi) gjatë kyçjes në sistem dhe i kufizojnë resurset (më së

shpeshti kufizimin ndaj qasjes në foldera dhe fajlla) në të cilat shfrytëzuesi është i lejuar t’i qaset. Në

këto raste kodi është ekzekutuar duke shfrytëzuar identitetin, rolet dhe të drejtat e shfrytëzuesit i cili

e ekzekuton atë kod, siç ishte rasti te siguria e bazuar në role. Mirëpo kjo qasje ndaj sigurisë dështon

në disa aspekte kështu: shfrytëzuesit përdorin kod nga shumë burime, disa prej tyre mund të jenë të

dyshimta si; kodi mund të përmbajë gabime apo dobësi e të cilat mundësojnë që kodi të jetë i

shfrytëzueshëm nga kode të ndryshme keqdashëse dhe kështu kodi pastaj mund të bëhet I

pakontrollueshëm nga ne pasi që mund të bëjë disa veprime të cilat ne nuk i dimë se kodi ynë mund

ti bëjë. Si rezultat i kësaj sistemet kompjuterike mund të dëmtohen dhe shënimet private mund të

rrjedhin në momentin kur shfrytëzuesi i kujdesshëm me mature ekzekuton aplikacionin e mbushur me gabime apo me kode keqdashëse. Kodi i dëmtuar, pastaj mund t’i dëmtoj fajllat apo shënimet e

tjera në të cilat shfrytëzuesi ka qasje për përdorimin e tyre, apo mund t’i merr përparësitë e

autoritetit të shfrytëzuesit për t’i kryer të gjitha llojet e dëmeve të mundshme që ai mund t’i realizoj.

Duke pasur parasysh këto lloje te rrezikut, edhe shfrytëzuesi me besueshmërinë më të lartë nuk

mundet lirshëm që të shkarkoj dhe të ekzekutoj aplikacione nga burime të panjohura, nga frika se

çfarë mund të bëjë kodi i aplikacionit të ekzekutuar në sistemin e tij kompjuterik apo në sistemet e

tjera kompjuterike të lidhura në rrjetë, pjesë e të cilit është edhe ai.

Shumica e mekanizmave të sigurisë së sistemeve operative kërkojnë që secila pjesë e kodit

duhet plotësisht të jetë e besuar gjatë ekzekutimit. Prandaj akoma është e nevojshme për një

zbatueshmëri të gjerë të mekanizmit të sigurisë i cili mundëson që kodi nga një sistem kompjuterik

të ekzekutohet me sistemin e vet të mbrojtjes në sistemin tjetër kompjuterik, me përjashtim atëherë

kur nuk ka relacione të ashtuquajtura të mirëbesimit ndërmjet sistemeve kompjuterike.

Viruset

- Viruset janë programe kompjuterike që egzekutohen apo hyn në kompjuterin pa dijenin jonë. Në

momentin kur kompjuteri jonë është infekturar, puna në kompjuter fillon të punojë keq, si psh.

Kompjuteri mund ti shkyçet rruma, fajllat mund të fshihen apo të ndryshohen, informacionet

personale si numrat e kredit kartave mund që të vjidhen apo kompjuteri juaj mund të dërgoj email-a

me shumicë ose të ketë lidhje në kompjuter tjerë. Por si mundemi të dimë që ne kompjuter kemi

virus? Këtë mund ta vërejm nëse kompjuteri fillon të punojn ngadal, bllokohet apo na paraqiten

error mesazhe, etj.

Mënyrat më të shpeshta që kompjuteri jonë mund të infektohet nga virusët janë:

• Përdorimi I internetit pa mos I installuar azhurimet37

më të reja,

• Përdorimi I internetit pa mos funksionuar fireëall-I I sistemit operativ,

35

ang. viruses 36

ang. worms 37

Ang. Windows Updates

Page 148: Sisteme operative

148

• Hapja e email-ave që nuk dimë nga kush I kemi pranuar,

• Hapja e faqeve të pasigurta apo të dyshimta, etj

Llojet e viruseve

- Egzistojnë shumë lloje të viruseve dhe mund të kategorizohen në grupe të ndryshme:

- Viruset Boot Sector : Keta janë llojet e viruseve që infektojne zonën e disketave apo hard disqeve

ku ruhen skedarët e sistemit. Kur e startoni kompjuterin tuaj nga një disketë apo hard disk i

infektuar, keta lloj virusesh aktivizohen.

- Viruset e Skedareve: Ky është lloji i viruseve që aktivizohet dhe prek skedarët e progameve me

ekstensione si .exe dhe .com.

- Viruset Makro : Këta janë virus skripte të vegjël të cilët përhapen me ndihmën e produkteve të

paketës Office, si Ëord, Excel etj. Duke përdorur skriptet macro keta lloj virusesh mund të bëjnë me

tëpër se sa mund te mendohet.

- Viruset ActiveX dhe Java : Këta janë virusë që mund të shfrytezojnë kontrollet e ndryshme që

mund ti jenë shtuar një faqeje ëeb.

- Worm-et : Këta tashmë janë perfshirë prej kohesh në kategorinë e viruseve me rrezikshmeri të

lartë. Këta në përgjithësi përhapen nëpermjet rrjeteve. Këta nuk e ndjejnë nevojen për te infektuar

skedare që të përhapen. Vetëshumohen duke infektuar fillimish sistemin dhe më pas duke u

shperndare në rrjet infektojnë edhe kompjutera te tjerë. Ëorm-et në përgjithësi programohen që të

shpërndahen në kompjutera të tjerë duke perdorur LAN dhe posten elektronike. Shumë prej tyre

mbartin vecoritë, dhe sillen edhe si macro, edhe si viruse skedaresh.

- Trojanet : Trojanët sic mund ta keni imagjinuar e marrin emrin nga Kali i Trojës dhe sillen pikërisht në këtë mënyrë. Meqenese përbëjnë një rrezik të lartë per sigurinë këta klasifikohen edhe si viruse.

Këta nuk vetështohen dhe nuk infektojnë në rast se nuk aktivizohen me apo pa dashje nga viktima.

Keta preferohen mjaft nga ata që vetëquhen hacker dhe shërbejnë për të kontrolluar në largësi

kompjuterin e infektuar. Normalisht këta programe përbëhen nga dy pjese : Klienti dhe Serveri, ku ky

i fundit është skedari që infekton kompjuterin viktimë. Një trojan mund të kryejë veprime nga më të

thjeshtat, deri te më të rrezikshmet, psh edhe të formatojë kompjuterin viktimë.

Fshirja E Viruseve

Page 149: Sisteme operative

149

- Sa I përket heqjes së virusave egzistojnë shumë programe që mundësojnë kryerjen e asaj pune. Si

psh kemi programet Kaspersky Anit-Virus (fig.1), Symantec Endpoint Protection (fig.2), AVG Anti-

Virus, Ad-Aëare, Spybot Search&Destroy, Spyëare Doctor, etj

38

Fig.1 Fig.2

Secili prej programve bën punë të ndryshme sa I përket fshirjes së viruseve, psh programet

Kaspersky, Symantec, AVG kto janë antiviruse më të ndërlikuara dhe puna e tyre është e sigurt sepse

ato vazhdimisht e kontrollojnë sistemin për fajlla te infektuara dhe menjiher tentojnë ti fshin. Gjat

përdorimit të internetit anti-viruset vazhdimisht vazhdojnë ti marrin azhurimet më të reja që kjo u

mundëson që puna e tyre të kryhet më mirë dhe më sigurt. Por kjo nuk do të thotë se anti-virusët e

fshin krejt virusët, egzistojnë tipe të viruseve që I përmendëm më lartë që nëse duam ti hekim duhet

të kemi programe tjera posaqme per të.

Për fshirjen e trojaneve, krimbave, duhet që të kemi programet siq janë Ad-Aware(fig.3), Spyëare

Doctor(fig.4), sepse kto programe kanë mundësi që ti fshin. Trojanët dhe krimbat më lehte hyn në

system dhe janë në shumic. Me posedimin e ktyre programve lehtë dhe shpejtë fshihen.

39

40

38

http://www.kaspersky.com/images/boxes/kav2011_en_label_big.jpg

Page 150: Sisteme operative

150

Fig.3 Fig.4

Sigurime Tjera Opcionale

- Gjatë përdorimit me kompjuterin përdorusit duet vazhdimist të kenë kujdes me punen e tyre, dhe

vazhdimisht duhet të kerkojnë mundësi se si që sistemi tyre operativ të jetë me I sigurt ndaj

sulmeve. Mundësi tjera që mund ti përdorim dhe duhet të kryhen janë:

• Automatic Updates

• Aktivizimi I Firewall-it

-Automatic Update – kjo mundëson që sistemit operativ vazhdimisht ti shkarkoj azhurimet më të

reja, dhe kjo I ndihmon që të punoj më mirë. Automatic Updates mund të konfigurohet që

vazhdimisht vetë ti marri azhurimet dhe pas shkarkimit të tyre ajo I installon dhe në disa raste kur

mbaron instalimi, sistemi operativ kërkon që të bëhet restart. Pë r te aktivizuar këtë mundësi duhet

ti kryejm keto hapa: Klikojmë në Start menyn dhe pastaj klikojmë Control Panel prej aty e kërkojmë

dhe e hapim Automatic Updates.

39

http://gadgetme.info/ëp-content/uploads/Lavasoft-Ad-Aëare-Plus.jpg 40

http://ëëë.fasterpccleanclean.com/images/Spyëare-Doctor.gif

Page 151: Sisteme operative

151

Fig.5

-Siq shohim në figurën që të punoj ky opsion automatikisht ne duhet ta selektojmë

Automatic(recommended) dhe shtypim OK.

-Aktivizimi I Firewall-it – fireëall-I na ndihmon që të mos ket kyqje ndonji person tjeter në

kompjuterin jonë, kjo mund të ndodhi kur një program tenton të përdori një rrjet të jashtme , dhe

athere fireëall aktivizohet dhe kërkon lejen tonë, varësisht nga programi ne duhet të bëjmë zgjidhjen

ti japim leje apo jo. Aktivizimi I Firewall-it bëhet në ket mënyrë: Klikojm START, pastaj CONTROL

PANEL dhe e gjejm Ëindoës FIREWALL41

41

Menyra e hapjes te kti lloj opsioni ndryshon varsisht nga sistemi operativ

Page 152: Sisteme operative

152

Fig.6

-Për të qenë ky opsion aktiv duhet që ta shypim ON(recommended) dhe pastaj shtypim OK.

Page 153: Sisteme operative

153

Literatura

1. Andrew S. Tanenbaum -”Modern Operating Systems”

2. Christopher Negus – Linux Bible – 2008 edition

3. D.Lehmann dhe M.Rabin – “On the Advantages of Free Choice: A symmetric and Fully Distributed Solution to the Dining Philosophers Problem” janar 1981.

4. E.W.Disktra – “Heriarchical Ordering of Sequential Processes” Acta Informatica, vëllimi 1, 1971

5. K.M.Chandy dhe J.Misra – “The Drinking Philosophers Problem”, ACM Transactions on Programming Language and Systems, vëllimi 6, nr.4, tetor 1984.

6. Linux command line and shell scripting bible, Richard Blum, Boston, 2008

7. Linux FileSystems, William Von Hagen, Amsterdam, 2002

8. Linux Operating System – Second Edition, NIIT– Instituti kombëtar per TI, New Delhi, 2004

9. Prof Dr. Edmond Beqiri – “Bazat e Informatikës”, Universiteti i Prishtinës, Prishtinë, 2006

10. Prof. Dr. Edmond Beqiri – “Interneti – komunikimet kompjuterike”, IOM, Prishtinë 2002

11. Understanding the Linux Kernel, Third Edition, Daniel P. Bovet and Marco Cesati, Napoli, 2005

12. William Stalings - “Operating Systems: principles and international tips”

Burime tjera:

1. C460 Lecture notes - Dining Philosophers, autor: Jim Plank dhe Rich Wolski. -http://www.cs.utk.edu/~plank/plank/classes/cs560/560/notes/Dphil/lecture.html

2. “Multithreaded Programming with ThreadMentor”: Dr. C.-K. http://www.cs.mtu.edu/~shene/NSF-3/e-Book/

3. www.ubuntu.com

4. http://en.wikipedia.org/wiki/Ubuntu