Linux

  • Uploaded by: aleksandar
  • 0
  • 0
  • July 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Linux as PDF for free.

More details

  • Words: 3,913
  • Pages: 21
SEMINARSKI RAD

Predmetni profesor:

Student:

SADRŽAJ : 1. Razvoj Linuxa 1.1.

Porijeklo Linux operativnog sistema ......................................................................................... 5

1.2.

Linux danas................................................................................................................................ 6

1.3.

Distribucije Linuxa ..................................................................................................................... 6

2. Aplikativni programi 2.1.

Linux: stabilna osnova ............................................................................................................... 7

2.2.

Podrška korisnika ...................................................................................................................... 7

3. Mreža 3.1.

Mreža pod Linuxom .................................................................................................................. 8

3.2.

Drugi operativni sistemi............................................................................................................ 8

3.3.

Podešavanje pristupa mreži ...................................................................................................... 8

4. Konfiguracija sistema 4.1.

Instalacija ................................................................................................................................. 9

4.2.

Sistem čuvanja podataka za konfigurisanje ............................................................................. 9

4.3.

Alati za konfigurisanje sistema ................................................................................................ 9

4.4.

Alati za analizu stanja sistema................................................................................................ 10

4.5.

Alati za rad sa paketima ......................................................................................................... 10

5. Upravljanje perifernim uređajima 5.1.

Direktno pristupanje hardveru ................................................................................................ 11

5.2.

Drajveri (upravljači) uređaja .................................................................................................... 11

6. Kontrola izvršenja programa 6.1.

Shell ......................................................................................................................................... 12

6.2.

Automatski procesi ................................................................................................................. 12

6.3.

Programiranje.........................................................................................................................10

7. Komunikacija 7.1.

Razvoj komunikacije pod Linuxom........................................................................................ 14

7.2.

Linux serveri ......................................................................................................................... 14 2

7.3.

Komunikacija među procesima ............................................................................................ 14

7.4.

Mrežni protokoli ..................................................................................................................... 14

8. Grafičko okruženje 8.1.

X grafičko okruženje .............................................................................................................. 15

8.2.

Upravljanje prozorima i radnom površinom .......................................................................... 16

9. Upravljanje procesima 9.1.

Više procesa ............................................................................................................................. 17

9.2.

Više korisnika ........................................................................................................................... 17

9.3.

Više procesora ........................................................................................................................ 17

10. Upravljanje datotekama 10.1.

Sistem datoteka .................................................................................................................... 18

10.2.

Upravljanje datotekama ...................................................................................................... 18

10.3.

Vrste datoteka..................................................................................................................... 18

11. Upravljanje memorijom 11.1.

Razvoj upravljanja memorijom pod Linuxom ...................................................................... 19

11.2.

Alokacija memorije .............................................................................................................. 19

11.3.

Oslobađanje (dealokacija) memorije .................................................................................. 19

11.4.

Swap particija ...................................................................................................................... 20

11.5.

Kod instalacije sistema ........................................................................................................ 20

12. Izvor informacija

3

Uvod

N

a moj izbor teme za seminarski rad uticala je sve veća popularnost Linux-a kao i činjenica da je Linux danas prisutan na skoro svim hardverskim platformama.

Cijenjen zbog svoje stabilnosti i drugih dobrih osobina ima veliki boj poslovnih primjena. Veliki broj pružaoca usluga na internetu koristi računare pod Linux-om. Njegovi korisnici su opštinska administracija, pošte, vojska... TakoĎe se puno koristi i u okviru obrazovnih i istraživačkih ustanova. Sa druge strane Linux se pojavljuje na sve većem broju kućnih računara. Za njega je razvijeno više varijanti grafičkog okruženja približavajući Linux neprofesionalnim korisnicima. Jedan od zadnjih koraka u približavalju Linuks-a običnim korisnicima je razvoj poslovnih (engleski office) paketa. Više ovakvih paketa ili komponenata otvorenog koda dostupni su korisnicima. Neki od ovih paketa su dijelom kompatibilni sa paketima tog tipa na drugim operativnim sistemima što omogućava prenošenje i korišćenje dokumenata nastalih pod drugim operativnim sistemima u Linux okruženju. Ovo dovodi do sve veće migracije korisnika prema Linuxu. TakoĎe treba istaći da Evropska Unija izdvaja odreĎena sredstva namjenjena popularizaciji i razvoju Linux-a kao evropskog Operativnog sistema koji uspješno parira Windows-u.

