Debata Tanenbaum-Torvalds: Rozdiel medzi revíziami

Smazaný obsah Přidaný obsah
zrodenie stranky - prelozene z anglickej wikipedie
(Žiaden rozdiel)

Verzia z 15:58, 14. máj 2008

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 zastaralý. 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 sráv 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

 
Graphic depicting the monolithic kernel, which runs in kernel space in supervisor mode entirely.
 
Dr. Andrew S. Tanenbaum, or “ast”, as he is referred to at comp.os.minix.
 
Linus Torvalds

Zatiaľ, čo dabata začala velkom mierne, po zapojení oboch strán, čo robili len základné výroky o dizajne jadra navzájom, s každým "kolom" príspevkov sa postupne pridávalo viac detailov a bolo to sofistikovanejšie. Okrem dizajnu jadra sa debata ešte vetvila do niekoľkých ďaľších tém ako napríklad ktorá architektúra mikroprocesoru by vyhrala v budúcnosti nad ostatnými. Okrem Tanenbauma a Torvaldsa, niekoľko ďaľších ľudí sa pripojilo k debate, 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 zastaralý”

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 zastaralý”. 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 bola táto kritika poslaná na fórum, Torvalds bol schopný priamo reagovať. Urobil tak hneď ďaľší deň, argumentujúc, že MINIX má vrodené dizajnové prietoky(tak pomenoval chýbajúci multithreading ako špecifický príklad), zatiaľ, čo upozorňoval, že zistil, ž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 ako vyvýjal linux špecificky pre Intel 80386 aj kvôli tomu, aby sa naučil viac o tejto architektúre; zatiaľ čo argumentoval, že práve toto spôsobilo, že je jadro menej portabilné ako MINIX, bol to akceptovateľný principiálny detail, 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.” Na to, Kevin Brown, ďaľší 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 k čomu presne smeruješ? 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 úplne novší hardvér, ktorý Linux podporoval, robilo Linux lepším výberom pre tých, ktorí už ten hardvér mali, Tanenbaum argumentoval, že od x86 architektúry by boli 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] However, he would continue the debate at a later time.[chýba zdroj]

Následky

Napriek tejto debate, Torvalds a Tanenbaum vyzerajú mať dobré vzťahy; Torvalds chcel, aby bolo jasné, že nemá žiadnu anonimitu 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

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ľko krá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 zastaralá, 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 v. BSDi, vyplnený pomocou AT&T Unix System Laboratories proti Berkeley Software Design, ktorý patrí medzi intelektuálne vlastnosti 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

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], a vtedy poznamenal:

I would like to close by clearing up a few misconceptions and also correcting a couple of errors. First, I REALLY am not angry with Linus. HONEST. He's not angry with me either. I am not some kind of "sore loser" who feels he has been eclipsed by Linus. MINIX was only a kind of fun hobby for me. I am a professor. I teach and do research and write books and go to conferences and do things professors do. I like my job and my students and my university. [...] I wrote MINIX because I wanted my students to have hands-on experience playing with an operating system. After AT&T forbade teaching from John Lions' book, I decided to write a UNIX-like system for my students to play with. [...] I was not trying to replace GNU/HURD or Berkeley UNIX. Heaven knows, I have said this enough times. I just wanted to show my students and other students how you could write a UNIX-like system using modern technology. A lot of other people wanted a free production UNIX with lots of bells and whistles and wanted to convert MINIX into that. I was dragged along in the maelstrom for a while, but when Linux came along, I was actually relieved that I could go back to professoring. [...] Linus seems to be doing excellent work and I wish him much success in the future.

While writing MINIX was fun, I don't really regard it as the most important thing I have ever done. It was more of a distraction than anything else. The most important thing I have done is produce a number of incredibly good students, especially Ph.D. students. See my home page for the list. They have done great things. I am as proud as a mother hen. To the extent that Linus can be counted as my student, I'm proud of him, too. Professors like it when their students go on to greater glory.[18]

References

  1. a b c d Šablóna:Cite newsgroup
  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.. Free as in Freedom: Richard Stallman's Crusade for Free Software. [s.l.] : O'Reilly Media, 2001. ISBN 0-596-00287-4. GNU/Linux. (English)
  4. a b Šablóna:Cite newsgroup
  5. TANENBAUM, A. S.. Can We Make Operating Systems Reliable and Secure?. IEEE Computer Society, May 2006, s. 44–51. Dostupné online [cit. 2006-11-26].
  6. TANENBAUM, A. S.. Tanenbaum-Torvalds Debate: Part II [online]. Vrije Universiteit Amsterdam, 2006. Dostupné online.
  7. “bariswheel”, “Hemos” & Slashdot contributors. Microkernel: The Comeback? [online]. Slashdot, 2006. Dostupné online.
  8. TORVALDS, L.. Hybrid kernel, not NT [online]. Real World Technologies, 2006. Dostupné online.
  9. “diegocgteleline.es”, “ScuttleMonkey” & Slashdot contributors. Torvalds on the Microkernel Debate [online]. Slashdot, 2006. Dostupné online.
  10. “Jonathan Shapiro”. Debunking Linus's Latest [online]. coyotos.org, 2006. Dostupné online.
  11. a b c Šablóna:Cite newsgroup
  12. Šablóna:Cite newsgroup
  13. Šablóna:Cite newsgroup
  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 Open Sources: Voices from the Open Source Revolution. [s.l.] : O'Reilly Media, 1999. ISBN 1-56592-582-3. The Tanenbaum-Torvalds Debate. (English)
  15. Šablóna:Cite newsgroup
  16. Šablóna:Cite newsgroup
  17. TANENBAUM, Andrew S.. Some Notes on the "Who wrote Linux" Kerfuffle [online]. [Cit. 2007-12-24]. Dostupné online.
  18. TANENBAUM, Andrew S.. Ken Brown's Motivation [online]. [Cit. 2007-12-24]. Dostupné online.

External links

Šablóna:Portal

Šablóna:Linux