68
Ristić Goran Ubuntu Linux 5.10 Univerzitet u Kragujevcu Tehnički fakultet u Čačku Seminarski rad Ubuntu linux 5.10 3

Ubuntu 5.10

  • Upload
    bsavic

  • View
    694

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Univerzitet u Kragujevcu

Tehnički fakultet u Čačku

Seminarski rad

Ubuntu linux 5.10

Kandidat: Profesor:

3

Page 2: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Ristić Goran dr Živadin Micić Dosije broj: 442/05 Predmet: Operativni sistemi

4

Page 3: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Sadržaj

1 UVOD U UBUNTU LINUX 5.10 OPERATINI SISTEM.............................................3

2 UPRAVLJANJE SISTEMOM DATOTEKA, PODACIMA, INFORMACIJAMA......5

3 KONTROLA IZVRŠAVANJA PROGRAMA I UPRAVLJANJE PREKIDIMA......12

4 POGLED NA UBUNTU LINUX 5.10 SA ASPEKTA RAZVOJA SISTEMA..........16

5 UBUNTU LINUX 5.10 I PODRŠKA KOMUNIKACIJAMA....................................21

6 UPRAVLJANJE RADOM U MREŽI..........................................................................23

7 UBUNTU LINUX 5.10 I GRAFIČKI INTERFEJS.....................................................26

8 UPRAVLJANJE POSLOVIMA, PROCESIMA, PROCESORIMA...........................31

9 UPRAVLJAJE ULAZIMA/IZLAZIMA ( PERIFERIJOM ).......................................35

10 KONFIGURISANJE SISTEMA I INTERFEJSA........................................................39

11 UPRAVLJANJE MEMORIJOM..................................................................................43

12 PODRŠKA APLIKATIVNIM PROGRAMIMA, OSTALIM ULOGAMA................46

LITERATURA..............................................................................................................51

5

Page 4: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

1 UVOD U UBUNTU LINUX 5.10 OPERATIVNI SISTEM

Operativni sistem je sistemski softver za vezu između hardvera i korisnika koji omogućuje automatizaciju usluga, pouzdanost, mogućnost održavanja, raspoloživost, upravljanje podacima, programima i pri tome kontroliše međusobno deljenje informacionih resursa u cilju efikasnog rada čitavog računarskog sistema, obezbeđujući kontrolu, integritet, sigurnost.

Operativni sistem je vrlo kompleksan softver, tako da je teško prikazati ga jednostavno a istovremeno i precizno. Tipičan operativni sistem sastoji se od sledećih komponenata:

mikrokoda ( microcode ) jezgra ( kernel ) ljuske ( shell )

Mikrokod ( microcode ) jeste skup programa specifičan za određeni hardver računara. Da bi isti operativni sistem mogao da funkcioniše na različitim hardverskim platformama, ovaj skup programa je grupisan u jedan modul, koji se naziva BIOS ( Basic Input Output Sistem ). Skup instrukcija je upisan u ROM memoriju, na čipu koji se nalazi u sastavu matične ploče.

Jezgro ( kernel ) jeste skup programa operativnog sistema koji kontroliše pristup računaru, organizaciju memorije, organizaciju datoteka, raspored rada procesa i raspodelu sistemskih resursa. Ovi programi rade u posebnom režimu rada ( kernel mode, supervisor mode ) hardverski zaštićenom od mogućih uticaja korisnika.

Ljuska ( shell ) jeste komandni interfejs ( interface ) koji interpretira ulazne komande korisnika i/ili njihovih programa i aktivira odgovarajuće sistemske programe koji čine jezgro sistema.

Danas imao dve glavne familije operativnih sistema u najširoj upotrebi i to Microsoft Windows i UNIX – LINUX .

Linux je operativni sistem, serija programa koja omogućava kontakt sa računarom i pokreće druge programe. Operativni sistem se sastoji od ražličitih fundamentalnih programa koji su potrebni za računar kako bi mogao komunicirati i primati instrukcije od korisnika, čitajući i pišući podatke na hard disk, diskete i printere. Kontroliše upotrebu memorije i pokreće drugi softver. Najvažniji deo Operativnog sistema je Kernel. U GNU/Linux sistemu, Linux je Kernelova komponenta. Ostatak sistema sastoji se iz drugih programa, mnogi od njih napisani su za GNU projekat. Zato što Linux Kernel sam ne pripada Operativnom sistemu koristise termin „ GNU/Linux „

Linux je modelovan od UNIX Operativnog sistema. Od početka, Linux je bio projektovan da bude multi – tasking, multi – korisnički sistem. Ove činjenice su dovoljne da naprave Linux drugačijim od drugih poznatih Operativnih sistema. Bilo kako, Linux je toliko drugačiji da je to teško zamisliti. Suprotno drugim Operativnim sistemima Linux niko ne poseduje. Mnogo od ovog razvoja je urađeno volonterski. Razvoj onoga što će kasnije postati GNU/Linux počinje 1984 godine. Free Software Foundation počela je da razvija slobodni UNIX, sličan Operativni sistem nazvan GNU.

Linux Kernel se pojavio 1991. godine kada je finski student informatike Linus Torvalds promovisao u ranoj verziji zamišljen Kernel za Minix za Usenet news group comp.os.minix. Korisnici Linuxa mogu izabrati različite komandne ljuske i nekoliko grafičkih okruženja. Ovakav izbor obično zbuni korisnike drugih Operativnih sistema koji nisu navikli da misle da komandna linija ili desktop je nešto što mogu menjati. Linux, takođe ima manje pada sistema i bolji je kad pokreće više od jednog programa u isto vreme i mnogo je sigurniji od mnogih drugih Operativnih sistema. Linux je počeo da bude sve popularniji i u kućnoj i upotrebi u biznisu.

Šta je Ubuntu?To je kompletan Linuxov operativni sistem, slobodno dostupan. Ubuntu Manifesto – softver

može biti dostupan, upotrebljiv od ljudi i njihovih lokalnih jezika, bez obzira na razlike i da ti ljudi imaju slobodu da prilagode softver na bilo koji način kako oni vide.Uključuje najbolje mogućnosti

6

Page 5: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

infrastrukture što Free Software zajednica može pružiti, da bi Ubuntu bio upotrebljiv za što više ljudi.

Ubuntu je razvijen u stabilan sistem, nova verzija je dostupna svakih šest meseci. Može se upotrebiti stabilan sistem i stabilan razvoj – celokupan je u otvorenom kodu razvoja softvera. Ohrabruju se ljudi da koriste slobodan kod.

On je pogodan i za desktop i za upotrebu servera. Tekući Ubuntu 5.10 podržava Intel x86 ( IBM – kompatibilan PC ), AMD 64 ( Hammer ) i Power PC ( Apple; Book and Power book, G4 and G5 ) arhitekture.

Ubuntu uključuje više od 1000 delova softvera, počevši od Linux Kernel verzije 2.6 i Gnome 2.8 i pokrivajući svaki standardni desktop za tekst i tabele povezane za Internet aplikacije, web server programe, elektronsku poštu, programiranje i alate i naravno igre.

Ubuntu je sponzorisan od Canonical Ltd.

Šta je Debian?To je volonterska organizacija za razvijanje slobodnog softvera i promovisanja ideja. Počeo

je 1993 god. kada je Ian Murdock uputio otvoren poziv razvojnim programerima da doprinesu kompletnoj i koherentnoj distribuciji programa osnovanoj na novom Linux Kernel-u. Taj relativno mali broj entuzijasta, oformljen u Free Software Foundation i pod uticajem GNU filozofije, porastao je tokom godina u organizaciju od oko 900 Debian programera. Imaju razne aktivnosti uključujući Web i FTP administraciju, grafički dizajn, legalne softverske licence, pisanje dokumentacije, razvoj softvera. Linux Standard Base ( LSB ) je uveden da se standardizuje GNU/Linux sistem.

Ubuntu i Debiansu odvojeni, ali paralelan i blisko povezan sistem. Ubuntu projekti traže dopunu Debian projekata u sledećim oblastima:

Selekcija dodatakaUbuntu ne obezbeđuje siguran update i profesionalnu podršku za svaki dodatak dostupan u open source svetu, ali izabira kompletne delove dodataka praveći solidan desktop i obezbeđujući podršku za deo tih dodataka. Za korisnike koji žele pristup za svaki poznati dodatak, Ubuntu omogućuje „ univerzalnu „ komponentu ( set dodataka ) gde korisnici Ubuntu sistema instaliraju zadnju verziju dodatka koji nije u podržanom set-u. Najviše dodataka u Ubuntu svetu su takođe u Debianu, mada postoje i drugi izvori.

VerzijaUbuntu pravi verziju svakih šest meseci i podržava te verzije 18 meseci za kritične greške. Kad se Ubuntu sprema za novu verziju onda se „ zamrzne „ Debianova razvojna arhiva ( „ sid „ ). Počinje se od „ sid - a „ da bi se dala sloboda da se prave sopstvene odluke, nezavisno od Debiana. To je neophodno jer je nova verzija kriterijum veoma različit od Debianovog. Jednostavan primer: Dodatak bi mogao biti isključen iz Debianovog „ testiranja „ usled pravljenja greški u nekoj od 11 arhitektura podržanih od Debiana, ali on još važi za Ubuntu ako je napravljen i radi na jedno tri od njih. Dodatak će takođe biti preventivn odstranjen iz ulaznih Debianovih testova ako je realizacija kriterijumske greške prema Debianovom kriterijumu, ali greške koje su realizovane kritično za Debian, ne moraju biti važne za Ubuntu. Razlike između grupa leže u njihovom tretmanu ne računajući aplikacije ( dokumentacija, fontovi, binarni fajlovi ... ).

7

Page 6: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

2 UPRAVLJANJE SISTEMOM DATOTEKA, PODACIMA, INFORMACIJAMA

Pošto je Linux UNIX klon dosledno prati UNIX filozofiju rada pa i u segmentu sistema datoteka ( Fajl Sistem ).

UopštenoU UNIX sistemu sve je fajl, a ako nešto nije fajl to je proces. Ova izjava je tačna zato što

postoje specijalne fajle koje su više fajle ( zovu se pipes i sockets ), ali da bi se uprostilo, kad se kaže sve je fajl to je generalizacija. Linux kao i UNIX ne pravi razliku između fajle i direktorijuma pošto i direktorijum je fajl koji sadrži imena drugih fajli. Programi, servisi, tekstovi, slike sve su to fajle. Ulazni, izlazni uređaji uopšteno svi uređaji se smatrju fajlovima. Za početak kao u MS - DOS ( Disk Operating System) upotrebljava se zamisao drveta, ali i nije baš tako.

Podela fajliMnoge fajle su upravo fajl, zovemo ih regularne. One sadrže normalne podatke ( tekst fajle,

izvršne fajle ili programi, ulazi, izlazi iz programa itd.). Postoje izuzeci: direktorijumi – fajle koje sadrže listu drugih fajli specijalne – mehanizam upotrebljen za ulaz i izlaz Veze – sistem pravi fajle ili direktorijume vidljive u različitim delovima sistemskog

stabla ( Domain ) sockets - specijalne fajle ( TCP / IP sockets ) omogućavajući inter – process

mrežu zaštićene pristupom kontroli fajle Imenovane cevi – manje, više kao socket i forma i način da komuniciraju jedna sa

drugom ne upotrebljavajući semantiku mrežeOznačavanje fajle ( d – direktorijum, l – links, c – special fajle, s – socket, p – imenovana cev, b – blok uređaj ). Korisnici rade sa običnim fajlama, izvršnim fajlama, direktorijumima i linkovima.

O particijiMnogi ljudi imaju znanje o tome šta je particija, jer svaki Operativni sistem ima mogućnost

da ih kreira i pomera. Može zvučati čudno da Linux upotrebljava više od jedne particije na istom disku, čak i kad koristi standardnu instalacionu proceduru. Jedan od ciljeva, zašto ima različite particije je da postigne veću zaštitu podataka u slučaju uništenja. Podelom hard diska na particije, podaci mogu biti grupisani i podeljeni. Kad se incident desi jedino podaci u particiji koja je pogođena će biti uništeni , dok će podaci u drugim particijama opstati. Ovi principi datiraju iz dana kada Linux nije imao fajl za oporavak sistema ( journaled file ) i nedostatak napajanja je dovodio do uništenja. Mišljenje da fajl za oporavak sistema jedino obezbeđuje sigurnost podataka u slučaju nedostatka napajanja i iznenadnog isključivanja nije do kraja tačno jer ne štiti podatke od loših blokova i logičkih greški u sistemskoj fajli. U tom slučaju mora se koristiti RAID ( Redundant Array of Inexpensive Disks ).

Tipovi particijaPostoje dva tipa glavnih particija Linux sistema: data partition – normalni Linux sistemski podaci, uključujući root particiju sadržavajući

sve podatke da startuju i pokrenu sistem swap partition – ekspanzija kompjuterske fizičke memorije, extra memorije za hard disk

Mnogi sistemi sadrže root particiju, jednu ili više data particija i jednu ili više swap particija. Sistemi u mešanim okolnostima mogu sadržati particije drugih sistema podataka ( particije FAT ili VFAT fajle za MS Windows podatke ).

8

Page 7: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Većina Linux sistema koristi fdisk u instalaciji da postavi tip particije ( automatski ), nekad je potrebno da se selektuje tip particije ručno i čak ručno da se uradi particija. Standardna Linux

particija ima broj 82 za swap, 83 za podatke koja može biti journaled ( ext3 ) ili normalna ( ext2 na starijim sistemima ).

