linux kroz it_s.cvejic (22)

34
TEHNIČKI FAKULTET ČAČAK OPERATIVNI SISTEMI SEMINARSKI RAD Tema: OS LINUX

Upload: ermin-hamidovic

Post on 19-Dec-2015

10 views

Category:

Documents


0 download

DESCRIPTION

Linuxx

TRANSCRIPT

Page 1: Linux Kroz IT_S.cvejic (22)

TEHNIČKI FAKULTETČAČAK

OPERATIVNI SISTEMI

SEMINARSKI RAD

Tema: OS LINUX

Profesor: Kandidat:Živadin Micić Cvejić Saša Br.indexa 3871/02

Čačak 2003

Page 2: Linux Kroz IT_S.cvejic (22)

1.Uvod

Elektronski računar predstavlja jedinstvo hardvera i softvera, a u novije vreme i komunikacijskih uređaja. To jedinstvo čine mehanički i elektronski sklopovi tj. mašinski elementi i sistemski softver. Pojam operativni sistem (OS) podrazumeva “softver potreban za izvršavanje (aplikativnih) programa i za koordinaciju aktivnosti računarskog sistema.” Postavljanjem informacija na određena mesta u memorijskoj strukturi sistema računarski sistem ima jasno određenu hijerarhiju softvera koji kontroliše sistem u svakom trenutku,a hardver se nalazi na najnižem nivou u hijerarhiji sistema.Moguće je upravljanje bilo kojim uređajem priključenim na CPU, održavanje kontrole na hardverskom nivou je veoma teško i zahteva potpuno poznavanje arhitekture sistema, tu stupa na scenu OS.

Ugrađivanje funkcija hardvera u OS bilo je jedan od osnovnih pravaca razvoja OS tokom godina. Svaki OS ima standardni skup dokumentovanih rutina za čuvanje i pristup datotekama koje mogu da koriste svi namenski programi.

Ovo je dovelo do toga da se OS piše za ono što u suštini predstavlja standardni interfejs, a koji podržava različite vrste hardvera. Svi namenski programi napisani za određeni OS mogu da koriste taj standardni interfejs kako bi pristupili hardveru, što u praksi znači da je isti OS moguće koristiti na potpuno različitim hardverskim platformama. Linux se na računarskoj sceni pojavio kao izdanak Unix-a.Unix do dan danas nije prilagođen radu na PC-ju. Ovo je bio glavni razlog koji je doveo do pojave Linux-a, koji je omogućio da OS sličan Unix-u postane široko dostupan. Jednog trenutka, Linux se razvio do nivoa na kome se slobodno mogao nazvati operativnim sistemom. Linux u stvari zahteva daleko manje resursa za obavljanje daleko većeg broja funkcija nego prosečni sistem Windows 98,na primer, od procesora 486 na 100MHz i 16 MB RAM-a je moguće napraviti funkcionalnu radnu stanicu. Uz sve mogućnosti koje Linux pruža normalno bi bilo očekivati da bude skup, međutim, jezgro Linux-a i najveći broj aplikacija napisanih za Linux su potpuno besplatni i dostupni na Internetu, čak bez ograničenja u pogledu kopiranja i dalje distribucije. Glavne distribucije Linux-a su sledeće: Red Hat, Slackware, Mandrake, S.u.S.E. i Debian. Potreba za višekorisničkim radom kao i za zaštitom podataka navela je proizvođače operativnih sistema da udovolje tim zahtevima. Jedan od takvih operativnih sistema je Linux. To je operativni sistem koji svojom građom i principom rada veoma liči na UNIX. Ne bih želeo zalaziti u sigurnost i pouzdanost rada Linux-a, ali sa obzirom da je Linux sistem koji je razvijen za višekorisnički rad taj sistem navedene zahteve veoma zadovoljava.

2

Page 3: Linux Kroz IT_S.cvejic (22)

2.Upravljanje sistemom datoteka, podacima, informacijama

Specijalizacijom računarskih sistema promenio se i pojam OS koji sada obuhvata 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, optimizuju funkcionisanje i pojednostavljuju upotrebu računarskog sistema. Sa stanovišta OS svi hardverski uređaji osim procesora i memorije predstavljaju periferijske uređaje računarskog sistema i njihovim radom takođe upravlja određeni skup modula. Moduli OS koji realizuju funkciju upravljanja memorijom računara vode računa o zauzetosti i nezauzetosti pojedinih delova memorije, utvrđuju način skladištenja određenih sadržaja u memoriji (raspodela memorije), realizuju te načine skladištenja korišćenjem izvesnih tehnika alokacije (adresiranje memorije), utvrđuju načine brisanja ili transfera memorije itd. Moduli koji realizuju funkcije upravljanja procesorom se svode na izazivanje specifičnih aktivnosti procesora kojima se realizuje obrada određenog aplikativnog programa. U suštini postoje dva skupa modula za upravljanje procesorima računarskog sistema: moduli koji kontrolišu zadatke obrade i moduli koji nadziru status i rad procesora. Njihovom interakcijom ostvaruje se primarni zadatak OS – dodeljivanje procesora. Funkcija upravljanja podacima, odnosi se na memorisanje i manipulisanje podataka. Računar ih održava u formi datoteka, baza ili banka podataka. Još jedna od odlika Linux-ovog jezgra, po kojoj se on razlikuje od ostalih OS-a namenjenih stonim PC računarima, jeste da može u isto vreme da radi sa više korisnika (engl. multiuser) što mogu sve verzije i svi klonovi Unix-a. Linux omogućava istovremeni rad više korisnika, koristeći u potpunosti sposobnost OS-a za istovremeno obavljanje više poslova. Velika prednost toga je mogućnost primene Linux-a kao servera aplikacija. Administrator sistema ima zadatak da upravlja korisnicima na svakom Linux-ovom sistemu. Nivo pristupa sistemskim resursima menja se zavisno od korisnika i grupa kojima pripada. Linux ima mogućnost objedinjavanja korisnika u grupe i upravljanja tim grupama radi kontrole pristupa sistemskim resursima.Osnova administrativnih zadataka je automatizacija poslova. Linux ima mehanizam kojim je moguće odrediti šta će se dešavati u svakom trenutku prilikom podizanja i spuštanja sistema. Potreba za višekorisničkim radom kao i za zaštitom podataka navela je proizvađače operativnih sistema da udovolje tim zahtevima. Jedan od takvih operativnih sistema je Linux. Redosled pristupa na korisničku konzolu a samim tim i na datoteke počinje bezuslovnim zahtjevom za identifikacijom korisnika koji želi pristupiti sistemu. Taj zahtjev postavlja se kako na samom terminalu tako i na mrežnom radu.

