Historia GNU Linuxu a UNIXu
Určite ste si všimli, že všade sa piše o Linuxe. Linux sa dostáva aj na desktop, na mobilné platformy (príkladom je napr. Android), do set-top boxov, dokonca aj niektoré inteligentné TV mavaju tento systém predinštalovaný. Zo špeciálného použitia spomeniem ešte napr. sieťovú infraštruktúru (napr. servery, routre).
Začneme s históriou Unixu, kedže sa jedná o Unixový operačný systém. Unixový systém preto, lebo sa správa podobne ako Unix, aj ked pod kapotou je uplne iné jadro. Je do určitej miery kompatibilný s BSD Unix a Unixami vetvy System V a taktiež dodržuje normy POSIX a Hierarchy File System. Ďalej si preberieme čo je to GNU a následne si zhrnieme historiu Linuxu. Takže najprv Unix:
Unix
História Unixu
História sa začala písať niekedy v roku 1969, ked Ken Thompson a Dennis Ritchie († 12. október 2012, autor jazyka C) vytvorili nový operačny systém a nazvali ho Unics. Stalo sa tak v Bellových laboratóriach spoločnosti AT&T.
Nový operačny systém bol navrhnutý pre mainframe PDP-7, neskôr prepísaný do jazyka C (stalo sa tak v roku 1973), čo umoznilo ľahku portáciu aj na iné platformy (napríklad ALPHA, DEC, Motorola, Intel,...)
Vlastnosti Unixu
- jednoduchosť
- viacúlohovosť - možnost spustenia viac úloh a programov v jednom okamžiku
- je viacužíivateľsky (užívatelia so svojími domovskými adresármi, špecifickými prístupovými právami, nastaveniami, súčasná práca viacerých uživatelov)
- má hierarchický súborový systém (strom adresárov s jedným koreňom, do ktorého sa pripájú dalšie diskové zariadenia cez špecifický adresár)
- takmer všetko v systéme je prezentované ako súbor (zariadenia a prvky medziprocesovej komunikácie)
- konfiguračne prvky su uložene ako čistý text (angl. plain text)
- dôraz sa kladie viac na vzťahy medzi programy, než na programy samotné (sada jednoúčelových programov, prepojovanie nástrojov do kolón – výstup príkazu je presmerovaný na vstup ďalšieho)
- využíva hotových programov v iných programoch
- je orientovaný na spracovanie textu
Štandardy
Unix je riešeny ako skladačka z rôznych ďalších aplikácií, čo umožnilo vytvoriť viacero rôznych systémov na báze Unixu a prinieslo to do Unix sveta veľký chaos. Preto vzniklo niekolko štandardov:
- Single UNIX Specification
- POSIX
- Filesystem Hierarchy Standard
- ELF (Executable Linkable Format)
Popis štandardov je nad rámec tohto článku.
Odnože Unixu
V 70-tych rokoch spoločnosť AT&T poskytla licenciu na systém najväčšim univerzitám. Medzi nimi bola aj univerita Berkeley, ktorá následne začala vyvíjať svoj vlastný Unix, konkrétne sa jednalo o BSD (Berkeley Software Distribution). Spočiatku sa jednalo o komerčnú distribúciu, ktoru potom vo verzii 4.4 uvolnili ako open a neobsahoval už žiadny kód z pôvodneho AT&T Unixu kvôli tzv. USL (Unix System Laboratories).
A od BSD sa odštepili neskôr tieto distribúcie:
- 386BSD
- FreeBSD
- OpenBSD
- NetBSD
- PC-BSD
- SunOS
- OSX, iOS
- Linux (o ktorom bude reč v ďalšich častiach)
A veľa ďalších distribúcií, ktoré priniesli do Unix sveta trošku chaosu, co sa vyriešilo vyššie uvedenými štandardmi. Priloženy je obrázok na stiahnutie kompletného vývoja Unix rodiny.
![]() |
![]() |
Ken Thompson | Dennis Ritchie |
GNU
![GNU - Tipy, triky a návody](images/7911/gnu-logo-184x184.png)
Richard Stallman bol znechutený neslobodou už existujúcich licencií a tak sa rozhodol založiť projekt GNU (rekurzívny akronym GNU Is Not Unix). Mal by byť prístupný pre každého vrátane zdrojových kódov a takisto každý by mohol do nich nahliadnúť, zmeniť ľubovolnú časť kódu a takisto ho redistribuovať vrátane vykonaných úprav.
Projekt GNU odštartoval v septembri 1983 oznámením Richarda Stallmana. Práca na slobodnom operačnom systéme sa začala v januári 1984 a v októbri 1985 bola založena nadácia pre slobodný software (Free Software Fundation - FSF), pôvodne pre zhromažďovanie prostriedkov na vývoj GNU a ktorá zastrešuje vývoj slobodného SW dodnes.
Okolo roku 1990 už boli zhromaždené všetky komponenty okrem jadra (jadro Hurd prišlo až o niekoľko rokov neskôr po rozkoloch medzi Stallmanom a Linusom kvoli GNU GPLv3 a kvôli názve Linux). V roku 1991 prišel Linus so svojím jadrom a ho vydal ako slobodný software. Kombinaciou GNU nástrojov a jadra Linux vznikol kompletný operačny systém, systém GNU/Linux, ale Linux sa nikdy nestal sušasťou projektu GNU, aj keď používa nástroje z GNU.
![Richard Stallman - Tipy, triky a návody](images/7911/richard_stallman-150x150.jpg)
Zakladatel FSF a GNU, Richard Stallman
Linux
![Linux logo - Tipy, triky a návody](images/7911/tux.png)
Tucniak TUX, maskot OS Linux
Historia Linuxu
Históriu Linuxu začal písať študent Helsinskej univerzity ako svoj koníček, keď sa inšpiroval iným Unix like systémom - MINIXom od Andrewa Tanenbauma a ktorý bol sprievodným projektom k výuke a ku knihám o operačných systemoch. Linus na rozdiel od Andrewa vypustil svoj projekt ako free (free znamená volny, čiže aj so zdrojovými kódmi).
Vývoj Linuxu začal ako emulátor terminálu v assembleri architektury IA32 a v jazyku C, ktorý mohol byť po preklade do binárnej podoby nabootovaný z diskety, takže na beh nepotreboval žiadny iný systém. V emulátore bežali 2 vlákna:
- jedno pre posielanie znakov po sériovom porte
- druhé pre príjem znakov po sériovom porte
Keď chcel Linus zapísať údaje, rozširil svoj terminál, ktorý vedel prepínat úlohy o ovladač súborového filesystému. Terminál sa tak postupne menil v jadro unixového systému (kompatibilnom so štandardom POSIX).
Prvá verzia (0.0.1) bola vypustená 17. septembra 1991 a do usenetovej skupiny napísal:
Do you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers? Are you without a nice project and just dying to cut your teeth on a OS you can try to modify for your needs? Are you finding it frustrating when everything works on minix? No more all- nighters to get a nifty program working? Then this post might be just for you
As I mentioned a month(?) ago, I'm working on a free version of a minix-lookalike for AT-386 computers. It has finally reached the stage where it's even usable (though may not be depending on what you want), and I am willing to put out the sources for wider distribution. It is just version 0.02 (+1 (very small) patch already), but I've successfully run bash/gcc/gnu-make/gnu-sed/compress etc under it.
Sources for this pet project of mine can be found at nic.funet.fi (128.214.6.100) in the directory /pub/OS/Linux. The directory also contains some README-file and a couple of binaries to work under linux (bash, update and gcc, what more can you ask for
. Full kernel source is provided, as no minix code has been used. Library sources are only partially free, so that cannot be distributed currently. The system is able to compile "as-is" and has been known to work. Heh. Sources to the binaries (bash and gcc) can be found at the same place in /pub/gnu.
ALERT! WARNING! NOTE! These sources still need minix-386 to be compiled (and gcc-1.40, possibly 1.37.1, haven't tested), and you need minix to set it up if you want to run it, so it is not yet a standalone system for those of you without minix. I'm working on it. You also need to be something of a hacker to set it up (?), so for those hoping for an alternative to minix-386, please ignore me. It is currently meant for hackers interested in operating systems and 386's with access to minix.
The system needs an AT-compatible harddisk (IDE is fine) and EGA/VGA. If you are still interested, please ftp the README/RELNOTES, and/or mail me for additional info.
I can (well, almost) hear you asking yourselves "why?". Hurd will be out in a year (or two, or next month, who knows), and I've already got minix. This is a program for hackers by a hacker. I've enjouyed doing it, and somebody might enjoy looking at it and even modifying it for their own needs. It is still small enough to understand, use and modify, and I'm looking forward to any comments you might have.
I'm also interested in hearing from anybody who has written any of the utilities/library functions for minix. If your efforts are freely distributable (under copyright or even public domain), I'd like to hear from you, so I can add them to the system. I'm using Earl Chews estdio right now (thanks for a nice and working system Earl), and similar works will be very wellcome. Your (C)'s will of course be left intact. Drop me a line if you are willing to let me use your code.
Linus
PS. to PHIL NELSON! I'm unable to get through to you, and keep getting "forward error - strawberry unknown domain" or something
Bola zahrnutá dostatočná infraštruktúra na spustenie unixového shellu bash. Pôvodne bolo na nastavenie, kompiláciu a inštaláciu potreba systém MINIX. Okamžite po vypustení tejto prvej verzie, aj ked nedokonalej, sa spustil obrovský ohlas o vylepšenie systému a Linus sa stará o vývoj a koordináciu dodnes.
Linus použil niektoré utility a nástroje z projektu GNU (základné unixové nástroje v prikazovom riadku, kompilator GCC,...), o ktorom sme si už vyssie povedali pár slov.
![Linus Torvalds - Tipy, triky a návody](images/7911/linus_torvalds.jpeg)
Linus Torvalds - autor a koordinátor vývoja jadra OS Linux
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkamiStaženo 1396x (43.23 kB)