Disputa Tanenbaum-Torvalds

Disputa Tanenbaum-Torvalds a avut loc între Andrew Tanenbaum și Linus Torvalds . Subiectul disputei a fost kernel-ul Linux și arhitectura kernel-urilor sistemului de operare în general. Tanenbaum a început controversa în 1992 pe grupul de știri comp.os.minix de pe Usenet [1] , afirmând că microkernel -urile înlocuiesc nucleele monolitice și, prin urmare, Linux era învechit încă din 1992. Alți hackeri de seamă s-au alăturat controversei , cum ar fi David Miller și Theodore Tse [2] .

Datorită tonului categoric al mesajelor din grupul de știri, disputa a devenit o flacără  - o mesaje deliberat ostilă între cele două tabere ( Linux și Minix , cu alte cuvinte, între susținătorii nucleelor ​​monolitice și adepții microkernel-urilor) și a fost descrisă în această lumină în diverse publicații [3] . Torvalds însuși a recunoscut acest lucru în primul său post de știri pe acest subiect, declarând:

Aș fi bucuros să nu iau momeala, dar... E timpul pentru niște flăcări serioase! [patru]

articol de opinie în revista Computer Pot sistemele de operare să fie făcute fiabile și sigure? [5] . Deși Tanenbaum a spus personal că nu a scris articolul pentru a reaprinde controversa arhitecturii nucleului [6] , compararea atentă a articolului cu o copie de arhivă din 1992 a controversei de pe site-ul de tehnologie Slashdot a reaprins dezbaterea [7] . Torvalds a postat o respingere a argumentelor lui Tanenbaum [8] pe un forum online , iar mai multe site-uri de știri informatice au distribuit informațiile [9] . Acest lucru l-a determinat pe Jonathan Shapiro să răspundă că majoritatea sistemelor informatice care s-au dovedit a fi fiabile și sigure în practică folosesc o schemă mai degrabă orientată spre microkernel [10] .

Dispute

În timp ce dezbaterea a început destul de ușor la început, ambele părți făcând doar declarații generale despre arhitectura nucleului, discuția s-a adâncit și a devenit mai complexă cu fiecare serie de postări. Pe lângă arhitectura nucleelor, disputa a atins și alte câteva subiecte, cum ar fi arhitectura microprocesorului care le va înlocui pe toate celelalte în viitor. Pe lângă Tanenbaum și Torvalds, în controversă s-au implicat și alte persoane, inclusiv Peter McDonald, unul dintre dezvoltatorii timpurii ai nucleului Linux și creatorul uneia dintre primele distribuții  , Softlanding Linux System , David Miller, unul dintre principalii dezvoltatori ai Linux. kernel și Theodor Tsö, primul dezvoltator american al nucleului Linux.

„Linux este depreciat”

Această discuție a început pe 29 ianuarie 1992, când Tanenbaum și-a publicat pentru prima dată critica la adresa nucleului Linux în comp.os.minix , subliniind modul în care arhitectura monolitică era dăunătoare propriilor capacități, într-o postare intitulată „Linux este învechit” [1]. ] . Nu a intrat la început în detalii tehnice pentru a explica de ce crede că arhitectura microkernel-ului este mai bună. Totuși, Tanenbaum a subliniat că acest lucru se datorează în principal portabilității și a declarat că kernel-ul Linux era prea strâns legat de linia de procesoare x86 pentru a fi utilizat în viitor, deoarece această arhitectură va cădea într-o zi din uz. În ceea ce privește privirea în viitor, el a spus că a scrie un nucleu monolitic în 1991 a fost „un pas uriaș înapoi în anii 1970”.

Deoarece critica a fost făcută într-un grup de știri public, Torvalds a putut să răspundă direct la aceasta. A făcut acest lucru o zi mai târziu, afirmând că Minix are defecte inerente de design (invocând lipsa multitasking -ului ca exemplu ) și recunoscând că arhitectura microkernel-ului era mai bună „din punct de vedere teoretic și estetic” [4] . El a mai spus că, deoarece a dezvoltat nucleul Linux în timpul liber și l-a oferit gratuit (Minixul lui Tanenbaum nu era gratuit în acel moment), Tanenbaum nu ar trebui să interfereze cu eforturile sale. Mai mult, el a subliniat că a dezvoltat Linux special pentru Intel 80386 , parțial din dorința de a afla mai multe despre această arhitectură; deși a susținut că acest lucru a făcut ca nucleul să fie mai puțin portabil decât Minix, acest principiu de design era acceptabil deoarece a făcut interfața de programare a aplicației mai simplă și mai portabilă. Prin urmare, a asigurat el, „Linux este mai bine portat decât minix. [ sic ] "