3

Page 4: Linux Kroz IT_S.cvejic (22)

Pošto se datotečna prava u Linux-u ne podešavaju sama od sebe, javlja se potreba za osobom (korisnikom) koja će tim pravima da manipuliše. Tako se i korisnici dele u grupe, odnosno, kako je u građi struktukture parametara datotečnih prava definisano, korisničke grupe su određene datotečnim parametrima. Izuzetak je tzv. specijalni korisnik (Superuser, root user). Kako Superuser može više od ostalih korisnika, za njega su postavljena "posebna" prava, procesi, pristupi itd. Parametri koji se nalaze na početku liste "-rwxrwxrwx" označavaju glavne atribute datoteke ili direktorijuma, ispred kojeg se nalaze. Prvi parametar "-" kazuje da se radi o datoteci. Slovo / parametar / "d" (directory) na istom mestu bi označavalo da se radi o direktorijumu. U nastavku niza ovih parametara se nalaze slova "rwxrwxrwx". Svaki parametar "r" (read) dozvoljava čitanje datoteke ili direktorijuma. To čitanje podrazumeva u slučaju datoteke, njeno editovanje, a u slučaju direktorijuma, listanje datoteka koje se u njemu nalaze. Parametri "w" (write) označavaju da je dozvoljena izmena sadržaja u datoteci ili njeno brisanje. Isto važi i za direktorijume, "x" (execute) označava mogućnost pokretanja datoteke ako je ona izvršna datoteka za neki program. Za direktorijum ovaj prametar dozvoljava pristup direktorijumu. Ovaj parametar je moguće dodeliti i datoteci koja po sadržaju nije izvršiva. Na primer u slučaju datoteke Linux.text, koja je tekstualnog sadržaja, dodjeljena su prava "x", to ne znači da dodjeljivanjem prava "x" datoteku tekstualnog saržaja možemo napraviti izvršnom. Niz parametara "rwxrwxrwx" se deli na tri dela: rwx rwx rwx. Prva tri parametra se odnose na prava vlasnika datoteke ispred koje se nalaze ovi parametri. To znači da vlasnik datoteke ima pravo: - r čitanja datoteke; - w pisanja datoteke (podrazumeva mogućnost izmene njenog sadržaja kao i njeno brisanje); - x izvršavanja datoteke (ukoliko se radi o izvršnoj datoteci) Druga tri parametra označavaju prava grupe kojoj je datoteka dodeljena. Prava grupe kojoj je dodeljena datoteka Linux.text na tu datoteku bi bila: - r dozvoljeno čitanje datoteke; -w dozvoljeno pisanje datoteke(mogućnost izmjene sadržaja i njeno brisanje); - x dozvoljeno izvršavanje datoteke (ako je reč o izvršnoj datoteci). Zadnja tri prava se odnose na sve ostale korisnike (koji ne pripadaju grupi ili nisu vlasnik datoteke). Ostali korisnici, u slučaju datoteke Linux.text, imaju takođe sva prava na tu datoteku kao i njen vlasnik i grupa kojoj pripadaju prava datoteke. Postoji još jedna vrednost koja se ne koristi tako često,reč je o vrednosti "s". Ona se može nalaziti samo na mestu vrednosti "x", što znači da datoteka kojoj se dodjeljuje ova vrednost mora biti izvršna datoteka, u suprotnom sistem može dodeliti ovu vrijednost ali ona neće imati isto značenje i sistem će mesto znakom "s" polje zameniti znakom "S". Vrijednost "s" dozvoljava izvršavanje neke izvršne datoteke sa pravima vlasnika.

4

Page 5: Linux Kroz IT_S.cvejic (22)

Prava se dodaju znakom + a oduzimaju znakom - ispred vrednosti r w x ili s. Najbrža i najlakša metoda postavljanja vrednosti teče uz pomoć brojeva koji zamenjuju vrednosti rwx: Vrijednost r Broj 4 w 2

Vrednost x Broj 1 Oduzeto pravo 0 s ili S nema broja

Prema tome, pravo rwx ima vrednost 7 .Kako postoje tri klase korisnika, tako je za svaku klasu potrebno odrediti vrednost. Na ovaj način je moguće pravilno zaštititi određene datoteke.

5

Page 6: Linux Kroz IT_S.cvejic (22)

3.Kontrola izvršavanja programa i upravljanje prekidima

Po uključenju PC sistema kontrolu preuzima skup programa u mašinskom kôdu, ROM BIOS. On neposredno komunicira sa hardverom. Kada program koji je iznad njega stvori komandu, BIOS je prihvati i prevodi u komandu mašinskog jezika i predaje mikroprocesoru. Ove komande se zovu prekidi ili servisi. Deo OS postaje produžetak BIOS-a i obezbeđuje drugim programima da koriste više prekida i servisa kao i komunikaciju BIOS-a i softvera koji se izvršava na višim nivoima u hijerarhiji sistema.BIOS pomaže da se ostvari kompatibilnost između hardvera i OS. IBM je razvio skup izvornih standardnih servisa i funkcija koje bi svaki sistem trebalo da bude u stanju da izvrši, i kodirao ih kao programe u ROM BIOS-u. Svaki sistem tako dobija potpuno prilagođeni ROM BIOS, zajedno sa namenskim upravljačkim programima projektovanim za posebne uređaje, koji mogu neposredno da komuniciraju sa hardverom u sistemu i tačno znaju kako da izvedu svaki poseban zadatak na tom hardveru. Ovo je dovelo do toga sa se OS piše za ono što u suštini predstavlja standardni interfejs, a koji podržava različite vrste hardvera. Svi namenski programi napisani za određeni OS mogu da koriste taj standardni interfejs kako bi pristupili hardveru, što u praksi znači da je isti OS moguće koristiti na potpuno različitim hardverskim platformama. Administrator sistema ima zadatak da upravlja korisnicima na svakom Linux-ovom sistemu. Osnova administrativnih zadataka je automatizacija poslova. Linux ima mehanizam kojim je moguće odrediti šta će se dešavati u svakom trenutku prilikom podizanja i spuštanja sistema. Servis Crond služi za raspoređivanje poslova koji se izvode samo jedanput, kao i operacija koje se ponavljaju dnevno, nedeljno, mesečno... Linux je moguće koristiti na samostalnim radnim stanicama, međutim pravo mesto primene Linux-a je svet računarskih mreža. On može biti server za datoteke i štampanje, Web server, obična skretnica za Internet i radna stanica stabilnija od ostalih OS-a sa mogućnošću pristupa Windows i Unix aplikacijama.

6

Page 7: Linux Kroz IT_S.cvejic (22)

4.Pogled na OS sa aspekta razvoja sistema

Linux se na računarskoj sceni pojavio kao izdanak Unix-a. Unix kao OS je mnogo stariji od PC računara; bio je razvijen sredinom sedamdesetih, kada su se koristili mini i mainframe računari. U laboratorijama, kompanijama, kao i na univerzitetima, Unix se i danas koristi. Raspoložive su verzije ovog sistema za upotrebu na računarima opšte namene, na specijalizovanim računarima, na personalnim računarima, na radnim stanicama, na malim i velikim računarima različitih proizvođača. Minimalni zahtevi su 16 bitni procesor, 256 Kbajta glavne memorije i jedinica diska sa brzim pristupom. Glavne prednosti Unix-a sledeće:

- Pisan je na jeziku visokog nivoa (C jeziku), što ga čini lakim za razumevanje.

- Ima prost korisnički interfejs i interaktivni odnos sa korisnikom- Ima hijerarhijski fajl sistem što omogućava lako održavanje- Olakšava pisanje aplikacionih programa- To je višekorisnički i višeprocesni sistem- Korisnik može pisati programe koji se mogu izvršavati na različitim

mašinama- Podržava mnoge programske jezike: C, Fortan, Basic, Pascal, Ada,

Cobol...- Ima veliki skup uslužnih programa koji olakšavaju razvoj programa. Npr.

program make podržava definisanje kolekcije izvornih programa koje treba kompajlirati, a SCCS (Source Code Control System) omogućava održavanje različitih verzija fajlova.

U Finskoj, na helsinškom univerzitetu, profesor Linus Torvalds počeo je iz UNIX-a da razvija Linux. Iako je današnji Linux razvijen uz pomoć hiljada programera širom sveta, Linus i dalje upravlja razvojem središta OS: njegovog jezgra (engl. kernel). U početku, verzije Linux-a se nisu koncentrisale da olakšaju rad korisniku; već su, umesto toga, pružale najosnovniju funkcionalnost potrebnu Unix programerima za pisanje jezgra. Kao središte OS, jezgro se brine da sve bude pod kontrolom. Vremenom je programerska ekipa rasla, a sa njom i osnovni softver koji prati celokupni OS. U martu 1992. pojavila se verzija jezgra 1.0, čime je obeleženo prvo zvanično izdanje Linux-a. Tada je Linux obuhvatao najrasprostranjenije Unix-ove alate. Pojam Linux je pomalo neodređen; naime, koristi se da bi označio dva pojma: prvi – da označi samo jezgro, srce svake verzije Linux-a; drugi – da označi bilo koji skup aplikacija koje rade sa tim jezgrom, što se naziva distribucija.

7

Page 8: Linux Kroz IT_S.cvejic (22)

5.OS i podrške komunikacijama

Kao i u svetu Windows-a, i kod Unix-a, pa tako i Linux-a, TCP/IP mreže su neosporni standard. Kada se govori o vrsti mreže, kao sto su TCP/IP, IPX/SPX, SNA itd. misli se o protokolima ili jezicima kojim komuniciraju mašine unutar mreže. Oni su potpuno nezavisni od fizičkih veza koje čine mrežu. Na fizičkom nivou, povezivanje računara u mrežu danas se ostvaruje korišćenjem nekih od Ethernet tehnologija a moguća je i primena optičkih vlakana i drugih tehnologija. TCP/IP mreža može da bude sastavljena iz delova koji rade na različitim mrežnim infrastrukturama. Na nivou mrežnog protokola potpuno je nevažno šta se koristi za prenos podataka kroz mrežu. Pošto se Internet razvio od niza povezanih Unix sistema, to je verovatno razlog što isti standard važi i za umrežavanje Unix mreža i za Internet: TCP/IP. TCP/IP je skraćenica dva pojma: TCP – Transmission Control Protocol (protokol za upravljanje prenosom) i IP – Internetwork Protocol (međumrežni protokol). Zajedno oni čine jedan od najrasprostranjenijih protokola u savremenim mrežama. Ova kombinacija protokola omogućava da se Internet ponaša kao globalna TCP/IP mreža. Zadatak IP-a je da obezbedi usmeravanje i prenošenje TCP paketa (podataka), kao i paketa u UDP (User Datagram Protocol) formatu. TCP i UDP protokole koriste FTP i Telnet da bi formirali pakete podataka koje razmenjuju unutar mreže. Standardizacija protokola omogućila je komunikaciju između potpuno različitih operativnih sistema, između različitih hardverskih platformi svih veličina, od najjednostavnijih PC računara do složenih mainframe računara. Za povezivanje Linux-a sa Internetom koristi se PPP protokol. PPP je skraćenica od Point-to-Point Protocol (protokol za prenos podataka od tačke do tačke), čija je uloga da omogući korišćenje protokola TCP/IP i u analognim modemskim vezama. Kada se poveže sa Internetom koristeći PPP, računar postaje deo mreže dobavljača Internet usluga i dobija IP adresu Da bi PPP mogao da radi neophodne su sledeće komponente:

Modem koji je instaliran, podešen i uključen. U jezgru treba da bude prevedena podrška za PPP, ili da PPP modul

bude dostupan. Softver za podršku PPP-u treba da bude instaliran.

S’ obzirom da je PPP projektovan za uspostavljanje veze putem telefonskih linija, modem je ključna komponenta u povezivanju u mrežu. Vrlo je važno izabrati hardverski modem, jer takozvani ‘winmodemi’ neće raditi pod Linux-om. Uz sve mogućnosti koje Linux pruža normalno bi bilo očekivati da bude skup. Međutim, jezgro Linux-a i najveći broj aplikacija napisanih za Linux su potpuno besplatni i dostupni na Internetu, čak bez ograničenja u pogledu kopiranja i dalje distribucije.

8

Page 9: Linux Kroz IT_S.cvejic (22)

Za početak jezgro se distribuira pod GNU opštom javnom licencom. To je posebna softverska licenca, koju je razvila Fondacija za besplatan softver, a potpomaže otvorenu distribuciju i, što je još važnije, otvoren razvoj softvera. Za razliku od softverskih licenci koje nudi većina komercijalnog softvera, GNU licenca omogućava da svako distribuira softver, čak i uz naplatu, uz uslov da u daljoj distribuciji i dalje važe uslovi GNU licence. Tj. svako uzme softver, preradi ga po želji, i ponovo ga distribuira, ali distributer ne može da spreči onoga ko od njega kupi softver sa GNU licencom da taj softver dalje distribuira. Posebnost GNU licence je u tome što ona podstiče razvoj aplikacija od strane mnoštva ljudi, gde svako unosi one izmene koje mu se čine važne ili neophodne i onda dalje distribuira softver. Taj postupak je moguć zato što se sav softver pod GNU licencom distribuira sa kompletnim izvornim kôdom. Za razliku od komercijalnog softvera, gde je izvorni kôd nedostupan i stoga nepromenljiv, GNU softver ne samo da omogućava menjanje i prilagođavanje softvera nego zapravo podstiče zainteresovanog i sposobnog korisnika da to uradi. Kada pominjemo sigurnost podataka ne možemo a da ne pomenemo neke od problema: Ramen, Internet crv zasnovan na Red Hat Linux-u, uspeo je da iz zaštićenog okruženja pobegne u “divljinu” i da izmeni sadržaj lokacija nekoliko različitih organizacija, uključujući i lokaciju agencije NASA. To je prvi zlonameran kôd za Linux koji je detektovan u “divljini”. Sve napadnute lokacije su “isprskane” elektronskim grafitima i matična strana je zamenjena porukom “ Hackers looooooooooooove noodles”, potpisanom sa “RameN Crew”. Tekođe su proizvođači antivirusnog softvera izvestili da se pojavio virus koji inficira aplikacije na sistemima koji koriste Windows i Linux - mada ne predstavlja veliku opasnost. Virus potiče iz Češke. Obično ga prenose korisnici koji jedni drugima šalju zaražene aplikacije kao priloge u elektronskoj pošti. Symantec i drugi proizvođači antivirusnog softvera krenuli su da pod hitno naprave softver koji ce otkriti novog napasnika.

9

Page 10: Linux Kroz IT_S.cvejic (22)

6.Upravljanje radom u mreži

Linux je moguće koristiti na samostalnim radnim stanicama, međutim pravo mesto primene Linux-a je svet računarskih mreža. On može biti server za datoteke i štampanje, Web server, obična skretnica za Internet i radna stanica stabilnija od ostalih OS-a sa mogućnošću pristupa Windows i Unix aplikacijama.

6.1.Linux kao server za datoteke

Ovo je jedna od primarnih potreba u maloj mreži. Serveri datoteka su zajednička spremišta za podatke i omogućavaju svim članovima mreže pristup podacima. Postavljanjem servera izbegava se svakodnevno pravljenje rezervnih kopija podataka svih radnih stanica u mreži čime se štedi na prostoru, vremenu i novcu.

6.2.Linux kao server za štampanje

Postoje dva načina kako se ovo može organizovati. Prvi je slanje dokumenta za štampu korisniku u mreži koji ima lokalni štampač i drugi je štampa na zajedničkom deljenom štampaču. Linux može da radi u oba okruženja. On podržava veliki broj različitih štampača. Njegove opcije za deljenje štampača omogućavaju deljenje istih u Unix, Windows i Novell mrežama.

6.3.Linux kao server za baze podataka

Za Linux postoji veliki broj besplatnih paketa za upravljanje bazama podataka. Najpoznatiji su Postgre i MySQL, 1998. godine najveći proizvođači softvera za baze podataka isporučili su verzije svojih proizvoda za Linux i time značajno doprineli popularnosti Linux-a. Među njima su Oracle, Sybase i Informix. Kompletiranjem usluga web servera i podrškom za upravljanjem bazama podataka Linux je postao široko rasprostranjen u intranet mrežama.

