LINUX
                                     ^^^^^

                        Avoid the Gates of Hell. Use linux...

          Linus  Torvalds  ve  škole  pracoval  na  UNIXu.  Ten  se mu tak
      zalíbil,  že  na  něm chtěl pracovat i doma. Ale závratné ceny UNIXu
      (2000Kč) mu vadily. Unix se vpodstatě nedal sehnat. Proto se rozhodl
      napsat si vlastní. Linux nevznikal pod GNU. Linus byl hacker a o GNU
      možná  ani neveděl. V té době GNU nebylo moc rozšířené. Jádro 0.0 se
      ještě  kompilovalo  pod dosem. Brzo ale objevil gcc a začal pracovat
      pod  ním.  První  použitelné verze se vyšly v roce 1991. Nebyly sice
      ještě  nic moc ale setkaly se z velkým ohlasem. Od okamžiku, kdy byl
      linux  schopen  spustit  gcc  a zkompilovat tak další GNU programy (
      ty  v  té době už uměly skoro všechno co operační systém potřebuje )
      bylo vyhráno. Funkční UNIXový systém byl na světě. Mně se jako první
      dostala  do  ruky  verze  0.99.13  z roku 1992. V té době už chodilo
      skoro  všechno  -  byla  k  dispozici  slušná instalace, všechny GNU
      programy  pěkně  chodily,  filesystém měl dlouhé názvy. (První verze
      používala  XeniXový  filesystém. Ten byl ale omezen na 80 MB a tuším
      12 znaků v názvu). Chodily dokonce i X window - grafika.

          Linux  se  velice  rozšířil.  Hodně  dalších lidí se připojilo k
      vývoji  a  z  Linuxu  se stal velice slušný kernel. První verze sice
      nebyly napsány zrovna nejlépe-Linus se až moc držel původního návrhu
      jádra UNIXu z roku 1972. Navíc jádro napsal dost natvrdo na intely a
      některé části - jako filesystem, nebo swapování byly vyloženě slabé.

          To  už dneska není pravda. Linux byl přeportěn na hodně platform
      -  alpha,  sun,  amiga,  atari,  mac, powerpc a další. Filesystém je
      vpodstatě  nejlepší co znám (a to znám dos fat, vfat, xenix fs, hfs,
      hpfs,  amiga  fs, extfs, ext2fs, xiafs, BSD fast filesystem a další)
      Je  sice trochu marnotratný ale mockrát méně než dos - používa bloky
      velikosti  většinou  4KB.  Má speciální algoritmy, aby se co nejméně
      fragmentoval  - za 5 let používání mám fragmentaci okolo 8%. Tabulky
      nemá  pohromadě  ale  rozptýlené  po disku tak, aby byly co nejblíže
      datům.  Navíc  to  zvyšuje  bezpečnost. Dlouhé názvy až to 256 znaků
      atd. Linux samozdřejmě umí použít i jiné filesystémy.

          Memory  management  má taky velice dobrý. Cache je přez veškerou
      volnou  paměť.  Když jsou spustěny dva stejné programy, sdílí stejný
      kód.  Různé  programy potom alespoň knihovny. Ty jsou samozdřejmě na
      disku jenom jednou a nelinkujou se do každého programu. Ten samý kód
      použije  i  cache, kdyby snad někdo chtěl číst ten exáč. Když proces
      provede  fork  -  rozdělí  se  na  dva  identické  procesy, paměť se
      nekopíruje ale sdílí se dokud jeden z procesů do ní nezapíše - potom
      se  ta stránka rozdělí (copy on write). Když se program spustí, jeho
      kód  se  nezavede  do paměti ale jenom první stránka, kam se skočí a
      když  proces chce další, tak se načte z disku (page demand loading).
      Swapování  zařizuje  speciální  proces, takže běží úplně asynchroně.
      Když  se  swapuje  ven  kód, tak se neuloží do swapáče ale prostě se
      později   zase   načte  z  původního  exáče.  Samozdřejmě,  že  má i
      readahead, které třeba načítá stránky, kde předpokládá, že je proces
      bude  potřebovat  a  tak proces na to vůbec nemusí čekat, až se celý
      zavede  do  paměti.  Tohle  všechno zařizuje fce mmap, kterou proces
      může  použít  i pro jiné účely. Protože Linux nepoužívá bios je celé
      I/O  několikanásobně  rychlejší  a při plné práci zabere tak asi 10%
      času procesoru.

          Jádro  navíc  zvládá  velice  slušně  sítě  - má hodně protokolů
      (tcp/ip4,  tcp/ip6,  ipx,  apletalk,  ppp,  slip, cslip a další), je
      posixově   kompatibilní,  má  drivery  na  většinu  SCSI,  zvukovek,
      síťovek,  IDE/ATAPI, portů a některá nestandardní CD. Poslední jádra
      zvládají i více procesorů atd.

          Narozdíl  od  normálních UNIXů swapování procesů běží na 100Hz a
      to je dost na to, aby člověk mohl kompilovat a k tomu hrát akční hru
      - třeba doom, který byl samozdřejmě přeportěn.

          Ale  hlavně  to  je  inteligentní OS a tak člověk nemusí strávit
      veškerý čas jeho obcházením ale může ho využít. Třeba když chce něco
      zahrát  - tak to zapíše do /dev/audio (to je zařízení..něco jako com
      nebo  prn v dosu..taky lomítka jsou v unixu obráceně :) Já když něco
      vyvíjím,  tak  to  vždycky  píšu  pod Linuxem - třeba i tento text -
      protože  to  je  inteligentní, rychlé a stabilní prostředí pro vývoj
      programů  a  portění třeba do dosu moc času nezabere, protože je tam
      stejný kompiler i knihovny. To, že linux spadne při běžném používání
      je tak výjmečná věc, že to každý uživatel jde hned hlásit. ale to se
      děje  opravdu  zřítka.  Na  jádrech  označených  jako stabilní skoro
      vůbec.

          Pod  Linuxem je dneska skoro všechno, co potřebuju. Do dosu lezu
      jen,  když si chci pustit nejakou tu hru nebo demíčko, které nechodí
      pod  dosemulátorem. Každému to doporučuju zkusit, protože tak pozná,
      jak vypadá operační systém. A to stojí za to.

          Linux   je  také  geniální  jako  síťový  server.  Zvládá  nejen
      internetové služby, firewallování, massquerading (přez jeden modem a
      jednu  ip  adresu  zapojí  do  inetu celou síť) ale třeba i emulovat
      novelácký  server,  windowsí smb protokol atd. Pod emulátorem dneska
      chodí věci jako doom, second reality, windows 3.1 atd...

          Poslední  verze  RedHatu  a  podobných distribucí linuxu už mají
      hodně  user friendly hejblátek, instalátorů apod a tak pomalu mizí i
      pověstná složitost unixu na používání. A nainstaluje to skoro každý.

          Jenom  nakonec  malé  varování, že přechod je možný jenom jedním
      směrem,  kdo se jednou naučil z UNIXem už nikdy nebude chtít dělat v
      M produktech...


            výheň