Ca răspuns la comentariul lui Linus, Tanenbaum a scris că limitările MINIX erau legate de activitățile sale de predare, deoarece era necesar ca sistemul să poată rula pe un computer destul de slab al unui student obișnuit, care era un procesor Intel 8088 , adesea chiar și fără un hard disk [11] .

La acea vreme, Linux a fost construit pentru Intel 80386, un procesor mult mai puternic (și mai scump). Tanenbaum subliniază:

...cu un an în urmă existau două versiuni de [MINIX], una pentru PC (pe dischete de 360 ​​de kilobyte) și una pentru 286/386 (1,2 megaocteți). Vânzările versiunii pentru PC au depășit versiunea 286/386 cu un raport de 2:1.

El a susținut că, deși Linux era gratuit, nu putea fi o alegere acceptabilă pentru studenți, deoarece nu puteau cumpăra hardware scump pentru a-l rula, în timp ce MINIX putea fi folosit „pe un computer normal de 4,77 MHz fără un hard disk”. La aceasta, Kevin Brown, un alt utilizator al grupului Usenet, a răspuns că Tanenbaum nu ar trebui să se plângă de legarea Linux la arhitectura 386, deoarece a fost o alegere conștientă și nu o înțelegere greșită a designului sistemului de operare și a spus:

... scopul declarat al dezvoltării Linux este de a profita de arhitectura 386. Deci, care este rostul, mai exact? Obiective diferite pentru crearea unei arhitecturi duc la arhitecturi diferite. [12]

El a mai declarat că dezvoltarea unui sistem special pentru hardware-ul low-end ar crea probleme de portabilitate în viitor. În timp ce Minix nu a susținut pe deplin noul hardware pe care îl suporta Linux, ceea ce l-a făcut preferat pentru persoanele care aveau deja un astfel de hardware, Tanenbaum a susținut că, deoarece arhitectura x86 va lăsa loc unor noi soluții în viitor, atunci nu trebuie să rezolve problema. problema și a explicat:

Desigur, asta se va schimba în 5 ani, dar în acești 5 ani toată lumea va folosi GNU gratuit pe 200 de calculatoare MIPS SPARCstation-5 cu 64 de megaocteți de memorie.

El a afirmat că nucleul Linux va demoda treptat pe măsură ce hardware-ul evolua, deoarece nucleul Linux era foarte strâns legat de arhitectura 386 [11] . (Consultați secțiunea Previziuni greșite pentru o explicație detaliată .)

Torvalds a încercat să încheie argumentul în acest moment spunând că nu ar fi trebuit să reacționeze atât de dur la primele remarci ale lui Tanenbaum și că îi scrie un e-mail personal de scuze [13] . Și totuși a continuat discuția mai târziu.

Consecințele

În ciuda acestei dispute, Torvalds și Tanenbaum par să comunice în mod normal. Torvalds dorește să clarifice că nu este ostil lui Tanenbaum, iar Tanenbaum însuși subliniază că diferențele lor în chestiuni tehnice nu pot fi privite ca o ceartă personală [14] .

Previziuni greșite

Când problema și întreaga controversă originală au fost publicate de O'Reilly Media în cartea „Open Source: Echoes of the Open Source Revolution” în 1999, s-a scris că această controversă este un exemplu clar al „cum a simțit lumea atunci despre dezvoltarea sistemului de operare” [14] .

386 era cel mai obișnuit cip pe atunci (de câteva ori înaintea altor modele), potrivit colaboratorului Kevin Brown, 486 era folosit în computerele de ultimă generație, iar 286 era practic învechit, iar Web -ul nu era încă utilizat pe scară largă. Unul dintre argumentele lui Tanenbaum împotriva Linuxului a fost că era prea legat de linia de procesoare x86, despre care a simțit că nu va exista pentru mult timp [1] . Și totuși, din 2022, x86 rămâne arhitectura de procesor dominantă în computerele desktop. De atunci, Linux a fost portat pe multe alte arhitecturi, inclusiv x86-64 , ARM , IA-64 , 680x0 , MIPS , POWER/PowerPC și SPARC .

O altă temă recurentă în această dezbatere este alternativele la Linux și MINIX, cum ar fi GNU (nu GNU/Linux) și 4.4BSD . Primul dintre acestea, conform lui Tanenbaum, a fost un sistem „modern”, spre deosebire de Linux [1] . În a doua postare, el a sugerat asta

... în acei 5 ani, toată lumea va folosi GNU gratuit pe un SPARCstation-5 de 200 MIPS cu 64 de megaocteți de memorie. [unsprezece]

Unii colaboratori și-au exprimat îndoiala că GNU ar putea fi o alternativă potrivită. Kevin Brown l-a numit Vaporware (un software pre-popularizat, dar niciodată lansat) și a declarat că Linux ar beneficia cel mai probabil de pe urma cererii și distribuției arhitecturii x86 către un public larg. Theodor Tsö, un dezvoltator Linux timpuriu, a spus că, deși microkernel -urile ar avea avantaje, „...Linux este deja acolo, GNU nu este încă – iar oamenii lucrează la Hurd de mult mai mult decât a lucrat Linus pe Linux” [ 15] . Conștient de dorința GNU de a crea un nucleu, Torvalds a declarat: „Dacă nucleul GNU ar fi fost gata în primăvara trecută, nu m-aș fi gândit să-mi încep proiectul: ideea este că nu era gata nici atunci și nici acum” [16] .

4.4BSD-Lite nu a fost disponibil timp de doi ani din cauza unui proces de proprietate intelectuală Unix inițiat de divizia AT&T Unix System Laboratories împotriva Berkeley Software Distribution . Procesul a blocat dezvoltarea filialelor gratuite pentru copii BSD timp de aproximativ doi ani, în timp ce statutul lor juridic a fost pus în discuție. Deoarece Linux nu a avut astfel de controverse legale, sistemele bazate pe acesta au primit mai mult suport. Un acord de reglementare a fost încheiat între cele două companii în ianuarie 1994, iar 4.4BSD a fost lansat în iunie. (Deși lansarea finală a fost în 1995, au existat mai multe versiuni gratuite bazate pe aceasta, inclusiv FreeBSD , OpenBSD și NetBSD .)

Scandal asupra cărții Samizdat a lui K. Brown

Pe 23 martie 2004, Kenneth Brown, președintele instituției Alexis de Tocqueville, l-a intervievat pe Tanenbaum. Avea să fie o introducere la următoarea ediție a lui Brown a Samizdat și alte probleme în surse deschise. Cartea susține că Linux a fost inițial o copie ilegală a MINIX. Tanenbaum a publicat o respingere ascuțită în apărarea lui Torvalds [17] și a declarat la acea vreme:

Aș dori să clarific unele neînțelegeri și să repar câteva erori. În primul rând, CHIAR nu sunt supărat pe Linus. SINCER. Și nu este supărat pe mine. Nu sunt un „învins patetic” care a fost eclipsat de faima lui Linus. MINIX a fost doar divertisment pentru mine. Sunt profesor. Predau și cercetez și scriu cărți și merg la conferințe și fac tot ce fac profesorii. Îmi iubesc jobul, studenții și universitatea. […] Am scris MINIX pentru că am vrut să le dau studenților posibilitatea de a experimenta ei înșiși cu sistemul de operare. După ce AT&T a interzis învățarea din cartea lui John Lyons [sursele au fost incluse cu cartea], am decis să scriu un sistem asemănător UNIX pentru ca studenții mei să exerseze. […] Nu am încercat să creez un înlocuitor pentru GNU/HURD sau Berkeley UNIX. Dumnezeu este martor al meu: am vorbit deja despre asta de mai multe ori. Am vrut doar să le arăt studenților mei și altor studenți cum să scrie un sistem asemănător UNIX folosind tehnologia modernă. Mulți alții au vrut să creeze un UNIX masiv gratuit cu multe lucruri ușor de utilizat („Cu clopoței și fluiere”) și au vrut să-l facă din MINIX. Am fost implicat în asta o vreme, dar când a sosit Linux, am fost eliberat de această povară și am putut să mă întorc la predare. […] Cred că Linus face o treabă grozavă și îi doresc succes în viitor.

În timp ce scriu MINIX a fost grozav, nu cred că este cea mai importantă realizare a mea. A fost mai mult divertisment decât orice altceva. Cea mai importantă realizare a mea este pregătirea studenților minunați, în special a candidaților la științe. Uită -te la pagina mea de pornire pentru o listă cu numele lor. Ei fac lucruri minunate. Sunt mândru de ei, așa cum părinții sunt mândri de copiii lor. Deoarece Linus poate fi considerat studentul meu, sunt și mândru de el. Profesorilor le place când elevii lor cresc și obțin o faimă mai mare. [optsprezece]