6.4. Linux kao intranet server

Do pojave Linux-a intranet mreže su zbog velikih cena hardvera i softvera potrebnih za mrežu, mogle da priušte samo veće firme i kompanije. Postojanje Web servera za Linux, kao i sistema za upravljanje relacionim bazama podataka, omogućava postavljanje intranet servera po znatno manjoj ceni od one koja bi bila potrebna za Windows

10

Page 11: Linux Kroz IT_S.cvejic (22)

6.5.Linux kao mrežni ruter

Kada treba međusobno povezati dve ili više mreža, ruter je uređaj koji omogućava komunikacije između dve mreže. Postoje softverski i hardverski ruteri. Linux ima sve što mu je potrebno da bi radio kao ruter: Podrška za više Ethernet kartica; podrška za ISDN i standardne modeme; podrška za IP prosleđivanje. Ovo rešenje je znatno jeftinije nego kada bi se koristio hardverski ruter.

6.6.Linux kao radna stanica

Linux se može koristiti i kao OS za radne stanice u okviru mreže. On nudi i mogućnost umrežavanja po modelu ravnopravnih članova koje obezbeđuje bolje performanse od drugih sistema. Ukoliko slabije ili zastarele mašine ne mogu da koriste najnovije verzije softvera za Windows, Linux ih može učiniti potpuno funkcionalnim X terminalima.

11

Page 12: Linux Kroz IT_S.cvejic (22)

7.OS i grafički interfejs

Grafička radna okruženja su više od običnih upravljača prozora. Ona teže da obezbede kompletan, povezan GUI. Kod jednostavnih upravljača prozora nema garantovane postojanosti izgleda i ponašanja aplikacija i mogućnosti drugih OS-a, kao što je tehnologija prevuci i pusti (Drag’n’Drop) za razmenu sadržaja među aplikacijama i ugradnja podataka za više aplikacija. Postoje razna grafička okruženja za Linux koja predstavljaju ciljnu platformu za programere aplikacija, da bi razvili softver sličnog izgleda i ponašanja i uključili u njih zajedničke osobine kao što je tehnologija prevuci i pusti. Dva takva radna okruženja su besplatna i takmiče se za status standardnog Linux grafičkog okruženja. To su K Desktop environment (KDE) i GNOME: GNU Network Object Model Environment. KDE je pokušaj da se obezbedi besplatna alternativa koja kombinuje niz aplikacija, kao što su upravljač datoteka, emulator terminala i sistem za podešavanje prikaza, uz upravljača prozora koji X aplikacijama daje pristojan izgled i ponašanje. GNOME je rezultat alternativnog pokušaja da se razvije sveobuhvatno, besplatno, grafičko radno okruženje za Linux. Za razliku od KDE, koji obuhvata i ugrađeni upravljač prozora, GNOME je nezavistan od upravljača prozora. On pruža programersko okruženje koje omogućava razvojnom osoblju da u svoje upravljače prozora uključe punu podršku za GNOME.

12

Page 13: Linux Kroz IT_S.cvejic (22)

8.Upravljanje poslovima, procesima, procesorima

Osnovne funkcije OS su upravljanje procesorom i memorijom. Moduli OS koji realizuju funkciju upravljanja memorijom računara vode računa o zauzetosti i nezauzetosti pojedinih delova memorije, utvrđuju način skladištenja određenih sadržaja u memoriji (raspodela memorije), realizuju te načine skladištenja korišćenjem izvesnih tehnika alokacije (adresiranje memorije), utvrđuju načine brisanja ili transfera memorije itd. Moduli koji realizuju funkcije upravljanja procesorom se svode na izazivanje specifičnih aktivnosti procesora kojima se realizuje obrada određenog aplikativnog programa. U suštini postoje dva skupa modula za upravljanje procesorima računarskog sistema: moduli koji kontrolišu zadatke obrade i moduli koji nadziru status i rad procesora. Njihovom interakcijom ostvaruje se primarni zadatak OS – dodeljivanje procesora pojedinim zadacima obrade.. Funkcija upravljanja podacima, odnosi se na memorisanje i manipulisanje podataka. Računar ih održava u formi datoteka, baza ili banka podataka. Evidenciju o postojećim podacima OS vodi održavanjem posebnih tabela opisivača tih podataka. Te tabele su memorisane u memoriji računara i u njima su navedeni nazivi, lokacije i eventualna ograničenja pristupa svim podacima. OS ispituje sadržaj tih tabela pre nego što omogući pristup nekog aplikativnog programa određenim podacima Iz dosadašnjeg opisa modula OS vidi se da je ovo izuzetno složen deo sistemskog softvera, i da njime mora upravljati jedan izdvojeni segment koji se može smatrati jezgrom OS. Osnovna funkcija jezgra je sprovođenje procedura optimizacije kompleksa funkcija čitavog OS. On znači nadzire, koordinira i vrši pokušaje optimizacije rada svih ostalih modula OS. Zbog ove uloge, on je smešten u glavnoj memoriji računara, što nije slučaj sa ostalim segmentima OS koji mogu biti smešteni na nekoj sekundarnoj memoriji. Ako bi se sistem posmatrao kao skup slojeva to bi izgledalo ovako:

-prvi sloj oko hardvera je jezgro (kernel) OS-a koji potpuno izoluje ostale slojeve sistema od mašine, -drugi sloj su komandni procesor (shell) i editori (ed i vi) koji su u interakciji sa jezgrom preko sistemskih poziva. U ovom sloju se nalaze različite komande (npr. date, cd, ls, mkdir) a mogu biti i neki korisnički programi, -treći sloj su ostali korisnički programi, gde je smešten i standardni C kompajler, cc. Jezgro OS-a ima zadatak da odgovara na hardverske prekide i zahteve procesa na višim nivoima obezbeđujući uslove za nesmetano odvijanje konkretnih aktivnosti. Funkcije jezgra se mogu koristiti putem sistemskih poziva ili putem sistemskih programa

