Linux

Sa Wikipedije, slobodne enciklopedije
Idi na: navigacija, traži
Question book-new.svg Ovaj članak ili neka od njegovih sekcija nije dovoljno potkrijepljena izvorima (literatura, web stranice ili drugi izvori).
Sporne rečenice i navodi bi mogli, ukoliko se pravilno ne označe validnim izvorima, biti obrisani i uklonjeni. Pomozite Wikipediji tako što ćete navesti validne izvore putem referenci, te nakon toga možete ukloniti ovaj šablon.

Linux ili GNU/Linux je operativni sistem za računare. Jedan je od najpoznatijih primjera slobodnog softvera i razvoja putem otvorenog koda. Za razliku od drugih operativnih sistema (kao na primjer Windows-a i Mac OS-a) njegov kod je dostupan javnosti i svako ima pravo da ga slobodno koristi, mijenja i redistribuira.

Logotip Linux operativnog sistema je pingvin koji se zove Tux

Uvod[uredi | uredi izvor]

Riječ "Linux" se odnosi samo na kernel Linuxa ali se često (i pogrešno) koristi kao naziv za za cijeli operativni sistem (također GNU/Linux) baziran oko tog jezgra i broja biblioteka i alata iz GNU projekta. Više stotina Linux distribucija sadrže razni softver zajedno sa GNU/Linux kernelom.

U početku, Linux su razvijali i koristili entuzijastični studenti. Od tada, Linux je dobio podršku od strane velikih kompanija kao što su IBM i Novell za upotrebu na serverima i počinje da ulazi u upotrebu i na ličnim (personal-osobnim) kompjuterima. Promoteri i analitičari tvrde da za ovaj uspjeh treba zahvaliti njegovoj nezavisnosti od bilo kakvog centralnog proizvođača, niskom trošku, tj. besplatnosti, sigurnosti i pouzdanosti.

Linux je originalno razvijan za Intel 386 mikroprocesore a danas podržava niz mikroprocesora i računarskih platformi. Upotrebljava se u rasponu od ličnih računara do superkompjutera i integrisanih sistema kao što su mobilni telefoni i lični video rekorderi.

Historija[uredi | uredi izvor]

Glavna stranica: Historija Linuxa

Linux je u svojoj prvoj verziji objavljen u oktobru 1991, kada je, tada dvadesetjednogodišnji finski student Linus Torvalds, na Usenet-u poslao sljedeći post:

Citat

„Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)

Linus (torvalds@kruuna.helsinki.fi)

PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never

will support anything other than AT-harddisks, as that's all I have :-(.“
(Linus Torvalds)

Posting (poruka) sa Message-ID 1991Aug25.205708.9541@klaava.Helsinki.FI na Usenetu Linus je prvo svoj sistem objavio pod ličnom licencom, ali već 1993 u verziji kernela 0.99.10 Linux je objavljen pod GNU licencom. Kasnije Linus komentariše tu odluku kao najbolju koju je donio vezanu za Linux, jer tek ovaj korak Linuxu omogućava brzo razvijanje i proširenje.

Danas mnogo ljudi programira u Linuxu, pa to uglavnom čine iz entuzijazma, a vrlo rijetko jer od toga imaju neke finansijske koristi. Internet je od samog početka igrao veliku ulogu u razvijanju sistema, jer se čitava komunikacija i razmjena fajlova odvijala i još odvija otvoreno u javnosti, kroz usenet i mailing liste te popularne forume.

GNU/Linux[uredi | uredi izvor]

Glavna stranica: GNU
Logotip GNU projekta

GNU projekat je pokrenut 1984. s ciljem da se razvije kompletan unixoidni operativni sistem koji je potpuno slobodan: GNU sistem. GNU predstavlja akronim za "GNU's Not Unix" - "GNU nije Unix". Komponente iz GNU sistema danas su uklopljene u linux sisteme, pa mnogi iz FSF-a i njihovi fanovi linux nazivaju "GNU/linux".

Fondacija za slobodni softver je najveći sponzor GNU projekta. FSF dobija vrlo malo novca od korporacija odnosno velikih fondacija. Oslanjaju se na podršku individualaca koji misiju podržavaju misiju FSFa, a to je da sačuva, zaštiti i promovira slobodu korištenja, studiranja, kopiranja,modificiranja i distribuiranja računarskog softvera, te da brani prava korisnika slobodnog softvera.

