Prvo mi nesto nije jasno, prije par mjeseci je bila rasprava da je linux korisnika bilo 2% i da se povećao. Nigdje nisam uspio naći razloge smanjenja sa 2% ponovo na 1%. Ono što sam pretpostavio da je to možda razlog novijih zatvorenih operacijskih sustava i povećanog broja mobilnih korisnika. Te statistike nikad mi nisu odavale pravu realnost.
S korisničke strane, ovakav dojam steknem kada kao dugogodišnji korisnik linux-a i kao system administriranje stekao sam
Filesystem
- Windows operacijski sustav se iz neočekivanog razloga zna strašno usporiti iako je defragmentiran i iako su procesi ubijeni - shvatio sam da je fragmentacija zapisala na Windowsu šarana po disku, a linux ne zapisuje razno već odmah do sljedećeg "reda", te sam shvatio da je Win loš zbog filesystem-a jer još uvijek vrte na istom filesystem-u: NTFS, dok je linux izdao novi ext4, btrfs, novi XFS
citiram: "Fragmentation is a file system problem, not OS. It is on the filesystem how to handle fragmentation and general disk I/O performance."
Dakle , to Windowsi još nisu riješili i to je mana lošeg koncipiciranog sustava jer stvara zastarjeli operacijski sustav sa starom haubom te izaziva loše performanse.
Kada se particija na Windowsima napuni, ona se ne može optimizirati već se treba osloboditi mjesta i ponovo prekopirati da bi se možda fragmentiralo:
Linux defragmentacija na ext4 filesystem-u odlučuje da se prije nego što se zapiše po disku provjerava i traži alocirana područja na disku da odluči kako će spremiti u koje blokove, rezervira unaprijed mjesta jer zna da će mu trebati mjesta za tu "datoteku" te daje flag na kojem sljećem bloku se nalazi nastavak te datoteke da ne traži po disku. Time su performanse drastično ubrzane + olakšava kod filesystem checkiranja gdje treba ispraviti i gdje treba učitati. Ako se i dogodi da particija ne učita lako se sa ext4 filesystemom riješava i povrati sve podatke koje su bile. Windows zapisuje "lazy-random" i ne zapisuje gdje je nastavak idućeg bloka već samo navodi nastavke datoteke i nazivlja.
Slika "Tipovi zapisa i načini fragmentacija" na linuxu imaš razne datoteke ali u što manjem broju, većina su arhivirani, jer ih ne treba stalno već ih samo vuće kada treba u temporary i kada ih raspakira onda ih raspakira u disk u jednom nizu (te se povećava performansa). Trik ubrzanja je da je što više arhiviranih datoteka ili se postavi flag da zapiše puno manjih datoteka u rezerviranom bloku te na taj način smanjuje fragmentaciju.
Kernel / User
Na Windowsu mogu biti kao i na Linuxu oštećeni vitalni dijelovi sustava, no oni su odvojeni jer korisnik ne komunicira direktno sa Kernelom kao kod Windowsa (system-user) već prvo ide na System Security dio koji komunicira i propušta rad i upravljanje sa datotekama kao:
Size of file
Device ID
User ID of the file
Group ID of the file
The file mode information and access privileges for owner, group and others
File protection flags
The timestamps for file creation, modification etc
link counter to determine the number of hard links
Pointers to the blocks storing file’s contents
Linux koristi 1% partcije za zapise security inode a to su ovi gore propisani uvjeti o filesystem-u ili kratko "INODE" te ODVAJA takvu komunikaciju isključivo sa KERNEL-FILESYSTEM a ne kao u Windowsima gdje je slučaj direktno USER-FILESYSTEM.
Inode je zapis svih podataka u 1% zauzete partcije radi lakšeg i bržeg pronalaženja dijelova na disku i sustava.
Za to sve je zadužen KERNEL a ne SYSTEM kao na Windows datotekama.
Operacijski sustav - Linux koristi Windows API [Wine], identični pozivi kao na Windowsima se koristi za npr. Wine te je pisan od nule a ne kao virtualka, većina tu stvari radi kao na Windows XP-ima ako treba
Linux izvorni kod je open source i otvoren - kod razvoja ili kod instalacije vi uvijek znate gdje je i zašto je došlo do greške, ako je problem do hardvera odmah će Vam javiti kernel što točno ne valja i ne radi
Kod Windowsa je kod zatvoren i ne kaže Vam čak ni u Event Vieweru detaljna izvješća zbog čega je došlo do kvara ili morate istraživati do te mjere da jednostavno ne znate točan kvar
Isto tako ima više ugrađenih drivera i podršku koju bi standardno trebao imati ugrađen u sam operacijski sustav. Izuzev novijih ali to je danas sve više portano i ugrađeno u kernel od samog manufacturera kao npr. Intel
KERNEL
Kod Windowsa vi ne možete odvojiti datoteke za boot skripte i ne možete ga odvojiti od sustava.
BOOT
Konfiguracijske datoteke potrebne za boot su realocirane sa kernelom i odvojivi na način da je zaštićen od sustava te se sa cheksum-om mora provjeravati stanje boot-a. I win i linux imaju komprimirane datoteke za boot ali nisu kod Windowsa realocirane niti osigurane.
Brži je i boot i manji je file za boot:
filesizes - total (no drivers25, 29) 1.7MB(linux) 9.9MB(win)
Kao i na Win poodržava EFI i standardni firmware.
Možete definirati kod boot-a koju PARTICIJU želite bootati i koji disk! Vaš eksteni disk može bootat direktno.
U kernel je podržan svestran tip procesora, dakle nije ugrađen u sam SYSTEM kao Windows već u sam Kernel te nemorate razmišljati o ponovnoj instalaciji već eventualno o nadogradnji kernel-a tokom update sustava ili manualno. Podržava čak IA-64 arhitekturu, PowerPC (za Mac OS X), xbox, Wii, PS3 te su ograničeni na broj core procesora. Dakle više od 1024 core procesora može biti podržan za jedan sustav (cluster).
OPERACIJSKI SUSTAV
Windows NE PODRŽAVA tekstualni sustav, dakle njega možete dići samo kao grafički sustav. DOS je ograničen i ne možete dići sve aplikacije koje nativno ne podržava. Danas nažalost se ne piše uopće aplikacije za DOS aplikacije iako bi i tu trebali nastaviti zbog servera i optimizacije sustava. Zamislite VLC koji se može na linuxu dići i kretati.
Linux podržava "Layered Graphics System" što znači da možete pokretati aplikacije koje npr. podržava SDL i poveže se između sustava i aplikacije za pokretanje grafičke aplikacije kao SDL. Međutim, Linux može koristiti i API za druge OS-ove i tako detektirati što je recimo došlo do greške u Windows sustavu iz Linux-a jer je došlo došlo do greške. I to sve zato što je open source vi zapravo znate i naći grešku te debugirati. Na Windows-u ne možete instalirati SDL neposredno do sustava već kao dio aplikacije te se performanse degradirane.
SDL koristi i dio emulacje za DOSbox, pad zamislimo kako DOSbox za SDL aplikacije igrice supermario direktno koristi linux kernel nego kod Windowsa gdje mora biti sve portano za Windows. Dakle, to je sve library koji koristi memoriju, dinamčko i statičko linkanje biblioteka radi pokretanja aplikacija. Na Linuxu su mnoge aplikacije shared library te uvijek će te biti sigurni da će sve aplikacije raditi dobro jer se library ne mora vezati samo za jednu verziju već za više verzija. Na Windowsima to sve morate dodatno instalirati i ako vam nešto ne radi morate ponovo instalirati drugu verziju i tako stalno. Recimo C++ API verzija 11, verzija 7 itd...
Kod Windowsa Shared library je DSO (ekstenzija .so) i a kod Windowsa je .dll te je zatvoren. Oni omogućuju da istu funkcionalnost vrše na cross platform sustavu i obično je library za drivere i komercijalne aplikacije. Ono što sam htio reći je da Linux već ima sve ugrađeno u sustav te se ne morate brinuti za instalacijom dodatnih dependecy-ja i biblioteka.
Registry kod Windowsa se lako može modificirati i ne možete ga zaštiti kao kod Windowsa koji su složene u datoteke i često je ograničen za određene user-e radi zaštite. Registry kod Windowsa je dosta ograničen (user permisije na registry-ju, kada je izmjenjen file, kreiran već morate za to napraviti dodatan value!)
DRIVERI
Driveri na linuxu komuniciraju samo sa jednim user-om i ograničen je od korisnika što znači da ako neku aplikaciju pokrenete ona će biti izolirana od modifikacije library-ja za drivere i same kompajlirane driver datoteke. Na Windowsu nemate mogućnost za custom drivere instalirati preko kernela već morate naknadno preko sustava ili preko klasične dll datoteke te Vam možda u njemu skriva neki maliciozni kod koji šalje na Internet što je korisnik instalirao i koji sustav ima. Na linuxu sve drivere i datoteke su otvorenog koda te znate gdje bi moglo doći do greške te tako brže ispraviti nego čekati official driver da vam to ispravi.
Za nepodržane drivere podržava čak ndiswrapper gdje možete pokretati DLL datoteke iz Linuxa i upogoniti driver koji nije podržan za Linux. Tu Linux kao kernel os i dll nema utjecaja budući da je to odvojen od samog kernel-a (dependecy drivera).
Driveri na Windowsu se mogu zloporabiti za potrebe špijunskog softvera kao i kod set-top-box-ova gdje imaju utičnice za LAN/Wifi te gdje je su developeri razvijali custom OS da pružaju update i možebitno špijuniranje. Nadalje, što sam htio reći da custom OS nije taknut u sam kernel već je dio dodan izvan razine Kernela odnosno kao user system. (Sjetite se zašto je NSA tražila od tvorca linux kernela da ugradi maliciozni kod za potreb špijuniranja i praćenja.)
Linux podrška za power-save je loša jer nemaju sve potrebne drivere tj. pristup zatvorenom dijelu drivera. Optimizacija i rad sa driverima oba imaju veliki plus.
MEMORIJA
Linux podržava 8589934592GB dok win:
RAM limits in Windows 8.1 Enterprise – 4GB on x86, 512GB on x64
RAM limits in Windows 8.1 Professional – 4GB on x86, 512GB on x64
RAM limits in Windows 8.1 – 4GB on x86, 128GB on x64
Na windowsu ste ograničeni po korištenju radne memorije po procesu oko 4 GB, dok na Linuxu >64GB.
Virtualnu memoriju na linuxu možete odvojiti od particije te ako imate više operacijskih sustava ta ista particija može koristiti zajednički.
Na Windowsima svaki swap je na svom sustavu ili kao poseban file pa morate posebno naštimavati i dodatno Vam zauzima prostora za svaki OS.
BIOS, SAT
Linux podržava rad sa hardverskim satom odnosno BIOS sat i nema veze sa satom na Windowsima koji vidite u kutu.
Linux podržava direktnu komunikaciju i opoziv sata direktno sa BIOS satom, te stalno vrši komunikaciju nad njim što znači da možete točno upaliti gasiti stroj na temelju bios sata + optimizirane su performanse jer ne troše resurse za softverski nadograđeni sat.
Hardware clock i primjeri u komandi za opoziv
Tu često pomaže linux kernelu da točno odradi resurse prema hardveru i obično je odličan za rad sa COM portovima i pokretanje taktova kod upravljanja sa starim kontrolerima koji Windowsi obično to emuliraju i ne rade kako treba.
Imao sam slučaj da na windowsu nikako com port nije mogao update-at mikročip dok sam na linuxu to napravio u manje od 2 minute (a inače nikad nisam to radio, za čas otkrijete kako riješiti problem).
PROCESI
Obično reklame, pretjerani članci koji stvaraju istinu priču ali i prikriveni sadržaji od strane tvornica, end-user-a te "kineskih manipulatora" prikrivaju korisnicima pravu realnost gdje je razina sigurnosti samih korisnika upitna, nesigurna jer čak da korisnik ništa ne radi na uređaju procesi se vrte a da ne znate što radi taj proces niti što i koji podatak Vam je poslan bez znanja korisnika. Na linuxu svaki proces koji otvorite možete pratiti komandom "dmesg" te trenutno vidjeti koji se hardverski proces izvršava i narednom nestat za sve mrežne procese i procese sustava 'ps aux'.
Kod Windowsa imate task manager ili process explorer ali nikad ne znate točno što vam radi svchost.exe i koje je dependecyje pozvao kod rada.
Za to su tu još i TCP, UDP, SCTP, VTP, IGMP, SCSI koji komuniciraju na linuxu direktno samo sa KERNEL-om!
VIRTUALIZACIJA
Na linuxu imate brojne open source i stabilne hardverske virtualizacije kao KVM, QuEMU te podržava čak do 512 virtualizacija, a da ne zaboravimo da vmWare ESX je linux OS koji vrti svoju aplikaciju za virtualizaciju jer su Windowsi tu ograničeni.
Paravirtualizacija koji brojni današnji VPS serveri podržavaju direktno sa komunikacijom kernela i sustava moguće je izvršiti dok sami Windowsi to još nemaju u cijelosti sa kernelom već kao nadograđeni dio aplikacije a ne library.
LIVECD
Svaki operacijski sustav koji želite isprobati bez prethodne instalacije a da vam ne diraju vaš sustav i particije možete bez problema izvršiti. Osim što možete pristupiti dodatnom sučelju, disku i testirati sustav, možete testirati sustav i pokretati aplikacije.
Windowsi to nemaju službeno osim kao dodatna aplikacija za pokretanje korištenjem PartPE builder-om. To nažalost nije službena podrška.
APLIKACIJE
Linux podržava ugrađenih preko 1600 aplikacija koju su otvorene i provjerene, preko 4000 aplikacija preko komande (pogodne za servere) od ukupno čak preko 45 000 aplikacija. Ostalo su library i aplikacije koje isto mogu biti gui/cli tipa.
Tu nije ubrojeno komercijalni, proprietary (vlasnički) niti aplikacija koji su slobodni itd...
Evo liste:
Za neke koji ne znaju koja je dobra alernativa naspram Windows aplikacija: http://www.linuxalt.com/
Krajnjim korisnicima više će biti nego zadovoljan jer netko tko se ne bavi 3D-om a ima instaliranu aplikaciju od Autodeska ili netko tko se igra u paintu a ne u photoshop-u ne vidim smisao osim što mu zauzima potrebnog prostora i povredu vlasničkih EULA uvjeta i licenca.
Tu na linuxu imate prave probati sve open source aplikacije i više će te biti zadovoljni te će te naučiti nove stvari te steknuti novo iskustvo.
Neke od aplikacija:
Aplikacije:
- FileRoller - Archive Manager
- BootUp Manager - upravitelj boot prioriteta i popisa
- Character Map - upravitelj i pretražnik znakova i slova
- ChmSee - preglednik CHM datoteka (Windowsi imaju helper datoteke sa ekstenzijom chm)
- Filelight - utility aplikacija za prikaz zauzeće diskovnog prostora
- Font Viewer - preglednik fonta
- FSlint - preglednik i tražilica dupliciranih datoteka
- Htop - interaktivni preglednik resursa procesa, procesora, memorije i diska
- KeePassX - multiplatformski editor za čuvanje zaporki
- Midnight Commander - konzolna aplikacija norton commander-a
- Searchmonkey - tražilica riječi unutar datoteka
- Shutter - moćna aplikacija za screen capture
- K3B - aplikacija za upravljanje i snimanje sa CD/DVD/BD medijima
- Screen Ruler - ravnalo na ekranu u pixelima, dpi,...
- NFO viewer - aplikacija za pregled NFO datoteka
- Scribes - alternativa Adobe InDesign-u
- Xournal - slično Microsoft Note-u
- Zim - organizator bilješki u hijerarhijskoj strukturi
Development:
- CodeLite - light verzija IDE CodeBlocks za razvoj C++aplikacija
- CodeBlocks - IDE za razvoj C++,SDL,Qt,.. .aplikacija
- Cssed - CSS editor
- Geany - light verzija IDE-a za većinu programskih jezka
- Lazarus - doba pascala i razvoj pascal aplikacija
- Meld - GUI aplikacija za usporedbu datoteka
- Netbeans - IDE aplikacija za razvoj Java/PHP/C++ aplikacija
- Eclipse - IDE aplikacija za razvoj Java/PHP/Android/C++/... aplikacija
- Tora - grafičko sučelje za editiranje i upravljanje bazama podataka
- Umbrello - GUI za rad sa UML-om
Games:
- Armagetron Advanced - 3D light cycle game
- Mines - minesweeper
- PlayOnLinux - aplikacija koja skida sa interneta windows aplikacije te automatski instalirati tipa Internet Explorer 1.0
Graphics:
- Agave - generira boje i patterne
- colorname - tražilica boja za web
- Darkroom - obrada fotografija, open source aplikacija
- Lightzone - komercijalna aplikacija za obradu fotografija
- Dia - editor za izradu dijagrama
- Feh - najoptimiziraniji preglednik slika (brzina učitavanja slika), iz konzole vam može čitati za svaku sliku njegove parametre (rezolucija)
- GIMP - image manipulation program
- GNU Paint - identična kopija Microsoft Paint-u
- GPick - color picker
- gThumb - organizator slika
- Gwenview - alternativa ACDSee-u
- Hugin - obrada slika po direktoriju, kalibracija, izrada panorame
- Inkscape - alternativa InDesign odnosno Corelu Draw, čita i cdr
- Luminance HDR - obrada fotografije po HDR formatu
- pHatch Image editor - rasterska obrada slika
- Pinta - alternativa paint.net
- QtQR - preglednik QR i obrada
- Ristretto - page layout obrada
- UFraw - obarada RAW datoteka iz kamera
- XSane - obrada i skeniraje dokumenata, driveri podržani
Internet:
- Firefox
- Chromium - open source verzija Google Chrome-a
- Google Chrome
- Elinks - konzolna verzija Internet preglednika, na serveru možete pregledati stranice
- Filezilla - FTP klijent
- Pidgin - google hangouts, xampp, Yahoo, Jabber
- Remmina - remote desktop klijent za sve platforme
- Quassel IRC - moćan IRC klijent
- uGET - downloader HTML stranica
- Wireshark - auditing network
- Zenmap - nadzor mreže
- Youtube to MP3 - opensource pretvorba sa Youtube na MP3
Multimedia
- Arista Transcoder - pretvarač multimedijalnih video datoteka za svirače i set top box-ove
- Audacious - alternativa Winamp-u
- Audacity - slično CoolEdit-u (crossplatform)
- Avidemux - obrada videa i pretvarač video datoteka za razne uređaje
- Brasero - GNOME-ov burning tool
- Cheese - webcam viewer sa raznim efektima
- Clementine - multimedijalni svirač podržava last.fm
- Minitube - preglednik youtube sadržaja
- OpenShot - obrada video sadržaja
- SMPlayer - odlična zamjena za VLC
- SoundConverter - konverter svih audio formata pa čak i DRM
- VLC - video player
- WinFF - GUI za avconf, konverter video datoteka
Office
- AbiWord - brza i alternativa verzija čitanja Word dokumenata i editor
- gLabels - obrada jednostavnih vizitki
- KeepNote - odična aplikacija za čuvanje bilješki
- Lyx - odličan GUI za rad sa LaTeX dokumentima, inače knjige se pišu po ovome
- VYM - izrada mentalne mape
- LibreOffice / OpenOffice / KingSoft Office / IBM Lotus Symfony i ostale su office aplikacije koje su podržane za Linux
Postoje i aplikacije koje su ugrađene za FTP spajanje, upravljanje arhivom te njegovo montiranje kao disk pomoću gui-a, kreiranje ikonice na desktop-u kao URL, telnet klijenti kao putty, mono (besplatna .net alternativa npr. Pinta aplikacija), OpenJDK iako možete instalirati JAVA od Oracle-a, Wine emulator za pokretanje windows aplikacija a dobijete s njim notepad i browser pisan od strane ekipa wine-a te će te bez greške većinu aplikacija koja radi od Windows 1.0 do danas moći pokretati osim komercijalnih i težih koji je potrebna mala modifikacija ili ispravljanja.
Utility:
CPU-G - alternativa CPU-Z aplikaciji
DOSBox - pokretanje dos aplikacija
I-Nex - system device information
Unetbootin - izrada USB sa iso datoteka
Što se tiče AutoCAD-a imate alternativu DraftSight. No mislim da će i oni kad-tad pisati i AutoCAD za linux.
DESKTOP OKRUŽENJA
Na Windowsima ste ograničeni sa samo jednim dekstop okruženjem i ne možete odabrati na koji način će vaše sučelje podizati kao sustav.
Linux podržava brojne DE vrste kao što na wikipediji vidimo.
Isto tako je moguće birati na distrowatch koji DE želite instalirati ili ih naknadno instalirati te ukloniti: Distrowatch
Najoptimiziranije sučelje za najmanje resursa i zauzeća procesa isto je moguće izabrati te oživiti stara računala. Nažalost, Windows ne cilja na optimizaciju te nema podizanje sustava osim kao Embedded OS ali niti to više nije stabilna opcija zbog sigurnosnih propusta starog sustava (Win XP).
COOL LINKS
Ovdje imate neki od popisa popularnih blogova i popis aplikacija i preporuka za end-user-e koji nisu baš eksperti a žele pratiti novosti u IT svijetu linuxa:
http://linux-beta.slashdot.org/
http://lifehacker.com/tag/ubuntu
https://github.com/search?q=linux+gui&ref=cmdform
Ovdje imate hrpu tutoriala kako podešavati i konfigurarati server ako vam treba: http://www.howtoforge.com/
Još nešto važno. U Kini ima velik broj Windows XP korisnika, međutim dosta ih ima i u tvornicama i to samo XP radi flashanja i testiranja uređaja jer developeri koji su tamo razvijaju pod tom platformom gdje sam vidio kao jedan primjer testiranja uređaja SSD diskova tvrtke KingSpec. Nisam siguran, no nekako mislim da namjerno zaobilaze novije od XP-a vjerojatno zbog nekih nedostatka u samom kernelu.
Moja zapažanja:
Na spram Windowsa ono što meni nedostaje je: komercijalne aplikacije od strane Adobe-a iako ima Brackets koji je pisan u Javascript-u, nema profesionalnih alata za obradu slike.
Autodesk je pomaknuo crtu i izradio aplikacije za Linux što je ubrzalo neke operacije jer je optimiziran za Linux OS.
Kada se radi update kod Windowsa dosta ljudi odbija update te na taj način su podložni riziku od malicioznih koda i nestabilnosti sustava. Kod Linux sustava, sam sustav radi dvije godine kao da sam ga instalirao prvi dan.
Sve što trebam za web razvoj odlično me služi IDE i konzole te podešavanje servera i VPS-a.
Sve što trebam za obradu audio-video i slika nije mi se dogodilo da trebam aplikaciju od Windowsa.
Čitači slika, dokumenata također sam sve mogao učitati sa svakim programom bez problema.
Arhive i arhiviranje nativno isto bez problema funkcioniraju.
Komunikacija putem Interneta korištenjem IM servisa, email klijenta i file-sharing servisa te p2p komuniciranje isto tako odvija se bez problema.
Kada pišete nešto i svađate se bespotrebno donesite neke odluke koje korisnicima može pomoći u poslovanju i pružite neke primjere kao što sam ja naveo te tako omogućite bolju i realniju sliku stvarnog stanja a ne na temelju predrasuda.
Probajte koristiti linux na mjesec dana a ne na jedan dan. Pokušajte si tako omogućiti malo na slobodno razmišljanje i uštedjeti novac na komercijalne aplikacije. Tu razvijate kreativnost.