Debata Tanenbaum-Torvalds

z Wikipédie, slobodnej encyklopédie
Prejsť na: navigácia, hľadanie

Debata Tanenbaum-Torvalds je debata medzi Andrewom S. Tanenbaumom a Linusom Torvaldsom, týkajúca sa všeobecne architektúry linuxu a jadro. Tanenbaum začal túto debatu v roku 1992 v diskusnej skupine Usenet comp.os.minix,[1] argumentujúc, že mikrokernely sú kvalitnejšie ako monolitické jadrá a preto Linux bol už v roku 1992 zastaraný. Zapojili sa aj iní významní hekeri ako David S. Miller a Theodore Ts'o.[2]

Zásluhou ostro formulovaných príspevkov v debate bola široko-ďaleko známa ako “flame war”, úmyselná nepriateľská výmena názorov medzi dvoma základňami (Linux a MINIX, alebo medzi stúpencami monolitického a mikrojadra), ako bola aj popísaná aj v rôznych publikáciach.[3] Torvalds to vzal na vedomie v jeho prvom príspevku, citujúc (verbatim) “I'd like to be able to just 'ignore the bait', but ... Time for some serious flamefesting!”[4]

Táto téma bola obnovená v roku 2006 po tom, ako Tanenbaum napísal do Computer magazine “Can We Make Operating Systems Reliable and Secure?”[5] Hoci Tanenbaum spomenul, že článok nenapísal kvôli tomu, aby sa obnovila debata o dizajne jadra,[6] porovnanie toho článku a archivovanej kópie debaty na stránke Slashdot z roku 1992 zapríčinilo opätovné zapálenie tejto horúcej témy.[7] Torvalds napísal príspevok, v ktorom vyvracal Tanenbaumove argumenty cez diskusné fórum,[8] a niekoľko stránok s technologickými novinkami začali šíriť tento predmet sporu.[9] To bola výzva pre Johnatana Shapiro na odpoveď, ktorá najviac spoľahlivých a bezpečných počítačových systémov používajú prístup bližší k mikrojadru.[10]

Debata[upraviť | upraviť zdroj]

Schéma fungovania monolitického kernelu.
Dr. Andrew S. Tanenbaum, or “ast”, as he is referred to at comp.os.minix.
Linus Torvalds

Debata začala celkom mierne a obe zapojené strany si spočiatku navzájom vymieňali len základné výroky o dizajne jadra, ale s každým "kolom" príspevkov sa postupne pridávalo viac detailov a debata sa stávala sofistikovanejšia. Okrem dizajnu jadra sa debata ešte vetvila do niekoľkých ďalších tém ako napríklad ktorá architektúra mikroprocesoru by vyhrala v budúcnosti nad ostatnými. Okrem Tanenbauma a Torvaldsa sa pripojilo k debate niekoľko ďalších ľudí, napríklad Peter MacDonald, raný linuxový vývojár jadier a tvorca prvých distribúcií, Softlanding Linux System, David S. Miller, jeden z hlavných vývojárov linuxového jadra, a Theodore Ts'o, prvý severoamerický vývojár linuxového jadra.

„Linux je zastaraný“[upraviť | upraviť zdroj]

Prvý výskyt tejto debaty bol zaznamenaný 29. januára 1992, keď Tanenbaum poslal kritiku linuxového jadra na comp.os.minix, poznamenávajúc, že dizajn monolitického kernelu bol v neprospech jeho schopností.[1] Svoj príspevok výstižne označil „Linux je zastaraný“. Aj keď pôvodne nezachádzal do prílišných technických detailov pri vysvetľovaní, prečo si myslel, že dizajn mikrokernelu bol lepší, podotkol, že to viac súviselo s portabilitou, argumentujúc, že jadro linuxu bolo veľmi blízko naviazané na x86 líniu procesorov, čo nie je vhodné pre budúci vývoj, keď bude táto architektúra nahradená inou. Na zvýraznenie pripomenul, že napísanie monolitického jadra v roku 1991 bol “veľký krok späť do sedemdesiatych rokov”.