Godine 2005, preko 67% budžeta FSF je popunjeno prilozima pojedinačnih donatora. Ova vrsta podrške predstavlja primarni način finansiranja.

Kernel[uredi | uredi izvor]

Linux kernel je napravljen, kao i većina drugih modernih sistema, po uzoru na Unixa. To znači, između ostalog, da se zasniva na potpunoj abstrakciji i virtualiziciji svih hardverskih komponenti. Upravo to je i glavna funkcija kernela. Pored toga u kernelu je implementirana funkcionalnost multitaskinga (obavljanje više zadataka odjednom), kontrola procesa, kontrola memorije itd.

Na samom početku Linux kernel je bio monolitske građe, što znači da je sva funkionalnost zajedno sa drajverima implementirana u jednom kernel-imageu. Ovakva arhitektura se brzo ispostavila kao lošom, jer svaka i najmanja izmjena može da predstavlja izmjenu cijelog kernela. Danas je Linux hibridno-monolitan, što znači, da je veliki dio drajvera, koji nisu neophodni za sami start kernela, implementirani kao moduli koji se za vrjeme upotrebe uvezuju ili izvezuju iz kernela.

Usermode vs. kernelmode[uredi | uredi izvor]

Kod i kod mnogih drughi operativnih sistema, Linux posjeduje dva moda (tipa) za izvođenje programa, od kojih ovisi koja prava i privilegije u sistemu određeni programi imaju. Korisnički programi se izvode u korisničkom modusu (user mode) a sam kernel i njegovi moduli u kernelskom modusu (kernel mode). Takva podjela ima prednost da korisnički program ne može izazvati pad cijelog sistema.

C i asembler[uredi | uredi izvor]

Gotovo cijeli kernel je programiran u programskom jeziku C. Samo veoma kritični djelovi su pisani u asembleru. Cijeli Linux sistem je jako dobro prilagođen programiranju u C, ne samo jer je C i koncipiran kao programski jezik za unix-slične sisteme. Kao kompajler se uglavnom koristi gcc koji omogućava i jednostavno portiranje sistema za druge arhitekture, zbog čega Linux i jeste toliko rasprostanjen na različitim arhitekurama.

Za više o ovome pogledajte članak programski jezik C ili gcc.

Softver[uredi | uredi izvor]

Za Linux danas postoji veliki broj programa, od kojeg se najveći broj izdaje pod GPL-licencom. Nemoguće bi bilo napraviti kompletnu listu programa. Ipak, neki programi su toliko rasprostranjeni, da se smatraju glavnim repertoarom na Linux-sistemima.

  • bash, "bourne again shell" je jedan od komandnih interpretera (shell) na Linuxu.
  • mc ili "Midnight Commander", se koristi za izlistavanje, sortiranje, traženje, kopiranje, prikazivanje fajlova itd.
  • gcc je kompajler za programski jezik C i C++

Za Linux postoji mnogo editora, koji slijede različite paradigme.

  • Vim i Emacs su najpoznatiji i najbolji editori za Linux, iako su portirani (prebačeni) na gotove sve sisteme.

Glavne aplikacije za servere i korisnike[uredi | uredi izvor]

Uredske aplikacije

Grafički sistemi (X-window)

Aplikacije za servere

Distribucije[uredi | uredi izvor]

Glavna stranica: Linux distribucija

Distribucije su konfigurisani paketi koji sadrže kompletne Linux sisteme. Neke od njih su potpuno slobodne i u rukama korisnika, dok su druge komercijalno orijentisane. One korisniku omogućavaju obično jednostavan način izbora i instalacije softverskih paketa. Razlikuju se u konfiguraciji sistema, izboru softvera, instalacijskoj proceduri ali i u podržavanju različitih korisničkih potreba. Distribucije su sastavljene od kernela i od programa koje kreatori distribucije izaberu.

Također pogledajte[uredi | uredi izvor]

Vanjski linkovi[uredi | uredi izvor]

Commons
Commons: Linux