13

Page 14: Linux Kroz IT_S.cvejic (22)

Osnovne funkcije jezgra su:

- Obrada prekida- Kreiranje i uklanjanje procesa- Promena stanja procesa- Planiranje procesa- Sinhronizacija procesa- Obezbeđivanje komunikacije među procesima- Podrška I/O operacijama- Podrška raspodeli memorije- Podrška mehanizmima za poziv procedura- Podrška nadzornim funkcijama sistema

Granicu između korisničkih programa i jezgra čine biblioteke i sistemski pozivi (pozivi funkcija iz C programa). Asemblerski programi mogu direktno koristiti sistemske pozive bez biblioteke sistemskih poziva. Biblioteke (skupovi funkcija) se povezuju sa programima u vreme kompilacije korisničkih programa.Dve osnovne komponente jezgra su:

- podsistem za upravljanje fajlovima – vrši dodelu prostora na sekundarnim memorijskim jedinicama, vodi evidenciju o slobodnom prostoru, kontroliše pristup fajlovima i pronalazi podatke na zahtev korisnika. Mehanizmom baferovanja reguliše tok podataka između jezgra i sekundarne memorijske jedinice.

i podsistem za upravljanje procesima

OS donosi odluku po kom će redosledu i koliko dugo procesor dodeljivati procesima. Ovu funkciju obavlja planer (scheduler) procesa. Planer vrši dodelu procesora (CPU) procesima. Da bi to obavio planer prati stanje svakog procesa i zavisno od utvrđenih kriterijuma bira proces kome će dodeliti procesor. Podsistem za upravljanje procesima je odgovoran za sinhronizaciju procesa, za komunikaciju među procesima, za upravljanje memorijom i za planiranje procesa. Modul za upravljanje memorijom upravlja dodelom memorije. Ako nema dovoljno memorije za neke procese jezgro inicira premeštanje nekih delova glavne memorije na sekundarnu i obrnuto(ovaj proces se naziva swapping). Jezgro ima zadatak da vremenski koordinira izvršavanje konkurentnih procesa i da obezbedi razmenu podataka između međuzavisnih procesa koji sarađuju. Sa obzirom da je Linux višekorisnički OS, izuzetnu važnost dobija mogućnost kontrole poslova koje obavlja računar. Ova opcija omogućava da se iz jednog komandnog okruženja izvršava i upravlja istovremenim izvršavanjem više programa.

14

Page 15: Linux Kroz IT_S.cvejic (22)

9.Upravljanje ulazima/izlazima (perifernom opremom)

Elektronski računar predstavlja jedinstvo hardvera i softvera, a u novije vreme i komunikacijskih uređaja Pojam operativni sistem (OS) podrazumeva “softver potreban za izvršavanje (aplikativnih) programa i za koordinaciju aktivnosti računarskog sistema.” Medjutim, specijalizacijom računarskih sistema promenio se i pojam OS koji sada obuhvata 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, optimizuju funkcionisanje i pojednostavljuju upotrebu računarskog sistema. Sa stanovišta OS svi hardverski uređaji osim procesora i memorije predstavljaju periferijske uređaje računarskog sistema i njihovim radom takođe upravlja određeni skup modula. OS mora znati koji uređaji postoje u konfiguraciji računarskog sistema i šta svaki od njih radi. Tu evidenciju, OS vodi održavanjem posebne “ statusne datoteke podataka” o svakom perifernom i podržanom uređaju. Programski moduli jezgra su ključni deo Linux-a. Oni omogućavaju dodavanje funkcionalnosti Linux-u, bez ponovnog prevođenja izvornog kôda jezgra. Pri dodavanju novog hardvera računaru dovoljno je jednom naredbom učitati programski modul jezgra za njegovu podršku uz pomoć naredbe insmod. Ranije je Linux zahtevao da se celo jezgro ponovo prevede da bi se u njemu uključila podrška za nov hardver. Kako je broj hardverskih uređaja rastao, ovi moduli su omogućili da jezgro ostane malo i omogućuju korisnicima da lako dodaju podršku za svoj hardver. Upravo je to velika razlika Linux-a i ostalih operativnih sistema koja omogućava brze promene sistemskih fajlova bez ponovnog podizanja sistema. Pošto se programski moduli umeću u kôd tokom izvršavanja, oni se čuvaju u obliku objektnog kôda (već prevedeni). Svaki programski modul ima produžetak imena .o. Jezgro se podešava tako da njegova veličina, brzina i hardverska podrška koju pruža budu dobro uravnoteženi. Tu ravnotežu određuje proizvođač Linux-a prema svojoj predstavi o prosečnom korisniku. Međutim moguće je konfigurisati Linux tako da odgovara korisnikovim potrebama i to može uraditi sam korisnik.

15

Page 16: Linux Kroz IT_S.cvejic (22)

10.Konfigurisanje sistema i interfejs

Jezgro OS-a ima zadatak da odgovara na hardverske prekide i zahteve procesa na višim nivoima obezbeđujući uslove za nesmetano odvijanje konkretnih aktivnosti. Funkcije jezgra se mogu koristiti putem sistemskih poziva ili putem sistemskih programa. Osnovne funkcije jezgra su:

- Obrada prekida- Kreiranje i uklanjanje procesa- Promena stanja procesa- Planiranje procesa- Sinhronizacija procesa- Obezbeđivanje komunikacije među procesima- Podrška I/O operacijama- Podrška raspodeli memorije- Podrška mehanizmima za poziv procedura

