Linux

Linux ili GNU/Linux je operativni sistem za računare baziran na Linux kernelu. 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.
220px|mini|desno|Ubuntu

 Uvod 
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 

mini|desno|170p|Linus Torvalds
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:

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 

mini|desno|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 ugrađene 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 

Linux kernel je napravljen, kao i većina drugih modernih sistema, po uzoru na Unix. 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 vrijeme upotrebe uvoze ili izvoze iz kernela.

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

 C i asembler 
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 
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 
Uredske aplikacije
 Thunderbird, KMail (mail klijenti)
 Mozilla, Firefox, Opera (internet pregledači)
 Ximian Evolution, PHP
 OpenOffice (uredski alati: uređivanje teksta, tablica, prezentacije, baza)
 GIMP

Grafički sistemi (X-window)
 GNOME
 KDE
mini|desno|KDE grafičko okruženje

Aplikacije za servere
 Apache
 PHP
 Perl
 mySQL, postgreSQL (baze podataka)
 Postfix, Courier, Horde
 proFTPd, vsFTP

 Distribucije 

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 
 Git (softver)
 Picotux

 Reference 

 Vanjski linkovi 

 Udruženje Linux korisnika Bosne i Hercegovine - ULK BiH 
 Forum Udruženja Linux korisnika Bosne i Hercegovine - ULK BiH 
 Linux.org sadrži raznovrsne podatke o Linux operativnom sisitemu 
 Zanimljivi GNU/Linux portal 
 The Linux Documentation Project 
 Lista kategorija HOWTO (kako-da) dokumenata 
 Linux Online- Distribucije ponuđene na FTP stranicama 
 DistroWatch.com- Informacije i novosti o Linux distribucijama. 
 Screenshotovi Linux distribucija 
 Besplatna i dobra knjiga za Linux u elektronskom obliku, na bosanskom jeziku
 Miloševa strana - Tekstovi o slobodnom softveru, GNU/Linux i *BSD operativnim sistemima

Kategorija:Softver
Kategorija:Operativni sistemi
Kategorija:Linux
Kategorija:GNU