Hneď, ako túto kritiku poslal na fórum, Torvalds priamo reagoval. Urobil tak hneď ďalší deň, argumentujúc, že MINIX má vrodené dizajnové chyby (a uviedol chýbajúci multithreading ako konkrétny príklad), ale priznal, že mikrokernelový dizajn jadra je kvalitnejší “z teoretického aj estetického” hľadiska.[4] Takisto tvrdil, že odkedy vyvíja jadro linuxu vo svojom voľnom čase a ponúka ho len tak zadarmo (Tanenbaumov MINIX nebol vtedy zadarmo), Tanenbaum by nemal mať námietky proti jeho snahám. A ešte spomenul, že vyvíjal linux špecificky pre Intel 80386 aj kvôli tomu, aby sa naučil viac o tejto architektúre. Argumentoval ďalej, že práve toto spôsobilo, že je jadro menej portabilné ako MINIX, ale bol to akceptovateľný dizajnérsky princíp, keďže to spravilo API oveľa jednoduchšie a portabilnejšie. Preto poznamenal “linux je portabilnejší ako minix. [sic]”

Obrázok znázorňujúci mikrokernel, ktorý veľmi závisí od user-space programov (tiež nazývaných “servery”).

Nasledujúc Linusovu odpoveď, Tanenbaum argumentoval, že limitácia MINIXu súvisí s tým, že je profesor, uvádzajúc požiadavky na systém, aby bol schopný bežať na rozdielnom hardvéri priemerného študenta, ktorý, ako poznamenal, je založený na Intel 8088, niekedy dokonca bez hard drive.[11] Linux bol vtedy špecificky vybudovaný pre Intel 80386, výrazne silnejšom (a drahšom) procesore. Tanenbaum tiež špecificky poznamenal “[...] ako minulý rok, boli dve verzie [MINIXu], jeden pre PC (360K diskety) a jeden pre 286/386 (1.2M). PC verzia bola predávaná dvakrát viac ako 286/386 verzia.” Poznamenal, že aj keď bol Linux zadarmo, nebol by životaschopným výberom pre jeho študentov, keďže by si nemohli dovoliť drahý hardvér, ktorý sa vyžadoval, a že MINIX by mohol bežať na “normálnom 4.77 MHZ PC bez harddisku.” Nato Kevin Brown, ďalší užívateľ Usenetu, odpovedal, že Tanenbaum by sa nemal sťažovať na Linuxové putá k 386 architektúre, keďže to bol dôsledok vedomého výberu, nie chyba vedomostí o dizajne operačných systémov, poznamenajúc “[...] jednoznačný dizajnový cieľ Linuxu bol získať výhodu špecialných možností 386 architektúry. Tak čo máš vlastne na mysli? Rôzne dizajnové ciele ti dajú rôzny dizajn.”[12] Tiež poznamenal, že dizajnovať systém špecificky pre lacný hardvér by zapríčinilo problémy s portabilitou v budúcnosti. Napriek faktu, že MINIX nepodporoval novší hardvér, ktorý Linux podporoval, robilo Linux lepším výberom pre tých, ktorí už ten hardvér mali, Tanenbaum argumentoval, že kedžex86 architektúry budú prekonané inými dizajnami architektúr v budúcnosti, nepotreboval adresovať predmet sporu, poznamenajúc “Samozrejme o 5 rokov to bude iné, ale o 5 rokov budú všetci fičať na GNU na svojich 200 MIPS, 64M SPARCstation-5.” Poznamenal, že jadro linuxu by eventuálne sa vzdalo chuti ako bude hardvér napredovať, kvôli pevnému naviazaniu na 386 architektúru.[11] (See section “Erroneous predictions” for a detailed account of this claim.)

Torvalds sa tu pokúsil ukončiť diskusiu, poznamenaním, že cíti, že nemal tak prehnane reagovať na Tanenbaumove pôvodné výroky, a že mu už píše osobný e-mail na ospravedlnenie.[13] Mohol by ale pokračovať v rozhovore neskôr. [chýba zdroj]

Následky[upraviť | upraviť zdroj]

Napriek tejto debate, Torvalds a Tanenbaum vyzerajú, že majú dobré vzťahy; Torvalds chcel, aby bolo jasné, že necíti žiadnu nenávisť k Tanenbaumovi, a Tanenbaum zdôraznil, že nezhody o názoroch a technických záležitostiach by nemali byť brané osobne.[14]

Klamné predpovede[upraviť | upraviť zdroj]

Keď bola táto záležitosť a celá pôvodná debata zverejnená v knihe O'Reilly Media Open Sources: Voices from the Open Source Revolution v roku 1999, značilo to, že debata je príkladom “cesty ako svet uvažoval o dizajne OS v čase”.[14]

Procesor 386 sa potom stal najrozšírenejším čipom (“niekoľkokrát”,[chýba zdroj] podľa zúčastneného Kevina Browna), spolu s 486 v počítačoch vyššej kategórie, a 286 takmer zastaraná, a World Wide Web ešte nebol veľmi široko používaný. Jeden z Tanenbaumových argumentov proti Linuxu bol, že to bolo veľmi naviazané na líniu procesorov 80x86, ktoré, ako tvrdil, boli ”nie dobrý spôsob, kam sa uberať”.[1] But, as of 2007, this architecture has constantly remained the most common type of desktop computer processor in the world. (Linux has since been ported to many other processor architectures, including ARM, IA-64, 680x0, MIPS, POWER/PowerPC and SPARC.)

Iná vracajúca sa téma v debate pojednáva alternatívy k Linuxu a MINIXu, ako napríklad GNU a 4.4BSD. Tanenbaum navrhol už skôr, vo svojom prvom príspevku, že na rozdiel od Linuxu to bol “moderný” systém.[1] Vo svojom druhom príspevku spomenul, že “[...] o 5 rokov budú všetci bežať na free GNU na svojich 200 MIPS, 64M SPARCstation-5”.[11] Niekoľko debatujúcich nesúhlasilo, že GNU je vhodná alternatíva. Kevin Brown to nazval “vaporware”, a poznamenal, že Linux bude mať úžitok z architektúry x86 ktorá bude stále bežná a stane sa viac dostupná širšej verejnosti.[chýba zdroj] Theodore Ts'o, an skorší spolupracovník Linuxu povedal, že kým prístup mikrojadra bude prospešný, “[...] Linux je tu, a GNU nie je — a ľudia robili na Hurd oveľa dlhšie ako Linus na Linuxe”.[15] Torvalds, vedomý snahou GNU vytvoriť jadro, poznamenal “Ak by jadro GNU bolo hotové minulú jar, ani by som sa neobťažoval začať môj projekt: fakt je, že nebolo a stále nie je.” [16]

4.4BSD-Lite nebude dostupná do dvoch rokov kvôli súdnemu procesu USL vs. BSDi, vyplnený pomocou AT&T Unix System Laboratories proti Berkeley Software Design, ktorý patrí medzi intelektuálne vlastníctvo súvisiace s UNIXom. Súdny spor spomalil vývoj free-softwaru potomkov BSD pre skoro dva roky kým ich legálnosť bola otázna. Keďže Linux nemal také nejasnosti s legálnosťou, systémy na ňom založené získali väčšiu podporu. Dohoda medzi USL v. BSDi bola dosiahnutá v januári 1994, a 4.4BSD vyšlo v júni. (Aj keď posledné vydanie bolo v roku 1995, niekoľko voľných verzií na ňom založených sú odvtedy udržiavané, zahrňujúc FreeBSD, OpenBSD a NetBSD.)

Aféra Samizdat[upraviť | upraviť zdroj]

23. marca 2004, Kenneth Brown, prezident mozgového trustu Alexis de Tocqueville Institution urobil s Tanenbaumom interview. To bola predohra k cielenej súkromnej publikácii knihy s názvom Samizdat: And Other Issues Regarding the 'Source' of Open Source Code. Tvrdenie v tejto knihe bolo, že Linux bol pôvodne ilegálne skopírovaný z MINIXu. Tanenbaum vydal silný protidôkaz, obraňujúc Torvaldsa[17][18].