Podrška nadzornim funkcijama sistema. Granicu između korisničkih programa i jezgra čine biblioteke i sistemski pozivi (pozivi funkcija iz C programa). Asemblerski programi mogu direktno koristiti sistemske pozive bez biblioteke sistemskih poziva. Biblioteke (skupovi funkcija) se povezuju sa programima u vreme kompilacije korisničkih programa.

Dve osnovne komponente jezgra su:- podsistem za upravljanje fajlovima – vrši dodelu prostora na

sekundarnim memorijskim jedinicama, vodi evidenciju o slobodnom prostoru, kontroliše pristup fajlovima i pronalazi podatke na zahtev korisnika. Mehanizmom baferovanja reguliše tok podataka između jezgra i sekundarne memorijske jedinice.

- i podsistem za upravljanje procesima. Jedna od karakteristika Linux-ovog jezgra je da istovremeno obavlja više poslova (engl. multitasking). Kada se za OS kaže da istovremeno obavlja više poslova, misli se da on daje privid da istovremeno izvršava više od jedne aplikacije, odnosno procesa. Njime se postiže da računar sa jednim procesorom izgleda kao da obavlja više poslova. Međutim, jedan procesor u svakom trenutku može da izvršava samo jednu naredbu. Ako multitasking dobro radi korisnik koji obavlja jedan posao neće ni biti svestan dodatnih poslova koje obavlja računar. Izgledaće kao da sve teče glatko a računar se neće blokirati. Unix sistemi su bili mnogo bolji od Windows-a u istovremenom obavljanju više poslova; Unix može istovremeno da izvršava veoma veliki broj aplikacija, što ga je činilo idealnim za servere velikih preduzeća i snažne radne stanice. Još jedna prednost Linux-a je da podržava višeprocesorski rad. Ovi sistemi mogu istovremeno da izvršavaju dva posla. Kombinujući istovremeno obavljanje više poslova sa višeprocesorskim radom, ovi sistemi su mnogo povećali broj aplikacija koje računar može istovremeno da izvršava.

16

Page 17: Linux Kroz IT_S.cvejic (22)

Maksimalni broj procesa koji mogu biti pokrenuti je ograničen samo veličinom fizičke memorije. Naredba koju korisnik izda izvršava se u prednjem planu. To znači da komandno okruženje izvršava zadatu naredbu i ne vraća se na poziv za unos nove naredbe sve dok prva naredba nije izvršena. Kod interaktivnih programa to znači da program kontroliše ekran ili prozor u kome se naredba izvršava i tek posle izlaska iz programa ponovo se dobija poziv za unošenje naredbe. Tek po završetku rada pojaviće polje za unos. Najlakši način smeštanja posla u pozadinu je dodavanjem znaka & na kraj upisane naredbe. Taj znak govori komandnom okruženju da naredbu izvrši u pozadini i odmah da da znak za unošenje nove naredbe. Da bi zaustavljeni posao vratili u prednji plan, potrebno je upotrebiti naredbu fg. Još jedna od odlika Linux-ovog jezgra, po kojoj se on razlikuje od ostalih OS-a namenjenih stonim PC računarima, jeste da može u isto vreme da radi sa više korisnika (engl. multiuser) što mogu sve verzije i svi klonovi Unix-a.

17

Page 18: Linux Kroz IT_S.cvejic (22)

11.Upravljanje memorijom

Moduli OS koji realizuju funkciju upravljanja memorijom računara vode računa o zauzetosti i nezauzetosti pojedinih delova memorije, utvrđuju način skladištenja određenih sadržaja u memoriji (raspodela memorije), realizuju te načine skladištenja korišćenjem izvesnih tehnika alokacije (adresiranje memorije), utvrđuju načine brisanja ili transfera memorije itd. Moduli koji realizuju funkcije upravljanja procesorom se svode na izazivanje specifičnih aktivnosti procesora kojima se realizuje obrada određenog aplikativnog programa. U suštini postoje dva skupa modula za upravljanje procesorima računarskog sistema: moduli koji kontrolišu zadatke obrade i moduli koji nadziru status i rad procesora. Njihovom interakcijom ostvaruje se primarni zadatak OS – dodeljivanje procesora pojedinim zadacima obrade. Modul za upravljanje memorijom upravlja dodelom memorije. Ako nema dovoljno memorije za neke procese jezgro inicira premeštanje nekih delova glavne memorije na sekundarnu i obratno (ovaj proces se naziva swapping). Pojam naredba obuhvata ključne mogućnosti jednog operativnog sistema. Pod DOS-om su to bile DIR, COPY i ATTRIB. One pružaju osnovu na kojoj se mogu izgraditi složenije akcije sa kojima je moguće napisati *.bat datoteke (skupove naredaba). Ali kod mnogih OS-a broj raspoloživih naredaba je ograničen i obično nepromenjljiv: korisnici ne dodaju nove naredbe. U svetu Unix-a i Linux-a je to drugačije. Naredba je svaka izvršna datoteka. Dakle, svaka datoteka napisana tako da može da se izvršava, za razliku od datoteka koje sadrže podatke, ili informacije o podešavanjima. U suštini, naredbe su zapravo posebni programi snimljeni u posebne datoteke. Broj Linux-ovih naredaba koje su na raspolaganju u uobičajenoj distribuciji Linux-a prilično je veliki. Neke od najkorišćenijih naredaba su: su,cp, pwd, cd, ls, more, less, find, grep, tar, gzip i man.

18

Page 19: Linux Kroz IT_S.cvejic (22)

12.Podrške aplikativnim programima i ostalim uslugama

