Uvod u Linux
Linux je obitelj otvorenog koda operativnog sustava nalik Unixu na jezgri Linuxa, a jezgru OS-a prvi put je objavio 17. rujna 1991. Linus Torvalds . Obično je Linux pakiran kao distribucija Linuxa, koja sadrži prateće biblioteke i sistemski softver i jezgru, od kojih nekoliko nudi Projekt GNU. Nekoliko Linux distribucija koristi taj izraz 'Linux' u naslovu, ali Free Software Foundation koristi 'GNU/Linux' naslov da se usredotoči na nužnost GNU softvera, uzrokujući nekoliko kontroverzi.
Poznate distribucije Linuxa su Ubuntu, Fedora Linux i Debian, od kojih se potonji sastoji od nekoliko različitih modifikacija i distribucija, uključujući Xubuntu i Lubuntu. Komercijalne distribucije su SUSE Linux Enterprise i Red Hat Enterprise Linux. Desktop distribucije Linuxa su prozorski sustavi poput Waylanda ili X11 i desktop okruženja poput KDE Plasma i GNOME.
- Izvorno, Linux je dizajniran za osobna računala koja su bila bazirana na Intel x86 arhitekturi, ali je od tada premješten u više okruženja nego drugi operativni sustavi.
- Uključujući Android, Linux ima najveću instaliranu bazu od svih operativnih sustava opće namjene zbog kontrole Androida temeljenog na Linuxu nad pametnim telefonima od svibnja 2022.
- Međutim, Linux koristi samo oko 2,6% stolnih računala od studenog 2022.
- Također, Linux se izvršava na mnogim ugrađenim sustavima, tj. uređajima čiji je OS obično dizajniran u firmveru i izuzetno je prilagođen sustavu.
- Uključuje svemirske letjelice (Perseverance rover, kapsula Dragon crew i raketa Falcon 9), automobile (Toyota, Hyundai, Mercedes-Benz, Audi i Tesla), televizore (LG i Samsung Smart TV), konzole za video igre, pametne kućne uređaje, kontrole automatizacije i usmjerivači.
Linux je jedan od najistaknutijih primjera suradnje otvorenog koda i slobodnog softvera. Svi mogu distribuirati, mijenjati i koristiti nekomercijalno ili komercijalno izvorni kod prema uvjetima odgovarajućih licenci, poput GNU GPL (Opća javna licenca). Na primjer, Linux kernel je licenciran prema GPLv2.
Povijest Linux OS-a
Operativni sustav temeljen na Unixu implementiran je i zamišljen 1969. godine Zvono AT&T-a laboratorije Joea Ossanne, Douglasa Mcllroya, Dennisa Ritchieja i Kena Thompsona u Sjedinjenim Državama. Prvi put objavljen 1971. godine, Unix je u potpunosti napisan u asemblerskom jeziku, što je bila osnovna praksa u to vrijeme. Ažurirao ga je Dennis Ritchie na jeziku C na ključni pionirski način 1973. godine. Dostupnost implementacije jezika visoke razine Unixa učinila je njegovo prijenos na različite računalne platforme praktičnim.
Torvalds se upisao na Unix tečaj dok je bio na Sveučilištu u Helsinkiju u jesen 1990-ih. Na tečaju je korišteno miniračunalo MicroVAX koje izvršava Ultrix, a jedan od potrebnih tekstova bio je Operating Systems: Design and Implementation autora Andrewsa S. Tanenbauma. Udžbenik je sadržavao kopiju operativnog sustava MINIX Tanenbauma. Zajedno s ovim tečajem Torvalds je u početku postao otvoren za Unix. Zainteresirao se za operativne sustave 1991. godine. Frustriran licenciranjem MINIX-a, koje ga je u to vrijeme ograničavalo samo na obrazovnu upotrebu, počeo je raditi na svom kernelu operativnog sustava, koji je na kraju postao Linux kernel.
Torvalds je započeo razvoj Linux kernela na MINIX-u, a softver napisan za MINIX također je korišten na Linuxu. Kasnije se njeguje Linux, a zatim se na Linux sustavima pojavljuje razvoj Linux kernela. Također, GNU aplikacije su zamijenile svaku MINIX komponentu jer je bilo korisno koristiti besplatni kod kroz GNU Projekt s novim OS-om; kod licenciran prema GNU GPL-u može se ponovno primijeniti u drugim funkcijama računala sve dok je također objavljen pod kompatibilnom ili istom licencom.
Torvalds je započeo prelazak sa svoje stvarne licence, koja je zabranjivala komercijalnu distribuciju, na GNU GPL. Programeri su radili na razvoju GNU elemenata s Linux kernelom, čineći besplatan i potpuno funkcionalan operativni sustav.
Glavni održavatelj Linux kernela je Greg Kroah-Hartman koji vodi njegov razvoj. Izvršni direktor Free Software Foundationa je William John Sullivan , koji je zauzvrat podržavao GNU komponente. Korporacije i pojedinci konačno razvijaju komponente trećih strana koje nisu GNU.
Komponente trećih strana sastoje se od velikog broja radova i mogu sadržavati korisničke biblioteke i aplikacije te module jezgre. Linux zajednica i dobavljači distribuiraju i kombiniraju kernel, komponente koje nisu GNU i GNU komponente s dodatnim softverom za upravljanje paketima na način distribucija Linuxa.
U produkcijskim okruženjima, prihvaćanje Linuxa počelo je rasti sredinom 1990-ih u zajednici superračunala umjesto da ga koriste samo hobisti, gdje su organizacije poput NASA-e počele sve više zamjenjivati svoje skupe strojeve jeftinim klasterima uobičajenih računala koji pokreću Linux. Komercijalna uporaba započela je kada su IBM i Dell, koje je slijedio Hewlett-Packard, počeli pružati podršku za Linux kako bi pobjegli od monopola Microsofta na tržištu desktop OS-a.
Linux sustavi danas se u potpunosti koriste u računalstvu, od ugrađenih sustava do gotovo svakog superračunala, i osigurali su poziciju u instalacijama poslužitelja poput poznatog skupa aplikacija LAMP. Razvija se uporaba distribucija Linuxa u poslovnim i kućnim stolnim računalima.
Također, distribucije Linuxa postale su poznate na tržištu netbooka, s nekoliko uređaja koji se kreću s instaliranim prilagođenim distribucijama Linuxa, a Google objavljuje svoj ChromeOS razvijen za netbooke.
Dizajn Linux OS-a
Različiti programeri otvorenog koda priznaju da jezgra Linuxa nije razvijena, već da je evoluirala prirodnom selekcijom. Sustav temeljen na Linuxu kompatibilan je OS nalik Unixu, koji je veći dio svog uobičajenog dizajna izveo iz načela izrađenih u Unixu tijekom 1970-ih i 1980-ih. Takav sustav primjenjuje Linux kernel, monolitni kernel koji upravlja datotečnim sustavima, perifernim pristupom, umrežavanjem i kontrolom procesa. Upravljački programi uređaja izravno su integrirani s jezgrom ili uključeni kao moduli koji se učitavaju dok je uređaj aktivan.
Instalirane komponente Linux sustava uključuju sljedeće:
- A bootloader , na primjer, systemd-boot, SYSLINUX, LILO i GNU GRUB. To je program koji može učitati Linux kernel u glavnu memoriju računala tako što ga računalo pokrene nakon što se izvrši prijava na firmware i kada je uključen.
- An ući u program , kao tradicionalni sysvinit i noviji Upstart, OpenRC i systemd. To je prvi proces koji su najavili Linux kernel i korijen stabla procesa. Drugim riječima, svaki se proces otvara iz init. Pokreće procese poput upita za prijavu i usluga sustava (bilo u terminalskom ili grafičkom načinu).
- C standardna biblioteka potrebna je za izvršavanje C programa na sustavu koji koristi GNU C knjižnicu kao standard. Razvijene su alternative kao što su uClibc (razvijen za uClinux), EGLIBC (glibc fork koji je jednom koristio Debian) i musl. Međutim, prva dva se sada ne održavaju. Android koristi svoju C biblioteku, koja je poznata kao Bionički .
- GUI ljuske su najpoznatija korisnička sučelja na desktop sustavima, pakirana sa širokim desktop okruženjima kao što su Xfce, Pantheon, LXDE, Cinnamon, MATE, GNOME i KDE Plasma, iako je dostupan niz od nekoliko korisničkih sučelja.
- Najpoznatija korisnička sučelja rade s konceptom X Window System, poznatog kao 'X' .
- Nudi mrežnu transparentnost i omogućuje prikaz grafičke aplikacije aktivne na sustavu na drugom sustavu u kojem korisnik može surađivati s aplikacijom.
- Iako određena proširenja sustava X Window ne mogu raditi na mreži.
- Mnogi X poslužitelji za prikaz dostupni su s X.Org poslužiteljem, a referentna implementacija je najpoznatija.
Također, korisničko sučelje naziva se ljuskom. To je ili GUI (grafičko korisničko sučelje), CLI (sučelje naredbenog retka) ili kontrole pripojene povezanom hardveru, što je normalno za ugrađene sustave. Zadano korisničko sučelje je grafičko za desktop sustave. Međutim, CLI je dostupan u prozorima emulatora terminala ili na izoliranoj virtualnoj konzoli.
Ljuske sučelja naredbenog retka su tekstualna sučelja koja koriste tekst i za izlaz i za unos. Dominantna ljuska je bash (Bourne-Again Shell) koja se koristi u Linuxu, izvorno dizajnirana za GNU projekt. Gotovo svaka komponenta niske razine Linuxa, uključujući nekoliko korisničkih dijelova, koristi isključivo CLI. Konkretno, CLI je kompatibilan s odgođenom ili ponavljajućom automatizacijom zadataka i omogućuje vrlo jednostavnu međuprocesnu komunikaciju.
Trenutno Linux ima dva API-ja korisničkog prostora jezgre za upravljanje video ulaznim uređajima: DVB API za TV prijem i V4L2 API za radio i video streamove.
Ova se infrastruktura mora razvijati kako bi bolje odgovarala drugim uređajima zbog raznolikosti i složenosti različitih uređaja i zbog velikog broja standarda i formata kojima upravljaju ti API-ji. Bolja knjižnica uređaja korisničkog prostora također je ključ uspjeha za aplikacije korisničkog prostora koje mogu raditi sa svim formatima koje podržavaju uređaji.
Korištenje Linux OS-a
Nekoliko kvantitativnih studija otvorenog/slobodnog softvera usredotočeno je na teme kao što su pouzdanost i tržišni udio, a mnoge studije posebno ispituju Linux. Tržište Linuxa se razvija, a veličina tržišta OS-a Linux trebala bi doživjeti razvoj od 19,2% do 2027., dosegnuvši 15,64 milijarde dolara, u usporedbi s 3,89 milijardi u 2019. Zagovornici i analitičari pripisuju uspjeh asocijativnog Linuxa njegovoj slobodi, niskoj cijeni , pouzdanost i sigurnost od zaključavanja dobavljača.
W3Cook objavljuje statistiku koja koristi prvih 1.000.000 Alexa domena, koje procjenjuju da 96,55% web poslužitelja koristi Linux, 1,73% koristi Windows i 1,72% koristi FreeBSD od svibnja 2015.
Od svibnja 2022. procijenjeni tržišni udio Linuxa je oko 2,5% na stolnim računalima, prema statistici web poslužitelja. Microsoft Windows ima tržišni udio od približno 75,5%, dok macOS ima oko 14,9%.
Android je postao vodeći OS za pametne telefone koji se temelji na Linux kernelu. U srpnju 2022. 71,9% pametnih telefona u svijetu koji koriste internet koristilo je Android. Također, Android je poznati OS za tablete, koji je odgovoran za više od 60% prodaje stolova od 2013.
Linux je već godinama omiljena platforma u filmskoj industriji. Prvi veliki film objavljen na Linux poslužitelju bio je Titanic iz 1997. godine. Od tada su veliki studiji, uključujući Industrial Light & Magic, Weta Digital, Pixar i DreamWorks Animation, prešli na Linux.
Linux distribucije također su stekle popularnost u nekoliko nacionalnih i lokalnih vlasti. Kerala je otišla do obvezne mjere da sve državne srednje škole koriste Linux na svojim sustavima. Kina koristi Linux isključivo kao OS za svoju obitelj procesora Loongson za postizanje tehnološke neovisnosti.
Nekoliko je regija integriralo svoju distribuciju Linuxa u Španjolskoj, koja se intenzivno koristi u službenim i obrazovnim institucijama. Također, Njemačka i Francuska poduzele su korake prema prihvaćanju Linuxa. Red Star OS Sjeverne Koreje temelji se na Fedora Linux verziji koja se razvija od 2002.
Linux OS radi
Operativni sustav Linux slijedi standardni dizajn koji je ključ njegovih nekoliko distribucija i varijacija. Svaka distribucija Linuxa temelji se na jezgri Linuxa, ali se može razlikovati ovisno o čimbenicima kao što su:
- Upravljački programi uređaja koji koriste kod koji upravlja radom povezanih uređaja.
- Upravljački programi sustava datoteka, koji koriste kod koji upravlja načinom na koji kernel radi s različitim sustavima datoteka.
- Sistemski pozivi, koji koriste kod koji upravlja načinom na koji programi traže usluge putem kernela.
- Dizanje i učitavanje Linux kernela.
- Kernel obrađuje svaki izlaz i unos sustava nakon pokretanja. Sustav je pokrenut i procesi se mogu pokrenuti.
- Sustav se može koristiti za procese koji sadrže naredbe interaktivno unesene putem naredbenog retka, funkcije mrežnog poslužitelja, desktop aplikacije ili bilo koji program ili aplikaciju dok se sistemski procesi podižu.
Kernel je jedina stvar koja je zajednička svakom sustavu koji pokreće Linux. Linux radi na:
Korisničko iskustvo može uvelike varirati, ovisno o tome kako se Linux sustav koristi, dok kernel može biti gotovo identičan s nekim razlikama u kompilaciji i odstupanjima u konfiguraciji. Na primjer, nekoliko slučajeva upotrebe Linuxa s različitim korisničkim iskustvima su:
Linux radi vrlo slično bilo kojem operativnom sustavu koji se temelji na GUI-u kada se koristi kao GUI s okruženjem radne površine. Aplikacije i mnogi drugi resursi mogu se pokrenuti pritiskom na ikone, a datoteke se mogu brisati, kopirati ili premještati pomoću trackpada ili miša.
Linux distribucije
Linux je prihvatio copyleft odredbe Free Software Foundationa, koja je proizvela GNU GPL od njegovog početka razvoja. GPL opisuje da sve što je uzeto za modificiranje i besplatno mora biti slobodno distribuirano.
Dostupne su stotine verzija Linuxa, koje se također nazivaju distribucijama ili distribucijama. Obično se distribucije razlikuju kroz paket definiranjem specifičnog cilja, ciljnog tržišta, funkcije ili filozofije.
Postoje mnoge distribucije napravljene za određene ciljne funkcije, poput sigurnosti, igranja, stolnih računala, poslužitelja ili ugrađenih uređaja, kao što su Raspberry Pi sustavi. Gotovo svaka moderna distribucija je spremna za korištenje i unaprijed kompajlirana, dok su druge, kao što je Gentoo Linux, sastavljene od izvornog koda koji svaki korisnik može lokalno kompajlirati tijekom pokretanja instalacije za korištenje svoje konfiguracije sustava.
Za i protiv Linux OS-a
Neke prednosti korištenja Linuxa navedene su i objašnjene u nastavku:
Nekoliko nedostataka Linuxa su: