zlatkoA je napisao/la:(a možda ga se i nemože izvest jednostavno

)
Dakle, zašto je teško učiniti Linux jednostavnim?
Windowsi su od svojih samih početaka razvijani po konceptu da budu jednostavni za korištenje. Nažalost, to je rezultiralo mnogim sigurnosnim propustima. S druge strane, Linux kopira komercijalne serverske unixoide (poput npr. solarisa) i to mu uvelike onemogućuje dobar rad kao desktop OS. Uzmimo npr. način na koji linux upravlja usb stickovima: on ga mounta u neki folder i ponaša se prema njemu kao i prema bilo kojem drugom disku. To je loše, jer mu ne omogućuje automatsko isključivanje cacheiranja prilikom pisanja na stick, pa ako ga isčupate dok kopirate datoteku na njega, ostat ćete i bez datoteke i vjerojatno bez datotečnog sustava na sticku. S druge strane, ako isto napravite na windowsima, ostat ćete samo bez onog dijela datoteke koji se nije stigao skopirati.
Promotrimo i drugu najveću boljku linuxa: X.
X uopće nije koncipiran za ono za što ga mi koristimo. X server je predviđen da iscrtava prozore prema uputama koje prima preko mreže od strane nekog terminal servera i u tome je fantastičan. No X interno uopće nema podršku za 3D i 2D akceleraciju. Čak ako bi sam X vrtili na istom računalu na kojem je i terminal server i štovali sve X protokole, to bi bilo užasno sporo. Zato današnja Xorg implementacija X-a uvelike zaobilazi te protokole, što ponekad zna rezultirati rušenjem X-a. Nadalje, ostaje problem 3D akceleracije: koncept iscrtavanja 3D scene zaobilazi bilo kakav server koji iscrtava prozore, jer je kod iscrtavanja 3D scena potrebna brzina. Zato je potreban direktan pristup grafičkoj kartici. Postavlja se pitanje: imamo X server koji zna izvršavati naredbe i želimo ponekom programu dati direktan pristup grafičkoj kartici. Čini se težak problem: potrebno je istovremeno iscrtavati i prozore, ali opet dozvoliti određenom/određenim programima da u određenim dijelovima monitora iscrtavaju svoju sliku neovisno o X-u. Rješenje je dao DRI (direct rendering infrastructure), koji je "crta poveznica" kojoj je zadatak da sinkronizira položaj direktno izrenderirane slike i prozora koje je iscrtao X. Uglavnom stvar radi tako da pazi na koordinate prozora, pa onda kad pomaknete prozor u kojem je 3D igra, slika igre slijedi prozor. DRI je pokazao svoju manu prilikom korištenja 3D desktop efekata, jer tada nije dovoljno paziti samo na koordinate, nego je potrebno paziti i na 3D transformacije koje radi composite manager. Zato kad pomičete prozor u kojem se iscrtava 3D igra dok su vam efekti uključeni, slika igre ostaje na mjestu, a vi pomičete "prazan" prozor. Novi DRI (DRI2) rješava taj problem.
No sve to što sam naveo sigurno vas je potaklo na sljedeće razmišljanje: toliko krpanja, toliko preuređivanja, toliko namještavanja... To sve skupa mora da je komplicirano!
I dobro razmišljate - sve to skupa je itekako komplicirano - daleko kompliciranije od arhitekture na Windosima ili MacOS-u. Zato je pisanje grafičkih drivera za linux doslovno noćna mora. Srećom, projekt Gallium3D tvrtke Tungsten Graphics ima za cilj stvoriti novu arhitekturu grafičkih drivera (teško je riječima mi objasniti jer ni meni nije skroz jasno, no lijepu ilustraciju imate
ovdje) za sve operacijske sustave. Inicijalna verzija bi u najboljem slučaju trebala biti spremna krajem ove godine ('u najboljem slučaju' molim čitati kao 'tek sredinom sljedeće godine'

).
Evo, već sam i sad puno napisao, no još samo da se dotaknem suspend/hibernate-a i instalacije programa.
Dakle, kao što znate, suspendiranje vašeg računala je dugoročno bio problem na linuxu. Prvenstveni problem je bio s povratkom (resume), jer navedeno u većini slučajeva uopće nije bilo moguće. Srećom, zadnje verzije kernela imaju relativno dobru podršku za uspješno suspendanje i resumanje, no stvar je uvelike prespora. Npr. na mom laptopu suspend i resume na ubuntuu traju cca 6-7 sekundi. Na istom tom laptopu vista suspenda i resumea se u 2-3 sekunde, dakle 3 puta brže. Ako umjesto fglrx-a koristim open source driver grafički driver, dobijem eventualno 1 sekundu na vremenu, no to je i dalje puno presporo. Tu je glavni problem grafički driver, koji se nalazi u potpunosti izvan kernela (za razliku od windowsa). No, Red Hat je razvio tzv. Kernel-mode setting (KMS), koji omogućuje dublju povezanost grafičkoj drivera i kernela. U neku ruku možete shvatiti da grafički driver "ulazi" u kernel kao što je slučaj u windowsima (već vidim grofa kako plače

). To omogućuje puno brže bootanje, brže suspendanje i brže resumeanje, no ako se skrši grafički driver, kernel više neće biti u potpunosti imun na to (kao što je dosad bio). KMS je nedavno postao dio mainstream kernela i ubuntu korisnici će ga imati priliku iskušati u verziji 9.10 (Karmic Koala

). Fedora korisnici ga već koriste od verzije 10.
Hibernate je na linuxu spor prvenstveno zbog toga što se cjelokupni sadržaj RAMa, bez kompresije, zapisuje u /var/tmp/nešto, što zna potrajati (zamislite kopiranje datoteke od 2GiB). MacOS i Windowsi komprimiraju sadržaj RAM-a prije zapisivanja na disk, što uvelike ubrzava ulazak i izlazak iz hibernacije. Za linux isto postoji takvo što, a zove se TuxOnIce, no nijedna distribucija ga zasad ne ubacuje u kernel. Ako želite to isprobati, morate sami kompajlirati kernel (nisam probao, ali kažu ljudi da se uvelike isplati).
I za kraj - jedan od većih problema svih unixa: instalacija programa.
Iako se svima to čini jednostavno (kliketanje po synapticu, yastu, ili čemu već), stvar je multikomplicirana. Naime, ne postoji standard kako i gdje zapisivati pojedine dijelove programa, nego se svaka distribucija drži svojeg principa, pa zato ponekad suseov rpm ne radi na fedori i obratno, a da ne pričam o .deb datotekama koje imaju skroz svoju filozofiju... No, situacija je uglavnom takva da se izvršni dio programa spremi u /usr/bin, svi libraryji u /usr/lib, a ostatak u /usr/share. I kad se naruši integritet baze package managera tako da on više ne zna šta ima instalirano a šta nema (a to se događa, barem meni), pa onda kad želite neki program izbrisati, package manager poludi, zatim ga natjerate da izbriše u svojoj bazi podatak da je neki program instaliran, iako jest, i onda želite ručno pobrisati program, a kad ono: on razbacan po cijelom disku - užas jedan. Tu mi se više sviđa koncept foldera 'Program files' kojeg imaju windowsi, MacOS i GoboLinux, gdje je sve na jednom mjestu.
Tako da je Zlatko u pravu. Linux se ne može izvesti jednostavnim. Barem ne bez da pokupi većinu mana od windowsa i macosa...