4

1.Razvoj Linuxa 1.1.Porijeklo Linux operativnog sistema Razvoj Linuxa se oslanja na razvoj UNIX operativnog sistema. Početni radovi koji su rezultirali UNIX operativnim sistemom su iz 1969 godine. UNIX je kreirao razvojni tim u okviru ATβT kompanije Bell. Stvoren je operativni sistem koji je podržavao istovremeni rad više korisnika, koji su mogli da rade na različitim, meĎusobno povezanim, računarima i pritom dijele informacije i resurse. Svaki korisnik za sebe mogao je da pokrene više poslova odjednom. Za razliku od prethodnih operativnih sistema UNIX je omogućavao da se veliki deo njegovog koda ponovo koristi kada se operativni sistem prenosi na novu hardversku platformu. Jedino je jezgro moralo da se prilagodi novom hardveru. Ovo je omogućila sprega izmeĎu UNIX-a i C programskog jezika koji je i razvijen da bi omogućio kreiranje velikog dela operativnog sistema na jednom višem nivou. Istorija samog Linuxa počinje oko 1991 godine. Linus Torvalds kreira jezgro UNIX-u sličnog operativnog sistema danas poznatog kao Linux. Veoma brzo uključuje se veliki broj ljudi širom sveta razvijajući ostatak operativnog sistema, kao i jezgra za nove hardverske platforme. Linux je kreiran po POSIX standardu. POSIX odreĎuje način na koji programi saraĎuju sa operativnim sistemom. Ovo je dovelo do toga da većina programa napravljenih za UNIX ili njemu slične operativne sisteme (koji poštuju ovaj standard) rade i pod Linuxom.

Slika 1 Zvanična maskota Linuxa koju je izabrao Linus Torvalds tvorac Linuks jezgra. Sliku je dizajnirao Larry Ewing.

5

1.1. Linux danas Linux omogućava pokretanja više paralelnih procesa. Ovo je moguće i na kompjuterima sa jednim procesorom, ali su podržani i kompjuteri sa više procesora. Linux je višekorisnički operativni sistem. Rad u mreži je odlično podržan. Linux operativni sistem radi gotovo na svim hardverskim platformama. Bez obzira da li želite da izgradite superkompjuter povezujući u grozdove veliki broj računara, ili samo želite da pokrenete svoj stari "486 PC", Linux će to da vam omogući. Linux poseduje snažan bezbjedonosni sistem. Pruža zaštitu od virusa koji krstare internetom, ali i drugu vrstu zaštite. Linux je stabilan operativni sistem. Bez i jednog pada radi mjesecima, ponekad i godinama. Linux je otvoren sistem. Razvijaju ga programeri iz celog sveta. Njegova otvorenost omogućava svakome da ga isproba ili izmjeni. Za njegovo korišćenje ne morate da platite, ali možete ako to želite. Sistem u instalacionom obliku možete da dobijete na disku, plaćajući samo medijum na kome se nalazi. TakoĎe možete da ga potpuno besplatno prenesete u svoj računar preko interneta. Linux je sistem sa veoma malo grešaka. Obzirom da je dostupan njegov izvorni kod, armija programera iz cijelog svijeta veoma brzo otklanja postojeće greške.

1.2. Distribucije Linuxa Kako je Linux otvoren, svako može da ga nabavi, izvrši svoj odabir Linux softvera i ponudi ga kao svoju takozvanu distribuciju. Pojedini distributeri vrše male izmene u jezgru, i dodaju sopstvene programe za instalaciju. Pored ovih malih razlika, distribucije se uglavnom razlikuju po odabranom softveru koji dolazi u istom paketu. Ovo nije značajan problem obzirom da većina aplikacija može da se besplatno preuzme sa interneta bez obzira koja je distribucija korišćena za inicijalno instaliranje sistema. Postoji još jedna interesantna razlika Linux distribucija. Neke su besplatne, dok druge to nisu. Trudiću se da se tekst ovog seminarskog rada odnosi na sve važnije distribucije Linuxa.

6

2. Aplikativni programi 2.1. Linux: stabilna osnova Linux je otvoren sistem. U početku možda otvoreniji prema onima koji razvijaju programe nego prema običnim korisnicima. Postepeno je razvijena velika baza za razvoj aplikativnog softvera. Prihvaćeni su i podržani mnogi zvanični standardi i stvoreni novi neformalni standardi. IzgraĎena velika količina softverskih alata i komponenti za programiranje i oformljen ogroman dokumentacioni fond.

2.2. Podrška korisnika Na ovoj širokoj i stabilnoj osnovi razvijen je veliki broj aplikativnih programa. Razvijeni su standardi za prijavljivanje grešaka u softveru koji se testira širom svijeta. Sa druge strane veliki broj Linux aplikacija je otvorenog koda, svima je dostupan izvorni kod programa, tako da se greške otklanjaju brzo. Ovo je dovelo do toga da je razvijen veliki broj vrlo stabilnih aplikacija. Postoji veliki broj kvalitetnih aplikativnih programa koji mogu da se koriste besplatno. TakoĎe postoje kvalitetne aplikacije za koje se zahteva plaćanje prava na korišćenje. Mnogi programi koji su razvijeni u drugim operativnim sistemima prilagoĎeni su da rade pod Linux operativnim sistemom i obratno. Postoji više projekata čiji je cilj da pruže podršku programima koji migriraju u Linux ili iz njega. TakoĎe pod Linuksom postoje emulatori drugih operativnih sistema koji omogućavaju da veliki broj programa drugog operativnog sistema bude pokrenuto pod Linuxom.

7

3. Mreža 3.1. Mreža pod Linuxom Linux je zamišljen kao mrežni operativni sistem od početka njegovog stvaranja. Do danas je izgraĎen kao stabilan sistem koji omogućava komforan i bezbjedan rad u mreži. Pod Linux operativnim sistemom rade serveri koji omogućavaju dijeljenje datoteka, štampača i drugih resursa, ali omogućavaju i znatno složenije usluge. Čitava paleta servera namjenjena je komunikacijama na internetu i intranetu. I samo grafičko okruženje je bazirano na serveru kome može da pristupa više korisnika istovremeno preko mreže. Tu su i serveri raznih drugih namjena kao što je na primer pristup bazama podataka...

3.2. Drugi operativni sistemi Linux na različite načine podržava povezivanje sa računarima koji rade pod drugim operativnim sistemima. Na primer računari pod Linuxom na kojima je instalirana Samba mogu da rade i umreženi sa računarima pod MS Windows operativnim sistemom.