Nasuprot ova dva, Linux podržava raznovrsnost drugih fajli sistemskog tipa, kao što je reaktivno nov Reister fajl sistem JFS, NFS, FATxx i mnogi drugi sistemi fajli prirodno dostupni na drugim Operativnim sistemima.

Standardna root particija ( označena sa / ) je oko 100 – 500 MB i sadrži sistemski konfigurisane fajle, osnovne komande i serverove programe, sistemske biblioteke, neke privremene prostore i home direktorijum za administratora. Standardna instalacija zahteva oko 250 MB za root particiju.

Swap prostor ( označen sa swap ) je jedino primenljiv za sam sistem i sakriven je za vreme normalnih operacija. Swap je ono što sistem obezbedi, kao kod normalnih UNIX sistema,koje se može držati da radi bez obzira šta se desilo. U Linux – u se nikad ne pojavljuje iritirajuća poruka: Out of memory, please close some applications first and try again zbog ekstra memorije. Swap ili virtuelna memorija je dugo bio usvajan od Operativnih sistema izvan UNIX sveta. Upotrebljavajući memoriju na hard disku je prirodno sporije nego upotrebljavajući prave memorijske čipove kompjutera, ali imajući u vidu šta se dobija, ekstra memorija je veliki komfor.

Linux uopšteno ima dva puta više fizičke memorije u formi swap prostora na hard disku. Kada se instalira sistem mora se voditi računa o swap – u npr: 512 MB RAM

prva mogućnost je swap particija od 1GB druga mogućnost su dve swap particije od 512 MB treća mogućnost je da se obezbede dva hard diska i po jedna particija od 512 MB na

svakom diskuTreća mogućnost će dati najbolje rezultate kada se očekuje mnogo I/ONeke aplikacije kao baze podataka možda zahtevaju više swap prostora. Swap može zavisiti

od Kernela. Kernel je na odvojenoj particiji najvažnija fajl sistema i nalazi se u particiji /boot gde se čuva Kernel i pridružujući podaci.

Ostatak hard diska je generalno podeljen na particije podataka, mada je moguće da svi nekritični podaci budu na jednoj particiji, npr:

