SlideShare a Scribd company logo
1 of 30
Download to read offline
OPERATIVNI SISTEM LINUX
Семинарски рад
1
Sadržaj:
1. ŠTA JE OPERATIVNI SISTEM? .................................................................................3
2. ISTORIJA LINUXA ......................................................................................................7
3. PREGLED LINUX SISTEMA ......................................................................................9
3.1 Linux kernel..........................................................................................................10
3.2 Struktura Linux sistema........................................................................................11
3.3 Modularni kernel...................................................................................................12
3.4 Značajni delovi kernela.........................................................................................13
3.5 Upravljanje procesima ..........................................................................................14
3.6 Komunikacija između procesa...................................................................................14
3.6 Upravljanje memorijom........................................................................................14
3.7 Izvršavanje korisničkih programa.........................................................................15
3.8 Mrežne strukture...................................................................................................16
4. OSNOVNI SERVISI LINUX SISTEMA ....................................................................16
4.1 Periodično izvršavanje komandi...........................................................................17
4.2 Grafički korisnički interfejs..................................................................................18
4.3 Mrežni rad.............................................................................................................18
4.4 Deljenje datoteka i mrežni sistemi datoteka .........................................................18
4.5 Štampanje..............................................................................................................19
5. LINUX DISTRIBUCIJE..............................................................................................20
5.1 Slackware..............................................................................................................20
5.2 Debian...................................................................................................................20
5.3 Ubuntu ..................................................................................................................20
5.4 Mint.......................................................................................................................21
5.5 Fedora Core...........................................................................................................21
5.6 Red Hat .................................................................................................................21
6. ZBOG ČEGA TREBA KORISTITI LINUX...............................................................22
7. PREDNOSTI UPOTREBE LINUXA..........................................................................22
8. NEDOSTACI UPOTREBE LINUXA .........................................................................23
9. BITNE RAZLIKE WINDOWSA I LINUXA..............................................................24
9.1 Instalacija aplikacija .............................................................................................24
9.2 Nastavci datoteka..................................................................................................24
9.3 Velika i mala slova ...............................................................................................24
9.4 Podela tvrdog diska na particije............................................................................25
9.5 Predinstalirane aplikacije......................................................................................25
2
9.6 Antivirusni softver ................................................................................................26
9.7 Korisnici................................................................................................................26
9.8 Vrieme između objave novih izdanja ...................................................................26
9.9 Pomaganje pri razvoju sistema .............................................................................27
10. ZAKLJUČAK...........................................................................................................28
11. LITERATURA.........................................................................................................29
3
1. ŠTA JE OPERATIVNI SISTEM?
Pod pojmom operativnog sistema u klasičnom smislu podrazumeva se "softver
potreban za izvršavanje (aplikativnih) programa i za koordinaciju aktivnosti računarskog
sistema. Taj softver može obuhvatati procedure raspodele resursa računarskog sistema,
kontrole ulazno-izlaznih operacija, upravljanja memorijom, upravljanja podacima,
prevođenja programskih jezika itd.".
Iz ove se definicije vidi da ona polazi od koncepcije računara opšte namene kao
jedino moguće arhitekture računarskog sistema. Upravo zbog toga ona među funkcije
operativnog sistema uključuje i funkciju prevođenja programskih jezika. Međutim, trend
specijalizacije elektronskih računara imao je kao posledicu modifikaciju definicije
operativnog sistema, što se uočava iz sledeće definicije: "Pojam operativnog sistema
obuhvata one programske module u računarskom sistemu pomoću kojih se realizuje kontrola
hardverskih resursa, ulazno-izlaznih uređaja i datoteka. Ti moduli razrešavaju konflikte,
pokušavaju da optimizuju funkcionisanje i pojednostave upotrebu računarskog sistema.
Operativni sistem, dakle, deluje poput posrednika između korisničkih programa i fizičkog
računarskog hardvera." Takvo određenje operativnog sistema neosporno ukazuje na njegovo
poimanje u funkciji bazičnog sistemskog softvera.
Polazeći od druge navedene definicije, funkcijama operativnog sistema treba
smatrati:
funkcije upravljanja memorijom računara;
funkcije upravljanja centralnim procesorom računara;
funkcije upravljanja periferijskim uređajima;
funkcije upravljanja podacima, odnosno informacijama;
procedure optimizacije kompleksa navedenih funkcija.
Moduli operativnog sistema koji realizuju funkcije upravljanja memorijom računara
odražavaju, u principu, koncepciju korišćenja memorije računara po kojoj procesor sistema
treba da smesti određene instrukcije i podatke. Ti moduli, dakle, pre svega vode računa o
"zauzetosti" ili "nezauzetosti" pojedinih delova memorije, utvrđuju "politiku" alokacije
određenih sadržaja u memoriji (raspodela memorije), realizuju tu politiku alokacije
korišćenjem izvesnih tehnika alokacije (adresiranje memorije), te utvrđuju "politiku"
i tehnike dealokacije (brisanja ili transfera) sadržaja memorije. Memorije različitih računara
4
organizovane su na različite načine, a kao posledica toga javljaju se brojne razlike u
složenosti i međusobnim vezama modula operativnih sistema kojima se ostvaruju funkcije
upravljanja memorijom.
Računarski sistemi mogu obuhvatati jedan ili više procesora, dakle hardverskih
uređaja kojima se realizuju aritmetičke, logičke i ostale operacije koje podržava elektronski
računar. Kod jednoprocesorskih sistema zadaci modula koji realizuju funkcije upravljanja
procesorom relativno su jednostavni i svode se na izazivanje specifičnih aktivnosti tog
procesora kojima se realizuje obrada određenog aplikativnog programa. Ti zadaci su kod
višeprocesorskih sistema daleko složeniji. Moduli operativnog sistema te vrste moraju u
prvom redu dodeljivati pojedine zadatke obrade pojedinim procesorima, odnosno, preciznije
rečeno, pojedine procesore dodeljivati pojedinim zadacima obrade. Iz navedenog proizilazi
da uvek moraju postojati barem dva skupa modula za upravljanje procesorima računarskog
sistema: moduli koji kontrolišu i "vode brigu" o zadacima obrade i moduli koji nadziru status
i rad procesora. Njihovom interakcijom ostvaruje se pomenuti primarni zadatak ovog
segmenta operativnog sistema - dodeljivanje procesora pojedinim zadacima obrade. U
realnim uslovima rada elektronskih računara izvesni zamašniji zadaci obrade obično se
segmentiraju, a ti se segmenti upućuju različitim procesorima na paralelnu ili sukcesivnu
obradu, pa obično postoji i skup modula operativnog sistema koji sinhronizuje takve tokove
obrade. Navedeni opis načina na koji operativni sistem realizuje funkcije upravljanja
sistemskim procesorima veoma je pojednostavljen, ali dublja razmatranja zahtevala bi i
detaljnije poznavanje načina rada računarskih sistema.
Sa stanovišta operativnog sistema svi hardverski uređaji, izuzev procesora i
memorije, predstavljaju periferiju ili periferijske uređaje računarskog sistema. Radom tih
uređaja upravlja određeni skup modula operativnog sistema, čiji je osnovni zadatak, dakle,
upravljanje periferijskim uređajima, kojih u nekim konfiguracijama može biti vrlo mnogo.
Ti moduli moraju, u najkraćim crtama, izvršavati sledeće funkcije:
evidencija i nadzor nad svim priključenim perifernim uređajima, bez obzira
jesu li oni u datom trenutku aktivni ili neaktivni;
utvrđivanje "politike" dodeljivanja tih uređaja pojedinim aktivnim obradama,
dimenzionisanje dužine vremena upotrebe tih uređaja i trenutka njihovog
zauzeća, odnosno oslobađanja;
5
fizičko povezivanje određenih tokova obrade podataka sa određenim
periferijama;
fizičko oslobađanje periferija od pojedinih zadataka obrade.
Operativni sistem mora "znati" koji sve periferni i pomoćni uređaji postoje u datoj
konfiguraciji računarskog sistema, baš kao što mora "znati" šta svaki od tih uređaja u
određenom trenutku radi. Takvu evidenciju on vodi održavanjem posebne, tzv. statusne
datoteke podataka o svakom perifernom i podržanom uređaju. Dalje, operativni sistem mora
donositi odluke o tome hoće li se neki periferni uređaj dodeliti isključivo jednom
specifičnom zadatku obrade itd.
Moduli operativnog sistema koji realizuju sve navedene funkcije upravljanja
periferijskim uređajima računarskog sistema mogu se, stoga, razvrstati u tri uže grupe:
moduli koji realizuju ulazno/izlazni promet zadatka obrade i podataka;
moduli koji raspoređuju periferije i podržavaju uređaje prema zahtevima
postojećih zadataka obrade;
moduli koji fizički upravljaju radom periferija i pomoćnih uređaja.
Funkcija upravljanja podacima, odnosno informacijama, odnosi se na memorisanje
i manipulisanje podacima, odnosno informacijama. Podatke računar održava u formi
datoteka, baze ili banke podataka. U aplikativnim programima mora se navesti kojim se
podacima, odnosno datotekama želi pristup, a operativni sistem takve podatke ili datoteke
mora pronaći, odnosno formirati i smestiti na neku fizičku lokaciju. Iz navedenog proizilazi
da se funkcija upravljanja podacima, odnosno informacijama, koju mora vršiti operativni
sistem može raščlaniti na sledeće potfunkcije:
vođenje evidencije o svim podacima, odnosno informacijama koje stoje na
raspolaganju elektronskom računaru, tj. do kojih se može direktno pristupati;
utvrđivanje strategije memorisanja podataka i odobravanje pristupa tim
podacima pojedinim subjektima posredstvom aplikativnih programa;
alokacija informacijskih resursa, odnosno dodeljivanje određenih podataka
onim zadacima obrade koji ih u datom trenutku zahtevaju.
Evidenciju o postojećim podacima, odnosno informacijama memorisanim na
sekundarnim memorijama računara operativni sistem vodi održavanjem posebnih tabela
opisivača tih podataka (engl. File Directory). Te su tabele smeštene u memoriji računara i u
6
njima su navedeni nazivi, lokacije i eventualna ograničenja pristupa svim podacima koji se
čuvaju na eksternim memorijama direktnog pristupa (jedinice magnetnih diskova).
Operativni sistem ispituje sadržaj tih tabela pre nego što omogući pristup nekog aplikativnog
programa određenim podacima. Operativni sistem mora, dakle, i formirati takve tabele, a to
čini delimično pre, a delimično posle formiranja datoteka podataka. Pri formiranju datoteka
podataka (i tabela njihovih opisivača) operativni sistem se mora pridržavati određene
strategije memorisanja koja mora kombinovati načela racionalnog korišćenja memorijskog
prostora, efikasnog pristupa memorisanim podacima, fleksibilnosti koju pruža aplikativnim
programima i zaštite podataka, odnosno informacija od neželjenog pristupa. Kada neki
aplikativni program jednom zatraži određene podatke, operativni sistem ih mora pronaći,
kao što mora ostvariti i sve uslove pod kojima aplikativni program te memorisane podatke
može koristiti. Obratno, kada neki podaci određenom aplikativnom programu više nisu
potrebni, operativni sistem ih se mora osloboditi i staviti u "stanje mirovanja". Posebno
složene zadatke on mora izvršiti u onom slučaju kada je korisnik posredovanjem
aplikativnog programa te podatke na neki način modifikovao, ažurirao ili čak i uništio.
Već i dosadašnji opis modula operativnog sistema i njihovih funkcija jasno govori o
izuzetnoj složenosti ovog segmenta sistemskog softvera. Očigledno je da takvim
kompleksnim sistemom mora upravljati jedan njegov izdvojeni segment, koji se u neku ruku
može smatrati jezgrom celokupnog operativnog sistema. Skup takvih modula ponekad se
naziva monitorom (ponekad se monitorom naziva i čitav operativni sistem; ne mešati sa
hardverskim uređajem zvanim monitor (ekran)) ili supervizorom operativnog sistema i
njegova osnovna funkcija jeste sprovođenje procedura optimizacije kompleksa funkcija
čitavog operativnog sistema. Monitor, dakle, nadzire, koordinira i vrši pokušaje optimizacije
rada svih ostalih modula operativnog sistema. Zbog takve njegove uloge on je bez izuzetka
smešten u glavnoj memoriji računara, što nije uvek slučaj sa ostalim segmentima
operativnog sistema. U zavisnosti od veličine glavne memorije računara, arhitekture
računara, od strukture zadataka obrade, te od mnoštva drugih činilaca, pojedini segmenti
operativnog sistema mogu biti smešteni na nekoj sekundarnoj memoriji, prvenstveno na
magnetskim diskovima. Takvi operativni sistemi obično se nazivaju disk operativnim
sistemima (DOS).
7
U slučaju disk operativnih sistema monitoru se dodeljuju i zadaci nadzora nad
smeštanjem ostalih modula operativnog sistema u sekundarnim memorijama, pronalaženja
i pozivanja tih modula kada se ukaže potreba, njihovog privremenog premeštanja u glavnu
memoriju i kasnije ponovnog memorisanja u sekundarnu memoriju. Ti se zadaci, dakako,
uveliko komplikuju kod višeprocesorskih računarskih sistema ili sistema koji rade u
uslovima tzv. deljenja vremena (engl. Time-Sharing) ili multiprogramiranja (engl.
Multiprogramming) te kod sistema sa velikim brojem ulazno-izlaznih kanala.
Kada je reč o mini-računarima i personalnim računarima, ističe se koncepcija
specijalizacije operativnih sistema, odnosno sužavanja spektra funkcija koje oni moraju
realizovati prema suženom profilu aplikacija takvih računara. Tako se neke do tada bazične
ili standardne funkcije operativnog sistema transformišu u opcione funkcije, a softverski
moduli koji ih izvršavaju svrstavaju se u kategoriju programa za opsluživanje. Repertoar
programa za opsluživanje raste na račun opsega modula operativnog sistema. Kriterijum
takve transformacije predstavlja isključivo učestalost korišćenja određenih modula
sistemskog softvera. No ove procese ipak ne treba shvatati simplifikovano, gotovo kao neku
administrativnu akciju kojom se samo formalno razlučuju različite kategorije modula
sistemskog softvera. Ne treba, naime, zaboraviti da programi za opsluživanje zapravo
predstavljaju korisnike operativnog sistema, pa u sam operativni sistem moraju biti ugrađeni
izvesni postupci koji će omogućiti realizovanje takve nove uloge i operativnog sistema i
programa za opsluživanje. Tako se specijalizacija operativnih sistema plaća dodavanjem
nekih novih pomoćnih funkcija, ali se ipak u globalu može reći da je rezultat takvih
transformacija po pravilu pozitivan.
2. ISTORIJA LINUXA
Linux je ime računarskog operativnog sistema koje je dobio po izvornom autoru
Linusu Torvaldsu. Linus Torvalds je napravio svoje jezgro operativnog sistema koristeći
SunOS, danas pod nazivom Solaris. Nakon izvesnog vremena nakon što je Torvalds koristio
jezgro svog operativnog sistema, Torvalds je 1991. godine objavio svoj izvorni kod na
internetu sa jednim razlogom : da ljudi iz čitavog sveta učestvuju u razvoju operativnog
sistema. Razlika Linuxa u odnosu na ostale računarske operatvne sisteme je to što je Linux
slobodan softver, to jest izvorni kod je dostupan svima. Za njegov brzi razvoj zaslužni su
razvoj globalne komunikacijske mreže i GPL licenca za njegovo korišćenje.
8
Slika 1. Simbol Linux sistema
Linux je nastao 05. oktobra. 1991 godine. U prvim danima Linux se koristio kao
eksperimentalni operativni sistem, a koristili su ga studenti, hakeri, programeri i ljudi koji
su orijentisani na rad sa računarom. Nastankom Apache Web Server, Linux je u par godina
istisnuo druge operativne sisteme slične Unixu. Linux, operativni sistem, se slabo pojavljuje
na kućnim i kancelarijskim računarima iz razloga što napredovanje desktopa na Linuxu
slabo napreduje. Još jedan razlog zbog čega se Linux ne pojavlju na kućnim i kancelarijskim
računarima je to što se igre ne prave za ovaj operativni sistem, a i nedostaje još programa za
ovaj operativni sistem. Još jedan problem Linuxa su programi ili drajveri koje kompanije
retko izdaju ili korsnici odbijaju da ih koriste. Što se tiče sigurnosti Linuxa, danas postoje
mnogo virusa, spayware-a i adware-a koji rade na Linuxu. Prvu verziju UNIX sistema razvio
je Ken Thompson iz istraživačke grupe Bell laboratorija 1969. godine.
Projektu se pridružio Dennis Ritchie i još nekolicina kolega koji su nastavili razvoj
UNIX-a. Dennis Ritchie je pre toga radio na razvoju MULTICS operativnog sistema koji je
imao jak uticaj na razvoj UNIX-a. Sledeća značajna verzija je Verzija 3, značajna po tome
što je veći deo operativnog sistema bio napisan u programskom jeziku C, koji je razvijen u
Bell laboratorijama kao podrška UNIX-u. Prva masovno korišćenja verzija UNIX
operativnog sistema je Verzija 6 iz 1975. godine. Nakon Verzije 7 oformljena je posebna
grupa, UNIX Support Group (USG) u okviru AT&T-a (u fiijem sastavu su Bell-ove
laboratorije), čiji je zadatak bio da se brine o UNIX-u. Tako UNIX prestaje da bude
istraživački alat i postaje komercijalan operativni sistem.Mnoge agencije se pridružuju
razvoju UNIX-a. Među njima su Rand, BBN, DEC, SCO, i Univerziteti Illinois, Harvard,
Purdue i drugi. Međutim, najveći uticaj van Bell laboratorija imao je Kalifornijski
Univerzitet Berkley. Na ovom univerzitetu su započeli rad na VAX UNIX-u 32V, od koga
su napravili verziju 3BSD. Ubrzo DARPA(Defence Advanced Research Projects Agency)
naručuje od Berkley-ja standardni UNIX sistem za upotrebe u upravljanju. Tako je nastala
verzija 4BSD. Ova verzija je obezbedila rad u mreži po DARPA Internet mrežnom protokolu
9
(TCP/IP). Na univerzitetu Berkley su razvijeni mnogi drajveri za terminale, novi korisnički
interfejs (C shell), novi tekst editori, kompajleri za Pascal i Lisp, kao i mnogi drugi sistemski
programi. Skraćenica BSD potiče od Berkley Software Distribution. UNIX je jedan od
najboljih i najpopularnijih operativnih sistema u svetu. Prvobitno je dizajniran kao alat za
naučnike i programere za rad na tada najjačim računarima, a kasnije je prilagođen i raznim
drugim raznovrsnim namenama. Uprkos tako dizajniranom - "komplikovanom"
korisničkom interfejsu, i nedostatku standardizacije postaoje najkorišćeniji operativni
sistem, u poslovnoj primeni. Veliki broj drugih, sada popularnih, operativnih sistema kao
svoju osnovu koriste neku verziju UNIX sistema.
Danas su popularne distribucije Linuksa: Mint, Ubuntu, Red Hat, Debian, Suse,
Fedora, itd. Linuks je danas vodeći operativni sistem kada su u pitanju serveri, radne stanice
i superračunari. Zahvaljujući velikoj zainteresovanosti širom sveta, danas, nakon skoro 10
godina, Linuks je postao najveća pretnja Majkrosoftu. A od verzija UNIX-a se koriste još
Solaris, Mac OS i BSD.
3. PREGLED LINUX SISTEMA
Linux je višekorisnički, višeprocesni operativni sistem sa potpunim skupom UNIX
kompatibilnih alata, projektovan tako da poštuje relevantne POSIX standarde. Linux sistemi
podržavaju tradicionalnu UNIX semantiku i potpuno implementiraju standardni UNIX
mrežni model.
Linux operativni sistem sastoji se od kernela, sistemskog softvera, korisničkih
aplikacija, programskih prevodilaca i njihovih odgovarajućih biblioteka (GCC - GNU C
Compiler i C biblioteka za Linux) i dokumentacije. Sadržaj konkretne Linux distribucije
definisan je sadržajem instalacionih medijuma, koji u slučaju nekih Linux sistema uključuju
razne FTP sajtove širom sveta.
Kernel je jezgro operativnog sistema - on omogućava konkurentno izvršavanje
procesa, dodeljuje im memoriju i druge resurse i obezbeđuje mehanizam za ostvarivanje
usluga operativnog sistema. Kernel štiti korisničke procese od direktnog pristupa hardveru
- procesi pristupaju hardveru korišćenjem sistemskih poziva kernela, čime se obezbeđuje
10
jedna vrsta zaštite između samih korisnika. Sistemski programi koriste kernel u cilju
implementacije različitih servisa operativnog sistema.
Svi programi, uključujući i sistemske, funkcionišu na nivou iznad kernela, što se
naziva korisnički režim rada, dok se sistemske aktivnosti poput pristupa hardveru obavljaju
na nivou kernela, odnosno u sistemskom režimu rada (supervisory mode). Razlika između
sistemskih i aplikativnih programa je u njihovoj nameni: aplikacije su namenjene za razne
korisne aktivnosti (kao što su obrada teksta i slike), dok su sistemski programi namenjeni za
rad sa sistemom i administraciju. Na primer, tekst procesor je korisnička aplikacija, dok je
komanda mount sistemski program. Razlike izmeću korisničkih i sistemskih programa su
ponekad veoma male i značajne samo za stroge kategorizacije softvera.
3.1 Linux kernel
Tri osnovne verzije Linux kernela su početna verzija, verzija 1.x i verzija 2.x Početna
verzija 0.01, koju je 1991. godine kreirao Linus Torvalds, podržavala je samo Intel 80386
kompatibilne procesore, mali broj hardverskih uređaja i Minix sistem datoteka. Mrežni
servisi nisu imali kernelsku podršku. Verzija 1.0, nastala u martu 1994. godine, uključivala
je podršku za standardne TCP/IP mrežne protokole, BSD-kompatibilni socket interfejs za
mrežno programiranje i drajversku podršku za mrežne kartice. Ova verzija je dodatno
podržavala ext i ext2 sisteme datoteka, široku klasu SCSI disk kontrolera, kao i brojne
hardverske uređaje. Verzija 1.2 (mart 1995) je poslednja verzija Linux kernela namenjena
isključivo PC arhitekturi. U verziji 2.0 (jun 1996) uvedena je podrška za više arhitektura
(Motorola i Intel procesori, Sun Sparc i PowerMac sistemi), kao i podrška za
višeprocesorsku arhitekturu (SMP). Dodatno, poboljšano je upravljanje memorijom i
uvećane se performanse TCP/IP protokol steka, a ugrađena je i podrška za unutrašnje
kernelske niti (internal kernel threads). Kernel je modularizovan, odnosno uvedena je mikro-
kernel struktura sa izmenljivim drajverskim modulima (loadable kernel modules), a
standardizovan je i konfiguracioni interfejs.
11
3.2 Struktura Linux sistema
Osnovu Linux sistema čine kernel, sistemske biblioteke i sistemski programi.
Kernel je odgovoran za najznačajnije funkcije operativnog sistema. Dve osnovne
karakteristike kernela su:
kernel kôd se izvršava u kernelskom modu u kome je jedino moguće
pristupati svim komponentama hardvera,
kompletan kernel kôd i sve kernel strukture podataka čuvaju se u istom
adresnom prostoru (monolithic).
Kod većine UNIX sistema aplikacije se preko sistemskog poziva direktno obrađaju
kernelu, kao što je prikazano na slici 2.
Slika 2. UNIX kernel
12
Kod Linux sistema sistemski pozivi se upućuju kernelu preko sistemskih biblioteka
koje definišu standardni set funkcija preko kojih aplikacije komuniciraju sa kernelom. Ovaj
metod komunikacije sa kernelom prikazan je na slici 3.
Slika 3. Struktura Linux sistema
Sistemski programi izvršavaju specifične upravljačke poslove, kao što je
konfigurisanje mrežnih uređaja i protokola, punjenje kernelskih modula itd.
3.3 Modularni kernel
Moduli kernela su delovi kernelskog koda koji može da se prevede, napuni u
memoriju ili izbaci iz memorije nezavisno od ostatka kernela. Kernelski moduli
implementiraju drajvere za hardverske urećaje, novi sistem datoteka, mrežne protokole, itd.
Moduli omogućavaju raznim programerima da napišu i distribuiraju drajvere koji ne moraju
da prođu GPL licencu.
Moduli kernela omogućavaju micro-kernel arhitekturu, odnosno realizaciju
minimalne stabilne konfiguracije kernela bez dodatnih drajvera. Potrebni drajveri pune se u
memoriju kao moduli kernela. Module Linux kernela čine tri komponente:
upravljanje modulom, koja omogućava punjenje modula u kernelsku
memoriju i komunikaciju modula sa ostatkom kernela, proveru da li je modul
u memoriji i da li se koristi i izbacivanje modula iz memorije (pod uslovom
da se modul ne koristi),
registracija drajvera, koja omogućava modulu da objavi ostatku kernela da je
novi drajver u memoriji i da je raspoloživ za korišćenje. Kernel održava
13
dinamičku tabelu drajvera koji se pomoću posebnog seta programa mogu
napuniti ili izbaciti iz memorije u svakom trenutku,
rezolucija konflikata, odnosno mehanizam koji služi da spreči hardverske
konflikte tako što omogućava drajveru da rezerviše hardverske resurse (IRQ,
DMA, ports) i time spreči druge drajvere ili autoprobe funkciju da ih koriste.
3.4 Značajni delovi kernela
Linux kernel čini nekoliko značajnih komponenti:
upravljanje procesima,
upravljanje memorijom,
upravljanje sistemima datoteka (VFS),
apstrakcija mrežnih servisa,
podrška za hardverske uređaje,
podrška za različite sisteme datoteka,
podrška za TCP/IP.
Kritične komponente Linux kernela su upravljanje procesima i upravljanje
memorijom. Komponenta za upravljanje memorijom kontroliše dodeljivanje memorije i
swap prostora procesima, kernelskim komponentama kao i bafersko keširanje. Komponenta
za upravljanje procesima kreira procese i omogućava višeprocesni rad (multitasking)
dodeljujući procesor procesima po odgovarajuđem algoritmu.
Na najnižem nivou kernel sadrži podršku u vidu drajvera za razne hardverske
urećaje. S obzirom da postoji veliki broj različitih vrsta hardverskih uređaja broj drajvera je
takođe veoma veliki. Za hardverske uređaje iste vrste (npr. diskove), koji vrše sličnu
funkciju ali se razlikuju u načinu softverske kontrole, formirane su opšte klase drajvera na
sledeći način: svaki član klase pruža isti interfejs prema ostatku kernela čime obezbeđuje
podršku za operacije koje su karakteristične za tu vrstu uređaja, a hardver opslužuje na
odgovarajući način. Na primer, svi disk drajveri pružaju isti interfejs prema ostatku kernela
i svi imaju operacije tipa inicijalizacije drajva, čitanja podataka iz određenog sektora i upisa
podataka u određeni sektor.
14
3.5 Upravljanje procesima
Linux koristi standardni UNIX proces mehanizam (fork) koji razdvaja kreiranje
procesa i njegovo izvršenje u dve različite operacije:
sistemski poziv fork, koji kreira novi proces,
sistemski poziv exec, koji izvršava program u resursima novostvoreno
procesa.
Pod UNIX sistemom sve informacije koje operativni sistem mora čuvati da bi
kontrolisao jedan proces predstavljaju kontekst tog procesa. Pod Linux operativnim
sistemom, svaki proces je u potpunosti opisan identitetom, okolinom, i kontekstom.
3.6 Komunikacija između procesa
Komunikacija između procesa obuhvata obaveštavanje procesa o događaju i prenos
podataka s jednog procesa na drugi. Kao i UNIX sistem, Linux informiše procese u
korisničkom režimu o događaju putem signala. Procesi u kernel modu umesto signala koriste
specijalnu vrstu deljive memorije (wait.queue struktura) za interprocesnu komunikaciju.
Za prosleđivanje podataka između procesa koristi se pipe mehanizam, koji
omogućava jednosmernu razmenu podataka putem komunikacionog kanala koji proces
nasleđuje od roditelja, i deljiva memorija, koja je brza i fleksibilna, ali zahteva
sinhronizaciju.
3.6 Upravljanje memorijom
Upravljanje memorijom obuhvata upravljanje operativnom (RAM) memorijom i
upravljanje virtuelnom memorijom.
Upravljanje operativnom, odnosno fizičkom memorijom obuhvata dodeljivanje
(alokaciju) i oslobađanje stranica (pages, normal extent), grupe stranica (large extent) i malih
memorijskih blokova (small extent). Fizičkom memorijom se upravlja po sistemu drugova
(Buddy heap). Cela fizička memorija se deli na udružene blokove čije su veličine stepeni
15
broja 2. Blokovi se prema potrebi alokacije dalje razbijaju na manje blokove ili se parovi
udružuju u veće celine.
Sistem virtuelne memorije povećava ukupan adresni prostor koji je dostupan
procesima - sistem kreira stranicu virtuelne memorije na zahtev, upravlja punjenjem te
stanice u fizičku memoriju sa diska i povratkom stranice na disk u swap prostor. Kada
stranica mora da napusti memoriju i ode na disk izvršava se takozvani page-out alogoritam,
koji je na Linux sistemu realizovan LFU konceptom (Least Frequently Used - najređe
korišćen). Novi virtuelni adresni prostor formira se nakon kreiranja novog procesa
sistemskim pozivom fork, i nakon izvršavanja novog programa sistemskim pozivom exec.
Regioni virtuelne memorije obuhvataju fizičke stanice, odnosno okvire u koje su
fizičke stranice smeštene (frames) i swap prostor na disku.
3.7 Izvršavanje korisničkih programa
Linux podržava brojne formate za punjenje i izvršavanje programa. Među njima
svakako treba istaći stari UNIX format a.out i novi elf format koji je maksimalno prilagođen
konceptu virtuelne memorije. Zaglavlje ELF formata opisuje sekcije programa. Sekcije
programa su po veličini prilagođene veličini stanice virtuelne memorije.
Program kod kog su funkcije iz sistemske biblioteke direktno ugrađene u kôd
programa je program sa statičkim povezivanjem. Glavni nedostatak ovakvog načina
povezivanja je povećanje veličine koda, jer svaki poziv funkcije iz biblioteke kopira celu
funkciju u kôd. Takođe, sa veličinom koda raste i količina memorije koja je potrebna za
njegovo izvršavanje. Na drugoj strani, dinamičko povezivanje je efikasnije u smislu
iskorišćenja memorije - sama funkcija se ne kopira u kôd, tako da je za izvršenje potrebna
manja količina memorije, ali se programi po nepisanom pravilu izvšavaju sporije.
16
3.8 Mrežne strukture
Umrežavanje je ključno područje funkcionalnosti Linux sistema. Linux koristi
standardni TCP/IP protokol stek kao osnovni komunikacioni protokol, a dodatno podržava
i brojne druge protokole koji nisu uobičajeni za komunikaciju dva UNIX sistema
(AppleTalk, IPX, Samba).
Interno, umrežavanje pod Linux sistemom obuhvata tri softverska nivoa: socket
interfejs, protokol drajvere i drajvere za mrežne kartice.
4. OSNOVNI SERVISI LINUX SISTEMA
init
Proces init se pokreće kao prvi proces na svakom Linux sistemu i to je poslednja
akcija koju kernel obavlja prilikom podizanja sistema. Kada se pokrene, init nastavlja proces
podizanja operativnog sistema, obavljajući razne inicijalne procedure kao što su provera i
akitviranje sistema datoteka i pokretanje servisa (daemons).
Potpun skup aktivnosti koje će proces init obaviti zavisi od načina podizanja samog
Linux sistema. Proces init obezbeđuje koncept jednokorisničkog režima rada (single user
mode) u kome niko ne može da se prijavi na sistem osim administratora (root), koji u ovom
režimu može da koristi komandni interpreter isključivo na konzoli. Osim ovog režima rada,
koji se koristi u svrhe administarcije ili oporavka sistema, init obezbeđuje i standardni
višekorisnički režim rada (multiuser mode). Neki režimi rada Linux sistema se generalizuju
i nazivaju nivoima izvršenja (runlevel) - jednokorisnički i višekorisnički režim predstavljaju
dva nivoa izvršenja, a osim njih postoje i dodatni nivoi izvršenja, poput nivoa sa grafičim
okruženjem (X) i nivoa sa mrežnim servisima. Linux dozvoljava do 10 nivoa izvršavanja,
0-9, od kojih su samo neki u upotrebi. Nivo izvršenja 0 definiše se kao gašenje sistema
(system halt), nivo izvršenja 1 kao jednokorisnički režim, a nivo izvršenja 6 kao ponovno
podizanje sistema (system reboot). Ostali nivoi definisani su u datoteci /etc/inittab za
konkretnu Linux distribuciju, pri čemu definicije mogu biti različite za različite distribucije.
17
U stanju normalnog izvršenja proces init obezbeđuje funkcionisanje procesa getty,
koji korisnicima omogućava proceduru prijavljivanja na sistem (login) i usvaja procese
siročiće (orphan), odnosno procese čiji su roditeljski procesi nestali, čime se održava
integritet rodbinskog stabla procesa.
Prilikom zaustavljanja Linux sistema proces init redom obustavlja sve druge procese,
deaktivira sve aktivne sisteme datoteka i zaustavlja procesor, a dodatno može obaviti i druge
aktivnosti za koje je konfigurisan.
syslog
Kernel i mnogi sistemski programi generišu razna upozorenja i poruke o greškama
koje se upisuju u datoteke, tako da se mogu pregledati nakon izvesnog vremena. Program
koji obavlja funkciju upisivanja poruka u datoteke je syslog. Program se može konfigurisati
da poruke aranžira u različite datoteke na osnovu stepena značajnosti i procesa koji je poruke
generisao. Na primer, poruke koje generiše kernel se, kao vrlo značajne poruke koje mogu
ukazivati na ozbiljne probleme u sistemu, upisuju u posebnu datoteku.
4.1 Periodično izvršavanje komandi
Većina korisnika, uključujući sistem administratore često ima potrebu za
periodičnim izvršavanjem neke komande. Na primer, sistem administrator može da zakaže
periodično izvršenje komande koja čisti direktorijume sa privremenim datotekama (/tmp i
/var/tmp), čime sprečava prepunjenje diska. Funkciju periodičnog izvršenja komandi
obezbeđuje servis cron. Svaki korisnik može u svojoj crontab datoteci definisati komande
koje želi periodično da izvršava i vreme kada te komande treba izvršiti. Cron demon vodi
računa o izvršenju komandi u specificiranom vremenu.
Servis koji je sličan cron servisu je at, ali za razliku od cron servisa komandu pokreće
samo jednom, u specificiranom trenutku.
18
4.2 Grafički korisnički interfejs
Linux ne ugrađuje korisniški interfejs u kernel - korisnički interfejs se implementira
na korisničkom nivou. Koriste se dve vrste interfejsa, alfanumerički i grafički, čime se
postiže veća fleksibilnost sistema. Nedostatak ovakvog uređenja je relativno složena
implementacija različitih korisničkih interfejsa za svaki program, što operativni sistem čini
težim za učenje i korišćenje.
Primarno grafiško okruženje koje se koristi u Linux sistemima je X Window System
(skraćeno - X). X ne implementira korisnički interfejs već obezbeđuje alate pomoću kojih
grafički korisnički interfejs može da se implementira. Najčešće korišćeni window menadžeri
na Linux sistemima su: KDE i Gnome.
4.3 Mrežni rad
Umrežavanje je čin povezivanja dva ili više računara relativno visokog stepena
autonomije u cilju omogućavanja njihove međusobne komunikacije. Iako proces
povezivanja računara u mrežu i konfigurisanja mrežnog okruženja može biti komplikovan,
krajnji rezultat je veoma koristan - korisnici mogu koristiti deljene mrežne resurse poput
štampača, direktorijuma i up-linkova, a takođe se mogu omogućiti i mehanizmi
centralizovane autentifikacije i administracije. Većina osnovnih servisa Linux sistema,
poput sistema datoteka, štampanja i arhiviranja podataka može se realizovati pomoću
mrežnih funkcija operativnog sistema.
4.4 Deljenje datoteka i mrežni sistemi datoteka
U značajnije servise UNIX i Linux sistema spada i deljenje datoteka na mreži.
Mrežni sistemi datoteka funkcionišu na sledeći način: zahtevi za operacijama na datotekama
i direktorijumima šalju se po mreži na računar na čijim se diskovima sistem datoteka nalazi,
a korisnik ima utisak da se sve datoteke nalaze na lokalnom sistemu datoteka. Na ovaj način
omogućava se deljenje datoteka na krajnje jednostavan način, pošto se ne zahteva nikakva
modifikacija korisničkih programa.
19
Najčešće korišćeni tip mrežnih sistema datoteka je NFS (Network File System), koji
je razvila kompanija Sun Microsystems. Drugi servis, koji omogućava pristup Linux
mrežnim sistemima datoteka sa MS Windows radnih stanica, je Samba
(http://www.samba.org). Po istim protokolima je moguće deliti i štampače.
4.5 Štampanje
Jedan štampač u jednom vremenskom trenuntku može da koristi samo jedan
korisnik, ali je krajnje neekonomično ne dozvoliti upotrebu štampača u različiti vremenskim
trenucima većem broju korisnika. Zato štampačima upravlja program koji implementira red
čekanja za dati štampač (printer queue): svi zahtevi za štampu postave se u red čekanja i
kada štampač obavi jedan posao upravljački program mu automatski šalje sledeći. Na ovaj
način se omogućava korišćenje štampača većem broju korisnika, pri čemu su korisnici
oslobođeni organizacije reda čekanja za štampač.
Program koji implementira red čekanja čuva kopiju koju treba štampati na disku print
servera, čime se omogućava aplikativnom programu da preda zahtev za štampu u red i nakon
toga nastavi svoje aktivnosti. Disk je relativno brz uređaj u odnosu na štampač, tako da
predaja zahteva u red traje kratko. Nakon predaje zahteva aplikativni program ne mora da
čeka da zahtev bude odštampan, a takođe ne mora ni da kontroliše proces štampe, tako da
nastavlja s daljim radom. Ovakav način organizacije štampanja je jako povoljan, zato što
korisnik može da izda zahtev za štampanjem jednog dokumenta, zatim otvori drugi
dokument i pošalje ga na štampu bez ikakvog čekanja.
20
5. LINUX DISTRIBUCIJE
5.1 Slackware
Slackware je najstarija Lunux disribucija, a ujedno je i najpopularnija distribucija
Linuxa. Slackware je osnovana krajem 1992. godine. Osnovao ju je Patrick Volkerding.
Namenjena je naprednijim korisnicima i korisnicima koji žele naučiti puno o Linuxu. Po
čemu je Slackware toliko poseban je jednostavnost. Slacware koristi konzervativan razvojni
model s naglaskom na stabilnost paketa, naspram novih paketa. Karakteristično za
distribuciju Slackware je što ima jednostavan paketni mehanizam koji pruža samo neke
najosnovnije mogućnosti: instalacija, nadogradnja i brisanje.
5.2 Debian
Debian je ime dobrovoljne organizacija posvećene razvoju i promicanju ideala
slobodnog softvera, te naziv njihovog GNU-baziranog operativnog sistema. Debian je
započet 1993. godine, gdje je Ian Murdock poslao otvoreni poziv softverskim programerima
da doprinesu kompletnoj distribuciji baziranoj na Linux jezgri i GNU sistemskim
programima.Danas, osim Linuxa, Debian podržava i druge jezgre, poput jezgre BSD
operativnih sistema i HURDa orginalne GNU jezgre koja je razvijala sofversku fondaciju.
5.3 Ubuntu
Ubuntu je jedan od računarskih operativnih sistema koji je nastao od operativnog
sistema Debian Gnu i Linux, koji temeljne podatke i programe preuzima iz projekta GNU i
koristi Linux kao jezgro ili kernel operativnog sistema. Ubuntu je građen iz mnogo djelova
koji se nazivaju softverski paketi. Ubuntu, operativni sistem, najviše pažnje posvećuje lakoći
instaliranja i korištenja operativnog sitema.
21
5.4 Mint
Linux Mint je računarski operativni sistem koji se bazira na Ubuntu Linux
distribuciji, koji je ipak bazira na Debianu. Linux Mint nudi stabilan operativni sistem za
prosečnog korisnika. Linux Mint je se sastoji od mnogo programskih paketa, koja se većina
distribuira kao softver sa slobodnom distribucijom. Glavna karakteristika ovog operativnog
sistema je ta što korisnici mogu: slobodno pokretati programe, kopirati, distribuirati,
mienjati, razvijati i poboljšavati softver.
5.5 Fedora Core
Fedora Core je jedna od najpopularnijih Linux distribucija Linuxa. Fedora Core je
novi proizvod, ništa manje stabilan od prethodnika, sa vrlo velikom korisničkom bazom, pa
je savršeno namenjen za kućne korisnike. Fedora Core ima dva razloga za naglu promenu
poslovnog modela, a to su :
povećanje kvalitete usluge velikim poslovnim korisnicima,
dinamičniji razvoj i kvalitetnija testiranja svojih tehnologija kroz distribuciju
Fedora.
5.6 Red Hat
Red Hat je Linux distribucija koju je lagano instalirati. Ova Linux distribucija se za
sve korisnike koji žele da se upoznaju sa Linux operativnim sistemom na što jednostavniji
način. Red Hat je bio dugo vremena bila jedna od najpopularnijih Linux distribucija u svetu.
Iz ove Linux distribucije je nastala još jedna distribucija, a to je Fedora Core. Red Hat
distribucija je nastala 1994. godine.
22
6. ZBOG ČEGA TREBA KORISTITI LINUX
Linux ćete koristiti jer je to danas jedini operativni sistem koji u potpunosti podržava
višekorisnički rad. Ni jedan drugi operativni sistem ne nudi vam te mogućnosti u toliko
moćnom obliku kao Linux. Osim toga, koristeći Linux sigurno nećete postati žrtva raznih
sumnjivih trgovaca. Takođe nećete svakih par godina morati nadograđivati programe i na to
trošiti znatne sume novca. Mnoge Linux aplikacije možete besplatno naći na Internetu, kao
i izvorni kod samog Linuxa. S obzirom da imate mogućnost pristupa izvornom kodu, možete
menjati i operativni sistem te ga prilagođivati svojim potrebama, što nije slučaj niti s jednim
komercijalnim operativnim sistemom kao što su Windowsi NT, Windowsi 95, MS-DOS i
OS/2.
Linux nije igračka već sistem stvoren da bi korisnicima dao osećaj učestvovanja u
novom projektu, baš kao što je to bilo na početku razvoja personalnih računara. Uprkos
svemu, Linux je stabilan na mnogim sistemima i kao takav predstavlja jeftinu osnovu za
učenje i korišćenje jednog od najpopularnijih operativnih sistema današnjice – UNIX-a.
Mnoge informatičke kuće i izdavači CD-ova, kao što su Red Hat ili Caldera, sada podržavaju
operativni sistem Linux. Ovaj sistem predstavlja zamenu drugim UNIX sistemima i
može se upotrebiti umesto tih, ponekad skupih sistema.
7. PREDNOSTI UPOTREBE LINUXA
Upotreba Linuxa ima mnoge prednosti. U odnosu na mnoge operativne sisteme koji
se danas koriste, Linux je najpopularniji besplatni sistem. Linux se pojavljuje s potpuno
implemetiranim mrežnim protokolom TCP/IP. Uz pomoć Linuxa možete ostvariti vezu na
Internet i na njemu koristiti more informacija koje ta globalna mreža sadrži. Takođe nudi i
celovit sistem za slanje i primanje e-pošte.
Danas sve to možete dobiti s Linuxom i to praktično besplatno. Sav trošak
predstavlja cena kopiranja programa s Interneta ili putem e-pošte (što je moguće dobiti od
nekoliko različitih proizvođača). Naravno, kod odgovarajućih prodavaca možete kupiti
(cena nije visoka) celovit Linux sistem na CD-ROM-ovima.
23
8. NEDOSTACI UPOTREBE LINUXA
VeroVatno najveći nedostatak upotrebe Linuxa leži u činjenici da ni jedna
korporacija nije uključena u njegov razvoj. Ukoliko nešto krene po zlu ili ako naiđete na
problem, nećete moći upotrebiti neki od besplatnih telefonskih brojeva kako biste zatražili
pomoć.
Kada malo bolje o tome razmislite, možete li na sličnim brojevima zaista dobiti
adekvatnu pomoć i za postojeće komercijalne sisteme? Koliko ste se puta nekome obratili
tražeći tehničku pomoć i dobili odgovor na svoja pitanja? Koliko ste puta zamoljeni da svoje
pitanje pošaljete poštom kako biste dobili na njega odgovor? Pa dobro, kod Linuxa
zaista ne postoji telefonski broj za tehničku podršku, ali postoje hiljade korisnika koji mogu
odgovoriti na vaša pitanja.
Drugi nedostatak je taj što Linux teško možete instalirati na svim hardverskim
platformama. Za razliku od komercijalnih programa, kod kojih se program mesecima stvara
i proverava uz različiti hardver, tvorci Linuxa su raštrkani po čitavom svetu i ne postoji
mogućnost osiguranja kvaliteta programa. Tvorci programa ga objavljuju u trenutku kada
im se to učini pogodnim. Takođe, hardver koji podržava Linux zavisi o hardveru koji koristi
svaki pojedini programer dok piše deo programskog koda. Zbog toga Linux ne radi sa svim
hardverskim komponentama koje se danas koriste u računarima.
Još jedan nedostatak je taj da postojeće aplikacije za operativne sisteme kao što su
DOS i OS/2 u većini slučajeva neće raditi pod Linuxom. Na svu sreću, ti se drugi sustemi
mogu koristiti zajedno s Linuxom tako da, iako ne možete oba operativna sistema
istovremeno pokrenuti, imate mogućnost napustiti Linux i podići drugi operativni sistem da
biste koristili svoje aplikacije. Trenutno se radi na Linux emulatorima koji pokreću DOS i
Windows programe.
24
9. BITNE RAZLIKE WINDOWSA I LINUXA
9.1 Instalacija aplikacija
Windows programi imaju svoje alate za instalaciju, dok je kod Linuxa stvar nešto drugačija
i praktičnija. Aplikacije se preuzimaju preko interneta iz svojevrsne riznice softvera (slično
kao na Android Play Storeu), nadograđuju kad je potrebno, te su čak dodatno optimizirane
za distribuciju koju koristite. Naravno, tu su i DEB ili RPM paketi koje bi mogli uporediti s
Windows “Setup.exe” vodičima kroz instalaciju – nakon pokretanja instaliraju program te
dodaju prečice za pokretanje u izbornik s aplikacijama, ali nisu univerzalni već zavise o
distribuciji koju koristite (Debian, Fedora, openSUSE… itd.).
9.2 Nastavci datoteka
Nakon prelaska na Linux ljudi se lako zbune jer su u stalnoj potrazi i forsiranju toga
da datoteka ima nastavak. Na Windowsima .txt je tekstualna datoteka, dok je na Linuxu
dovoljno samo ime datoteke, recimo Projekt123, bez ikakvog nastavka. Linux zna o kojoj
vrsti datoteke se radi, izgledom ikone će vam predstaviti o čemu je reč, a čak se i iz terminala
uz naredbu file ime-datoteke može saznati o kakvoj vrsti datoteke je reč.
9.3 Velika i mala slova
Na Windowsima ste navikli da imena datoteka i ostalog pišete kako hoćete, najčešće
kombinacijom velikih i malih slova. Međutim, na Linuxu, primer “Projekt123” nije isto kao
i “projekt123”. Ovaj drugi je napisan malim početnim slovom i samim time na Linuxu je
različita datoteka od one “Projekt123”. U praksi treba neko vreme da se naviknete na ovo –
Windows ne razlikuje mala i velika slova dok Linux razlikuje.
25
9.4 Podela tvrdog diska na particije
Na Windowsima je sistem (tvrdi disk) podeljen na par particija – one najčešće nose
naziv C:, D: itd, po čemu ih razlikujemo. Na C: se obično nalazi sistem i osnovni podaci
korisnika kao što je sadržaj Mojih dokumenata i sl., dok se na D: u praksi stavljaju filmovi
i sl. veće stvari.
Na Linuxu postoji root particija koja je rezervirana samo za sistem i aplikacije koje
će se instalirati. Za pristup treba vam root pristup, što je super jer niko osim vas ne može ući
unutra i greškom izbrisati nešto bitno te tako sistem učiniti neupotrebljivim. Tu je i /home
particija, koja sadrži sve lične podatke korisnika (dokumenta, muziku, slike itd.), kao i
postavke određenih instaliranih programa. Ako root particija propadne, nakon ponovne
instalacije sistema i programa, oni će zadržati stare podatke, što je prilično praktično (kao i
u slučaju preseljenja). Linux će prikazati i ostale particije koje imate na sistemu, uključujući
Windows NTFS particije. Iz Windowsa se može pristupiti Linux particijama, ali tek uz
pomoć određene aplikacije.
Važno je napomenuti da Linux ne koristi slova za označavanje particija (C:, D:, E:,
itd.), već ih naziva sda1, sda2, sda3… itd.
9.5 Predinstalirane aplikacije
Po pitanju aplikacija, nakon instalacije sistema, Windowsi su prilično pusti i čeka
vas dosta gnjavaže oko instalacije aplikacija kao što je web pregledač koji nije IE, antivirus,
office paket, muzički plejer, video plejer, torrent klijent, alat za rad s grafikom… itd. S druge
strane, na Linuxu sve ove aplikacije (osim antivirusa) već dolaze predinstalirane i spremne
za korišćenje. Ista stvar je s mnogo upravljačkih programa (eng. drivers), pa često imamo
slučaj “upali i vozi”.
26
9.6 Antivirusni softver
Gore sam spomenuo antivirus koji se ne isporučuje s Linuxom (i ako za njega postoje
isti), a tako je s razlogom. Linux je praktično imun na viruse, jer su gotovo svi pisani za
Windows operativni sistem i na Linux platformi ne mogu napraviti nikakvu štetu. Neki ipak
koriste antivirus, ali samo kako bi zaštitili ostale računare u mreži ili slučajno USB štapićem
ili e-mailom nekome preneli virus u računar.
9.7 Korisnici
Ekipa koja koristi Windows često igra igre, visi na Facebooku i domaćim portalima.
S druge strane, Linux korisnici su odreda sve iskusniji korisnici računara, nekad i preiskusni
zbog čega pomisle da mogu biti arogantni. Druže se međusobno, skupljaju u zajednice,
volontiraju, prevode, spremni su pomoći, a na sto Linux korisnika dolazi jedna ženska osoba.
9.8 Vrieme između objave novih izdanja
Windowsi nemaju zadati rok za objavu novog izdanja. Nekad može potrajati
godinama, kao što je slučaj bio nakon izlaska Windows XP, a nekad novo izdanje izađe
ubrzo nakon prethodnog koje se pokazalo kao promašaj (Windows Millenium, Windows
Vista, Windows 8). U Linux svetu stvari su malo drugačije – postoji više distribucija koje
su u osnovi po želji autora distribucije (odabrane stvari koje se nalaze u sistema kao što su
kernel, grafičko okruženje, aplikacije, detalji kao što su pozadina i sl.). Svaka od njih (osim
rolling release distribucija) ima zadati rok za objavu novog izdanja, koji najčešće iznosi
svega 6 meseci, negde 8 meseci, a negde – kad bude spreman, odnosno isto kao s
Windowsima.
27
9.9 Pomaganje pri razvoju sistema
Windowsi su vlasnički softver čiji kod nije dostupan. Ponekad, kad se nešto sruši,
iskoči prozor s greškom i tu stvari staju. Taj bug rešiće zaposleni Microsofta, ali tek nakon
što saznaju za njega. S druge strane, Linux je otvoreni sistem i korisnici doprinose njegovom
poboljšanju. Ako se nešto sruši, korisnici često bug prijave onima koji razvijaju sistem i on
se brzo reši. Tu nije kraj s doprinosima; možete prevesti nešto od softvera na jezik koji
koristite, napraviti ili glasati za pozadinsku sliku, predložiti nove funkcije, organizovati
InstallFest i mnogo toga drugog. Na Linuxu direktno sarađujete kako bi imali što bolji, a
opet – besplatan sistem.
28
10. ZAKLJUČAK
Linux je dugo smatran nedovoljno ozbiljnim sistemom za svakodnevnu upotrebu,
sistemom limitiranih mogućnosti i pogodnim samo za određene, usko specijalizovane
namene, kao što su ruter-i, firewall-ovi, web serveri i sl. Međutim, mogućnost uvida u sam
kod, njegova promena, široka zajednica korisnika, cena, fleksibilnost, stabilnost, brzina, a
možda i najvažnije – finansijska i druga podrška giganata kompjuterske industrije dala je
krila operativnom sistemu koji je, kako neki kažu, pokupio od svih najbolje i na jakoj osnovi
objedinio tehnologije i ideje neophodne za stvaranje operativnog sistema sledeće generacije.
Sve veći broj programa i specijalizovanog, korisničkog softvera koji je bio
karakterističan za vlasničke operativne sisteme se prevodi i optimizuje specijlano za Linux.
Popularnost Linux-a nezadrživo raste svakim danom i samo je pitanje dana kada će giganti
poput, recimo Microsofta priznati da su dobili ozbiljnog konkurenta. Po meni, Linux je već
sada nezamenjiv u radnim organizacijama, akademskim i državnim institucijama, kao i kod
pojedinaca entuzijasta i kućnih korisnika koji su fascinirani fleksibilnošću, otvorenošću i
naprednim idejama koje Linux propagira.
29
11. LITERATURA
1. Borislav Đorđević,Dragan Pleskonjić, Knjiga “Operativni sistemi UNIX i
Linux” Viša elektrotehnicka škola, Beograd, 2004
2. http://www.sk.co.rs/2014/11/sklp01.html
3. http://tutoriali.org/Linux_Biblija.html
4. https://raf.edu.rs/
5. http://www.linuxzasve.com/

More Related Content

What's hot

Sistemski softver i aplikativni programi
Sistemski softver i aplikativni programiSistemski softver i aplikativni programi
Sistemski softver i aplikativni programiJasmina Profil
 
Monitori - Aleksandra Živadinović - Nataša Stojković
Monitori - Aleksandra Živadinović - Nataša StojkovićMonitori - Aleksandra Živadinović - Nataša Stojković
Monitori - Aleksandra Živadinović - Nataša StojkovićNašaŠkola.Net
 
Uticaj komponennata na performanske racunara
Uticaj komponennata na performanske racunaraUticaj komponennata na performanske racunara
Uticaj komponennata na performanske racunaraNatasa Pantovic
 
Racunarski software
Racunarski softwareRacunarski software
Racunarski softwareucionica
 
šTa je algoritam i programiranje
šTa je algoritam i programiranješTa je algoritam i programiranje
šTa je algoritam i programiranjeSuzana Miljković
 
Računarski sistem
Računarski sistemRačunarski sistem
Računarski sistemOlga Klisura
 
05 vrste-memorija
05 vrste-memorija05 vrste-memorija
05 vrste-memorijaJecaNemica
 
Hardver i softver - Dimitrije Stevanović - Dragan Ilić
Hardver i softver - Dimitrije Stevanović - Dragan IlićHardver i softver - Dimitrije Stevanović - Dragan Ilić
Hardver i softver - Dimitrije Stevanović - Dragan IlićNašaŠkola.Net
 
Sofrtware operativni sistemi
Sofrtware   operativni sistemiSofrtware   operativni sistemi
Sofrtware operativni sistemiJasmina Profil
 
Procesor(CPU)
Procesor(CPU)Procesor(CPU)
Procesor(CPU)mervan123
 
ikt-u-svakodnevnom-okruzenju.pptx
ikt-u-svakodnevnom-okruzenju.pptxikt-u-svakodnevnom-okruzenju.pptx
ikt-u-svakodnevnom-okruzenju.pptxraven0241
 
6. Uvod u informatiku - Hardver i softver računara
6. Uvod u informatiku - Hardver i softver računara6. Uvod u informatiku - Hardver i softver računara
6. Uvod u informatiku - Hardver i softver računaraZoran Ilić
 
04 procesor-ploca-magistrala-portovi
04 procesor-ploca-magistrala-portovi04 procesor-ploca-magistrala-portovi
04 procesor-ploca-magistrala-portovidjudjujag
 
Grafička kartica
Grafička karticaGrafička kartica
Grafička karticaGigabite97
 
Racunarstvo u oblaku.ppts
Racunarstvo u oblaku.pptsRacunarstvo u oblaku.ppts
Racunarstvo u oblaku.pptsLazar Milincic
 

What's hot (20)

Sistemski softver i aplikativni programi
Sistemski softver i aplikativni programiSistemski softver i aplikativni programi
Sistemski softver i aplikativni programi
 
Monitori - Aleksandra Živadinović - Nataša Stojković
Monitori - Aleksandra Živadinović - Nataša StojkovićMonitori - Aleksandra Živadinović - Nataša Stojković
Monitori - Aleksandra Živadinović - Nataša Stojković
 
Računarski sistem
Računarski sistemRačunarski sistem
Računarski sistem
 
Računarske mreže
Računarske mrežeRačunarske mreže
Računarske mreže
 
Uticaj komponennata na performanske racunara
Uticaj komponennata na performanske racunaraUticaj komponennata na performanske racunara
Uticaj komponennata na performanske racunara
 
Racunarski software
Racunarski softwareRacunarski software
Racunarski software
 
šTa je algoritam i programiranje
šTa je algoritam i programiranješTa je algoritam i programiranje
šTa je algoritam i programiranje
 
Računarski sistem
Računarski sistemRačunarski sistem
Računarski sistem
 
05 vrste-memorija
05 vrste-memorija05 vrste-memorija
05 vrste-memorija
 
Ulazni uređaji
Ulazni uređajiUlazni uređaji
Ulazni uređaji
 
Hardver i softver - Dimitrije Stevanović - Dragan Ilić
Hardver i softver - Dimitrije Stevanović - Dragan IlićHardver i softver - Dimitrije Stevanović - Dragan Ilić
Hardver i softver - Dimitrije Stevanović - Dragan Ilić
 
Miš
MišMiš
Miš
 
Sofrtware operativni sistemi
Sofrtware   operativni sistemiSofrtware   operativni sistemi
Sofrtware operativni sistemi
 
Procesor(CPU)
Procesor(CPU)Procesor(CPU)
Procesor(CPU)
 
ikt-u-svakodnevnom-okruzenju.pptx
ikt-u-svakodnevnom-okruzenju.pptxikt-u-svakodnevnom-okruzenju.pptx
ikt-u-svakodnevnom-okruzenju.pptx
 
6. Uvod u informatiku - Hardver i softver računara
6. Uvod u informatiku - Hardver i softver računara6. Uvod u informatiku - Hardver i softver računara
6. Uvod u informatiku - Hardver i softver računara
 
Улазно – излазни уређаји
Улазно – излазни  уређајиУлазно – излазни  уређаји
Улазно – излазни уређаји
 
04 procesor-ploca-magistrala-portovi
04 procesor-ploca-magistrala-portovi04 procesor-ploca-magistrala-portovi
04 procesor-ploca-magistrala-portovi
 
Grafička kartica
Grafička karticaGrafička kartica
Grafička kartica
 
Racunarstvo u oblaku.ppts
Racunarstvo u oblaku.pptsRacunarstvo u oblaku.ppts
Racunarstvo u oblaku.ppts
 

Similar to Operativni sistem linux

21.čas.operativni sistemi
21.čas.operativni sistemi21.čas.operativni sistemi
21.čas.operativni sistemiLjiljana Rehner
 
UPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesaUPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesaMilan Zdravković
 
Konfiguracija racunara
Konfiguracija racunaraKonfiguracija racunara
Konfiguracija racunaramajapts
 
архитектура микропроцесора
архитектура микропроцесораархитектура микропроцесора
архитектура микропроцесораNikola Filipović
 
Racunarski sistemi.luka i dacha
Racunarski sistemi.luka i dachaRacunarski sistemi.luka i dacha
Racunarski sistemi.luka i dachalukaidamjan
 
структура рачунара
структура рачунараструктура рачунара
структура рачунараJasnaArsic
 
Računarski Sistem
Računarski SistemRačunarski Sistem
Računarski SistemVeljaMilan
 
Operativni sistemi i i o
Operativni sistemi i i oOperativni sistemi i i o
Operativni sistemi i i oOlga Klisura
 

Similar to Operativni sistem linux (20)

21.čas.operativni sistemi
21.čas.operativni sistemi21.čas.operativni sistemi
21.čas.operativni sistemi
 
Sofrtware operativni sistemi
Sofrtware   operativni sistemiSofrtware   operativni sistemi
Sofrtware operativni sistemi
 
Mikroracunari 2
Mikroracunari 2Mikroracunari 2
Mikroracunari 2
 
Os ideo
Os ideoOs ideo
Os ideo
 
Us operativni sistemi
Us   operativni sistemiUs   operativni sistemi
Us operativni sistemi
 
UPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesaUPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesa
 
Rac seminar
Rac seminarRac seminar
Rac seminar
 
Konfiguracija racunara
Konfiguracija racunaraKonfiguracija racunara
Konfiguracija racunara
 
архитектура микропроцесора
архитектура микропроцесораархитектура микропроцесора
архитектура микропроцесора
 
Racunarski sistemi.luka i dacha
Racunarski sistemi.luka i dachaRacunarski sistemi.luka i dacha
Racunarski sistemi.luka i dacha
 
структура рачунара
структура рачунараструктура рачунара
структура рачунара
 
Softver racunara
Softver racunaraSoftver racunara
Softver racunara
 
IT7-L2.pptx
IT7-L2.pptxIT7-L2.pptx
IT7-L2.pptx
 
Ekspertni sistemi
Ekspertni sistemiEkspertni sistemi
Ekspertni sistemi
 
Program i potprogram
Program i potprogram Program i potprogram
Program i potprogram
 
Računarski Sistem
Računarski SistemRačunarski Sistem
Računarski Sistem
 
Operativni sistemi i i o
Operativni sistemi i i oOperativni sistemi i i o
Operativni sistemi i i o
 
Mkt 133
Mkt 133Mkt 133
Mkt 133
 
Mkt 133
Mkt 133Mkt 133
Mkt 133
 
Mkt 133
Mkt 133Mkt 133
Mkt 133
 

Operativni sistem linux

  • 2. 1 Sadržaj: 1. ŠTA JE OPERATIVNI SISTEM? .................................................................................3 2. ISTORIJA LINUXA ......................................................................................................7 3. PREGLED LINUX SISTEMA ......................................................................................9 3.1 Linux kernel..........................................................................................................10 3.2 Struktura Linux sistema........................................................................................11 3.3 Modularni kernel...................................................................................................12 3.4 Značajni delovi kernela.........................................................................................13 3.5 Upravljanje procesima ..........................................................................................14 3.6 Komunikacija između procesa...................................................................................14 3.6 Upravljanje memorijom........................................................................................14 3.7 Izvršavanje korisničkih programa.........................................................................15 3.8 Mrežne strukture...................................................................................................16 4. OSNOVNI SERVISI LINUX SISTEMA ....................................................................16 4.1 Periodično izvršavanje komandi...........................................................................17 4.2 Grafički korisnički interfejs..................................................................................18 4.3 Mrežni rad.............................................................................................................18 4.4 Deljenje datoteka i mrežni sistemi datoteka .........................................................18 4.5 Štampanje..............................................................................................................19 5. LINUX DISTRIBUCIJE..............................................................................................20 5.1 Slackware..............................................................................................................20 5.2 Debian...................................................................................................................20 5.3 Ubuntu ..................................................................................................................20 5.4 Mint.......................................................................................................................21 5.5 Fedora Core...........................................................................................................21 5.6 Red Hat .................................................................................................................21 6. ZBOG ČEGA TREBA KORISTITI LINUX...............................................................22 7. PREDNOSTI UPOTREBE LINUXA..........................................................................22 8. NEDOSTACI UPOTREBE LINUXA .........................................................................23 9. BITNE RAZLIKE WINDOWSA I LINUXA..............................................................24 9.1 Instalacija aplikacija .............................................................................................24 9.2 Nastavci datoteka..................................................................................................24 9.3 Velika i mala slova ...............................................................................................24 9.4 Podela tvrdog diska na particije............................................................................25 9.5 Predinstalirane aplikacije......................................................................................25
  • 3. 2 9.6 Antivirusni softver ................................................................................................26 9.7 Korisnici................................................................................................................26 9.8 Vrieme između objave novih izdanja ...................................................................26 9.9 Pomaganje pri razvoju sistema .............................................................................27 10. ZAKLJUČAK...........................................................................................................28 11. LITERATURA.........................................................................................................29
  • 4. 3 1. ŠTA JE OPERATIVNI SISTEM? Pod pojmom operativnog sistema u klasičnom smislu podrazumeva se "softver potreban za izvršavanje (aplikativnih) programa i za koordinaciju aktivnosti računarskog sistema. Taj softver može obuhvatati procedure raspodele resursa računarskog sistema, kontrole ulazno-izlaznih operacija, upravljanja memorijom, upravljanja podacima, prevođenja programskih jezika itd.". Iz ove se definicije vidi da ona polazi od koncepcije računara opšte namene kao jedino moguće arhitekture računarskog sistema. Upravo zbog toga ona među funkcije operativnog sistema uključuje i funkciju prevođenja programskih jezika. Međutim, trend specijalizacije elektronskih računara imao je kao posledicu modifikaciju definicije operativnog sistema, što se uočava iz sledeće definicije: "Pojam operativnog sistema obuhvata one programske module u računarskom sistemu pomoću kojih se realizuje kontrola hardverskih resursa, ulazno-izlaznih uređaja i datoteka. Ti moduli razrešavaju konflikte, pokušavaju da optimizuju funkcionisanje i pojednostave upotrebu računarskog sistema. Operativni sistem, dakle, deluje poput posrednika između korisničkih programa i fizičkog računarskog hardvera." Takvo određenje operativnog sistema neosporno ukazuje na njegovo poimanje u funkciji bazičnog sistemskog softvera. Polazeći od druge navedene definicije, funkcijama operativnog sistema treba smatrati: funkcije upravljanja memorijom računara; funkcije upravljanja centralnim procesorom računara; funkcije upravljanja periferijskim uređajima; funkcije upravljanja podacima, odnosno informacijama; procedure optimizacije kompleksa navedenih funkcija. Moduli operativnog sistema koji realizuju funkcije upravljanja memorijom računara odražavaju, u principu, koncepciju korišćenja memorije računara po kojoj procesor sistema treba da smesti određene instrukcije i podatke. Ti moduli, dakle, pre svega vode računa o "zauzetosti" ili "nezauzetosti" pojedinih delova memorije, utvrđuju "politiku" alokacije određenih sadržaja u memoriji (raspodela memorije), realizuju tu politiku alokacije korišćenjem izvesnih tehnika alokacije (adresiranje memorije), te utvrđuju "politiku" i tehnike dealokacije (brisanja ili transfera) sadržaja memorije. Memorije različitih računara
  • 5. 4 organizovane su na različite načine, a kao posledica toga javljaju se brojne razlike u složenosti i međusobnim vezama modula operativnih sistema kojima se ostvaruju funkcije upravljanja memorijom. Računarski sistemi mogu obuhvatati jedan ili više procesora, dakle hardverskih uređaja kojima se realizuju aritmetičke, logičke i ostale operacije koje podržava elektronski računar. Kod jednoprocesorskih sistema zadaci modula koji realizuju funkcije upravljanja procesorom relativno su jednostavni i svode se na izazivanje specifičnih aktivnosti tog procesora kojima se realizuje obrada određenog aplikativnog programa. Ti zadaci su kod višeprocesorskih sistema daleko složeniji. Moduli operativnog sistema te vrste moraju u prvom redu dodeljivati pojedine zadatke obrade pojedinim procesorima, odnosno, preciznije rečeno, pojedine procesore dodeljivati pojedinim zadacima obrade. Iz navedenog proizilazi da uvek moraju postojati barem dva skupa modula za upravljanje procesorima računarskog sistema: moduli koji kontrolišu i "vode brigu" o zadacima obrade i moduli koji nadziru status i rad procesora. Njihovom interakcijom ostvaruje se pomenuti primarni zadatak ovog segmenta operativnog sistema - dodeljivanje procesora pojedinim zadacima obrade. U realnim uslovima rada elektronskih računara izvesni zamašniji zadaci obrade obično se segmentiraju, a ti se segmenti upućuju različitim procesorima na paralelnu ili sukcesivnu obradu, pa obično postoji i skup modula operativnog sistema koji sinhronizuje takve tokove obrade. Navedeni opis načina na koji operativni sistem realizuje funkcije upravljanja sistemskim procesorima veoma je pojednostavljen, ali dublja razmatranja zahtevala bi i detaljnije poznavanje načina rada računarskih sistema. Sa stanovišta operativnog sistema svi hardverski uređaji, izuzev procesora i memorije, predstavljaju periferiju ili periferijske uređaje računarskog sistema. Radom tih uređaja upravlja određeni skup modula operativnog sistema, čiji je osnovni zadatak, dakle, upravljanje periferijskim uređajima, kojih u nekim konfiguracijama može biti vrlo mnogo. Ti moduli moraju, u najkraćim crtama, izvršavati sledeće funkcije: evidencija i nadzor nad svim priključenim perifernim uređajima, bez obzira jesu li oni u datom trenutku aktivni ili neaktivni; utvrđivanje "politike" dodeljivanja tih uređaja pojedinim aktivnim obradama, dimenzionisanje dužine vremena upotrebe tih uređaja i trenutka njihovog zauzeća, odnosno oslobađanja;
  • 6. 5 fizičko povezivanje određenih tokova obrade podataka sa određenim periferijama; fizičko oslobađanje periferija od pojedinih zadataka obrade. Operativni sistem mora "znati" koji sve periferni i pomoćni uređaji postoje u datoj konfiguraciji računarskog sistema, baš kao što mora "znati" šta svaki od tih uređaja u određenom trenutku radi. Takvu evidenciju on vodi održavanjem posebne, tzv. statusne datoteke podataka o svakom perifernom i podržanom uređaju. Dalje, operativni sistem mora donositi odluke o tome hoće li se neki periferni uređaj dodeliti isključivo jednom specifičnom zadatku obrade itd. Moduli operativnog sistema koji realizuju sve navedene funkcije upravljanja periferijskim uređajima računarskog sistema mogu se, stoga, razvrstati u tri uže grupe: moduli koji realizuju ulazno/izlazni promet zadatka obrade i podataka; moduli koji raspoređuju periferije i podržavaju uređaje prema zahtevima postojećih zadataka obrade; moduli koji fizički upravljaju radom periferija i pomoćnih uređaja. Funkcija upravljanja podacima, odnosno informacijama, odnosi se na memorisanje i manipulisanje podacima, odnosno informacijama. Podatke računar održava u formi datoteka, baze ili banke podataka. U aplikativnim programima mora se navesti kojim se podacima, odnosno datotekama želi pristup, a operativni sistem takve podatke ili datoteke mora pronaći, odnosno formirati i smestiti na neku fizičku lokaciju. Iz navedenog proizilazi da se funkcija upravljanja podacima, odnosno informacijama, koju mora vršiti operativni sistem može raščlaniti na sledeće potfunkcije: vođenje evidencije o svim podacima, odnosno informacijama koje stoje na raspolaganju elektronskom računaru, tj. do kojih se može direktno pristupati; utvrđivanje strategije memorisanja podataka i odobravanje pristupa tim podacima pojedinim subjektima posredstvom aplikativnih programa; alokacija informacijskih resursa, odnosno dodeljivanje određenih podataka onim zadacima obrade koji ih u datom trenutku zahtevaju. Evidenciju o postojećim podacima, odnosno informacijama memorisanim na sekundarnim memorijama računara operativni sistem vodi održavanjem posebnih tabela opisivača tih podataka (engl. File Directory). Te su tabele smeštene u memoriji računara i u
  • 7. 6 njima su navedeni nazivi, lokacije i eventualna ograničenja pristupa svim podacima koji se čuvaju na eksternim memorijama direktnog pristupa (jedinice magnetnih diskova). Operativni sistem ispituje sadržaj tih tabela pre nego što omogući pristup nekog aplikativnog programa određenim podacima. Operativni sistem mora, dakle, i formirati takve tabele, a to čini delimično pre, a delimično posle formiranja datoteka podataka. Pri formiranju datoteka podataka (i tabela njihovih opisivača) operativni sistem se mora pridržavati određene strategije memorisanja koja mora kombinovati načela racionalnog korišćenja memorijskog prostora, efikasnog pristupa memorisanim podacima, fleksibilnosti koju pruža aplikativnim programima i zaštite podataka, odnosno informacija od neželjenog pristupa. Kada neki aplikativni program jednom zatraži određene podatke, operativni sistem ih mora pronaći, kao što mora ostvariti i sve uslove pod kojima aplikativni program te memorisane podatke može koristiti. Obratno, kada neki podaci određenom aplikativnom programu više nisu potrebni, operativni sistem ih se mora osloboditi i staviti u "stanje mirovanja". Posebno složene zadatke on mora izvršiti u onom slučaju kada je korisnik posredovanjem aplikativnog programa te podatke na neki način modifikovao, ažurirao ili čak i uništio. Već i dosadašnji opis modula operativnog sistema i njihovih funkcija jasno govori o izuzetnoj složenosti ovog segmenta sistemskog softvera. Očigledno je da takvim kompleksnim sistemom mora upravljati jedan njegov izdvojeni segment, koji se u neku ruku može smatrati jezgrom celokupnog operativnog sistema. Skup takvih modula ponekad se naziva monitorom (ponekad se monitorom naziva i čitav operativni sistem; ne mešati sa hardverskim uređajem zvanim monitor (ekran)) ili supervizorom operativnog sistema i njegova osnovna funkcija jeste sprovođenje procedura optimizacije kompleksa funkcija čitavog operativnog sistema. Monitor, dakle, nadzire, koordinira i vrši pokušaje optimizacije rada svih ostalih modula operativnog sistema. Zbog takve njegove uloge on je bez izuzetka smešten u glavnoj memoriji računara, što nije uvek slučaj sa ostalim segmentima operativnog sistema. U zavisnosti od veličine glavne memorije računara, arhitekture računara, od strukture zadataka obrade, te od mnoštva drugih činilaca, pojedini segmenti operativnog sistema mogu biti smešteni na nekoj sekundarnoj memoriji, prvenstveno na magnetskim diskovima. Takvi operativni sistemi obično se nazivaju disk operativnim sistemima (DOS).
  • 8. 7 U slučaju disk operativnih sistema monitoru se dodeljuju i zadaci nadzora nad smeštanjem ostalih modula operativnog sistema u sekundarnim memorijama, pronalaženja i pozivanja tih modula kada se ukaže potreba, njihovog privremenog premeštanja u glavnu memoriju i kasnije ponovnog memorisanja u sekundarnu memoriju. Ti se zadaci, dakako, uveliko komplikuju kod višeprocesorskih računarskih sistema ili sistema koji rade u uslovima tzv. deljenja vremena (engl. Time-Sharing) ili multiprogramiranja (engl. Multiprogramming) te kod sistema sa velikim brojem ulazno-izlaznih kanala. Kada je reč o mini-računarima i personalnim računarima, ističe se koncepcija specijalizacije operativnih sistema, odnosno sužavanja spektra funkcija koje oni moraju realizovati prema suženom profilu aplikacija takvih računara. Tako se neke do tada bazične ili standardne funkcije operativnog sistema transformišu u opcione funkcije, a softverski moduli koji ih izvršavaju svrstavaju se u kategoriju programa za opsluživanje. Repertoar programa za opsluživanje raste na račun opsega modula operativnog sistema. Kriterijum takve transformacije predstavlja isključivo učestalost korišćenja određenih modula sistemskog softvera. No ove procese ipak ne treba shvatati simplifikovano, gotovo kao neku administrativnu akciju kojom se samo formalno razlučuju različite kategorije modula sistemskog softvera. Ne treba, naime, zaboraviti da programi za opsluživanje zapravo predstavljaju korisnike operativnog sistema, pa u sam operativni sistem moraju biti ugrađeni izvesni postupci koji će omogućiti realizovanje takve nove uloge i operativnog sistema i programa za opsluživanje. Tako se specijalizacija operativnih sistema plaća dodavanjem nekih novih pomoćnih funkcija, ali se ipak u globalu može reći da je rezultat takvih transformacija po pravilu pozitivan. 2. ISTORIJA LINUXA Linux je ime računarskog operativnog sistema koje je dobio po izvornom autoru Linusu Torvaldsu. Linus Torvalds je napravio svoje jezgro operativnog sistema koristeći SunOS, danas pod nazivom Solaris. Nakon izvesnog vremena nakon što je Torvalds koristio jezgro svog operativnog sistema, Torvalds je 1991. godine objavio svoj izvorni kod na internetu sa jednim razlogom : da ljudi iz čitavog sveta učestvuju u razvoju operativnog sistema. Razlika Linuxa u odnosu na ostale računarske operatvne sisteme je to što je Linux slobodan softver, to jest izvorni kod je dostupan svima. Za njegov brzi razvoj zaslužni su razvoj globalne komunikacijske mreže i GPL licenca za njegovo korišćenje.
  • 9. 8 Slika 1. Simbol Linux sistema Linux je nastao 05. oktobra. 1991 godine. U prvim danima Linux se koristio kao eksperimentalni operativni sistem, a koristili su ga studenti, hakeri, programeri i ljudi koji su orijentisani na rad sa računarom. Nastankom Apache Web Server, Linux je u par godina istisnuo druge operativne sisteme slične Unixu. Linux, operativni sistem, se slabo pojavljuje na kućnim i kancelarijskim računarima iz razloga što napredovanje desktopa na Linuxu slabo napreduje. Još jedan razlog zbog čega se Linux ne pojavlju na kućnim i kancelarijskim računarima je to što se igre ne prave za ovaj operativni sistem, a i nedostaje još programa za ovaj operativni sistem. Još jedan problem Linuxa su programi ili drajveri koje kompanije retko izdaju ili korsnici odbijaju da ih koriste. Što se tiče sigurnosti Linuxa, danas postoje mnogo virusa, spayware-a i adware-a koji rade na Linuxu. Prvu verziju UNIX sistema razvio je Ken Thompson iz istraživačke grupe Bell laboratorija 1969. godine. Projektu se pridružio Dennis Ritchie i još nekolicina kolega koji su nastavili razvoj UNIX-a. Dennis Ritchie je pre toga radio na razvoju MULTICS operativnog sistema koji je imao jak uticaj na razvoj UNIX-a. Sledeća značajna verzija je Verzija 3, značajna po tome što je veći deo operativnog sistema bio napisan u programskom jeziku C, koji je razvijen u Bell laboratorijama kao podrška UNIX-u. Prva masovno korišćenja verzija UNIX operativnog sistema je Verzija 6 iz 1975. godine. Nakon Verzije 7 oformljena je posebna grupa, UNIX Support Group (USG) u okviru AT&T-a (u fiijem sastavu su Bell-ove laboratorije), čiji je zadatak bio da se brine o UNIX-u. Tako UNIX prestaje da bude istraživački alat i postaje komercijalan operativni sistem.Mnoge agencije se pridružuju razvoju UNIX-a. Među njima su Rand, BBN, DEC, SCO, i Univerziteti Illinois, Harvard, Purdue i drugi. Međutim, najveći uticaj van Bell laboratorija imao je Kalifornijski Univerzitet Berkley. Na ovom univerzitetu su započeli rad na VAX UNIX-u 32V, od koga su napravili verziju 3BSD. Ubrzo DARPA(Defence Advanced Research Projects Agency) naručuje od Berkley-ja standardni UNIX sistem za upotrebe u upravljanju. Tako je nastala verzija 4BSD. Ova verzija je obezbedila rad u mreži po DARPA Internet mrežnom protokolu
  • 10. 9 (TCP/IP). Na univerzitetu Berkley su razvijeni mnogi drajveri za terminale, novi korisnički interfejs (C shell), novi tekst editori, kompajleri za Pascal i Lisp, kao i mnogi drugi sistemski programi. Skraćenica BSD potiče od Berkley Software Distribution. UNIX je jedan od najboljih i najpopularnijih operativnih sistema u svetu. Prvobitno je dizajniran kao alat za naučnike i programere za rad na tada najjačim računarima, a kasnije je prilagođen i raznim drugim raznovrsnim namenama. Uprkos tako dizajniranom - "komplikovanom" korisničkom interfejsu, i nedostatku standardizacije postaoje najkorišćeniji operativni sistem, u poslovnoj primeni. Veliki broj drugih, sada popularnih, operativnih sistema kao svoju osnovu koriste neku verziju UNIX sistema. Danas su popularne distribucije Linuksa: Mint, Ubuntu, Red Hat, Debian, Suse, Fedora, itd. Linuks je danas vodeći operativni sistem kada su u pitanju serveri, radne stanice i superračunari. Zahvaljujući velikoj zainteresovanosti širom sveta, danas, nakon skoro 10 godina, Linuks je postao najveća pretnja Majkrosoftu. A od verzija UNIX-a se koriste još Solaris, Mac OS i BSD. 3. PREGLED LINUX SISTEMA Linux je višekorisnički, višeprocesni operativni sistem sa potpunim skupom UNIX kompatibilnih alata, projektovan tako da poštuje relevantne POSIX standarde. Linux sistemi podržavaju tradicionalnu UNIX semantiku i potpuno implementiraju standardni UNIX mrežni model. Linux operativni sistem sastoji se od kernela, sistemskog softvera, korisničkih aplikacija, programskih prevodilaca i njihovih odgovarajućih biblioteka (GCC - GNU C Compiler i C biblioteka za Linux) i dokumentacije. Sadržaj konkretne Linux distribucije definisan je sadržajem instalacionih medijuma, koji u slučaju nekih Linux sistema uključuju razne FTP sajtove širom sveta. Kernel je jezgro operativnog sistema - on omogućava konkurentno izvršavanje procesa, dodeljuje im memoriju i druge resurse i obezbeđuje mehanizam za ostvarivanje usluga operativnog sistema. Kernel štiti korisničke procese od direktnog pristupa hardveru - procesi pristupaju hardveru korišćenjem sistemskih poziva kernela, čime se obezbeđuje
  • 11. 10 jedna vrsta zaštite između samih korisnika. Sistemski programi koriste kernel u cilju implementacije različitih servisa operativnog sistema. Svi programi, uključujući i sistemske, funkcionišu na nivou iznad kernela, što se naziva korisnički režim rada, dok se sistemske aktivnosti poput pristupa hardveru obavljaju na nivou kernela, odnosno u sistemskom režimu rada (supervisory mode). Razlika između sistemskih i aplikativnih programa je u njihovoj nameni: aplikacije su namenjene za razne korisne aktivnosti (kao što su obrada teksta i slike), dok su sistemski programi namenjeni za rad sa sistemom i administraciju. Na primer, tekst procesor je korisnička aplikacija, dok je komanda mount sistemski program. Razlike izmeću korisničkih i sistemskih programa su ponekad veoma male i značajne samo za stroge kategorizacije softvera. 3.1 Linux kernel Tri osnovne verzije Linux kernela su početna verzija, verzija 1.x i verzija 2.x Početna verzija 0.01, koju je 1991. godine kreirao Linus Torvalds, podržavala je samo Intel 80386 kompatibilne procesore, mali broj hardverskih uređaja i Minix sistem datoteka. Mrežni servisi nisu imali kernelsku podršku. Verzija 1.0, nastala u martu 1994. godine, uključivala je podršku za standardne TCP/IP mrežne protokole, BSD-kompatibilni socket interfejs za mrežno programiranje i drajversku podršku za mrežne kartice. Ova verzija je dodatno podržavala ext i ext2 sisteme datoteka, široku klasu SCSI disk kontrolera, kao i brojne hardverske uređaje. Verzija 1.2 (mart 1995) je poslednja verzija Linux kernela namenjena isključivo PC arhitekturi. U verziji 2.0 (jun 1996) uvedena je podrška za više arhitektura (Motorola i Intel procesori, Sun Sparc i PowerMac sistemi), kao i podrška za višeprocesorsku arhitekturu (SMP). Dodatno, poboljšano je upravljanje memorijom i uvećane se performanse TCP/IP protokol steka, a ugrađena je i podrška za unutrašnje kernelske niti (internal kernel threads). Kernel je modularizovan, odnosno uvedena je mikro- kernel struktura sa izmenljivim drajverskim modulima (loadable kernel modules), a standardizovan je i konfiguracioni interfejs.
  • 12. 11 3.2 Struktura Linux sistema Osnovu Linux sistema čine kernel, sistemske biblioteke i sistemski programi. Kernel je odgovoran za najznačajnije funkcije operativnog sistema. Dve osnovne karakteristike kernela su: kernel kôd se izvršava u kernelskom modu u kome je jedino moguće pristupati svim komponentama hardvera, kompletan kernel kôd i sve kernel strukture podataka čuvaju se u istom adresnom prostoru (monolithic). Kod većine UNIX sistema aplikacije se preko sistemskog poziva direktno obrađaju kernelu, kao što je prikazano na slici 2. Slika 2. UNIX kernel
  • 13. 12 Kod Linux sistema sistemski pozivi se upućuju kernelu preko sistemskih biblioteka koje definišu standardni set funkcija preko kojih aplikacije komuniciraju sa kernelom. Ovaj metod komunikacije sa kernelom prikazan je na slici 3. Slika 3. Struktura Linux sistema Sistemski programi izvršavaju specifične upravljačke poslove, kao što je konfigurisanje mrežnih uređaja i protokola, punjenje kernelskih modula itd. 3.3 Modularni kernel Moduli kernela su delovi kernelskog koda koji može da se prevede, napuni u memoriju ili izbaci iz memorije nezavisno od ostatka kernela. Kernelski moduli implementiraju drajvere za hardverske urećaje, novi sistem datoteka, mrežne protokole, itd. Moduli omogućavaju raznim programerima da napišu i distribuiraju drajvere koji ne moraju da prođu GPL licencu. Moduli kernela omogućavaju micro-kernel arhitekturu, odnosno realizaciju minimalne stabilne konfiguracije kernela bez dodatnih drajvera. Potrebni drajveri pune se u memoriju kao moduli kernela. Module Linux kernela čine tri komponente: upravljanje modulom, koja omogućava punjenje modula u kernelsku memoriju i komunikaciju modula sa ostatkom kernela, proveru da li je modul u memoriji i da li se koristi i izbacivanje modula iz memorije (pod uslovom da se modul ne koristi), registracija drajvera, koja omogućava modulu da objavi ostatku kernela da je novi drajver u memoriji i da je raspoloživ za korišćenje. Kernel održava
  • 14. 13 dinamičku tabelu drajvera koji se pomoću posebnog seta programa mogu napuniti ili izbaciti iz memorije u svakom trenutku, rezolucija konflikata, odnosno mehanizam koji služi da spreči hardverske konflikte tako što omogućava drajveru da rezerviše hardverske resurse (IRQ, DMA, ports) i time spreči druge drajvere ili autoprobe funkciju da ih koriste. 3.4 Značajni delovi kernela Linux kernel čini nekoliko značajnih komponenti: upravljanje procesima, upravljanje memorijom, upravljanje sistemima datoteka (VFS), apstrakcija mrežnih servisa, podrška za hardverske uređaje, podrška za različite sisteme datoteka, podrška za TCP/IP. Kritične komponente Linux kernela su upravljanje procesima i upravljanje memorijom. Komponenta za upravljanje memorijom kontroliše dodeljivanje memorije i swap prostora procesima, kernelskim komponentama kao i bafersko keširanje. Komponenta za upravljanje procesima kreira procese i omogućava višeprocesni rad (multitasking) dodeljujući procesor procesima po odgovarajuđem algoritmu. Na najnižem nivou kernel sadrži podršku u vidu drajvera za razne hardverske urećaje. S obzirom da postoji veliki broj različitih vrsta hardverskih uređaja broj drajvera je takođe veoma veliki. Za hardverske uređaje iste vrste (npr. diskove), koji vrše sličnu funkciju ali se razlikuju u načinu softverske kontrole, formirane su opšte klase drajvera na sledeći način: svaki član klase pruža isti interfejs prema ostatku kernela čime obezbeđuje podršku za operacije koje su karakteristične za tu vrstu uređaja, a hardver opslužuje na odgovarajući način. Na primer, svi disk drajveri pružaju isti interfejs prema ostatku kernela i svi imaju operacije tipa inicijalizacije drajva, čitanja podataka iz određenog sektora i upisa podataka u određeni sektor.
  • 15. 14 3.5 Upravljanje procesima Linux koristi standardni UNIX proces mehanizam (fork) koji razdvaja kreiranje procesa i njegovo izvršenje u dve različite operacije: sistemski poziv fork, koji kreira novi proces, sistemski poziv exec, koji izvršava program u resursima novostvoreno procesa. Pod UNIX sistemom sve informacije koje operativni sistem mora čuvati da bi kontrolisao jedan proces predstavljaju kontekst tog procesa. Pod Linux operativnim sistemom, svaki proces je u potpunosti opisan identitetom, okolinom, i kontekstom. 3.6 Komunikacija između procesa Komunikacija između procesa obuhvata obaveštavanje procesa o događaju i prenos podataka s jednog procesa na drugi. Kao i UNIX sistem, Linux informiše procese u korisničkom režimu o događaju putem signala. Procesi u kernel modu umesto signala koriste specijalnu vrstu deljive memorije (wait.queue struktura) za interprocesnu komunikaciju. Za prosleđivanje podataka između procesa koristi se pipe mehanizam, koji omogućava jednosmernu razmenu podataka putem komunikacionog kanala koji proces nasleđuje od roditelja, i deljiva memorija, koja je brza i fleksibilna, ali zahteva sinhronizaciju. 3.6 Upravljanje memorijom Upravljanje memorijom obuhvata upravljanje operativnom (RAM) memorijom i upravljanje virtuelnom memorijom. Upravljanje operativnom, odnosno fizičkom memorijom obuhvata dodeljivanje (alokaciju) i oslobađanje stranica (pages, normal extent), grupe stranica (large extent) i malih memorijskih blokova (small extent). Fizičkom memorijom se upravlja po sistemu drugova (Buddy heap). Cela fizička memorija se deli na udružene blokove čije su veličine stepeni
  • 16. 15 broja 2. Blokovi se prema potrebi alokacije dalje razbijaju na manje blokove ili se parovi udružuju u veće celine. Sistem virtuelne memorije povećava ukupan adresni prostor koji je dostupan procesima - sistem kreira stranicu virtuelne memorije na zahtev, upravlja punjenjem te stanice u fizičku memoriju sa diska i povratkom stranice na disk u swap prostor. Kada stranica mora da napusti memoriju i ode na disk izvršava se takozvani page-out alogoritam, koji je na Linux sistemu realizovan LFU konceptom (Least Frequently Used - najređe korišćen). Novi virtuelni adresni prostor formira se nakon kreiranja novog procesa sistemskim pozivom fork, i nakon izvršavanja novog programa sistemskim pozivom exec. Regioni virtuelne memorije obuhvataju fizičke stanice, odnosno okvire u koje su fizičke stranice smeštene (frames) i swap prostor na disku. 3.7 Izvršavanje korisničkih programa Linux podržava brojne formate za punjenje i izvršavanje programa. Među njima svakako treba istaći stari UNIX format a.out i novi elf format koji je maksimalno prilagođen konceptu virtuelne memorije. Zaglavlje ELF formata opisuje sekcije programa. Sekcije programa su po veličini prilagođene veličini stanice virtuelne memorije. Program kod kog su funkcije iz sistemske biblioteke direktno ugrađene u kôd programa je program sa statičkim povezivanjem. Glavni nedostatak ovakvog načina povezivanja je povećanje veličine koda, jer svaki poziv funkcije iz biblioteke kopira celu funkciju u kôd. Takođe, sa veličinom koda raste i količina memorije koja je potrebna za njegovo izvršavanje. Na drugoj strani, dinamičko povezivanje je efikasnije u smislu iskorišćenja memorije - sama funkcija se ne kopira u kôd, tako da je za izvršenje potrebna manja količina memorije, ali se programi po nepisanom pravilu izvšavaju sporije.
  • 17. 16 3.8 Mrežne strukture Umrežavanje je ključno područje funkcionalnosti Linux sistema. Linux koristi standardni TCP/IP protokol stek kao osnovni komunikacioni protokol, a dodatno podržava i brojne druge protokole koji nisu uobičajeni za komunikaciju dva UNIX sistema (AppleTalk, IPX, Samba). Interno, umrežavanje pod Linux sistemom obuhvata tri softverska nivoa: socket interfejs, protokol drajvere i drajvere za mrežne kartice. 4. OSNOVNI SERVISI LINUX SISTEMA init Proces init se pokreće kao prvi proces na svakom Linux sistemu i to je poslednja akcija koju kernel obavlja prilikom podizanja sistema. Kada se pokrene, init nastavlja proces podizanja operativnog sistema, obavljajući razne inicijalne procedure kao što su provera i akitviranje sistema datoteka i pokretanje servisa (daemons). Potpun skup aktivnosti koje će proces init obaviti zavisi od načina podizanja samog Linux sistema. Proces init obezbeđuje koncept jednokorisničkog režima rada (single user mode) u kome niko ne može da se prijavi na sistem osim administratora (root), koji u ovom režimu može da koristi komandni interpreter isključivo na konzoli. Osim ovog režima rada, koji se koristi u svrhe administarcije ili oporavka sistema, init obezbeđuje i standardni višekorisnički režim rada (multiuser mode). Neki režimi rada Linux sistema se generalizuju i nazivaju nivoima izvršenja (runlevel) - jednokorisnički i višekorisnički režim predstavljaju dva nivoa izvršenja, a osim njih postoje i dodatni nivoi izvršenja, poput nivoa sa grafičim okruženjem (X) i nivoa sa mrežnim servisima. Linux dozvoljava do 10 nivoa izvršavanja, 0-9, od kojih su samo neki u upotrebi. Nivo izvršenja 0 definiše se kao gašenje sistema (system halt), nivo izvršenja 1 kao jednokorisnički režim, a nivo izvršenja 6 kao ponovno podizanje sistema (system reboot). Ostali nivoi definisani su u datoteci /etc/inittab za konkretnu Linux distribuciju, pri čemu definicije mogu biti različite za različite distribucije.
  • 18. 17 U stanju normalnog izvršenja proces init obezbeđuje funkcionisanje procesa getty, koji korisnicima omogućava proceduru prijavljivanja na sistem (login) i usvaja procese siročiće (orphan), odnosno procese čiji su roditeljski procesi nestali, čime se održava integritet rodbinskog stabla procesa. Prilikom zaustavljanja Linux sistema proces init redom obustavlja sve druge procese, deaktivira sve aktivne sisteme datoteka i zaustavlja procesor, a dodatno može obaviti i druge aktivnosti za koje je konfigurisan. syslog Kernel i mnogi sistemski programi generišu razna upozorenja i poruke o greškama koje se upisuju u datoteke, tako da se mogu pregledati nakon izvesnog vremena. Program koji obavlja funkciju upisivanja poruka u datoteke je syslog. Program se može konfigurisati da poruke aranžira u različite datoteke na osnovu stepena značajnosti i procesa koji je poruke generisao. Na primer, poruke koje generiše kernel se, kao vrlo značajne poruke koje mogu ukazivati na ozbiljne probleme u sistemu, upisuju u posebnu datoteku. 4.1 Periodično izvršavanje komandi Većina korisnika, uključujući sistem administratore često ima potrebu za periodičnim izvršavanjem neke komande. Na primer, sistem administrator može da zakaže periodično izvršenje komande koja čisti direktorijume sa privremenim datotekama (/tmp i /var/tmp), čime sprečava prepunjenje diska. Funkciju periodičnog izvršenja komandi obezbeđuje servis cron. Svaki korisnik može u svojoj crontab datoteci definisati komande koje želi periodično da izvršava i vreme kada te komande treba izvršiti. Cron demon vodi računa o izvršenju komandi u specificiranom vremenu. Servis koji je sličan cron servisu je at, ali za razliku od cron servisa komandu pokreće samo jednom, u specificiranom trenutku.
  • 19. 18 4.2 Grafički korisnički interfejs Linux ne ugrađuje korisniški interfejs u kernel - korisnički interfejs se implementira na korisničkom nivou. Koriste se dve vrste interfejsa, alfanumerički i grafički, čime se postiže veća fleksibilnost sistema. Nedostatak ovakvog uređenja je relativno složena implementacija različitih korisničkih interfejsa za svaki program, što operativni sistem čini težim za učenje i korišćenje. Primarno grafiško okruženje koje se koristi u Linux sistemima je X Window System (skraćeno - X). X ne implementira korisnički interfejs već obezbeđuje alate pomoću kojih grafički korisnički interfejs može da se implementira. Najčešće korišćeni window menadžeri na Linux sistemima su: KDE i Gnome. 4.3 Mrežni rad Umrežavanje je čin povezivanja dva ili više računara relativno visokog stepena autonomije u cilju omogućavanja njihove međusobne komunikacije. Iako proces povezivanja računara u mrežu i konfigurisanja mrežnog okruženja može biti komplikovan, krajnji rezultat je veoma koristan - korisnici mogu koristiti deljene mrežne resurse poput štampača, direktorijuma i up-linkova, a takođe se mogu omogućiti i mehanizmi centralizovane autentifikacije i administracije. Većina osnovnih servisa Linux sistema, poput sistema datoteka, štampanja i arhiviranja podataka može se realizovati pomoću mrežnih funkcija operativnog sistema. 4.4 Deljenje datoteka i mrežni sistemi datoteka U značajnije servise UNIX i Linux sistema spada i deljenje datoteka na mreži. Mrežni sistemi datoteka funkcionišu na sledeći način: zahtevi za operacijama na datotekama i direktorijumima šalju se po mreži na računar na čijim se diskovima sistem datoteka nalazi, a korisnik ima utisak da se sve datoteke nalaze na lokalnom sistemu datoteka. Na ovaj način omogućava se deljenje datoteka na krajnje jednostavan način, pošto se ne zahteva nikakva modifikacija korisničkih programa.
  • 20. 19 Najčešće korišćeni tip mrežnih sistema datoteka je NFS (Network File System), koji je razvila kompanija Sun Microsystems. Drugi servis, koji omogućava pristup Linux mrežnim sistemima datoteka sa MS Windows radnih stanica, je Samba (http://www.samba.org). Po istim protokolima je moguće deliti i štampače. 4.5 Štampanje Jedan štampač u jednom vremenskom trenuntku može da koristi samo jedan korisnik, ali je krajnje neekonomično ne dozvoliti upotrebu štampača u različiti vremenskim trenucima većem broju korisnika. Zato štampačima upravlja program koji implementira red čekanja za dati štampač (printer queue): svi zahtevi za štampu postave se u red čekanja i kada štampač obavi jedan posao upravljački program mu automatski šalje sledeći. Na ovaj način se omogućava korišćenje štampača većem broju korisnika, pri čemu su korisnici oslobođeni organizacije reda čekanja za štampač. Program koji implementira red čekanja čuva kopiju koju treba štampati na disku print servera, čime se omogućava aplikativnom programu da preda zahtev za štampu u red i nakon toga nastavi svoje aktivnosti. Disk je relativno brz uređaj u odnosu na štampač, tako da predaja zahteva u red traje kratko. Nakon predaje zahteva aplikativni program ne mora da čeka da zahtev bude odštampan, a takođe ne mora ni da kontroliše proces štampe, tako da nastavlja s daljim radom. Ovakav način organizacije štampanja je jako povoljan, zato što korisnik može da izda zahtev za štampanjem jednog dokumenta, zatim otvori drugi dokument i pošalje ga na štampu bez ikakvog čekanja.
  • 21. 20 5. LINUX DISTRIBUCIJE 5.1 Slackware Slackware je najstarija Lunux disribucija, a ujedno je i najpopularnija distribucija Linuxa. Slackware je osnovana krajem 1992. godine. Osnovao ju je Patrick Volkerding. Namenjena je naprednijim korisnicima i korisnicima koji žele naučiti puno o Linuxu. Po čemu je Slackware toliko poseban je jednostavnost. Slacware koristi konzervativan razvojni model s naglaskom na stabilnost paketa, naspram novih paketa. Karakteristično za distribuciju Slackware je što ima jednostavan paketni mehanizam koji pruža samo neke najosnovnije mogućnosti: instalacija, nadogradnja i brisanje. 5.2 Debian Debian je ime dobrovoljne organizacija posvećene razvoju i promicanju ideala slobodnog softvera, te naziv njihovog GNU-baziranog operativnog sistema. Debian je započet 1993. godine, gdje je Ian Murdock poslao otvoreni poziv softverskim programerima da doprinesu kompletnoj distribuciji baziranoj na Linux jezgri i GNU sistemskim programima.Danas, osim Linuxa, Debian podržava i druge jezgre, poput jezgre BSD operativnih sistema i HURDa orginalne GNU jezgre koja je razvijala sofversku fondaciju. 5.3 Ubuntu Ubuntu je jedan od računarskih operativnih sistema koji je nastao od operativnog sistema Debian Gnu i Linux, koji temeljne podatke i programe preuzima iz projekta GNU i koristi Linux kao jezgro ili kernel operativnog sistema. Ubuntu je građen iz mnogo djelova koji se nazivaju softverski paketi. Ubuntu, operativni sistem, najviše pažnje posvećuje lakoći instaliranja i korištenja operativnog sitema.
  • 22. 21 5.4 Mint Linux Mint je računarski operativni sistem koji se bazira na Ubuntu Linux distribuciji, koji je ipak bazira na Debianu. Linux Mint nudi stabilan operativni sistem za prosečnog korisnika. Linux Mint je se sastoji od mnogo programskih paketa, koja se većina distribuira kao softver sa slobodnom distribucijom. Glavna karakteristika ovog operativnog sistema je ta što korisnici mogu: slobodno pokretati programe, kopirati, distribuirati, mienjati, razvijati i poboljšavati softver. 5.5 Fedora Core Fedora Core je jedna od najpopularnijih Linux distribucija Linuxa. Fedora Core je novi proizvod, ništa manje stabilan od prethodnika, sa vrlo velikom korisničkom bazom, pa je savršeno namenjen za kućne korisnike. Fedora Core ima dva razloga za naglu promenu poslovnog modela, a to su : povećanje kvalitete usluge velikim poslovnim korisnicima, dinamičniji razvoj i kvalitetnija testiranja svojih tehnologija kroz distribuciju Fedora. 5.6 Red Hat Red Hat je Linux distribucija koju je lagano instalirati. Ova Linux distribucija se za sve korisnike koji žele da se upoznaju sa Linux operativnim sistemom na što jednostavniji način. Red Hat je bio dugo vremena bila jedna od najpopularnijih Linux distribucija u svetu. Iz ove Linux distribucije je nastala još jedna distribucija, a to je Fedora Core. Red Hat distribucija je nastala 1994. godine.
  • 23. 22 6. ZBOG ČEGA TREBA KORISTITI LINUX Linux ćete koristiti jer je to danas jedini operativni sistem koji u potpunosti podržava višekorisnički rad. Ni jedan drugi operativni sistem ne nudi vam te mogućnosti u toliko moćnom obliku kao Linux. Osim toga, koristeći Linux sigurno nećete postati žrtva raznih sumnjivih trgovaca. Takođe nećete svakih par godina morati nadograđivati programe i na to trošiti znatne sume novca. Mnoge Linux aplikacije možete besplatno naći na Internetu, kao i izvorni kod samog Linuxa. S obzirom da imate mogućnost pristupa izvornom kodu, možete menjati i operativni sistem te ga prilagođivati svojim potrebama, što nije slučaj niti s jednim komercijalnim operativnim sistemom kao što su Windowsi NT, Windowsi 95, MS-DOS i OS/2. Linux nije igračka već sistem stvoren da bi korisnicima dao osećaj učestvovanja u novom projektu, baš kao što je to bilo na početku razvoja personalnih računara. Uprkos svemu, Linux je stabilan na mnogim sistemima i kao takav predstavlja jeftinu osnovu za učenje i korišćenje jednog od najpopularnijih operativnih sistema današnjice – UNIX-a. Mnoge informatičke kuće i izdavači CD-ova, kao što su Red Hat ili Caldera, sada podržavaju operativni sistem Linux. Ovaj sistem predstavlja zamenu drugim UNIX sistemima i može se upotrebiti umesto tih, ponekad skupih sistema. 7. PREDNOSTI UPOTREBE LINUXA Upotreba Linuxa ima mnoge prednosti. U odnosu na mnoge operativne sisteme koji se danas koriste, Linux je najpopularniji besplatni sistem. Linux se pojavljuje s potpuno implemetiranim mrežnim protokolom TCP/IP. Uz pomoć Linuxa možete ostvariti vezu na Internet i na njemu koristiti more informacija koje ta globalna mreža sadrži. Takođe nudi i celovit sistem za slanje i primanje e-pošte. Danas sve to možete dobiti s Linuxom i to praktično besplatno. Sav trošak predstavlja cena kopiranja programa s Interneta ili putem e-pošte (što je moguće dobiti od nekoliko različitih proizvođača). Naravno, kod odgovarajućih prodavaca možete kupiti (cena nije visoka) celovit Linux sistem na CD-ROM-ovima.
  • 24. 23 8. NEDOSTACI UPOTREBE LINUXA VeroVatno najveći nedostatak upotrebe Linuxa leži u činjenici da ni jedna korporacija nije uključena u njegov razvoj. Ukoliko nešto krene po zlu ili ako naiđete na problem, nećete moći upotrebiti neki od besplatnih telefonskih brojeva kako biste zatražili pomoć. Kada malo bolje o tome razmislite, možete li na sličnim brojevima zaista dobiti adekvatnu pomoć i za postojeće komercijalne sisteme? Koliko ste se puta nekome obratili tražeći tehničku pomoć i dobili odgovor na svoja pitanja? Koliko ste puta zamoljeni da svoje pitanje pošaljete poštom kako biste dobili na njega odgovor? Pa dobro, kod Linuxa zaista ne postoji telefonski broj za tehničku podršku, ali postoje hiljade korisnika koji mogu odgovoriti na vaša pitanja. Drugi nedostatak je taj što Linux teško možete instalirati na svim hardverskim platformama. Za razliku od komercijalnih programa, kod kojih se program mesecima stvara i proverava uz različiti hardver, tvorci Linuxa su raštrkani po čitavom svetu i ne postoji mogućnost osiguranja kvaliteta programa. Tvorci programa ga objavljuju u trenutku kada im se to učini pogodnim. Takođe, hardver koji podržava Linux zavisi o hardveru koji koristi svaki pojedini programer dok piše deo programskog koda. Zbog toga Linux ne radi sa svim hardverskim komponentama koje se danas koriste u računarima. Još jedan nedostatak je taj da postojeće aplikacije za operativne sisteme kao što su DOS i OS/2 u većini slučajeva neće raditi pod Linuxom. Na svu sreću, ti se drugi sustemi mogu koristiti zajedno s Linuxom tako da, iako ne možete oba operativna sistema istovremeno pokrenuti, imate mogućnost napustiti Linux i podići drugi operativni sistem da biste koristili svoje aplikacije. Trenutno se radi na Linux emulatorima koji pokreću DOS i Windows programe.
  • 25. 24 9. BITNE RAZLIKE WINDOWSA I LINUXA 9.1 Instalacija aplikacija Windows programi imaju svoje alate za instalaciju, dok je kod Linuxa stvar nešto drugačija i praktičnija. Aplikacije se preuzimaju preko interneta iz svojevrsne riznice softvera (slično kao na Android Play Storeu), nadograđuju kad je potrebno, te su čak dodatno optimizirane za distribuciju koju koristite. Naravno, tu su i DEB ili RPM paketi koje bi mogli uporediti s Windows “Setup.exe” vodičima kroz instalaciju – nakon pokretanja instaliraju program te dodaju prečice za pokretanje u izbornik s aplikacijama, ali nisu univerzalni već zavise o distribuciji koju koristite (Debian, Fedora, openSUSE… itd.). 9.2 Nastavci datoteka Nakon prelaska na Linux ljudi se lako zbune jer su u stalnoj potrazi i forsiranju toga da datoteka ima nastavak. Na Windowsima .txt je tekstualna datoteka, dok je na Linuxu dovoljno samo ime datoteke, recimo Projekt123, bez ikakvog nastavka. Linux zna o kojoj vrsti datoteke se radi, izgledom ikone će vam predstaviti o čemu je reč, a čak se i iz terminala uz naredbu file ime-datoteke može saznati o kakvoj vrsti datoteke je reč. 9.3 Velika i mala slova Na Windowsima ste navikli da imena datoteka i ostalog pišete kako hoćete, najčešće kombinacijom velikih i malih slova. Međutim, na Linuxu, primer “Projekt123” nije isto kao i “projekt123”. Ovaj drugi je napisan malim početnim slovom i samim time na Linuxu je različita datoteka od one “Projekt123”. U praksi treba neko vreme da se naviknete na ovo – Windows ne razlikuje mala i velika slova dok Linux razlikuje.
  • 26. 25 9.4 Podela tvrdog diska na particije Na Windowsima je sistem (tvrdi disk) podeljen na par particija – one najčešće nose naziv C:, D: itd, po čemu ih razlikujemo. Na C: se obično nalazi sistem i osnovni podaci korisnika kao što je sadržaj Mojih dokumenata i sl., dok se na D: u praksi stavljaju filmovi i sl. veće stvari. Na Linuxu postoji root particija koja je rezervirana samo za sistem i aplikacije koje će se instalirati. Za pristup treba vam root pristup, što je super jer niko osim vas ne može ući unutra i greškom izbrisati nešto bitno te tako sistem učiniti neupotrebljivim. Tu je i /home particija, koja sadrži sve lične podatke korisnika (dokumenta, muziku, slike itd.), kao i postavke određenih instaliranih programa. Ako root particija propadne, nakon ponovne instalacije sistema i programa, oni će zadržati stare podatke, što je prilično praktično (kao i u slučaju preseljenja). Linux će prikazati i ostale particije koje imate na sistemu, uključujući Windows NTFS particije. Iz Windowsa se može pristupiti Linux particijama, ali tek uz pomoć određene aplikacije. Važno je napomenuti da Linux ne koristi slova za označavanje particija (C:, D:, E:, itd.), već ih naziva sda1, sda2, sda3… itd. 9.5 Predinstalirane aplikacije Po pitanju aplikacija, nakon instalacije sistema, Windowsi su prilično pusti i čeka vas dosta gnjavaže oko instalacije aplikacija kao što je web pregledač koji nije IE, antivirus, office paket, muzički plejer, video plejer, torrent klijent, alat za rad s grafikom… itd. S druge strane, na Linuxu sve ove aplikacije (osim antivirusa) već dolaze predinstalirane i spremne za korišćenje. Ista stvar je s mnogo upravljačkih programa (eng. drivers), pa često imamo slučaj “upali i vozi”.
  • 27. 26 9.6 Antivirusni softver Gore sam spomenuo antivirus koji se ne isporučuje s Linuxom (i ako za njega postoje isti), a tako je s razlogom. Linux je praktično imun na viruse, jer su gotovo svi pisani za Windows operativni sistem i na Linux platformi ne mogu napraviti nikakvu štetu. Neki ipak koriste antivirus, ali samo kako bi zaštitili ostale računare u mreži ili slučajno USB štapićem ili e-mailom nekome preneli virus u računar. 9.7 Korisnici Ekipa koja koristi Windows često igra igre, visi na Facebooku i domaćim portalima. S druge strane, Linux korisnici su odreda sve iskusniji korisnici računara, nekad i preiskusni zbog čega pomisle da mogu biti arogantni. Druže se međusobno, skupljaju u zajednice, volontiraju, prevode, spremni su pomoći, a na sto Linux korisnika dolazi jedna ženska osoba. 9.8 Vrieme između objave novih izdanja Windowsi nemaju zadati rok za objavu novog izdanja. Nekad može potrajati godinama, kao što je slučaj bio nakon izlaska Windows XP, a nekad novo izdanje izađe ubrzo nakon prethodnog koje se pokazalo kao promašaj (Windows Millenium, Windows Vista, Windows 8). U Linux svetu stvari su malo drugačije – postoji više distribucija koje su u osnovi po želji autora distribucije (odabrane stvari koje se nalaze u sistema kao što su kernel, grafičko okruženje, aplikacije, detalji kao što su pozadina i sl.). Svaka od njih (osim rolling release distribucija) ima zadati rok za objavu novog izdanja, koji najčešće iznosi svega 6 meseci, negde 8 meseci, a negde – kad bude spreman, odnosno isto kao s Windowsima.
  • 28. 27 9.9 Pomaganje pri razvoju sistema Windowsi su vlasnički softver čiji kod nije dostupan. Ponekad, kad se nešto sruši, iskoči prozor s greškom i tu stvari staju. Taj bug rešiće zaposleni Microsofta, ali tek nakon što saznaju za njega. S druge strane, Linux je otvoreni sistem i korisnici doprinose njegovom poboljšanju. Ako se nešto sruši, korisnici često bug prijave onima koji razvijaju sistem i on se brzo reši. Tu nije kraj s doprinosima; možete prevesti nešto od softvera na jezik koji koristite, napraviti ili glasati za pozadinsku sliku, predložiti nove funkcije, organizovati InstallFest i mnogo toga drugog. Na Linuxu direktno sarađujete kako bi imali što bolji, a opet – besplatan sistem.
  • 29. 28 10. ZAKLJUČAK Linux je dugo smatran nedovoljno ozbiljnim sistemom za svakodnevnu upotrebu, sistemom limitiranih mogućnosti i pogodnim samo za određene, usko specijalizovane namene, kao što su ruter-i, firewall-ovi, web serveri i sl. Međutim, mogućnost uvida u sam kod, njegova promena, široka zajednica korisnika, cena, fleksibilnost, stabilnost, brzina, a možda i najvažnije – finansijska i druga podrška giganata kompjuterske industrije dala je krila operativnom sistemu koji je, kako neki kažu, pokupio od svih najbolje i na jakoj osnovi objedinio tehnologije i ideje neophodne za stvaranje operativnog sistema sledeće generacije. Sve veći broj programa i specijalizovanog, korisničkog softvera koji je bio karakterističan za vlasničke operativne sisteme se prevodi i optimizuje specijlano za Linux. Popularnost Linux-a nezadrživo raste svakim danom i samo je pitanje dana kada će giganti poput, recimo Microsofta priznati da su dobili ozbiljnog konkurenta. Po meni, Linux je već sada nezamenjiv u radnim organizacijama, akademskim i državnim institucijama, kao i kod pojedinaca entuzijasta i kućnih korisnika koji su fascinirani fleksibilnošću, otvorenošću i naprednim idejama koje Linux propagira.
  • 30. 29 11. LITERATURA 1. Borislav Đorđević,Dragan Pleskonjić, Knjiga “Operativni sistemi UNIX i Linux” Viša elektrotehnicka škola, Beograd, 2004 2. http://www.sk.co.rs/2014/11/sklp01.html 3. http://tutoriali.org/Linux_Biblija.html 4. https://raf.edu.rs/ 5. http://www.linuxzasve.com/