Note

  1. 1 2 3 4 A. S. Tanenbaum (29 ianuarie 1992). „ LINUX este învechit ”. comp.os.minix . (Grupuri Google) . Extras 27 noiembrie 2006. Arhivat 26 mai 2013 la Wayback Machine
  2. Este de remarcat faptul că Ken Thompson a fost comentat în discuția inițială, dar acesta nu este același Kenneth Lane Thompson , care este celebru ca unul dintre fondatorii UNIX.
  3. Williams, S. GNU/Linux // Free as in Freedom: Richard Stallman's Crusade for Free Software  (engleză) . - O'Reilly Media , 2001. - ISBN 0-596-00287-4 . . — „Acest citat este preluat din mult mediatizatul „război de flăcări” Torvalds-Tanenbaum, care a urmat lansării inițiale a Linux.”.
  4. 1 2 L. Torvalds (29 ianuarie 1992). Re : LINUX este învechit . comp.os.minix . (Grupuri Google) . Extras 28 noiembrie 2006. Arhivat 11 iunie 2013 la Wayback Machine
  5. Tanenbaum, AS Putem face sistemele de operare fiabile și sigure?  // IEEE Computer Society. - 2006. - Mai ( vol. 39 , nr. 5 ). - S. 44-51 . Arhivat din original pe 18 iunie 2018.
  6. Tanenbaum, AS Tanenbaum-Torvalds Debate: Part II . Vrije Universiteit Amsterdam (mai 2006). Data accesului: 14 ianuarie 2007. Arhivat din original la 23 martie 2012.
  7. „bariswheel”, „Hemos” și colaboratori Slashdot. Microkernel: Revenirea? . Slashdot (mai 2006). Data accesului: 14 ianuarie 2007. Arhivat din original la 23 martie 2012.
  8. Torvalds, L. Hybrid kernel, not NT . Real World Technologies (mai 2006). Consultat la 30 noiembrie 2006. Arhivat din original pe 23 martie 2012.
  9. diegocgteleline.es, colaboratori ScuttleMonkey și Slashdot. Torvalds despre Dezbaterea Microkernelului . Slashdot (10 mai 2006). Data accesului: 21 mai 2008. Arhivat din original pe 23 martie 2012.
  10. Jonathan Shapiro. Demonking Linus's Latest (link indisponibil) . coyotos.org (11 mai 2006). Consultat la 21 mai 2008. Arhivat din original pe 11 mai 2008. 
  11. 1 2 3 A. S. Tanenbaum (30 ianuarie 1992). „ LINUX este învechit ”. comp.os.minix . (Grupuri Google) . Preluat la 10 ianuarie 2006. Arhivat la 30 mai 2013 la Wayback Machine
  12. Kevin Brown (31 ianuarie 1992). „ RE: LINUX este învechit ”. comp.os.minix . (Grupuri Google) . Extras 7 aprilie 2007. Arhivat 11 mai 2013 la Wayback Machine
  13. L. Torvalds (30 ianuarie 1992). " Scuze (a fost Re: LINUX este învechit) ". comp.os.minix . (Grupuri Google) . Preluat la 10 ianuarie 2007. Arhivat la 14 iunie 2013 la Wayback Machine
  14. 1 2 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. Dezbaterea Tanenbaum-Torvalds // Open Sources: Voices from the Open Source Revolution (engleză) . - O'Reilly Media , 1999. - ISBN 1-56592-582-3 . . „Când însuși Linus a auzit că includem asta în carte, a vrut să se asigure că publicul a înțeles că nu ține ranchiună față de Tanenbaum și, de fapt, ne-a interzis să-l includem până când nu l-am convins că va fi. prezentat acolo, cum vedea lumea proiectarea sistemelor de operare la acea vreme.
  15. Theodore Y. Ts'o (31 ianuarie 1992). Re : LINUX este învechit . comp.os.minix . (Grupuri Google) . Extras 11 mai 2007. Arhivat 11 mai 2013 la Wayback Machine
  16. L. Torvalds (29 ianuarie 1992). Re : LINUX este învechit . comp.os.minix . (Grupuri Google) . Extras 11 mai 2006. Arhivat 9 mai 2013 la Wayback Machine
  17. Tanenbaum, Andrew S. Câteva note despre „Cine a scris Linux” Kerfuffle, Versiunea 1.5 . Data accesului: 21 mai 2008. Arhivat din original pe 23 martie 2012.
  18. Tanenbaum, Motivația lui Andrew S. Ken Brown . Consultat la 24 decembrie 2007. Arhivat din original la 23 martie 2012.

Link -uri