Particije standardne radne stanice. Ne kritične podatke delimo na različite particije ( particija za korisničke programe ( /usr ), particija koja sadrži korisnikove lične podatke ( /home ), particija za smeštanje privremenih podataka kao što su: štampa, pošta,...( /var ), particija za extra softver ( /opt ).

Kada je particija napravljena jedino se može dodavati. Menjanje veličine ili osobine postojeće particije je moguće ali nije preporučljivo.

Podela hard diska na particije je određena sistem administratorom.

Mount pointsSve particije su zakačene za sistem preko mount points. Mount point je mesto određenog

podatka u fajl sistemu. Obično su sve particije povezane preko root particije. Na toj particiji koja je označena sa ( / ) direktorijumi su napravljeni. Ovi prazni direktorijumi biće početna tačka particija koje su zakačene za njega. Primer: Dati particiju koja sadrži sledeće direktorijume: videos/ cd – images/ pictures/

Potrebno je da zakačimo ovu particiju u sistem fajl u direktorijum nazvan /opt/media. Da bi se to uradilo sistem administrator mora da bude siguran da li direktorijum /opt/media postoji u sistemu. Očekujemo da je prazan. Upotrebljavajući mount komandu administrator može zakačiti particiju za sistem. Sadržaj direktorijuma /opt/media je postao sledeći: fajle i direktorijumi koji su na mounted medijumu ( hard disk ili particija hard diska, CD, DVD, flash card, USB ili drugi memorijski uređaji ).

9

Page 8: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Za vreme podizanja sve particije su tako mounted kao što je objašnjeno u fajli /etc/fslab. Neke particije nisu monted po default – u. Npr: ako nisu konstantno povezane na sistem kao memorija za aktualnu nameru. Ako je dobro konfigurisana uređaj će biti mounted čim pre sistem primeti da je konektovana ili može biti upotrebljena.

Kada sistem radi, informacije o particijama i njihovim mount points mogu biti prikazane upotrebljavajući df komandu ( u Linux – u, df je GNU verzija i podržava –h ili ljudsko čitanje opcija. UNIX ( komercijalni ) ima svoje verzije df i drugih komandi ). Df komanda daje prikaz informacija o aktivnoj ne – swap particiji. Može uključiti particije od drugih mrežnih sistema.

Osnovni direktorijum je mounted od fajle servera na mreži.freddy:-> df – hFajl system Size Used Avoid Used Mounted on/dev/hda8 496M 183M 288M 39% //dev/hda1 124M 8.4M 109M 8% /boot/dev/had 5 19G 15G 2.7G 85% /opt/dev/had 6 7.0G 5.4G 1.2G 81% /usr/dev/had 7 37G 2.7G 867M 77% /varfs1:/home 8.9G 3.7G 4.7G 44% /.automount/fs1/root/home

Više o fajl system layout – u

10

Page 9: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

slika 2.1Linux fajl system layout

Drvo fajl sistema počinje sa /.Ubuntu pripada File System Hierarchy Standard za direktorijume i meni fajle. Ovaj standard

dozvoljava korisnicima i softverskim programima da odrede lokaciju fajle i direktorijume. The root nivo direktorijuma je predstavljen jednostavno sa /. Na root nivou svi Ubuntu sistemi uključuju ove direktorijume:

11

Page 10: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Tabela 2.1 Poddirektorijumi root direktorijuma

Direktorijumi Sadržaj

bin Osnovne binarne komande

boot Statičke fajle boot loader – a

dev Device fajle

etc Host – specifične sistemske konfiguracije

home Korisnički home direktorijum

lib Osnovne podeljene biblioteke i Kernel podaci

media Mount point za pokretne media

mnt Mount point za mounting fajl sistema privremeno

proc Virtuelni direktorijumi za sistemske informacije

root Home direktorijum za root korisnike

sbin Osnovni binarni sistemi

srv Podaci za servise obezbeđene sistemom

sys Virtuelni direktorijum za Kernel strukturu podataka

tmp Privremene fajle ( temprorary )

usr Sekundarna hijerarhija

var Promenljivi podaci

opt Dodate aplikacije softverskim paketima

Sledi lista važnih razmatranja prema direktorijumima i particijama: root particija / mora uvek fizički da sadrži /etc,/bin,/sbin,/lib i /dev, sa druge ne postoji

mogućnost da se boot – uje 100 MB potrebnih za root particiju, ali to može da varira. /usr: svi korisnički programi ( /usr/bin), libraries ( /usr/lib ), dokumentacija (

/usr/share/doc ) itd. su u ovom direktorijumu. Ovaj deo fajl sistema zahteva najviše prostora. Potrebno je omogućiti najmanje 500 MB disk prostora za minimalnu instalaciju i najviše 1,5 GB ako se instalira standardni Ubuntu desktop, a ako se želi instalirati više paketa mora se povećati prostor koji se daje ovom direktorijumu.

/home: svaki korisnik će staviti svoje podatke u subdirektorijum ovog direktorijuma. Veličina zavisi od broja korisnika koji će upotrebljavati sistem i čije fajle će biti čuvane u njihovim direktorijumima. Zavisno od plana upotrebe može se rezervisati oko 100 MB za svakog korisnika.

/var: sve promenljive kao novi artikli, e – mails, web sajtovi, the packing system cache itd. smeštaju se u ovaj direktorijum. Veličina ovog direktorijuma zavisi od upotrebe računara i uglavnom se određuje preko package management tool’s overhead. Ako se radi puna instalacija Ubuntu nudi oko 2 do 3 GB prostora za /var. Ako se instalira u delovima ( instaliranje servisa alata sledeći tekstualnu podršku, zatim X ... ) dovoljno je od 300 do 500 MB u /var. Za hard disk premium se ne planira update glavnog sistema i ide se od 30 do 40 MB u /var.

/tmp: privremene fajle idu u /tmp. Obično je dovoljno 20 – 50 MB.Kako se može naći koja particija direktorijuma je? Upotrebom df komande sa tačkom ( . )

kao opcijom pokazuje se particija tekućeg direktorijuma kome pripada i informacije o prostoru koji koristi u ovoj particiji:

12

Page 11: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

sandra:/lib>df-hFajleystem Size Used Avoid Used % Mounted on/dav/hdo7 980M 163M 767M 18% /

Generalno pravilo: Svaki direktorijum u root – u je na root particiji sve dok ima odvojen ulaz u punoj listi sa df ( df – h bez drugih opcija )

Fajl sistem u realnostiU fajl sistemu fajl je predstavljena sa inode, vrstom serijskog broja koji sadrži informaciju o

aktuelnim podacima koji prave fajl, kome fajl pripada i gde je smeštena na hard disku.Svaka particija ima svoj set of inodes. Kroz sistem sa multiple particijama fajl sa istim inode

brojem mogu postojati.Svaka inode opisuje strukturu podataka na hard disku, čuvajući osobine fajl, uključujući

fizičku lokaciju podataka. Kada je hard disk inicijalizovan da prihvati podatke, obično za vreme inicijalizacije ili kad se dodaje extra disk na postojeći sistem, fiksirani broj inoda za particiju je kreiran. Taj broj će biti maksimalni iznos fajl, svih tipova koji postoje u isto vreme u particiji. Tipično računamo da imamo jednu inodu po 2 do 8 kB memorije u trenutku kada se nova fajl kreira. Ona ima slobodnu inodu. U inodi je sadržana sledeća informacija: Vlasnik fajl – Tip fajl ( regular, directory ) – datum i vreme kreacije – vreme i datum promene informacija – veličina fajl – adresa lokacije ...

Inoda ima svoje posebno mesto na disku.

Orijentacija u fajl sistemuKada se treba izvršiti komanda skoro nikad se ne piše ceo put. The PATH okolina promenljive vodi računa o tome. ECHO komanda se upotrebljava za

display sadržaja ( „ $ „ ) varijable PATH.

Apsolutni i relativni puteviKada put počinje sa / to je uredu. U drugom slučaju put ne počinje sa / i nastaje konfuzija

između -/bin/wc ( u korisničkom home direktorijumu ) i bin/wc u /usr.Putevi koji ne počinju sa / su relativni putevi.

U relativnim putevima se takođe upotrebljava . i .. indikacije za tekući i roditeljski direktorijum.

Imena uređaja u Ubuntu Linux – u 5.10Linux diskovi i particijska imena mogu biti različita od drugih Operativnih sistema. Kada se

kreiraju mount particije moraju se znati imena koja Linux upotrebljava. Bazična šema imena je sledeća:

prvi floppy drive se zove /dev/fd0 drugi floppy drive se zove /dev/fd1 prvi SCSI disk ( SCSI ID address – wise ) se zove /dev/sda drugi SCSI disk ( address – wise ) se zove /dev/sdb, itd. prvi SCSI CD – ROM se zove /dev/scd0, takođe poznat kao /dev/sr0 The master disk na IDE primarnom kontroleru se zove /dev/hda The slave disk na IDE primarnom kontroleru se zove /dev/hdb The master i the slave diskovi na sekundarnom kontroleru mogu se zvati /dev/hdc i /dev/hdd,

respektivno. Noviji IDE kontroleri mogu aktuelno imati dva kanala, efektivno radeći kao dva kontrolera

Prvi XT disk se zove /dev/xda Drugi XT disk se zove /dev/xdb

Particija na svakom disku se predstavlja pojavljivanjem dekadnog broja kod disk imena: sda1 i sda2 predstavljaju prvu i drugu particiju prvog SCSI disk drive.

13

Page 12: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Npr: Sistem sa 2 SCSI diska, jedan SCSI adresa 2, a drugi SCSI adresa 4. Prvi disk ( na adresi 2 ) se zove sda, a drugi sdb. Ako sda drive ima 3 particije na sebi, one će se zvati sda1, sda2, sda3. Isti primer je za sdb disk i njegove particije.

Ako postoje dve SCSI host magistrale adaptera ( tj.kontrolera ) redosled drives može biti konfuzan. Najbolje rešenje u ovom slučaju je gledanje boot poruke, podrazumevajući da se znaju drive modeli i/ili kapaciteti.

Linux predstavlja primarne particije kao imena drive, plus brojevi od 1 do 4. Npr: Prva primarna particija na prvom IDE drive je /dev/hda1. Logičke particije se numerišu počevši od 5, tako da prva logička particija na istom drive je /dev/hda5. Extended particija je primarna particija i sadrži logičke particije, nije korisna sama po sebi. Njeno pojavljivanje ima smisla na SCSI disku i IDE disku.

Uređaji Ubuntu Linux – a 5.10U linux – u postoje različite specijalne fajle u /dev. Te fajle se zovu device files. U UNIX

svetu pristup hardveru je drugačiji. Postoje specijalne fajle koje pokreću driver koji pristupa hardveru. The device file je interface prema aktuelnoj sistemskoj komponenti. Fajle od /dev se ponašaju različito od običnih fajli.

Tabela 2.2 Najvažnija lista device files

fd0 Prvi Floppy Drivefd1 Drugi Floppy Drivehda IDE Hard disk / CD-ROM na prvom IDE port (Master)hdb IDE Hard disk / CD-ROM na prvom IDE port (Slave)hdc IDE Hard disk / CD-ROM na drugom IDE port (Master)hdd IDE Hard disk / CD-ROM na drugom IDE port (Slave)hda1 Prva particija prvog IDE hard diskhdd15 Petnaesta particija četvrtog IDE hard disksda SCSI Hard disk sa najnižom SCSI ID (e.g. 0)sdb SCSI Hard disk sa sledećom višom SCSI ID (e.g. 1)sdc SCSI Hard disk sa sledećom višom SCSI ID (e.g. 2)sda1 Prva particija na prvom SCSI hard disksdd10 Deseta particija na četvrtom SCSI hard disksr0 SCSI CD-ROM sa najnižom SCSI IDsr1 SCSI CD-ROM sa sledećom višom SCSI IDttyS0 Serijski port 0, COM1 pod MS-DOSttyS1 Serijski port 1, COM2 pod MS-DOSpsaux PS/2 mouse devicegpmdata Pseudo device, ponavljač podataka iz GPM (mouse) daemoncdrom Symbolički link do CD-ROM drivemouse Symbolički link do mouse device filenull Sve što je obeleženo do ovim uređajem će nestatizero Na izlazu uređaja je nula

14

Page 13: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

3 KONTROLA IZVRŠAVANJA PROGRAMA I UPRAVLJANJE PREKIDIMA

Linux pokreće brojne programe stekao je ogromnu popularnost prvo među programerima kojima se dopao projekat i koji su mu se ubrzo priključili u velikom broju iz celog sveta.

Iskoristivši besplatan source kod veliki broj programera odlučio je da prilagodi Linux i ostalim arhitekturama

Dosledno prateći Open Source pokret ( besplatno dostupni programi u Source obliku ) programeri širom sveta počeli su da pišu ili prilagođavaju svoj softver za Linux.

Linuxov kernel pruža izvršno okruženje u kojem aplikacije mogu raditi. Zbog toga kernel mora implementirati skup servisa i odgovarajućih interfejsa. Aplikacije koriste te interfejse i obično ne rade direktno s hardverskim resursima kao ni hardverski resursi s njima.

Proces/kernel modelNa pocetku ćemo napomenuti da CPU može raditi ili u korisničkom modu (User Mode) ili u

kernel modu (Kernel Mode). U stvari, neki mikroprocesori mogu imati više od dva izvršna stanja. Na primjer 80x86 mikroprocesor ima četiri različita izvršna stanja. Ali svi standardni unix kerneli koriste samo kernel mod i user mod.

Kada se program izvršava u korisničkom (User) modu, on ne može direktno pristupati kernelovim strukturama podataka ili kernelovim programima. Međutim, kada se neka aplikacija izvršava u kernel modu, onda ove restrikcije više ne važe. Svaki CPU model pruža specijalne instrukcije za prelazak (switch) iz korisničkog u kernel mod i obratno. Program se obično izvršava u user modu a prebacuje se u kernel mod samo kada zahteva uslugu koju pruža kernel. Nakon što udovolji zahtevu programa, kernel vraća program u korisnički mod.

Procesi su dinamički entiteti koji obično imaju ograničen životni ciklus (life span) unutar sistema. Zadatak kreiranja, eliminisanja i sinhronizacije postojećih procesa je dodeljena grupi rutina u kernelu.

Kernel sam po sebi nije proces nego menadžer procesa, dakle onaj koji upravlja i brine se o procesima. Proces/kernel model podrazumeva da procesi koji traže usluge od kernela koriste specifične programske konstrukte zvane sistemski pozivi (system calls). Svaki system call postavlja grupu parametara koji identifikuju zahtev procesa i onda izvršavaju hardverski-zavisnu CPU instrukciju za prebacivanje iz korisničkog u kernel mod.

Kernel threadsPored korisničkih procesa, unixoidni sistemi uključuju nekoliko privilegovanih procesa

zvanih kernel threads sa sledećim karakteristikama: Izvršavaju se u kernel modu u kernelovom adresnom prostoru. Ne rade s korisnicima (a ni korisnici s njima) pa samim tim ne zahtevaju terminalne

uređaje. Obično su kreirani tokom podizanja sistema (system startup) i ostaju živi sve do

njegovog gašenja.Na jednoprocesorskom sistemu, samo se jedan proces izvršava u određenom trenutku i može

se izvršavati ili u korisničkom ili u kernel modu. Ako se izvršava u kernel modu, procesor izvršava neku kernelovu rutinu.

15

Page 14: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Slika 3.1 Tranzicija između korisničkog i kernel moda

Proces 1 je u korisničkom modu i izdaje system call posle kojeg proces prelazi u kernel mod i system call se opslužuje a proces 1 dalje nastavlja izvršavanje u korisničkom modu sve dok se ne pojavi timer interrupt kada se aktivira scheduler u kernel modu. Prekidač procesa (process switch) odrađuje svoj deo i proces 2 počinje svoje izvršavanje u korisničkom modu sve dok hardverski uređaj ne podigne prekid (interrupt). Kao posledica prekida, proces 2 prelazi u kernel mod i opslužuje prekid.

Kernel radi mnogo više od samog rukovanja sistemskim pozivima (system calls). U stvari, kernelove rutine mogu biti aktivirane na nekoliko načina:

Proces upućuje system call. CPU koji izvršava proces signalizira neki izuzetak (exception), što je neobična situacija

kao npr. pogrešna instrukcija. Kernel rukuje izuzetkom u ime procesa koji ga je izazvao. Periferni uređaj emituje signal za prekid (interrupt signal) centralnoj procesorskoj

jedinici da je obavesti o nekom događaju kao što je zahtev za pažnju, promena statusa ili završetak neke I/O operacije. Svaki interrupt signal obrađuje kernelov program zvani interrupt handler (rukovalac prekidima). Pošto periferni uređaji rade

asinhrono u odnosu na CPU, prekidi se javljaju u nepredvidljivo vreme. Kernel thread je izvršen. Pošto se izvršava u kernel modu, odgovarajući program se

smatra dijelom kernela.

Implementacija procesa (Process Implementation)Da bi se omogućilo kernelu da upravlja procesima, svaki proces je predstavljen process

descriptorom koji uključuje informaciju o trenutnom stanju procesa.Kada kernel obustavi izvršavanje procesa on snimi trenutne vrednosti nekoliko procesorskih

registara u process descriptor. Oni ukljucuju sledeće: Program counter (PC) i stack pointer (SP) registre The general purpose registre The floating point registre The processor control registre (Processor Status Word) koji sadrže informacije o stanju

CPU-a The memory management registri korišteni da prate RAM kojem je pristupao proces

Kada kernel odluči da nastavi izvršavanje procesa, on koristi odgovarajuća polja process descriptora da učita CPU registre. Pošto uskladištena vrijednost program counter registra pokazuje na instrukciju koja sledi onu koja je poslednja izvršena, proces nastavlja izvršvanje od mesta na kojem je zaustavljen.

Kada se proces ne izvršava na CPU, on čeka neki događaj (event). Unix kerneli razlikuju mnoga stanja čekanja koja su obično implementirana redovima (queue) process descriptora; svaki queue odgovara skupu procesa koji čekaju na specifičan događaj.

16

Page 15: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Reentrant kerneliSvi Unix kerneli su reentrant. To znači da više procesa može biti izvršavano u isto vreme u

kernel modu. Naravno, na jednoprocesorskim sistemima, samo jedan proces može napredovati, ali mnogi mogu biti blokirani u kernel modu dok čekaju na CPU ili na kompletiranje neke I/O operacije. Na primjer, nakon što pokrene čitanje s diska u ime nekog procesa, kernel pušta disk kontroler da rukuje njim, i nastavlja izvršavanje drugih procesa. Prekid (interrupt) informiše kernel kada uređaj završi s čitanjem pa prethodni proces može nastaviti izvršavanje.

Jedan od načina da se ostvari reentrancy jeste da se napišu funkcije koje modifikuju samo lokalne varijable a da ne diraju globalne strukture podataka. Takve funkcije se nazivaju reentrant funkcije. Ali reentrant kernel nije limitiran samo takvim reentrant funkcijama (premda su neki real-time kerneli implementirani na taj način). Umjesto toga, kernel može sadržavati nonreentrant funkcije i koristiti locking mehanizme da osigura da samo jedan proces može izvršavati nonreentrant funkciju u isto vrijeme. Svaki proces u kernel modu deluje na sopstvenom skupu memorijskih lokacija i ne može se mešati s drugim. Ako se desi hardverski interrupt, reentrant kernel je u mogućnosti da suspenduje proces koji se trenutno izvršava čak i ako je taj proces u kernel modu. Ova osobina je veoma važna, pošto unapređuje prolaz kontrolera uređaja koji prave interrupte. Jednom kada uređaj napravi prekid, on čeka dok mu CPU ne potvrdi da je obratio pažnju na njega. Ako je kernel u mogućnosti da brže odgovori, kontroler uređaja će biti u mogućnosti da uradi druge zadatke dok čeka da CPU odradi interrupt.

Pogledajmo sada kernelovu reentrancy osobinu i njenu čvrstu vezu s organizacijom samog kernela. Kernel control path označava sled instrukcija izvršenih od strane kernela dok rukuje nekim sistemskim pozivom (system call), exceptionom ili interruptom. U najjednostavnijem slučaju, CPU izvršava kernel control path sekventivno od prve instrukcije prema zadnjoj. Kada neki od sledećih događaja iskrsne, CPU umće kernel control pathove. Proces koji se izvršava u user modu upućuje system call i odgovarajući kernel control path potvrdi da zahtev ne može biti zadovoljen momentalno; on tada poziva scheduler da selektuje novi proces koji će se pokrenuti, kao rezultat, dešava se process switch. Prvi kernel control path je ostavljen nedovršen a CPU nastavlja izvršavajne nekog drugog kernel control patha. U ovom slucaju, dva control patha su izvršena u ime dva različita procesa. CPU detektuje exception (na primjer, pristup strani (page) memorije koja nije prisutna u RAM-u) dok se izvršava kernel control path. Prvi control path se suspenduje, a CPU počinje izvršavanje odgovarajuće procedure. U našem primjeru, ovaj tip procedure može alocirati novu stranu za proces i čitati njen sadržaj sa diska. Kada se procedura završi, prvi control path može biti nastavljen. U ovom slučaju dva control patha su izvršena u ime jednog procesa.

Desi se hardverski interrupt dok CPU izvršava kernel control path sa omogućenim interruptima. Prvi kernel control path je ostavljen nedovršen a CPU počinje procesiranje sledećeg kernel control patha da rukuje interruptom. Prvi kernel control path nastavlja izvršavanje nakon što interrupt handler završi. U ovom slučaju dva kernel control patha se izvršavaju u izvršnom kontekstu istog procesa, a totalno utrošeno sistemsko vreme se pripisuje tom procesu. Ipak, interrupt handler ne radi neophodno u ime procesa.

Slika 3. Primeri noninterleaved i interleaved kernel control pathova

17

Page 16: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Posmatraju se tri različita stanja CPU-a: Izvršava proces u user modu (User) Izvršava exception ili system call handler (Excp) Izvršava interrupt handler (Intr)

18

Page 17: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

4 POGLED NA UBUNTU LINUX 5.10 SA ASPEKTA RAZVOJA SISTEMA

Linux Distribucije su kompletna aplikativna rešenja bazirana na Linux kernelu. Za nekoliko meseci na hiljade ljudi je radilo na razvoju Linux kernela preko Interneta.

Dakle Linux sistem je izuzetno upotrebljiv i kao razvojna platforma ( zahvaljujući ogromnom broju razvojnih alata ) i kao biznis platforma ( zbog velikog broja Office aplikacija ) i kao zabava ( zahvaljujući odičnom engine – u za razvoj video igara ).

DistribucijeTermin Linux označava samo kernel (jezgro, tj. srž operativnog sistema). Svi ostali

programi koji se nalaze u Linux operativnim sistemima su nezavisni proizvodi drugih organizacija ili pojedinaca (uglavnom izdati pod GNU General Public Licencom). Takav skup osnovnih sistemskih programa, kernela i ostalog aplikativnog softvera se zove GNU/Linux distribucija.

Po GPL-u svaki pojedinac ima pravo da koristi, modifikuje i prodaje sav softver, pod uslovom da i nastali proizvod bude pod GPL-om. Ima pravo da kupljeni softver kopira i redistribuira i da to naplaćuje koliko god želi. Zato su Linux distribucije praktično besplatne (cene im obično ne prelaze cene medijuma na kojima se distribuiraju). Veliki broj distribucija se može preuzeti direktno sa Interneta, sa sajtova njihovih proizvođača. I pored toga veliki broj ljudi kupuje originalne distribucije od njihovih proizvođača. Delom zbog toga što većina proizvođaca uz distibuciju daje i nekoliko meseci "besplatne" tehničke podrške, a delom da bi podržali proizvođače u razvoju softvera. Čak su i cene originalnih Linux distribucija neuporedivo manje od cena ostalih komercijalnih operativnih sistema. Kompanije koje prave open source softver zarađuju uglavnom od tehničke podrške i dizajniranja i administriranja specijalizovanih Linux distribucija.Linux distribucije su kompletna aplikativna rešenja bazirana na Linux kernelu. Linux je samo jezgro, a sve ostalo su GNU programi.

Sve Linux distribucije su manje-više slične jedna drugoj i uglavnom se razlikuju samo u programima za konfiguraciju i u aplikacijama i verzijama aplikacija koje nude. Kako nema zakonskih prepreka, postoji veliki broj veoma jeftinih distribucija koje se u današnje vreme mogu kako na polju servera, tako i kao kancelarijske mašine, multimedijalni studiji, ali i kao desktop računari. Kako popularnost Linuxa raste, tako se i ciljno tr`ište širi. Danas korisnici Linuxa nisu samo hakeri, gurui i programeri, već i

sekretarice, kompozitori, DJ-ejevi, surferi, filmofili, obični korisnici, laici.Postoje komercijalne distribucije kao što su Red Hat

Linux, Mandrake Linux i S.u.S.E. Linux, Turbo Linux, Caldera OpenLinux koji pružaju veliki broj intuitivnih grafičkih konfiguracionih alata, tako da se podešavanje i administriranje sistema svodi na par kliktanja mišem i tako čini prelaz sa, recimo,

M$ Windows-a na Linux izuzetno lakim i skoro neprimetnim. Tu su i distribucije kao Slackware Linux ili Debian GNU/Linux koje se drže tradicije i sigurnosti i zahtevaju nešto veće znanje od prethodno navedenih, ali više ne

morate biti vrsni hakeri da bi ih uspešno koristili.Takođe, postoji i veliki broj manje poznatih i splecijalizovanih distribucija kao što su

LinuxGT, Linux Pro, Redmond Linux, Xandros Linux…Kako god bilo, koju god distribuciju da odaberete, nećete se pokajati jer će Vam se u današnje vreme kada se “pazi da je legalno” sigurno višestruko isplatiti

19

Page 18: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Ubuntu Linux 5.10

Kad je Mark Shuttleworth 1999. godine, u jeku tzv. dot-com revolucije, svoju firmu koja se bavila bezbednosnim softverom prodao za preko pola milijarde dolara, učinio je i dve stvari zbog kojih će njegovo ime ostati upamćeno. Najpre je platio dvadesetak miliona dolara da bi boravio nekoliko dana u svemiru kao kosmički turista, ispunivši jedan od svojih dečačkih snova. Druga stvar se ticala Linux-a. Osnovao je kompaniju Cannonical i osmislio novu distribuciju koju je nazvao Ubuntu. Prvi Ubuntu se pojavio pre sredinom 2004 godine i odmah pobrao niz priznanja. Time je ovaj Englez iz Južne Afrike ostvario svoj drugi san, onaj koji je gajio kao jedan od mnogih aktera uključenih u razvojni tim Debian GNU / Linux sistema. To angažovanje mu je, uostalom, i pomoglo da stvori prvobitnu firmu čijom se prodajom obogatio. Ovo je priča o Ubuntu Linux-u.

Slika 4.1 Ubuntu Linux

Linux za ljudeUbuntu je reč koja na jednom od afričkih jezika, prema tumačenju sajta ove distribucije

(www.ubuntulinux.org), ima dva značenja. Prvo – humanity to others – dalo bi se prevesti kao „ljudskost prema drugima“, a drugo – I am what I am because of who we all are – kao „ono sam što jesam zbog onoga što smo svi mi“. Sam Ubuntu sebe predstavlja kao „Linux za ljudska bića“. Implicira li to da Linux uopšte i njegove razne varijante, do Ubuntu-a, možda i nisu za ljude? Ne, naravno, već se ovim želi reći da je posredi Linux za tzv. obične ljude, za korisnike kojima je potreban operativni sistem i dobro odabrana grupa aplikacija, čime mogu obaviti sve svoje poslove, bez brige o tehničkim detaljima. Ne samo da bi naglasio svoj humanizam, zasnovan na očitoj

20

Page 19: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

filantropiji, Šatlvort je postavio osnove za distribuciju koja ispunjava obećanje dato u samom nazivu.

Ubuntu je zasnovan na Debian-u. Međutim, da bi se razlikovao i bio uspešniji od desetine drugih Debian-ovih derivacija, morao je da ponudi nešto više. To „nešto više“ podrazumeva nekoliko stvari. Prva od njih je izbor aplikacija. Debian distribucija se sastoji od preko 15000 programa; od tog broja jedan deo su apsolutno stabilne verzije, drugi deo veoma stabilne, dok treći deo čine one u fazi testiranja. Iz tako velikog broja programa i verzija nije lako odabrati one koje bi zadovoljile veći deo korisnika. Ubuntu tu priskače u pomoć kombinujući nestabilnije programe, naročito kada je reč o tzv. kritično važnim potrebama kao što su sigurnost i rad servera, sa onim koje su se dokazale kao dobre softverske varijante, ali iz nekog razloga još nisu i zvanično u Debian-ovoj opštoj upotrebi. Kratko i jasno rečeno, Ubuntu bira najbolje i najkorisnije.

Takav izbor onda prolazi kroz intenzivnu proveru i ponekad kroz doradu Ubuntu programera koje filantropski finansira Šatlvort. Naime, katkad pojedine aplikacije u Linux-u nisu dovoljno međusobno usklađene, posebno ako su iz raznih perioda razvoja i oslanjaju se na podršku istih programskih biblioteka, ali u različitim verzijama. Zadatak Ubuntu tima je da ova potencijalna neslaganja uskladi tako da se svi programi osećaju „kao kod kuće“. To je druga stvar koja ide korak ili dva ispred Debian-a. Zato nije neobično da su prve reakcije na Ubuntu, kad se on pojavio, bile da je to Linux u kojem „sve radi“.

I treća važna osobina, iako ne poslednja, koja odlikuje Ubuntu tiče se predvidljivog roka izlaženja i podrške koju obezbeđuje za budućnost. Ubuntu se pojavio u razdoblju kad je Debian bio u krizi, i kad se nije više znalo kada će izaći njegova naredna stabilna verzija. Još je neizvesnija situacija kod drugih distribucija, posebno onih ad hoc verzija koje poslednjih godina niču kao pečurke posle kiše. Naime, nije teško spakovati vlastitu verziju Linux-a, pustiti je u svet i potpisati svojim imenom uz nastavak -ix ili -ux. Čak i da je urađena dobro, za veći uspeh potrebna je ispuniti barem dva dodatna uslova. Najpre svoj paket treba testirati na uverljivom broju raznih hardverskih konfiguracija, sa raznim procesorima, matičnim pločama, grafičkim karticama, multimedijskim i komunikacijskim dodacima. To malo koji distributer može da učini u kućnoj radinosti ili samo oslonjen na krug svojih prijatelja. Sa budžetom od nekoliko miliona dolara godišnje, Cannonical Ltd. može tako nešto lako da obezbedi. Iz ugla korisnika, valja garantovati da će distribucija trajati duže od jedne sezone, odnosno valja obezbediti duži period postojanog razvoja, uz predvidljiv ciklus za nove, popravljene, očišćene i bogatije verzije. Obećano je da će se nova verzija Ubuntu-a pojavljivati na svakih šest meseci, a da će svaka od verzija imati punu podršku tokom narednih godinu i po. Do sada je ovo obećanje ispunjavano, videćemo kako će se stvari kretati u budućnosti.

Da bi svoju filantropsku misiju ispunio do kraja, gospodin Šatlvort je odvojio finansije i za proširenu distribuciju. Njegova distribucija ne samo da je besplatna, već na glavnom sajtu svako može da ispuni jednostavan formular, ostavi svoju adresu u bilo kom delu sveta i da posle par nedelja dobije na kuću paket CD-ova sa poslednjom verzijom; plaćena je čak i poštarina. Cilj je da se omogući svima koji to žele da lako dođu do svoje kopije Linux-a, što može naročito biti od značaja za korisnike iz siromašnijih ili udaljenih zemalja. Svoju globalizacijsku funkciju Šatlvort je počeo da ispunjava i tako što podstiče lokalne grupe, iz čitavog sveta, da pomognu lokalizaciju – pre svega prevođenje – ključnih paketa i samog sistemskog desktop-a na lokalne jezike. Jedna takva grupa je osnovana i kod nas (ubuntu.fsn.org.yu).

Ubuntu i KubuntuŠta nudi nova verzija pod imenom Breezy Badger označena i brojem 5.10 (prvi broj je broj

godine, a drugi broj meseca izlaska verzije)? Najpre, podršku za Intel x86 PC, AMD64 i PowerPC (G4 i G5) hardverske arhitekture. Ubuntu se oslanja na noviji 2.6 kernel, na GNOME desktop 2.8 i uključuje oko hiljadu programa. Sve oblasti koje bi mogle zanimati prosečnog korisnika su zastupljene, od raznih vrsta Internet komunikacija, preko nove verzije OpenOffice.org paketa (koji uključuje tekst procesor, program za baze podataka, tabelarno računanje, prezentacije, crtanje, matematičke formule i jednačine), do multimedije i serverske podrške.

21

Page 20: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Ako nekog programa nema u paketu koji dolazi kao disk za instalaciju, pa ni na Live CD-u (koji ubacite u CD čitač i podižete sistem odatle, bez upisivanja bilo kakvih podataka na hard disk), uvek je možete dodati preko jednostavnog mehanizma za instalaciju programa iz velike Debian-ove baze. Ako i tamo nema željene aplikacije, moguće je, uz nešto truda, dodati je i iz drugih distribucija, pa čak i iz onih komercijalnih. Iako je Ubuntu načelno zasnovan na principima slobodnog softvera, programa otvorenog koda i besplatno se može koristiti, Šatlvort nije bio dogmatski čistunac pa je ostavio prostora i za naknadno instaliranje komercijalnih paketa, svestan da se u praksi može javiti i takva potreba.

Pošto se sistem podigne sačekaće vas GNOME desktop i za Ubuntu karakteristična pozadina braon boje. Ukoliko više volite KDE desktop onda se možete poslužiti verzijom koja se zove Kubuntu (u svetu KDE desktop-a i aplikacija koje ga prate početno slovo K je skoro obavezno). Razlike između ove dve verzije – Ubuntu i Kubuntu – nisu velike, i uglavnom se svode na izbor onih programa koji bolje „leže“ jednom od ova dva glavna desktop menadžera u svetu Linux-a.

U prvoj godini razvoja ove distribucije postojala je latentna napetost između zajednica programera koji razvijaju Debian i Ubuntu. Naime, postavljalo se logično pitanje nije li Ubuntu parazit koji koristi resurse svog domaćina, a da zauzvrat ništa ne daje. Ali to je pokazalo kao suvišna briga. Šatlvort je svojim projektom ubrzao razvoj samog Debian-a, a programeri koji nezavisno razvijaju ključne programe iz Ubuntu distribucije svoja unapređenja ili naprosto popravke šalju nazad Debian-ovoj zajednici. Otuda Ubuntu nije samo prepakovan, umiven i doteran Debian, već predstavlja i značajan deo one snage koja Debian distribuciju vuče napred.

Slika 4.2 Kubuntu Linux

22

Page 21: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Edubuntu za školovanjeOd pre par meseci Šatlvort je započeo još jednu derivaciju: uz Ubuntu i Kubuntu pojavio se

i Edunbuntu, pakovanje namenjeno edukaciji, kako školskoj tako i programerskoj. U Edubuntu preview verziji koju smo imali prilike da isprobamo Breezy Badger se još ne razlikuje previše od „sabraće“, ako izuzmemo veću količinu igara, likovno nešto bogatiji interfejs i olakšanu manipulaciju samim sistemom. Kako sam Šatlvort kaže u nedavnom intervjuu datom časopisu Linux Format, Edubuntu bi bila verzija prvenstveno namenjena školskoj populaciji, gde bi se kroz specifične programe pisane za obrazovne potrebe i kroz stalno osveživanu Internet dokumentaciju pomagala edukacija, naročito u siromašnim područjima afričkog kontinenta sa koga, uostalom, dolazi i sam Šatlvort.

Uopšte uzev, on dalji razvoj čitavog Ubuntu poduhvata vidi u tri pravca. Jedan je održavanje same ove distribucije, drugi ide prema daljem pojednostavljivanju instalacije Linux-a, kako za nov hardver tako i za starije konfiguracije koje se još malo mogu koristiti u svetu glavnog Linux konkurenta, Microsoft-a (milioni desktop konfiguracija bi tako produžili svoj vek trajanja, sada sa Linux-om kao svojim sistemom). Treći pravac delovanja odnosi se na pojačanu integraciju programskih paketa, uz povećanje sigurnosti rada sistema. Sve skupa bi moglo dovesti do toga da Ubuntu bude ona distribucija kojoj će se obraćati korisnik koji ne mora da poseže za novčanikom svake druge godine kako bi nadogradio svoj hardver; on će to činiti samo onda kada se javi stvarna potreba za dodatnim ili boljim uređajem, dok bi sama osnova ostala ista. Linux je već sad dovoljno brz da sve ključne zadatke ispunjava podjednako na starom kao i na novom hardveru. To nije malo, a Šatlvortova filantropija u tome može da bude od velike pomoći.

Slika 4.3 Edubuntu Linux

23

Page 22: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

5 UBUNTU LINUX 5.10 I PODRŠKA KOMUNIKACIJAMA

Zbog UNIX filozofije, većina ljudi je mišljenja da je Linux isključivo upotrebljiv kao server sistem na Internetu ili Intranet mreži. Delimično su u pravu, jer se Linux pokazao kao odličan server sistem. Podršku za TCP/IP i SLIP/PPP imao je pre 1995.

Mrežni protokoliProtokol je, jednostavno rečeno, set zakona za komunikaciju.Linux podržava mnogo različitih protokola.

TCP/IPThe Transport Control Protocol i Internet Protocol – mnoge aplikacije, kao što je browser i

e – mail program su napravljenu u skladu sa njima.IP omogućava rešenje za slanje paketa informacija od jednog računara ka drugom dok TCP

omogućava da paketi budu aranžirani u vodove, tako da paketi od različitih aplikacija se ne mešaju i paketi su poslani i primljeni u korektnom redu.

TCP/IP povezana mreža je prisutna u Linux – u od početka. Ona je implementirana u srž sistema. To je jedna od najviše realne, brze, robusne implementacije i ključni faktor uspeha Linux – a. Linux i mreža su napravljeni jedno za drugo, tako jako da nepovezivanje Linix sistema na mrežu može rezultirati u polakom startovanju i drugim problemima. Čak i kada ne koriste neku mrežnu konekciju prema drugim računarima, mrežni protokoli se upotrebljavaju za interni sistem i aplikacionu komunikaciju. Linux očekuje da bude umrežen.

TCP/IPv6Niko nije očekivao da Internet raste ovako brzo. IP dozvoljava nekoliko mana kada je realno

veliki broj računara u mreži. Najvažniji zadatak je da se ostvari jedinstvena adresa svakog računara ( participating ). IP, verzija 6 je razvijena da sredi potrebe današnjeg Interneta. Nažalost, sve aplikacije i sreveri ne podržavaju IPv6, za neke aplikacije stari protokoli su još u upotrebi.

PPP,SLIP,PLIP,PPPOELinux kernel je doneo podršku za PPP ( Point – to – Point – Protocol ), SLIP ( Serial Line

IP ) i PLIP ( Parallel Line IP ). PPP je najviše popularan način pojedinačnih korisničkih pristupa njihovim ISP ( Internet Service Provider ) mada u ovoj popularnoj oblasti često je zamenjen sa PPPOE, PPP preko Ethernet ( protokol upotrebljen u kablovsko modemskoj konekciji ).

ISDNLinux krnel je napravljen sa ISDN mogućnostima. Isdn4linux kontroliše ISDN PC kartu i

može emulira modem sa Hayes command set - om ( „ AT „ komande ). Predstavlja mogući opseg za jednostavnu upotrebu terminalskih programa sa punom vezom na Internet.

Apple TalkApple Talk je ime Apple’s inernet working stock. Dozvoljava peer – to – peer model mreže

koji omogućuje osnovnu funkcionalnost kao fajla i deljenje printera. Svaki računar može simultano da radi kao klijent i server, i softver i hardver neophodni za rad uključeni su sa svakim Apple kompjuterom.

Linux omogućava puno Apple Talk povezivanje. Net talk je Kernel – nivo implementacije Apple Talk Protocol Suite, originalno osmišljen za BSD – podeljen sistem. On uključuje podršku za routing Apple Talk, služeći UNIX - u i AFS sistemu fajli upotrebom Apple Share i servisiranjem UNIX printera i pristup Apple Talk printerima.

24

Page 23: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

SMB/NMBZa kompatibilnost sa MS Windows okruženjem, Samba okruženje, uključujući podršku za

NMB i SMB protokol, može biti instalirana u bilo koji UNIX ili sličan sistem. The Server Message Block protokol ( takođe zvan Session Message Block, NetBIOS ili LanManager protokol ) se upotrebljava na MS Windows 3.11, NT, 95/98, 2K i XP da dele diskove i printere.

Osnovne funcije Samba okruženja su: deljenje Linux uređaja sa Windows mašinama i deljenje Windows printera sa Linux mašinama.

Većina Linux distribucija omogućava Samba paket koji mnoge servere postavlja i startuje smbd, Samba server i nmbd, net bios ime servera , at boot time no default. Samba može biti konfigurisana grafički, preko web interface ili preko komandne linije i tekstualno kofigurisanu fajlu.

The deamons prave Linux mašine se pojavljuje kao MS Windows host u MS Windows My Network Places / Network Neighbourhood window. Podela Linux mašine biće zaštićena od podele nekog drugog host u MS Windows okolini.

mansmb.conf: opisuje format glavne Samba konfigiracino fajle Samba sekcija – RedHat Support Resources

Miscellaneous protokoliLinux podržan od radio amatera, WAN interworking ( X25, Frame Delay, ATM ),InfraRed i

druge bežične konekcije.

25

Page 24: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

6 UPRAVLJANJE RADOM U MREŽI

Unix/Linux operativni sistem ( na primeru preseka 1995 – uporediv sa Windows – om 95 ) imao je podršku za Ethernet kartice ( NE2000, 3Com ...).Postavljanje mreža i informacijeKonfigurisanje lokalnih mrežnih interfaces

Sve velike upotrebljive Linux distribucije dolaze sa različitim grafičkim alatima, dozvoljavajući lako podizanje računara u lokalnoj mreži ili za konektovanje na Internet Service Provider.Ti alati mogu biti startovani sa komandne linije ili iz menija:

RedHatLinux dolazi sa redhat – config – network, koji ima zajedno i grafički i tekstualni modni interfejs.

Suse’s YAST ili YAST2 je sve u jednom konfiguracioni alat Mandrake/Mandriva dolazi sa Network i Internet kofiguracionim čarobnjakom koji se

startuje u Mandrake’s Control Center Ubuntu dolazi sa mrežnim i Internet konfiguracionim apletom Network settings koji se

startuje preko linije System/Administrations

Slika 6.1 Podešavanje mreže

Mrežne konfiguracione fajleGrafički pomagač alata prikazuje specifičan set mrežnih konfiguracionih fajli, korišćenjem

nekih baznih komandi. Tačno ime konfigurišuće fajle i njene lokacije u fajl sistemu zavisi od Linux distribucije i verzije. Bilo kako, nekoliko mrežnih konfigurišućih fajli su zajedničke za sve UNIX sisteme:

26

Page 25: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

/etc/hosts: dozvoljava sadržaj localhost IP adrese 127.0.01 koja se upotrebljava za interprocesnu komunikaciju. Nikad se nesme pomeriti ta linija. Jednostavni host fajl za kućne mreže

/etc/resolv.conf:Kofiguriše pristup DNS serveru. Ova fajla sadrži domain ime i ime serverovih kontakata

/etc/nsswitch.conf: definiše red kako kotaktirati različita imena servisa. Za Internet upotrebu je važno da dns se pokazuje u „ hosts „ liniji:

Ovo daje instrukcije vašem kompjuteru da pogleda u host imena i IP adrese prvo u /etc/hosts fajlu i kontakt DNS server datog host – a koji se ne dešava u lokalnoj hosts fajli

Komande mrežne konfiguracijeDistribucija predstavljaju specifični scripts i grafički alati upotrebljivi ip ( ili if config and

route na starijim sistemima ) za konfiguraciju Kernel – ove mrežne konfiguracije.ip komanda se upotrebljava za postizanje IP adresnog interfejsa, za postavljanje puteva na

Internetu i drugim mrežama, za prikaz TCP/IP konfiguracije.Sledeće komande pokazuju IP adrese i routing iformaciju:

Na laptopu koji konektuje na mrežu, kompanije upotrebljavaju onboard Ethernet konekciju, koja je konfigurisana za dial – in u kući ili hotelu. Potrebno je da se aktivira PCMCIA kartica. To se radi koristeći cardctl kontrolnu jedinicu.

27

Page 26: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Imena mrežnih interfejsaU linux mašini imena uređaja su lo ili local loop i povezani su sa unutrašnjom 127.0.0.1

adresom. Ako ovaj uređaj nije prisutan to predstavlja veliki problem za računar.

28

Page 27: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

7 UBUNTU LINUX 5.10 I GRAFIČKI INTERFEJS

Prve verzije sistema bazirane na Linux kernelu su bile vrlo odbojne običnim korisnicima zbog vrlo komplikovanog ( tekstualnog interfejsa ). Situacija se znatno izmenila poslednjih godina, zbog moćnog X – Window grafičkog podsistema, vrlo efektnog i intuitivnog GUI interfejsa. Najpoznatiji GUI sistem za Linux su svakako GNOME i KDE, oba izuzetno jednostavna i u isto vreme veoma moćno okruženja.

Ubuntu Breezy Badger označena i brojem 5.10 (prvi broj je broj godine, a drugi broj meseca izlaska verzije) se oslanja GNOME desktop verzije 2.8.

GNOMEGNOME paket dolazi standardno s Ubuntu distribucijom. Preporučuje da se instalira

prilikom instalacije samog operativnog sistema zato jer je to najlakši način. Naknadna instalacija je mnogo kompleksnija i ne preporučuje se neiskusnim korisnicima. Kod instalacije operativnog sistema potrebno je odabrati GNOME prilikom izbora grafičkog okruženja kako bi se svi GNOME paketi uspešno instalirali.

GNOME office aplikacije mogu se instalirati naknadno (ako nisu instalirane prilikom instalacije operativnog sistema) uz pomoć programa Add Aplication. Nikakva dodatna konfiguracija nije potrebna.

Slika 7.1 Add Aplication

29

Page 28: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Opšta svojstvaPreko izbora putanje System/Preferences može se doći do apleta za izbor pozadine ekrana

( Desktop Background Preferences ), odabrati željeni screensaver ( Screensaver Preferences ), windows tema ( Theme Preferences ) i window manager ( Window Preferences ). Ove opcije odnose se uglavnom na vizuelni utisak samog grafičkog okruženja i ne utiču na rad računara.

Slika 7.2 Izbor pozadine desktop – a

U pozadinu se može staviti slika s lokalnog hard diska ili se može odabrati boja za pozadinu (boja može biti jednolika ili se može podesiti pretapanje jedne boje u drugu). Na slabijim računarima (sve konfiguracije slabije od PI na 166MHz sa 128MB RAM-a) nije poželjno stavljati sliku kao pozadinu zato jer to može dosta usporiti rad računara.

30

Page 29: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Slika 7.3 Izbor tema za prozore

GNOME grafičko okruženje dolazi sa mnogo gotovih tema za prozore. Tema za prozore određuje izgled prozora u grafičkom okruđenju. Slika prikazuje prozor za izbor neke od dostupnih tema. U gornjem dijelu prozora može se odabrati neka od ponuđenih tema dok je u donjem delu prozora prikazano kako ta tema izgleda. Izbor teme za prozore ne utiče na brzinu rada računala tako da je svejedno koja će tema biti odabrana.

Izgled GNOME grafičkog okruženja vrlo je sličan MS Windows operativnom sistemu (Slika 7.4).

31

Page 30: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Slika 7.4 Izgled GNOME grafičkog okruženja

GNOME panel se standardno nalazi u donjem delu ekrana. U njemu se nalaze ikone za direktno pokretanje programa. Tu je i traka s trenutno otvorenim prozorima. U desnom delu panela nalazi se program za promenu trenutne radne površine pokraj kojeg je Trash. Ovako GNOME panel izgleda nakon instalacije GNOME paketa. Na traku za brzo pokretanje programa mogu se dodati novi programi ili maknuti stari . Na panel se mogu dodati i GNOME applet-i. GNOME applet-i su mali programi koji mogu raditi unutar panela tj. za svoj rad ne trebaju poseban prozor. Primeri GNOME applet-a su sat u desnom delu panela i program za promenu radne površine. Standardno s GNOME paketom dolazi dvadesetak applet-a različitih namjena (npr. sat, različiti sistemski monitori, mikser za zvuk itd.).

32

Page 31: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Slika 7.5 Mikser za zvuk

GNOME podržava korištenje i više panela. Dodatne panele mogu se dodati odabirom opcije Create Panel. Izgled novog panela i programi i applet-i koji će se na njemu nalaziti mogu se podesiti desnim klikom miša na panel i odabirom opcije Panel->Add to panel. Desnim klikom miša na bilo koji od panela i odabirom opcije Panel->Properties može se podešavati ponašanje panela prilikom rada (npr. hoće li panel uvek biti iznad prozora ili neće i sl.). Na ostatku ekrana nalaze se ikone i trenutno otvoreni prozori. Nova ikona se može dodati na desktop desnim klikom miša bilo gde na desktop-u i odabirom opcije New->Launcher. Nakon toga se otvara prozor u kojem je potrebno upisati ime programa (i put do njega) koji će se pokretati tom ikonom.

Rad u GNOME grafičkom okruženju vrlo je sličan radu u MS Windows operativnom sistemu. Programi se pokreću dvostrukim klikom miša na neku od ikona. Desni klik miša na ikonu daje meni s opcijama kao što su kopiranje, brisanje i sl. Desnim klikom miša na prazni deo radne površine dobiva se meni u kojem se može dodati nova ikona na radnu površinu, promeniti pozadina, poravnati ikone na ekranu i slično. Korisnicima koji već imaju iskustva u radu s MS Windows operativnim sistemom vrlo je lako da se prilagode GNOME grafičkom okruđenju zato jer su razlike u načinu rada i korištenju male.

Dodatne informacije o GNOME projektu mogu se naći na web stranicama http://www.gnome.org.

33

Page 32: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

8 UPRAVLJANJE POSLOVIMA, PROCESIMA, PROCESORIMA

Procesi unutraMulti – user and multi – tasking

Neke komande iniciraju seriju procesa kao mozilla; druge kao PC izvršavaju se kao proste komande

Tipovi procesaInteraktivni procesi

Interaktivni procesi su inicijalizirani i kontrolisani kroz terminalsku obradu, tj.mora da postoji neko povezan na sistem da počne procese, jer oni ne počinju automatski. Ti procesi mogu biti pokrenuti u foreground – u, okupirati terminal koji je startovao program i ne mogu se startovati druge aplikacije tolko dugo dok je proces u foreground – u. Alternativno, oni mogu biti pokrenuti u pozadini, tako da terminal na kome smo startovali program može prizvati nove komande dok se pokreće program

Automatski procesiFIFO

DeamonsTo su procesi servera koji rade neprekidno većinu vremena. Oni su inicijalizirani kad se

sistem pokrene i čekaju u pozadini dok se njihove usluge ne zatraže. Tipičan primer je mrežni deamon xinetd koji startuje u skoro svakoj boot proceduri kad je sistem booted. Mrežni deamons čekaju dok klijent program kao što je FTP klijent treba da se konektuje.

Atributi procesaPrikaz informacije procesa

PS komanda je važna za vizualizaciju procesa. Ova komanda ima nekoliko opcija koje mogu biti kombinovane za prikaz različtih atributa procesa. Ako nikakva opcija nije specificirana, ps jedino daje informaciju o tekućem shell – u i eventualnim procesima bosh shell – a. PS jedino daje momentalno stanje aktivnog procesa. Top program se prikazuje mnogo preciznije pogledom na updating rezultata datih sa PS, svakih pet sekundi. Podaci ovih programa su smešteni u /var/run/utmp ( informacije o trenutno povezanim korisnicima ) i u virtuelnom file system /proc Npr: /proc/loadavg ( prosečna informacija ). Postoje razne grfičke aplikacije za pregled tih podataka ( Gnome System Monitor and lavaps ). Preko Fresh Meat i Source Forge može se naći desetak aplikacija da centralizuju te informacije sa drugim server podacima i logovanje od multiple servera na jedan web server. Relacije između procesa mogu biti vizualizirane upotrebom pstree komande.

Životi i smrt procesaKreacije procesa

Nov proces je pravi jer postojeći proces pravi kopiju sebe.Ovo dete proces ima istu okolinu kao roditelj, jedino proces ID broj je drugačiji. Procedura se zove forking. Posle forking procesa, prostor za adresu dete procesa je prepisan sa novim podacima procesa. To je urađeno sa jednim exec pozivom sistema. The fork – and – exec mehanizam tako zamenjuje stare komande sa novim, dok okolina u kojoj je nov program se izvršava zamenjujući iste, uključujući konfiguraciju ulaznih i izlaznih uređaja, promenljive okoline su prioritet. Čak i prvi proces init, sa procesom ID 1, je forked za vrema boot procedure u tzv. bootstraping proceduri.

34

Page 33: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Slika 8.1 fork – and – exec mehanizam

Ova šema ilustruje fork – and – exec mehanizam. Proces ID se menja posle fork procedure. Postoji nekoliko slučajeva u kojim init postaje roditelj procesa, dok proces nije ni bio startovan sa init. Mnogi programi deamonize njihove dete procese, tako da oni mogu da nastave sa izvršavanjem kada je roditelj stao ili će stati. Window manager – tipičan primer. On počinje kao xterm proces koji stvara shell koji prihvata komande. Window manager tada odbija bilo kakvu odgovornost i postaje dete procesa za init. Koristeći ovaj mehanizam moguće je promeniti Window manager bez prekida pokrećuće aplikacije

Završetak procesaKada se proces završava normalno ( nije ubijen ili na drugi način neočekivano prekinut )

program vraća njegov exit status roditeljima. Taj exit status je broj vraćen u program omogućavajući rezultat programskog izvršenja. Sistem vraćanja informacija izvršenog posla ima svoj izvor u C programskom jeziku u kome je UNIX napisan. Povratni kod može biti inerpretiran od strane roditelja ili u script – u. Vrednost return koda su programske specifičnosti. Ova informacija obično može biti nađena u man pages specijalnog programa.

SignaliProcesi staju jer dobijaju signale. Postoje multiple signali koji se šalju procesu. Upotreba kill komande da pošalje signal procesu.Komanda kill – 1 pokazuje listu signala.

SUID i SGIDGeneralno se proba da se navede specijalni mod, to je neophodno upotrebiti u SUID. Primer

je mehanizam menjanja passwords. User name i passwords su listani u /etc/passwd file. Korisnik ima potrebu da promeni sopstvenu informaciju u toj fajli. To se postiže dajući passwd programu specijalne dozvole.

35

Page 34: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

SGID modes on file ne dešava se često kao SUID, jer SGID često uključuje kreaciju extra grupa. Slanje teksta drugim korisnicima terminalima ili grafički prikazavinje normalno nije dopušteno ( write and wall komande – traže SGID dozvolu ).

BOOT procesi,inicijalizacija i isključivanjeJedan od najjačih aspekata Linux razmatranja je otvoren metod pokretanja i zaustavljanja

Operativnog sistema, gde se unose specifični programi. Upotrebljavajući njihovu konfiguraciju, dozvoljavajući da se promeni konfiguracija za kontrolu boot procesa i zatvaranje na zahvalan i organizovan način. Pored pitanja kontrole boot – a ili zatvaranja procesa, otvorena priroda Linux – a mnogo lakše određuje tačni izvor većine problema produženih startovanja i zatvaranja sistema. Koristi se LILO ( LInux LOader ) za boot – ovanje Operativnog sistema. Često se koristi GRUB ( lakši je za upotrebu i mnogo fleksibilniji ).

The boot procesiKada je x86 boot – ovan, procesor gleda kraj sistemske memorije za BIOS i pokreće je.

BIOS program je pisan u permanentnoj read – only memoriji i uvek je sposoban za upotrebu. BIOS omogućuje najniže nivoe interface za periferalne uređaje i kontrolere i to je prvi korak u boot procesu.

BIOS testira sistem, gleda i proverava periferale i gleda za drajvove za boot – ovanje sistema. Obično proverava floppy drajv ( CD – ROM ) za bootable medijume, ako je prisutan, a onda gleda hard disk. Redosled drajvovq za booting je obično kontrolisan od određenog BIOS – ovog postavljanja sistema. Jednom kada je Linux instaliran na hard disku, BIOS traži Master Boot Record ( MBR ) startujući od prve sekcije na prvom hard disku, donoseći njegov sadržaj u memoriju i počinjući kntrolu.

Taj MBR sadrži informacije kako da učita GRUB ( LILO ) boot – loader, upotrebljavajući preselektovani Operativni sistem. MBR tada učitava boot – loader, koga uzima preko procesa ( ako je boot – loader instaliran u MBR – u ). Po default - u Ubuntu Linux konfiguracije GRUB koristi postavljanja u MBR da prikaže boot opcije u meniju. GRUB prima korektne instrukcije za Operativni sistem da startuje bilo sa komandne linije bilo iz konfigurišuće file. On je pronašao neophodne boot fajle i hands kontrole mašine prema Operativnom sistemu.

Osobine GRUB - aThe boot metod direktno učitava zato što instrukcije koje su upotrebljene direktno učitavaju

Operativni sistem, nema intermediary code između boot – loaders i Operativnog sistema glavnih fajli ( Kernel ).The boot proces upotrebljen od drugih Operativnih sistema se može razlikovati. GRUB dozvoljava upotrebu skoro svakog Operativnog sistema, najpopularnijih file sistema i skoro bilo koji hard disk u BIOS prepoznavanju. GRUB sadrži mnoge osobine a najvažnija je da podržava Logical Block Addresing ( LBA ) mode, potreban da pristupi IDE i svim SCSI hard diskovima.

InicijalizacijaKernel kada je napunjen pronađe init u sbin i izvrši ga. Kada init startuje on postaje roditelj

ili deda svih procesa koji startuju automatski na vašem Linux sistemu. Prva stvar koju radi je čitanje njegove inicijalizujuće file /etc/inittab. Ova instrukcija čita početni konfiguracini script za okolinu, postavlja put, startuje swapping, proverava file sistem itd. Osnovno ovaj korak vodi računa o svemu što sistem treba da uradi u sistemskoj inicijalizaciji: postavljanje sata, postavljanje serijskih portova itd.

Init nastavlja da čita /etc/inittab file koja objašnjava kako bi sistem mogao biti postavljen u svakom nivou i postavlja default run level. Run level je konfiguracija procesa. Svi sistemi proistekli iz UNIX – a mogu biti pokrenuti u različitim procesima konfiguracije kao što je jednokorisnički mod koji pokreće nivo 1 ili pokreće nivo S ( ili s ). Drugi nivo je reboot nivo....Nivo 6 zahteva sve pokrenute servise prema odgovarajućoj proceduri i restartuje sistem.

36

Page 35: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Najčešće nivo 3 je konfigurisan u tekst modu na Linux mašini i nivo 5 inicijaliziran grafičkim povezivanjem i okolinom.

Posle određivanja default nivoa init počinje sve procese u pozadini potrebne za sistem da pokrene gledajući u rc direktorijum za nivo. Init pokreće svaki od kill scripts – a ( njihova file imena počinju sa k ) sa stop parametrom. Tada pokreće start scripte ( počinju imena sa s ) u odgovarajućem nivou direktorijuma tako da su svi servisi i aplikacije startovani korektno ( moguće je izvršiti neke scripts ručno, pošto je sistem završio učitavanje sa komande /etc/init.d/httpd stop ili servis httpd stop logovan kao root, uslučaju zastoja na web serveru.

37

Page 36: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

9 UPRAVLJANJE ULAZIMA / IZLAZIMA ( PERIFERIJOM )

Jednostavne redirekcijeŠta su to standardni ulazi i standardni izlazi?

Mnoge Linux komande čitaju ulaze, kao što je fajl ili drugi atribut za komandu i pišu izlaz. Po default – u ulaz je dat sa tastature, a izlaz se prikazuje na ekranu. Tastatura je „ standard input „ ( stdin ) uređaj, a ekran ili određeni terminalski prozor je „ standard output „ ( stdout ) uređaj. Kako je Linux fleksibilan sistem, ova default podešavanja nisu obavezno primenljiva. Standardni izlaz, npr: u heavily mointored server u „ velikoj okolini „ može biti printer.

Operatori redirekcijeIzlaz redirekcije sa > i

Ponekad je potrebno da se stavi izlaz komande u fajlu ili da se postavi neka druga komanda na izlazu komande.To je poznato kao promena direkcije izlaza. Promena direkcije se radi upotrebljavajući „ > „ ( veći od - simbol ) ili upotrebom „ „ ( pipe ) operatora koji šalje standardni izlaz jedne komande drugoj komandi kao standardni ulaz.

Mora se voditi računa da se ne overwriting postojeće ( važne ) fajle kada se menja direkcija izlaza. Mnogi shells, uključujući bosh imaju napravljen ( u nameri zaštite od tog rizika ) noclobber.

Promena direkcije „ nothing „ za postojeću fajlu je jednaka pražnjenju fajle i takav proces se zove truncating. Iste promene direkcije jedne nepostojeće fajle će stvoriti novu praznu fajlu sa datim imenom.

Primer za korišćenje piping of :Pronaći reč u nekom tekstu, display sve linije označavanjem „ pattern1 „ i isključiti linije

takođe obeleživši „ pattern2 „ da bude prikazano:

grep pattern1 filegrep – vpattern2Prikaz izlaza listanjem direktorijuma jedne stranels - lalessPronaći fajlu u direktorijumu:ls - lgrep port_ of_file_name

Ulazne redirekcijeU drugom slučaju se ima potreba za fajlom koja će biti ulaz komande gde se normalno ne

očekuje fajla kao jedna opcija. Ova promena direkcije ulaza se radi upotrebom „ < „ ( manji od – simbol ).

Slanje fajle koristeći ulaznu promenu direkcije je elegantan način upotrebe dostupnih alata.

Kombinovane redirekcijeFajla text.txt je prvo proverena za spelovanje grešaka i izlaz je promenio direkciju u grešku

log file

Spell < text.txt > error.log

i opcija za slučaj intenzivnog traženja se upotrebljava kada se ispituje druga fajla koristeći less. UNIX sistem je vrlo case – sensitive.

Da bi se sačuvao izlaz komande, za dalje reference, menja se direkcija izlaza fajla.Izlaz jedne komande može biti piped u drugu komandu virtuelno koliko puta se želi, toliko

dugo dok komande normalno čitaju ulaz sa standardnog ulaza i pišu izlaz na standardnom izlazu.

38

Page 37: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Ponekad one ne rade to, ali tada mora biti specijalna opcija koja daje instrukcije tim komandama da se ponašaju prema standardnim definicijama.

Mora se voditi računa da se ne upotrebe imena postojećih fajli, jer promena direkcije postojećih fajli zamenjuje sadržaj tih fajli.

Operator >>Umesto prepisivanja fajle podataka, moguće je dodati tekst u postojeću fajlu

upotrebljavajući dva uzastopna znaka ( veći od ).

Prednosti osobina redirekcijeUpotreba opisa fajliPostoje tri tipa I/O uređaja, koji imaju svoje sopstvene identifikatore, zvane descriptor:

standardni ulaz:0 standardni izlaz:1 standardna greška:2

U objašnjenju descriptions, ako je fajl descriptor broj koji je postignut i prvi karakter redirekcijskog operatora je <, redirekcija ide ka standardnom ulazu ( file descriptor 0 ).Ako je prvi karakter redirekcijskog operatora >, redirekcija ide ka standardnom izlazu ( file descriptor 1)Primer:

ls > dirlist2 > &1Direktno idu oba standardna izlaza i greška na fajl dirlist, dok komanda

ls2 > &1 > dirlist jedino standardni izlaz šalje na fajl dirlist.

Analiza grešakaPut za eliminisanje grešaka je sledeći:

Command 2 > &1 | lessOvo se često koristi praveći novi softver koristeći make komandu.

Odvajanje standarda izlaza od standarda greškiKonstrukcije kao ove se često upotrebljavaju od strane programera tako da je izlaz prikazan

u jednom terminalskom prozoru a greške u drugom ( pronalaženje pseudo terminala koji se koristi preko tty komande ).

Ispis izlaza i fajli simultanoU jednom premeštanju može se upotrebiti tee komanda da kopira ulaz na standardni izlaz i

jednu ili više izlaznih fajli. To se postiže upotrebom –a opcije u tee rezultate u dodatku ulaza fajle. Ova komanda je korisna kada želite da vidite i sačuvate izlaz. > i >> operatori ne dozvoljavaju da osetite obe akcije odjednom.

Ovaj alat se obično zove kroz pipe ( | ) .

Filteri

Kada program dozvoljava operacije u ulazu i piše rezultat na standardni izlaz, zove se filter. Najčešća upotreba filtera je u restruktuiranju izlaza.

GREP

39

Page 38: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Grep skenira izlaznu liniju po liniju tražeći matching patterns. Sve linije koje sadrže pattern biće štampane na standardnom izlazu. Reverzibilno ponašanje se dobija korišćenjem –v opcije.

Grep komanda ( kao i sve komande ) je case sensitive. Upotrebom –i opcije ne pravi se razlika između gornjeg i donjeg case. Mnoge GNU ekstenzije su dostupne, kao - - colour, koja je pogodna visokosvetleće pretrage dugih linija, i - - after- context, koja štampa broj linija posle zadnjeg matching linije. Rekurzivni grep traži sve subdirektorijume neizbrojanih direktorijuma upotrebljavajući –r opciju.Opcije se mogu kombinovati.

Regularni izrazi mogu biti upotrebljeni za dalje detalje tačnosti karakternih matches koje želiš da selektuješ od svih ulaznih linija. Najboli način da se startuje sa regularnim izrazima je da se čita grep dokumentacija.

Filtriranje izlazaPostoji komanda koja sortira uređene linije po alfabetskom redu po default – u. Sort pored

toga traži veličinu fajle, sadržaj direktorijuma...Sa komandom sort sadržaj direktorijuma je sortiran. Najmanje fajle prvo, najveće fajle zadnje.

ls – la | sort –nk 5

Device driveriKernel uzajamno deluje s I/O uređajima pomoću device drivera. Device driveri su uključeni

u kernel i sastoje se od struktura podataka i funkcija koje kontrolišu jedan ili više uređaja, kao što su hard diskovi, tastature, miševi, monitori, mrežni interfejsi, uređaji spojeni na SCSI bus itd. Svaki driver deluje s ostatkom kernela (čak i s drugim driverima) kroz specifičan interfejs. Ovaj pristup ima sljedeće prednosti:

Kod specifičan za uređaj može biti enkapsuliran u specifičan modul. Proizvođači mogu dodati nove uređaje bez poznavanja kernelovog izvornog koda;

samo se moraju znati specifikacije interfejsa. Kernel opšti sa svim uređajima na uniformisan način i pristupa im kroz isti interfejs. Moguće je pisati device driver kao modul koji može biti dinamički učitan u kernel

bez potrebe za rebootanjem sistema. Takođe je moguće dinamički izbaciti (unload) modul koji više nije potreban i time minimizovati veličinu kernelovog imagea smeštenog u RAM.

Slika 9.1 prikazuje kako device driveri rade s ostatkom kernela i procesima.

Slika 9.1 Rad device drivera s ostatkom kernela

Neki korisnički programi (P) žele da rade sa hardverskim uređajima. Oni izdaju zahtev kernelu koristeći uobičajene fajl-srodne sistemske pozive i device fajlove obično smještene u /dev

40

Page 39: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

direktorijum. Ustvari, device fajlovi su dio device driver interfejsa vidljiv od strane korisnika. Svaki device file se odnosi na specifican device driver, kojem se kernel obraća da bi izveo traženu operaciju na hardverskoj komponenti.

U vreme kada je Unix predstavljen, grafički terminali su bili neuobičajeni i skupi, pa su Unix kerneli direktno rukovali samo alfanumerickim terminalima. Kada su grafički terminali postali široko rasprostranjeni, predstavljene su ad hoc aplikacije poput X Window sistema koje rade kao standardni procesi i pristupaju direktno I/O portovima grafičkog interfejsa i područjima video RAM-a. Neki skorašnji unixoidni kerneli, kao što je Linux 2.4, pružaju apstrakciju za frame buffer grafičke karte i dozvoljavaju aplikativnom softveru da im pristupa bez potrebe za poznavanjem I/O portova grafičkog interfejsa.

41

Page 40: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

10 KONFIGURISANJE SISTEMA I INTERFEJS

Korisnički interfejsKorisnički interfejs je način na koji korisnik zadaje instrukcije računaru.U GNU/Linux operativnom sistemu postoje dve vrste korisničkog interfejsa:

Shell - interfejs komandne linije(CLI – Command Line Interface) X-Window - grafički korisnički interfejs(GUI – Graphical User Interface).

ShellShell(ljuska) je komandni interpreter Linux(odnosno UNIX i sličnih) operativnog sitema.

Može se posmatrati kao sloj, omotač oko kernela, jezgra operativnog sistema. Shell je interaktivni korisnički proces koji prihvata korisničke zahteve, interpretira ih i predaje kernelu na izvršavanje.

Slika 10.1 – Shell - interaktivni sloj koji povezujekorisnika, kernel i hardver

Uz Linux se uglavnom isporučuju i više različitih shell-ova. Najpoznatiji i najčešće korišteni su:

sh (Bourne-Shell) - jedan od prvih shell-ova koji su napisani; jednostavan za korišćenje, fleksibilan; i danas se koristi za pisanje skripti csh (C-Shell) - komandni interpreter i programski jezik koji podr`ava komandni bafer, kontrolu poslova i sintaksu sličnu programskom jeziku C. ksh (Korn-Shell) - standardni shell UNIX System V, prvi shell sa editovanjem komandne linije korišćenjem drugih programa (vi, emacs). bash (Boune-Again-Shell) - naslednik sh-a, standardni shell na većini Linux sistema tcsh (Turbo-C-Shell) – unapređena verzija C shell-a. Poseduje bolje editovanje komandne linije, kompletiranje imena fajlova, ponavljanja komandi…

Shell je takođe i programski jezik visokog nivoa. Omogućava prisanje skripti koje omogućuju automatizovanje u radi i izvršavaju kao i obične komande.

42

Page 41: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Osnovne komande shell-aPo pokretanju shell-a, odnosno uspešnom prijavljivanju(logon) na sistem, dobićete shell

prompt koji označava da je shell spreman da prihvati komande. Simbol (bash) shell prompta za root(superuser) korisnika je #, dok je za ostale korisnike $.Sintaksa u kome se zadaju komande je uglavnom:$ ime_komande arg1 arg2ime_komande - naziv komade, izvršnog programa ili komande ugrađene u shellarg1 i arg2 – argumenti komande. Njima se specificiraju imena fajlova, direktorijuma ili se zahtevaju opcione mogućnosti komande. Uglavnom počinju znakom “-“ .

Spisak argumenata se uglavnom može dobiti opcijom “--help” dok se detaljan opis komande, argumenata kao i mnoge druge informacije(vezane za komandu) može pronaći u manual strani komande kojoj se pristupa sa:$ man ime_komande

Kako je Linux višekorisnički sistem, pri podizanju sistema dočekaće vas login prompt. Svaki korisnik poseduje korisničko ime(username) i lozinku(password) koje koristi prilikom prijavljivanja na sistem1. Nakon uspešnog pristupa sistemu(logon) pokreće se odgovarajući shell. Svaki korisnik ima organičen pristup dokumentima i komandama sem root, superkorisnika – administratora sistema.Komanda za utvrđivanje identiteta aktivnog korisnika je whoami.$ whoamitest_user

Komanda za privremenu promenu korisnika je su(swich user). Naravno, neophodno je poznavanje lozinke. Odjavljivalje se vrši komandama exit(logout ili <Ctrl>+D).$ su userpassword: *****$ whoamiuser$ exit$ whoamitest_userKomanda kojom utvrđujete tekući direktorijum je pwd(print working directory).$ pwd/home/test_userKomanda za promenu tekućeg direktorijuma je cd(change directory).$ cd /Shell interpretira dve vrste putanja(paths): relativne i apsolutne.Relativne putanje se posmatraju počev od tekućeg direktorijuma$ cd privatno/slike$ pwd/home/test_user/privatno/slikeInterpretiranje apsolutnih putanje počinje od hijerarhijski najvišeg direktorijuma(/). Sve putanje koje počinu sa “/” smatraju se apsolutnim.$ cd /usr/local/binKomanda za izlistavanje sadr`aja direktorijuma je ls.Novi direktorijumi u shell-u se prave komandom mkdir.$ mkdir proba$ lsproba/Fajlovi se u shell-u mogu kreirati komandom touch.

43

Page 42: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

$ touch fajl1$ lsproba/ fajl1Za upis se može koristiti komanda echo i karakteristika shell-a redirekcija1.$ echo ‘Test fajl.’ > fajl1Za kopiranje fajlova se koristi komanda cp, a za promenu naziva i pomeranje(move) komanda mv.$ cp fajl1 fajl2$ lsproba/ fajl1 fajl2$ mv fajl1 fajl3$ lsproba/ fajl2 fajl3Komanda kojom se ispisuje sadržaj fajla je cat.$ cat fajl2Test fajl.Komanda kojom se brišu fajlovi je rm(remove).$ rm fajl3Komanda koja služi za brisanje direktorijuma je rmdir(remove directory) ili rm – Rf.$ cd ..$ rmdir proba/$ lsfajl2Listu trenutno aktivne procese možemo dobiti koristeći komande ps ili top.$ psPID TTY STAT TIME COMMAND158 pRe 1 0:00 -bash174 pRe 1 0:00 sh /usr/X11R6/bin/startx175 pRe 1 0:00 xinit /usr/X11R6/lib/X11/xinit/xinitrc1797 v06 1 0:00 /bin/bash3270 pp6 3 0:00 ps

Procesima možemo upravljati komandama bg ( background ) koja proces šalje u pozadinu i fg ( foreground ) koja ima inverznu funkciju.Komanda za odjavljivanje je logout(exit).$ logout

Tabela 10.1 Pregled nekih Linux komandi

At Dozvoljava vam da pokrenete program u odredjeno vreme

AwkJednostavna, a mocna komanda za manipulisanje fajlovima koji sadrze podatke

44

Page 43: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Cat Dozvoljava vam da vidite sadrzaj fajla cat /home/doc/testCd Promena tekuceg direktorijuma cd /home/doccp kopiranje fajla cp /home/doc/test home/doc/test1cron Dozvoljava vam da pokrenete procese u odredjenog datuma ili vremenadelete samo ime govori, mora biti instaliranv(ili koristi rm )df Disk free, daje informacije o montiranim diskovima na sistemudosemu Dozvoljava vam da pokrenete dos komande ili dos programeexit Zatvorite aktivni shellfile <filename> Pokazuje tip fajla (ASCII text, executable, archive, etc....)gcc GNU -C kompajlergnuplot Za pravljenje naucnih grafikatcx Kompresuje egzekutabilne fajlove i drzi ih takvim.joe Joe-ov editos.

lessJedan od najboljih textbrowsera koji takodje "vide" gzip-, tar-, en zipfajlove. Less je vise nego vise (ako kapirate sta hocu da kazem)

ln Pravi simbolicki linklocate Gde je taj fajl? locate testlpr <file Stampa fajl u pozadinilpq Pogledaj zahtev za stampanjelprm Isprazni zahtev za stampanjels Kao dir u DOS-umc Fajl menadzer, kao Norton Commander u DOS-umkdir Napravi direktorijum mkdir /home/doc/testmount & umount Dodavanje fajl sistema (CD-ROM, WINDOWS)pine E-mail klijentrm Za brisanje fajla rm /home/doc/test/testrmdir Za brisanje direktorijuma rm /home/doc/testrpm Manipulisanje rpm fajlovima rpm -Uvh toedeloe.rpm

script <script_file>Kopira sve sto se pojavi na vasem ekranu, dok ne otkucate exit, u script_file. Koristi se za debagiranje

su Dozvoljava korisnicima da pokrecu root zadatketar Snima i arhivira fajlovetop Daje nesto informacija o sistemu, memoriji, startovanim procesima....touch Pravi prazan fajl touch /home/doc/testuname –a Nesto informacija o vasem sistemuundelete Komanda za borbu sa greskama korisnika. Mora biti instalirano :)Vi Tekst editorWhereis Trazenje objekta

zcat and zlessZa pregledanje gzipp-ovanih tekst fajlova zless textfile.gz zcat textfile.gz đ lpr

45

Page 44: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

11 UPRAVLJANJE MEMORIJOM

Upravljanje memorijom (Memory Management)Upravljanje memorijom je najkompleksnija aktivnost Unix kernela.

Virtualna memorija (Virtual Memory)Svi skorašnji Unix sistemi pružaju korisnu apstrakciju zvanu virtualna memorija. Virtualna

memorija deluje kao logički nivo između memorijskih zahtjeva aplikacija i hardverske jedinice za upravljanje memorijom (Memory Management Unit - MMU). Virtualna memorija ima mnoge namene i prednosti:

Više procesa se može konkurentno izvršavati. Moguće je pokretati aplikacije čije su potrebe za memorijom veće od dostupne

fizičke memorije. Procesi mogu izvršiti program čiji je kod samo parcijalno učitan u memoriju. Svakom procesu je omogućeno da pristupi podskupu dostupne fizičke memorije. Procesi mogu deliti pojedine image-ove memorije biblioteka ili programa. Programi mogu biti premestivi (relocatable) - što znači da mogu biti smešteni bilo

gde u fizičkoj memoriji. Programeri mogu pisati machine-independent (nezavisan od mašine) kod, pošto

nemaju potrebu da brinu o organizaciji fizičke memorije.Glavni sastavni deo podsistema virtualne memorije je ideja virtualnog adresnog prostora.

Skup momorijskih referenci koje proces može koristiti je različit od fizičkih memorijskih adresa. Kada proces koristi virtualnu adresu, kernel i MMU sarađuju na lociranju aktuelne fizičke lokacije zahtevanog memorijskog artikla.

Virtualne adrese (Intelovi priručnici ih nazivaju logičkim adresama) imaju različitu nomenklaturu, koja zavisi od kompjuterske arhitekture.

Današnji procesori uključuju hardverska kola koja automatski prevode virtualne adrese u fizičke. Dostupni RAM je razdeljen na page frameove dužine 4 ili 8 KB, a skup Page Tables (tabela strana) je predstavljen da specifikuje kako virtualne adrese predstavljaju fizičke. Ova kola čine alokaciju memorije jednostavnijom s obzirom da zahtev za blokom bliskih virtualnih adresa može biti zadovoljen alociranjem grupe page frameova koji sadrže fizičke adrese koje nisu bliske jedne drugima.

Koristenje memorije sa slučajnim pristupom (RandomAccess Memory - RAM)

Unix operativni sistemi prave jasnu razliku između dva dela random access memorije (RAM). Nekoliko megabajta je namenjeno za smeštanje imagea kernela (npr. kod kernela i kernelove statičke strukture podataka). Ostatkom RAM-a obično rukuje sistem virtualne memorije (virtual memory system) i koristi se na tri moguća načina:

Da zadovolji zahteve kernela za buffere, descriptore, i ostale dinamičke structure podataka kernela

Da zadovolji zahteve procesa za generičkim područjima memorije i za memorijsko mapiranje fajlova

Da ostvari bolje performanse diskova i ostalih bufferisanih uređaja u smislu keširanja

Jedan od glavnih problema koji moraju biti rešeni od strane sistema virtualne memorije je fragmentacija memorije. Idealno, zahtev za memorijom bi trebao propasti samo kada je broj slobodnih page frameova premalen. Ipak, kernel je često prisiljen da koristi fizički susedna područja memorije, a samim tim zahtev za memorijom može propasti čak i kada je dostupno dovoljno memorije ali ona nije dostupna u jednom kontinuiranom komadu.

46

Page 45: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Kernel Memory AllocatorKernel Memory Allocator (KMA) je podsistem koji nastoji da zadovolji zaheve za

memorijskim područjima iz svih delova sistema. Neki od ovih zahtjeva dolaze od drugih kernelovih podsistema kojima je potrebna memorija za kernelovo korištenje, a neki zahtevi dolaze sistemskim pozivima (system calls) od strane korisničkih programa za povećanje adresnog prostora njihovih procesa. Dobar KMA bi trebao imati sledeće osobine:

Mora biti brz. Ustvari, ovo je najpresudniji atribut, pošto je pozivan od strane svih kernelovih podsistema (uključujući rukovodioce prekidima - interrupt handlers).

Morao bi minimizirati količinu protraćene (wasted) memorije. Mora pokušati da redukuje problem fragmentacije memorije. Treba biti u stanju da sarađuje sa ostalim podsistemima za upravljanje memorijom;

da pozajmljuje i oslobađa page frameove od njih.Nekoliko predloženih KMA, koji su zasnovani na spektru različitih algoritamskih tehnika

uključuje: Resource map allocator, Power-of-two free lists, McKusick-Karels allocator, Buddysystem, Mach's Zone allocator, Dynix allocator, Solaris's Slab allocator.

Linuxov KMA koristi Slab allocator iz buddy sistema.

Rukovanje virtualnim adresnim prostorom procesaAdresni prostor procesa sadrži memorijske adrese za koje je procesu dozvoljeno da im se

obraća. Kernel obično skladišti virtualni adresni prostor procesa kao listu deskriptora memorijskih područja. Na primjer, kada proces počne izvršavanje nekog programa putem exec()-like sistemskog poziva, kernel dodeljuje procesu virtualni adresni prostor koji se sastoji od memorijskih područja za:

izvršni kod programa inicijalizovane podatke programa neinicijalizovane podatke programa inicijalni programski stack (npr. user mode stack) izvršni kod i podaci potrebnih deljenih biblioteka The heap - gomila (memorija dinamički zahtevana od strane programa)

Svi skoriji Unix operativni sistemi usvajaju strategiju alokacije memorije zvanu demand paging. Sa demand paging strategijom, proces može otpočeti izvršavanje programa bez ijedne od memorijskih strana (pages) u fizičkoj memoriji. Kako pristupa pageovima koji nisu prisutni, MMU generiše exception; exception handler pronalazi traženi memorijski region, alocira slobodan page i inicijalizira ga potrebnim podacima. Na sličan način, kada proces dinamički zahtjeva memoriju koristeći malloc() ili brk() system callove, kernel samo updateuje veličinu gomile (heap) memorijskog regiona procesa. Page frame je dodeljen procesu samo kada generiše exception pokušavajući da se poziva na svoje virtualne memorijske adrese.

Virtuelni adresni prostor takođe omogućuje druge uspešne strategije, kao što su Copy-On- Write strategija. Na primer, kada je proces kreiran, kernel samo dodeli roditeljske page frameove adresnom prostoru child procesa, ali ih označi kao read-only. Exception se diže čim parent ili child proces pokuša da modifikuje sadržaj pagea. Rukovaoc exceptionima dodeljuje novi page frame dotičnom procesu i inicijalizira ga podacima originalnog pagea.

Swapiranje i keširanje (Swapping and caching)Da bi proširio veličinu virtuelnog adresnog prostora iskoristivog od strane procesa, kernel

koristi swap područja na disku. Sistem virtuelne memorije posmatra sadržaj page framea kao osnovnu jedinicu swappinga. Kada se god proces odnosi na swapirani page, MMU podiže exception. Exception handler alocira novi page frame i inicijalizuje ga njegovim starim sadržajem snimljenim na disku.

47

Page 46: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Swapom upravlja kswapd daemon koji je u stvari kernel thread. Kao i ostali kernel threadovi, kswapd ima glavnu petlju koja čeka da se "probudi". Kada trebamo swapiranje? Swapiranje je potrebno kada trebamo pristupiti page-u koji nije u fizičkoj memoriji.

Linux koristi kswapd kernel thread da vodi brigu o tome. Kada zadatak (task) dobije page fault exception prouzrokovan sljedećim uslovima:a) User pageb) Read or write accessc) Page not present"budi" se kswapd kernel thread koji odrađuje swapiranje na disk.

S druge strane, fizička memorija se takođe koristi kao keš za hard diskove i ostale block uređaje. To se radi zbog toga što su hard diskovi veoma spori: za pristup disku je potrebno nekoliko milisekundi, što je veoma mnogo u poređenju s vremenom pristupa RAM-u. Zbog toga su diskovi obično usko grlo u performansama sistema. Kao opšte pravilo, jedno od pravila već implementiranih u najranijim Unix sistemima jeste da se odgodi pisanje na disk sve dok je moguće učitavanje u RAM skupa diskovih buffera koji odgovaraju blokovima pročitanim s diska. Sync() system call prisiljava sinhronizaciju diska pišući sve "prljave" buffere (npr. svi bufferi čiji se sadržaj razlikuje od odgovarajućih blokova diska) na disk. Da bi se izbeglo gubljenje podataka, svi operativni sistemi brinu o periodičkom pisanju dirty buffera nazad na disk.

48

Page 47: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

12 PODRŠKA APLIKATIVNIM PROGRAMIMA, OSTALIM USLUGAMA

TEKST EDITORGedit

Gedit je mali tekst editor za Gnome desktop veoma nalik note pad – u u Windows oruženju. U Ubuntu Linux – u 5.10 uključena je njegova verzija 2.12.1

Programski jeziciKao Operativni sistem čiji je Kernel nastao u programskom jeziku C Ubuntu Linux 5.10

donosi najširu moguću podršku za razvoj programa na ovom programskom jeziku. Standardno uz ovu distribuciju Linux – a uključena je najnovija verzija GNU C kompajlera sa podrškom za C i C++ programske jezike.

Naravno što se tiče Ubuntu Linuxa 5.10 tu se ne završava njegova podrška raznim razvojnim okruženjima. U vidu raznih dodataka su uključene ili je moguće uključiti podršku za programske jezike poput Jave, Pascala / Delphi,Perl, Fortran, Cobol ...

Komandna linijaI pored izuzetno user – friendly grafičkog okruženja Gnome, Ubuntu Linux 5.10 je zadržao

nadasve funkcionalnu i moćnu komandnu liniju. Apsolutno sve što je potrebno za konfigurisanje sistema, instalaciju, rad sa korisničkim aplikacijama i redovan update moguće je uraditi iz Ubuntu Linux komandne linije.

Aplikacije koje su uključene u Ubuntu Linux 5.10OpenOffice.org 2.0

Ubuntu Linux 5.10 uključuje veliki broj uslužnih aplikacija ali svakako jedna od najznačajnijih predstavlja paket Office aplikacija OpenOffice.org 2.0, koji predstavlja kompletnu i funkcionalnu zamenu za paket Microsoft Office ( postoji verzija OpenOffice – a 2.0 i za Windows platformu ).

OpenOffice Writer OpenOffice Writer je aplikacija za uređivanje teksta koja je po izgledu i opcijama vrlo

slična Microsoft Word aplikaciji. Glavni prozor OpenOffice Writera tipičan je za aplikaciju ovakvog tipa i sastoji se od padajućih menija, linija sa alatima i prozora u kojem je prikazan dokument.

49

Page 48: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Slika 12.1 Glavni prozor OpenOffice Writer aplikacije

OpenOffice Writer pored podrške za vlastiti format dokumenata donosi podršku i za dokumente formata doc, rtf, txt….

OpenOffice CalcOpenOffice Calc je vrlo moćna spreadsheet aplikacija koja je po izgledu, opcijama i

mogućnostima u rangu sa Microsoft Excel aplikacijom. OpenOffice Calc je u potpunosti kompatibilan sa MS Excel ( .xls ) formatom dokumenta i to za sve verzije Excel – a. Mali problemi sa kompatibilnošću uočeni su jedini kod prikaza slika u nekim komplikovanijim dokumentima, naime slike su bile loše pozicionirane.

50

Page 49: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Slika 12.2 Slika 12.1 Glavni prozor OpenOffice Calc aplikacije

OpenOffice ImpresOpenOffice Impres je aplikacija za izradu prezentacija nalik MS Power Point – u. Aplikacija

nudi mnoštvo naprednih opcija, kao npr. automatsku izmenu slajdova, propraćenu efektima.

Pored pomenutih aplikacija u paketu OpenOffice.org 2.0 postoji i aplakcije OpenOffice Base – za izradu baza podataka, kao i OpenOffice Math i OpenOffice Draw – pomoćne aplikacije za pisanje matematičkih formula i vektorsko crtanje.

GIMPIme GIMP nastalo je od GNU Image Manipulation Program. GIMP je profesionalni editor

slika koji je u rangu sa Adobe PhotoShop, PaintShopPRo i Corel PhotoPaint editorima u MS Windows okruženju. Namenjen je za retuširanje fotografija i obradu slika. Glavna funkcija gimpa je editovanje bitmapa, ali sa nim dolaze i alati za rad sa vektorskom grafikom. Neke opcije za obradu slike u GIMP – u pogodne su i za izradu kratkih animacija koje se mogu sačuvati u obliku animirane GIF slike ili MPEG formatu.

Mozilla FirefoksMozilla Firefoks predstavlja jedan od najpopularnijih web browsera današnjice. Svojom

kompaktnošću, brzinom, podrškom za rad sa tabovima kao i mogućnošću ugrađivanja najraznovrsnijih dodataka nametnuo se kao najbolje rešenje za Linux okruženje. Postoji verzija ovog web browsera i za Windows okruženje. Po istrađivanjima nezavisnih za istraživanje javnog mnjenja preoteo je veliki deo tržišta od ostalih web browsera i trenutni je drugi po rasprostranjenosti u svetu ( odmah iza Internet Explorera koji je ugrađen u Windows OS ).

51

Page 50: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Slika 12.3 Prozor Mozilla Firefox-a

Evolution MailEvolution Mail je klijent elektronske pošte koji implementira gotovo sve mogućnosti koje

treba da sadrži svaka bolja mail klijent aplikacija. Donosi podršku za rad sa više korisničkih naloga ( POP / POP3, IMAP,…) kao i mogućnost filtriranja poruka.

Rhythmbox 0.9.0Rhythmbox 0.9.0 je muzički player sa podrškom ta najpopularnije formate današnjice:

mp3,OggVorbis,wav,…Pored toga Rhythmbox 0.9.0 donosi podršku za katalogizaciju muzičkih sadržaja.

Totem 1.2.0Totem 1.2.0 je video i audio player zasnovan na GStreamer Frameworku sa podrškom za

audio CD, VCD, DVD,….

Ubuntu Linux 5.10 poseduje i veoma koristan aplet About me koji sadrži korisne informacije o korisnicima računara.

52

Page 51: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Slika 12.4 About Me

53

Page 52: Ubuntu 5.10

Ristić Goran Ubuntu Linux 5.10

Literatura

1. Garrels Machtelt, Introduction to Linux:A hands on guide, http://www.gayanb.com, 3. IV 2005.

2. Kiat Wen Chua, Unofficial Ubuntu 5.04 Starter Guide, http://www.ubuntuguide.org, 2. VIII 2005.

3. Klem Nikola, Računarstvo i informatika za I razred srednje škole, Zavod za udžbenike i nastavna sredstva Beograd, 2004.

4. Micić Živadin, Operativni sistem kroz IT, Univerzitet u Kragujevcu, Tehnički fakultet Čačak, 2003.

5. Nguyn Binh, Linux Dictionary version 0.16, http://www.gayanb.com, 2. VIII 2005.6. PC Press 116, Novembar 2005.

Korisne Web adrese

1. http://www.ubuntu.com, 1. III 2006., 3. III 2006.2. http://www.linux.com, 1. III 2006., 3. III 2006.3. http://www.ubuntu-cs.org, 3. III 2006.4. http://www.linuxserbia.com, 3. III 2006.

54