Referencie[upraviť | upraviť zdroj]

  1. a b c d TANENBAUM, A. S.. LINUX is obsolete [online]. comp.os.minix, 29.01.1992, [cit. 2011-06-13]. Dostupné online. 12595@star.cs.vu.nl. (po anglicky)
  2. It is worth noting that commentary by a Ken Thompson can also be seen in the original discussion—this is, however, not the same person as Kenneth Lane Thompson of UNIX pioneering fame.
  3. WILLIAMS, S. (March 2001). “GNU/Linux”, Free as in Freedom: Richard Stallman's Crusade for Free Software (in English). O'Reilly Media. ISBN 0-596-00287-4. “This quote is taken from the much-publicized Torvalds-Tanenbaum 'flame war' following the initial release of Linux.”
  4. a b TORVALDS, L.. Re: LINUX is obsolete [online]. comp.os.minix, 29.01.1992, [cit. 2011-06-13]. Dostupné online. 1992Jan29.231426.20469@klaava.Helsinki.FI. (po anglicky)
  5. Tanenbaum, A. S. (May 2006). "Can We Make Operating Systems Reliable and Secure?". IEEE Computer Society 39 (5): 44–51. z 2006-11-26.
  6. Tanenbaum, A. S. (May 2006). Tanenbaum-Torvalds Debate: Part II. Vrije Universiteit Amsterdam. cit. January 14, 2007.
  7. “bariswheel”, “Hemos” & Slashdot contributors (May 2006). Microkernel: The Comeback?. Slashdot. cit. January 14, 2007.
  8. Torvalds, L. (May 2006). Hybrid kernel, not NT. Real World Technologies. cit. November 30, 2006.
  9. “diegocgteleline.es”, “ScuttleMonkey” & Slashdot contributors (2006). Torvalds on the Microkernel Debate. Slashdot. cit. September 28, 2006.
  10. “Jonathan Shapiro” (2006). Debunking Linus's Latest. coyotos.org. cit. May 14, 2007.
  11. a b c TANENBAUM, A. S.. LINUX is obsolete [online]. comp.os.minix, 30.01.1992, [cit. 2011-06-13]. Dostupné online. 12615@star.cs.vu.nl. (po anglicky)
  12. BROWN, Kevin. RE: LINUX is obsolete [online]. comp.os.minix, 31.01.1992, [cit. 2011-06-13]. Dostupné online. 1992Jan31.074347.1198@menudo.uh.edu. (po anglicky)
  13. TORVALDS, L.. Apologies (was Re: LINUX is obsolete) [online]. comp.os.minix, 30.01.1992, [cit. 2011-06-13]. Dostupné online. 1992Jan30.153816.1901@klaava.Helsinki.FI. (po anglicky)
  14. a b DIBONA, Chris; Sam Ockman, Mark Stone, Brian Behlendorf, Scott Bradner, Jim Hamerly, Kirk McKusick, Tim O'Reilly, Tom Paquin, Bruce Perens, Eric Raymond, Richard Stallman, Michael Tiemann, Linus Torvalds, Paul Vixie, Larry Wall, Bob Young (January 1999). “The Tanenbaum-Torvalds Debate”, Open Sources: Voices from the Open Source Revolution (in English). O'Reilly Media. ISBN 1-56592-582-3. “When Linus himself heard that we were including this, he wanted to make sure that the world understood that he holds no animus towards Tanenbaum and in fact would not have sanctioned its inclusion if we had not been able to convince him that it would show the way the world was thinking about OS design at the time.”
  15. TS'O, Theodore Y.. Re: LINUX is obsolete [online]. comp.os.minix, 31.01.1992, [cit. 2011-06-13]. Dostupné online. TYTSO.92Jan31164013@SOS.mit.edu. (po anglicky)
  16. TORVALDS, L.. Re: LINUX is obsolete [online]. comp.os.minix, 29.01.1992, [cit. 2011-06-13]. Dostupné online. 1992Jan29.231426.20469@klaava.Helsinki.FI. (po anglicky)
  17. Tanenbaum, Andrew S.. Some Notes on the "Who wrote Linux" Kerfuffle. prístup: 2007-12-24.
  18. Tanenbaum, Andrew S.. Ken Brown's Motivation. prístup: 2007-12-24.

Externé odkazy[upraviť | upraviť zdroj]