3.3. Podešavanje pristupa mreži Većina značajnijih Linux distribucija dolazi sa više grafičkih alata koji omogućavaju lako podešavanje kompjutera za rad u lokalnoj mreži ili za povezivanje ka nekom internet provajderu. RedHat Linux dolazi sa redhat-config-network koji radi u oba: grafičkom i tekstualnom modu. Suse je opremljen YAST ili YAST2 alatom za konfigurisanje. Mandrake dolazi sa čarobnjakom za podešavanje logalne mreže i interneta (Network and Internet Configuration Wizard) koji se pokreću iz Mandrakovog kontrolnog centra (Mandrake's Control Centar).

8

4. Konfigurisanje sistema 4.1. Instalacija Proces instalacije Linux sistema je kod mnogih distribucija veoma jednostavan. Pri tom se vrši i osnovno konfigurisanje sistema. Ako nemate neku ekstremno novu ili ekstremno staru hardversku komponentu, sistem će bez problema proraditi. Ali tada tek dolazi na red fino podešavanje sistema.

4.2. Sistem čuvanja podataka za konfigurisanje Podaci za konfigurisanje Linux sistema nalaze se u više datoteka, u obliku teksta. Ovakva strategije je namjerno izabrana, nasuprot strategije kod koje su informacije za konfigurisanje sistema u jednoj monolitnoj bazi podataka. Prednosti ovakvog sistema su u tome da smanjuje mogućnosti da se izmjene pogrešni podaci. TakoĎe kod monolitne baze (na primer Windows Registry) njeno uništenje povlači potpuno onesposobljenje sistema za rad, što kod Linuxa nije slučaj. Većini procesa omogućen je pristup ovim datotekama samo u modu za čitanje, ali ne i za izmenu podataka, što dalje smanjuje mogućnosti oštećenja sistema.

4.3. Alati za konfigurisanje sistema Klasičan način konfigurisanja Linux sistema podrazumjeva ništa više osim upotrebe tekst editora. Naravno ta vremena su prošla i danas i iskusni korisnici koriste alate za konfiguraciu koji rade u grafičkom okruženju. Ti alati veliki deo posla obavljaju automatski. Ujedno smanjuju mogućnost pravljenja grešaka, i omogućavaju lakše otklanjanje eventualo napravljenih. Alati za konfigurisanje sistema koji dolaze sa različitim distribucijama se razlikuju meĎusobom. Ali postoje nezavisni alati koji omogućuju konfigurisanje sistema instaliranih iz više različitih distribucija.

9

Slika 2 linuxconfig alat koji omogućava konfigurisanje sistema. Otvojeni projekat sponzorisan od Red Hat distributera. Podržava i Caldera, Debian, Slackware, SuSE, ... distribucije.

4.4. Alati za analizu stanja sistema Ovi alati analiziraju stanje sistema, prijavljujući probleme u oblasti hardvera, bezbijednosti, ili konfiguracije uopšte. Neki od ovih alata daju i prijedlog rešenja problema, a neki i sami mogu da poprave greške.

4.5. Alati za rad sa paketima Programski paketi ranije su dolazili do korisnika u različitim oblicima. Obično su bili kompresovani na standardan način, ali unutrašnjost paketa nije bila standardizovana. Korisnik je morao sam da se snaĎe (uz eventualni readme tekst) i najčešće celu instalaciju obavi "ručno". Danas su razvijeni sistemi za rad sa paketima koji vrše instalaciju, konfiguraciju i eventualnu deinstalaciju softvera, kao i njegovu nadogradnju. Na žalost ne postoji jedinstveni standard prihvaćen od svih distributera Linuxa. Na primer Red Hat alati vodi će računa o rpm komponentama, dok će Debijan alati voditi računa o dpkg komponentama instaliranim u sistem. Yggdrasil će voditi računa i o jednim i o drugim, i jedan je od napora na unifikaciji rada sa novim komponentama u sistemu.

10

5. Upravljanje periferijskim uredjajima 5.1. Direktno pristupanje hardveru Direktno pristupanje hardveru od strane aplikativnih programa nije popularno kod Linux operativnog sistema. Kako u sistemu gotovo uvijek koegsistira više procesa paralelno, njihovo zajedničko pristupanje istom hardveru dovelo bi do velike zbrke. Sa druge strane program bi morao da zna da radi sa velikim brojem različitih varijanti jednog hardverskog ureĎaja koji potencijalno mogu da budu povezani sa kompjuterom. Ovi problemi, kao i mnoge druge koji se javljaju kod sistema na kojima radi više procesa paralelno, su u Linux operativnom sistemu riješeni sistemom posrednog pristupanja hardveru. Na primer X Windows server pristupa grafičkom hardveru. On zatim kao posrednik omogućava jedinstven način pristupa upravljačima prozora i upravljačima radnom površinom, kao i aplikativnim programima, koji ne moraju da znaju bilo šta o konkretnom hardveru. Moguće je koristiti isti upravljač prozora na različitom hardveru. Sa druge strane u sistemu može više korisnika da koristi grafiku, različito konfigurisanu, ili čak upotrebljavajući različite upravljače radnom površinom kao što su KDE i Gnome. Drugi primer je korišćenje mreže uz upotrebu TCP/IP protokola. Sistem je za tu svrhu obezbjedio priključke. Preko njih ostali softver može bezbedno da pristupa mreži, ne vodeći računa o različitim detaljima konkretnog hardvera koji se pri tom koristi.

5.2. Drajveri (upravljači) uređaja Drajveri ureĎaja su softverske komponente koje imaju specijalnu ulogu u jezgru Linux operativnog sistema. Predstavljaju posrednike izmeĎu hardverskih ureĎaja i ostalih procesa. Oni u potpunosti skrivaju hardverske detalje, koji mogu da se razlikuju kod različitih varijanti jednog ureĎaja čak i istog proizvoĎača, obezbjeĎujući dobro definisan, jedinstveni pristup drugim procesima. Korisnici pristupaju hardveru posredno preko drajvera koz standardizovan sistem komunikacije koji je nezavisan od specifičnog drajvera. Drajver zatim vrši prevoĎene dobijenih instrukcija u hardverski zavisne instrukcije upravljajući konkretnim ureĎajem. Koncept drajvera je takav da drajveri mogu da se grade nezavisno od jezgra sistema. Tokom rada sistema oni bivaju "ugraĎeni" u sistem ukoliko su potrebni. Ovakva nezavisnost izgradnje drajvera omogućila je da za Linux budu napravljene stotine različitih drajvera za razne vrste hardverskih ureĎaja. Uobičajeni Linux drajveri: - UreĎaj sa izmenjljivim (floppy) diskovima -IDE fiksirani (hard) disk 1, particija 0 -IDE fiksirani (hard) disk 2, particija 3 ;CD ROM ureĎaji , miš

11

6. Kontrola izvršavanja programa 6.1. Shell Komandno okruženje (shell) Linux sistema nudi mogućnost zvanu kontrola poslova, koja omogućava korisniku da rukuje sa više procesa. Slijede neke komande koje daju djelimičnu sliku ovih mogućnosti: obična_naredba Izvršava naredbu u prvom planu. naredba & Izvršava naredbu u pozadini, oslobaĎajući pritom terminal za druge poslove. jobs Prikazuje poslove koje rade u pozadini. Ctrl + Z Suspenduje (zaustavlja ali ne uništava) proces koji radi u prvom planu. Ctrl + C Prekida (zaustavlja i uništava) izvršavanje procesa u pozadini. %n Svakom procesu koji radi u pozadini dodjeljen je jedan broj. Na proces možemo da ukažemo koristeći % izraz. Na primjer fg %2. bg Reaktivira suspendovani program u pozadini. fg Prebacuje posao nazad u prvi plan. kill Proces završava sa radom.

6.2. Automatski procesi Automatski (batch) procesi nisu vezani za terminal. To su poslovi koji su poreĎani u listu čekanja, odakle će biti izvršeni po redu pristizanja (FIFO redosled). Ovi poslovi biće izvršeni po jednom od dva kriterijuma: U odreĎeno vreme, a na osnovu at komande. U vreme kada je sistem dovoljno malo opterećen da bi primio dodatne poslove. Ovo se radi pomoću batch komande.

12

6.3. Programiranje Samo komandno okruženje (shell) obično sadrži i mogućnost programiranja kroz sopstveni (obično jednostavan) programski jezik. Ali to je samo neznatan dijelić onoga što Linux pruža u oblasti programiranja. Operativni sistem Linux je okruženje koje omogućava korišćenje velikog broja programskih jezika. Sam je razvijan velikim dijelom upotrebom gcc prevodioca, alata iz GNU-ovog programa koji sadrži prevodioce za C, C++, Objective-C, Fortran, Java i Ada progrmski jezik. Naravno u prvom redu je korišćen C jezik, osim što su dijelovi jezgra napisani na niskom nivou asembly jezika. Lista podržanih programskih jezika je velika i stalno se uvećava. Nabrojaću neke poznatije podržane programske jezike:

Ada

Assembler

Basic

C

C++

Clean

Cobol

Eiffel

Forth

Fortran

Java

Lisp

Logo

ML

Modula-2

Oberon

Objective C

Pascal

Perl

Prolog

Python

Rexx

Smalltalk

Tcl/Tk

...

13

7. Komunikacija 7.1. Razvoj komunikacije pod Linuxom Komunikacija meĎu korisnicima je pod Linuxom moguća od samog njegovog nastanka. Jednostavan program za razmenu elektronske pošte mail prati Linux od samih njegovih početaka, a kasnije dolaze nešto bolji elm i pine. Sve njih možemo i danas da pokrenemo sa komandne linije, ali ipak danas se uglavnom koriste alati u grafičkom okruženju. Sa klijentske strane Linux je dobro opremljen kvalitetnim aplikativnim softverom u svim popularnim granama komuniciranja uključujući: elektoronsku poštu, Web, diskusione grupe, ftp, telnet...

7.2. Linux serveri Postoji i velika paleta servera namjenjenih komunikacionim poslovima. Na primjer Apach Web Server je popularan softver koji se postavlja na serverima koji rade pod Linuxom kao internet serveri. TakoĎe postoje serveri koji rade sa elektronskom poštom, ftp serveri ...Pod Linuxom rade odlični proxy serveri, firewalls ...

7.3. Komunikacija među procesima Komunikacija u Linux sistemu je veoma razvijena. Na najnižem nivou, nalaze se sistemi komunikacije ugraĎeni u samo jezgro. Jedan dio ovih komunikacionih sistema je nevidljiv korisnicima i dostupan tek u procesu programiranja. Slijede najčešće korišćeni načini bezbijedne komunikacije meĎu procesima: signali cijevi imenovane cijevi liste poruka semafori dijeljeni memorijski prostor

7.4. Mrežni protokoli Linux podržava veliki broj mrežnih protokola. Podrška TCP/IP protokolu je ugraĎen u njega od samog početka njegovog razvoja, što je vjerovatno bio jedan od ključnih faktora njegovog uspjeha. Slijede važniji mrežni protokoli koje Linux podržava od kojih su neki direktno ugraĎeni u njegovo jezgro: TCP/IP, TCP/IPV6 PPP, SLIP, PLIP, PPPOE, ISDN, AppleTalk,SMB/NMB

14

8. Grafičko okruženje 8.1. X grafičko okruženje Grafičko okruženje (grafički korisnički interfejs, GUI) kod Linux operativnog sistema se bazira na X Windows sistemu. X Windows server radi na kompjuterima koji podržavaju rastersku grafiku. On sa jedne strane prima i obraĎuje informacije koje šalje korisnik preko ulaznih ureĎaja (tastatura, miš...) i proslijeĎuje ih procesima. Sa druge strane prima zahtjeve za prikaz grafike od više klijentskih programa.

Slika 3 X Windows sa KDE upravljačem radne površine

Iako je uobičajeno da se klijent programi nalaze na istom računaru kao i X server, klijentski programi takoĎe mogu da se nalaze i na drugim kompjuterima, uključujući i one sa sasvim drugačijom arhitekturom ili pod drugim operativnim sistemom. Ove mrežne osobine X Windows sistema su veoma razvijene i u ovoj oblasti daleko nadmašuju ostale popularne sisteme prozora. X Windows podržava hijerarhijski sistem prozora, unutar kojih omogućava bezbijednu upotrebu grafike i teksta. Klijenti X windows servera su veliki broj programa koji koriste grafiku i zvuk (tekst se tretira kao oblik grafike) kao što su: xterm - emulator terminala, xclock - sat; xfs - font server...

15

Slika 4 xclock pod Motif upravljačem prozora

Slika 5 xclock XWindows klijent

8.2. Upravljanje prozorima i radnom površinom Dvije važne grupe klijenata X Windows servera su: upravljači prozorima (engleski window managers) i upravljači radnom površinom (engleski desktop managers). Prvi kontrolišu položaj i oblik prozora. Drugi, oslanjajući se na prve formiraju radnu površinu opremajući je dugmetima, padajućim menijima, satom, upravljačima datotekama... Klasičan X klijent za upravljanje prozorima je twm, ali su popularniji na primjer Sawfish i Enlightenment. Najpopularniji programi za upravljanje radnom površinom su Gnome i KDE. Oba se nalaze u gotovo svakoj distribuciji Linuksa (kao i u okviru mnogih drugih UNIX sistema).

16

9. Upravljanje procesima 9.1. Više procesa Kada se u Linux okruženju pokrene jedan program sistem će da formira jedan ili više paralelnih procesa. Na primer komanda ls, standardna komanda za listanje sadržaja direktorijuma, izvršava se kao jedan proces, ali zato će startovanje programa Konqueror da dovede do stvaranja više paralelnih procesa.

9.2. Više korisnika Stvar se komplikuje jer isti Linux sistem može da opslužuje više korisnika, koji svi prouzrokuju stvaranje novih procesa.

9.3. Više procesora Ukoliko Vaš kompjuter ima više procesora Linuks će spremno da ih iskoristi, izvršavajući na njima različite procese istovremeno. Ali ako je u kompjuteru samo jedan procesor, ili su svi procesori zauzeti a postoji zahtev za pokretanje novog procesa, Linuks će početi da dijeli procesorsko vreme. Procesi, svrstani u kružnu listu, jedan za drugim izvršavaće se u kratkom vremenskom periodu (na primer 1/100 deo sekunde), stvarajući privid istovremenog izvršavanja. Linux vodi računa i o prioritetu procesa. Izvršavaju se samo procesi sa najvišim prioritetom. Kada takvih više nema prelazi se na procese sa nižim prioritetom. Proces može da izgubi pristup procesuru i ode u stanje čekanja. Na primer u slučaju da je poslao zahtjev za neku ulaznu ili izlaznu operaciju. Dok čeka njeno kompletiranje, što je za procesor dugo vreme, biće uklonjen iz liste procesa koji se izvršavaju. Odlazi u stanje čekanja, dok se zahtijevana operacija ne izvrši. Linux sistem omogućava i bezbijedno zaustavljanje i uklanjanje procesa od strane sistema, pri čemu se oslobaĎa, za proces alocirana, memorija i ostali resursi koje je koristio.

17

10. Upravljanje datotekama 10.1. Sistem datoteka Datoteke su u Linux operativnom sistemu organizovane u sistem direktorijuma. Direktorijumi su posebne vrste datoteka koje sadrže spiskove drugih datoteka.

10.2. Upravljanje datotekama Jedan od načina za upravljanje datotekama je upotreba komandne linije. Da bi mogli da unosimo komande potrebno je da aktiviramo komandno okruženje (shell). Ovaj stari način rada sa datotekama ima svoje prednosti, ali danas većina korisnika Linuxa koristi programe koji obavljaju ovaj posao u grafičkom okruženju. Konqueror je jedan od programa čija je jedna od upotreba upravljanje datotekama. Kroz grafički interfejs na intuitivan način mogu da se organizuju datoteke. Osim ovoga omogućava i različite načine prikazivanja sadržaja datoteka. Osim sistemu datoteka koje je formirao sam Linux, iz Linux okruženja lako može da se pristupi mnogim drugim sistemima datoteka, koje su kreirali drugi operativni sistemi.

10.3. Vrste datoteka Linux podržava sledeće vrste datoteka: Obične datoteke: sadrže obične podatke kao što je na primjer tekst, izvršni program, ulaz ili izlaz nekog programa i tako dalje. Direktorijumi: Sadrže spiskove drugih datoteka. Specijalne datoteke: Mehanizam koji se koristi za ulaz i izlaz. Većina njih se nalazi u /dev direktorijumu. Veze: Mehanizam koji omogućuje da ista datoteka bude vidljiva na više mjesta u okviru sistema direktorijuma. Priključci: Mehanizam za komunikaciju izmeĎu procesa, kontrolisan od sistema koji dozvoljava pristup datotekama. Imenovane cijevi: imaju sličnu svrhu kao priključci, ali procesi pri komunikaciji ne moraju da se poštuju pravila za mrežne priključke

18

11. Upravljanje memorijom 11.1. Razvoj upravljanja memorijom pod Linuxom Upravljanje memorijom pod Linuxom je u početku razvijeno za Intelov 80386 procesor, koji je bio relativno dobro opremljen za takve poslove. Prilikom prebacivanja na Alpha procesore, Linux sistem za upravljanje memorijom je promijenjen. Stvoren je jedan apstraktniji sistem upravljanja memorijom koji je kasnije uspiješno primjenjen na više različitih procesora uključujući 386, Alpha, Sparc, Motorola 68k seriju, PowerPC, ARM i MIPS.

11.2. Alokacija memorije Linux ima složen sistem upravljanja memorijom. Kada je, na primjer, potrebno da se iz datoteke učita izvršni kod programa, memorija se alocira u delovima (stranama), i delovi koda se prebacuju u nju. Učitava se onaj kod koji je neophodan da se pokrene program, kao i nešto više u pokušaju da se preupredi novo predvidivo čitanje. Kada se u izvršavanju programa doĎe do mjesta koje se ne nalazi u memoriji alocira se nova memorija i u nju se slično kao na početku učitavaju potrebni dijelovi koda. Program nastavlja sa radom. Ako program završi sa radom, alocirana memorija za njegov izvršni kod se ne oslobaĎa. U slučaju ponovnog pokretanja istog programa iskoristiće se već učitani kod, što dovodi do znatno bržeg ponovnog pokretanja programa.

11.3. Oslobađanje (dealokacija) memorije Obično u jednom trenutku dolazi do toga da je gotovo sva slobodna memorija već alocirana. Sistem tada oslobaĎa "starije" dijelove memorije (one koji su ranije korišćeni) da bi mogao da ih iskoristi za nove poslove. OslobaĎanje memorije se vrši na nekoliko načina: Ukoliko se radi o izvršnom kodu programa, jednostavno se izbriše iz memorije. Odnosno dio memorije u kome je bio upisan pridružuje se spisku dijelova slobodne memorije. Ako se radi o podacima, oni se prvo prepisuju u specijalnu (swap) particiju na disku, a zatim se deo memorije koji ih je sadržao priključuje spisku slobodne memorije. Ako sadržaji izbrisanih segmenata memorije ponovo postanu potrebni biće ponovo učitani u novo-alociranu memoriju: Ako se radi o podacima biće vraćeni iz specijalne particije diska. Ukoliko se radi o izvršnom kodu učitaće se direktno iz datoteke sa izvršnim kodom.

19

11.4. Swap particija Swap particija fiksiranog (hard) diska je dostupna jedino samom operativnom sistemu, i nevidljiva je korisniku kod običnih poslova. Ona omogućava korisniku neprekinut rad i u uslovima kada bi se na nekim drugim sistemima pojavila poruka "Pokušavate da radite van limita memorije ..." (engleski "Out of memory..."). Korišćenje ovog dijela memorije je naravno znatno sporije nego korišćenje unutrašnje memorije kompjutera, ali je u nekim situacijama veoma korisno.

11.5. Kod instalacije sistema Linux očekuje da je veličina swap particije dva puta veća od unutrašnje memorije. Primjer instalacije sistema sa 512 MB RAM memorije. Mogućnosti: -jedna swap particija od 1GB -dve swap particije od 512 MB -sa dva fisirana diska: po jedna swap particija od 512 MB na svakom disku

20

12. Izvori informacija

21

Related Documents

Linux
April 2020 29
Linux
July 2020 24
Linux
October 2019 55
Linux
June 2020 17
Linux
December 2019 39
Linux
November 2019 41

More Documents from ""