Centralni deo računarskog sistema predstavlja hardver koji snabdeva OS svim potrebnim servisima. OS u direktnoj interakciji sa hardverom obezbeđuje programima opšte servise. Ako bi se sistem posmatrao kao skup slojeva to bi izgledalo ovako: -Prvi sloj oko hardvera je jezgro (kernel) OS-a koji potpuno izoluje ostale slojeve sistema od mašine.-U sledećem sloju su komandni procesor (shell) i editori (ed i vi) koji su u interakciji sa jezgrom preko sistemskih poziva. U ovom sloju se nalaze različite komande (npr. date, cd, ls, mkdir) a mogu biti i neki korisnički programi.-Ostali korisnički programi se nalaze na sledećem nivou, gde je smešten i standardni C kompajler, cc. Sada je Linux mnogo pristupačniji nego što je bio pre nekoliko godina; napredak u postupku instaliranja (već postoji instalacija koja kompletno teče na srpskom jeziku), grafičko okruženje (takođe postoji KDE potpuno prevedeno na srpski jezik), veliki broj aplikativnih programa i sve bolja hardverska podrška učinili su da Linux postane dostupan i jednostavan za upotrebu i manje naprednim korisnicima. Postupak ponovnog prevođenja jezgra koristi okruženje vođeno menijem i jednom komandnom linijom za preradu jezgra. Za ovaj proces, koji se naziva kompajliranje (engl. compilation) koriste se standardni prevodioci jezika C, gcc i egcs. Pošto programski projekt ima desetine pojedinačnih komponenata, uslužni program make proverava njihove datume i vremena nastanka, i ponovo prevodi samo one komponente koji su bili izmenjeni nakon poslednjeg prevođenja, čime se štedi mnogo vremena pri izradi nove verzije nekog projekta.

19

Page 20: Linux Kroz IT_S.cvejic (22)

Zaključak

Zadnjih nekoliko godina evidentan je strahovito brz razvoj Linux-a kao i njegovo sve veće prisustvo na tržištu. Može se slobodno reći da je koncept otvorenog kôda potpuno zaživeo. Besplatnost, velika konkurencija, moćno radno okruženje, jaka Internet zajednica korisnika, efikasnost i sigurnost u radu, lepo upakovani u jednostavan paket za instalaciju, učinili su da Linux zađe u sve pore industrijske i kućne primene računara. Do pojave operativnog sistema Linux, PC računari bazirani na Intel-ovim procesorima su radili isključivo uz pomoć operativnih sistema baziranih na unošenju komandnih reči. Snaga procesora nastalih posle serije 80286 nije adekvatno bila iskorišćena jer je operativni sistem MS-DOS radio sa 16-bitnim strukturama. Sa pojavom Linux-a, iz sveta Unix-a prenešena je moć komandne linije kao i jednostavnost i lakoća rada u grafičkom radnom okruženju. Kombinujući multitaskink i multiprocesing, Linux je mnogo odskočio od postojećih operativnih sistema namenjenih radu u mrežama kao i na iskorišćavanju superračunara sa velikim brojem procesora. Stabilnost u radu učinila je da se nađe na mnogim mestima koja su od vitalnog značaja za funkcionisanje velikih organizacija preko avio i motorne industrije pa sve do same države. Sledeće mesto gde ga još nema a koje je objektivno zaslužio je u udžbenicima i školskim računarskim učionicama. Loša marketinška politika Microsoft-a, visoke cene Apple-a kao i samog hardware-a za Mac učinili su da Linux vrlo brzo zauzme ogroman deo tržišta koji su do sada pokrivali ove dve kompanije. Susrevši se prvi put sa Linux-om, korisnici bi uvideli da Windows nije jedini grafički operativni sistem dostupan za PC računare, a kamoli toliko dobar koliko ga hvale. Upravljači prozora koji emuliraju izgled Windows-a učinili su prelaz sa Windows platforme bezbolan za one manje napredne korisnike. Do skora je hardverska podržanost bila veoma loša i mnogi su zbog toga izbegavali da pređu na korišćenje Linux-a. Međutim, veliki proizvođači hardvera su uvideli da Windows neće izdžati pod naletom Linux-a i postepeno su počeli da svoje proizvode prave kako bi mogli da rade i pod Linux-om. Ista stvar se desila i sa proizvođačima softvera. Sve je više onih koji izdaju verzije svojih najpopularnijih programa za rad pod Linux-om. Procena je da je trenutan odnos zastupljenosti Windows-a i Linux-a negde oko 60:30 ali samo je pitanje vremena kada će Linux preuzeti inicijativu.

20

Page 21: Linux Kroz IT_S.cvejic (22)

Literatura

1. http:// www.linux.co.yu

2. http:// www.kde.ogr

3. http:// www.linuxdoc.org

4. http:// www.linux.org. yu

5. http://www.justlinux.com

21

Page 22: Linux Kroz IT_S.cvejic (22)

Sadržaj

1.Uvod...................................................................................22.Upravljanje sistemom datoteka,podacima, informacijama....................................................................33.Kontrola izvršavanja programa i upravljanje prekidima...........................................................................64.Pogled na OS sa aspekta razvoja sistema..........................75.OS i podrške komunikacijama...........................................86.Upravljanje radom u mreži..............................................10

6.1.Linux kao server za datoteke................................106.2.Linux kao server za štampanje.............................106.3.Linux kao server za baze podataka......................106.4.Linux kao intranet server.....................................106.5.Linux kao mrežni ruter.........................................116.6.Linux kao radna stanica.......................................11

7.OS i grafički interfejs......................................................128.Upravljanje poslovima, procesima, procesorima.....................................................................139.Upravljanje ulazima/izlazima (perifernom opremom)....................................................1510.Konfigurisanje sistema i interfejs.................................1611.Upravljanje memorijom................................................1812.Podrške aplikativnim programima i ostalim uslugama..........................................................19Zaključak...........................................................................20Literatura...........................................................................21Sadržaj...............................................................................22

22