Appendix a - The Tanenbaum-Torvalds Debate

20
1/7/2015 Appendix A The TanenbaumTorvalds Debate http://www.oreilly.com/openbook/opensources/book/appa.html 1/20 Open Sources: Voices from the Open Source Revolution 1st Edition January 1999 1565925823, Order Number: 5823 280 pages, $24.95 Appendix A The TanenbaumTorvalds Debate What follows in this appendix are what are known in the community as the Tanenbaum/Linus "Linux is obsolete" debates. Andrew Tanenbaum is a wellrespected researcher who has made a very good living thinking about operating systems and OS design. In early 1992, noticing the way that the Linux discussion had taken over the discussion in comp.os.minix, he decided it was time to comment on Linux. Although Andrew Tanenbaum has been derided for his heavy hand and misjudgements of the Linux kernel, such a reaction to Tanenbaum is unfair. 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. We felt the inclusion of this appendix would give a good perspective on how things were when Linus was under pressure because he abandoned the idea of microkernels in academia. The first third of Linus' essay discusses this further. Electronic copies of this debate are available on the Web and are easily found through any search service. It's fun to read this and note who joined into the discussion; you see userhacker Ken Thompson (one of the founders of Unix) and David Miller (who is a major Linux kernel hacker now), as well as many others. To put this discussion into perspective, when it occurred in 1992, the 386 was the dominating chip and the 486 had not come out on the market. Microsoft was still a small company selling DOS and Word for DOS. Lotus 123 ruled the spreadsheet space and WordPerfect the word processing market. DBASE was the dominant database vendor and many companies that are household names todayNetscape, Yahoo, Excitesimply did not exist. From: [email protected] (Andy Tanenbaum) Newsgroups: comp.os.minix Subject: LINUX is obsolete Date: 29 Jan 92 12:12:50 GMT I was in the U.S. for a couple of weeks, so I haven't commented much on LINUX (not that I would have said much had I been around), but for what it is worth, I have a couple of comments now. As most of you know, for me MINIX is a hobby, something that I do in the evening when I get bored writing books and there are no major wars, revolutions, or senate hearings being televised live on CNN. My real job is a professor and researcher in the area of operating systems. As a result of my occupation, I think I know a bit about where operating are going in the next decade or so. Two aspects stand out: 1. MICROKERNEL VS MONOLITHIC SYSTEM Most older operating systems are monolithic, that is, the whole operating system is a single a.out file that runs in 'kernel mode.' This binary contains the process management, memory management, file system and the rest. Examples of such systems are UNIX, MS‐DOS, VMS, MVS, OS/360, MULTICS, and many more. The alternative is a microkernel‐based system, in which most of the OS runs as separate processes, mostly outside the kernel. They communicate by message passing. The kernel's job is to handle the message passing, interrupt handling, low‐level process management, and possibly the I/O. Examples of this design are the RC4000, Amoeba, Chorus, Mach, and the not‐yet‐released Windows/NT. While I could go into a long story here about the relative merits of the two designs, suffice it to say that among the people who actually design operating systems, the debate is essentially over. Microkernels have won. The only real argument for monolithic systems was performance, and there is now enough evidence showing that microkernel systems can be just as

description

ghgfhf

Transcript of Appendix a - The Tanenbaum-Torvalds Debate

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 1/20

    OpenSources:VoicesfromtheOpenSourceRevolution1stEditionJanuary19991565925823,OrderNumber:5823280pages,$24.95

    AppendixA

    TheTanenbaumTorvaldsDebate

    WhatfollowsinthisappendixarewhatareknowninthecommunityastheTanenbaum/Linus"Linuxisobsolete"debates.AndrewTanenbaumisawellrespectedresearcherwhohasmadeaverygoodlivingthinkingaboutoperatingsystemsandOSdesign.Inearly1992,noticingthewaythattheLinuxdiscussionhadtakenoverthediscussionincomp.os.minix,hedecideditwastimetocommentonLinux.

    AlthoughAndrewTanenbaumhasbeenderidedforhisheavyhandandmisjudgementsoftheLinuxkernel,suchareactiontoTanenbaumisunfair.WhenLinushimselfheardthatwewereincludingthis,hewantedtomakesurethattheworldunderstoodthatheholdsnoanimustowardsTanenbaumandinfactwouldnothavesanctioneditsinclusionifwehadnotbeenabletoconvincehimthatitwouldshowthewaytheworldwasthinkingaboutOSdesignatthetime.

    WefelttheinclusionofthisappendixwouldgiveagoodperspectiveonhowthingswerewhenLinuswasunderpressurebecauseheabandonedtheideaofmicrokernelsinacademia.ThefirstthirdofLinus'essaydiscussesthisfurther.

    ElectroniccopiesofthisdebateareavailableontheWebandareeasilyfoundthroughanysearchservice.It'sfuntoreadthisandnotewhojoinedintothediscussionyouseeuserhackerKenThompson(oneofthefoundersofUnix)andDavidMiller(whoisamajorLinuxkernelhackernow),aswellasmanyothers.

    Toputthisdiscussionintoperspective,whenitoccurredin1992,the386wasthedominatingchipandthe486hadnotcomeoutonthemarket.MicrosoftwasstillasmallcompanysellingDOSandWordforDOS.Lotus123ruledthespreadsheetspaceandWordPerfectthewordprocessingmarket.DBASEwasthedominantdatabasevendorandmanycompaniesthatarehouseholdnamestodayNetscape,Yahoo,Excitesimplydidnotexist.

    From:[email protected](AndyTanenbaum)Newsgroups:comp.os.minixSubject:LINUXisobsoleteDate:29Jan9212:12:50GMTIwasintheU.S.foracoupleofweeks,soIhaven'tcommentedmuchonLINUX(notthatIwouldhavesaidmuchhadIbeenaround),butforwhatitisworth,Ihaveacoupleofcommentsnow.Asmostofyouknow,formeMINIXisahobby,somethingthatIdointheeveningwhenIgetboredwritingbooksandtherearenomajorwars,revolutions,orsenatehearingsbeingtelevisedliveonCNN.Myrealjobisaprofessorandresearcherintheareaofoperatingsystems.Asaresultofmyoccupation,IthinkIknowabitaboutwhereoperatingaregoinginthenextdecadeorso.Twoaspectsstandout:1.MICROKERNELVSMONOLITHICSYSTEMMostolderoperatingsystemsaremonolithic,thatis,thewholeoperatingsystemisasinglea.outfilethatrunsin'kernelmode.'Thisbinarycontainstheprocessmanagement,memorymanagement,filesystemandtherest.ExamplesofsuchsystemsareUNIX,MSDOS,VMS,MVS,OS/360,MULTICS,andmanymore.Thealternativeisamicrokernelbasedsystem,inwhichmostoftheOSrunsasseparateprocesses,mostlyoutsidethekernel.Theycommunicatebymessagepassing.Thekernel'sjobistohandlethemessagepassing,interrupthandling,lowlevelprocessmanagement,andpossiblytheI/O.ExamplesofthisdesignaretheRC4000,Amoeba,Chorus,Mach,andthenotyetreleasedWindows/NT.WhileIcouldgointoalongstoryhereabouttherelativemeritsofthetwodesigns,sufficeittosaythatamongthepeoplewhoactuallydesignoperatingsystems,thedebateisessentiallyover.Microkernelshavewon.Theonlyrealargumentformonolithicsystemswasperformance,andthereisnowenoughevidenceshowingthatmicrokernelsystemscanbejustas

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 2/20

    fastasmonolithicsystems(e.g.,RickRashidhaspublishedpaperscomparingMach3.0tomonolithicsystems)thatitisnowalloverbuttheshoutin'.MINIXisamicrokernelbasedsystem.Thefilesystemandmemorymanagementareseparateprocesses,runningoutsidethekernel.TheI/Odriversarealsoseparateprocesses(inthekernel,butonlybecausethebraindeadnatureoftheIntelCPUsmakesthatdifficulttodootherwise).LINUXisamonolithicstylesystem.Thisisagiantstepbackintothe1970s.Thatisliketakinganexisting,workingCprogramandrewritingitinBASIC.Tome,writingamonolithicsystemin1991isatrulypooridea.2.PORTABILITYOnceuponatimetherewasthe4004CPU.Whenitgrewupitbecamean8008.Thenitunderwentplasticsurgeryandbecamethe8080.Itbegatthe8086,whichbegatthe8088,whichbegatthe80286,whichbegatthe80386,whichbegatthe80486,andsoonuntotheNthgeneration.Inthemeantime,RISCchipshappened,andsomeofthemarerunningatover100MIPS.Speedsof200MIPSandmorearelikelyinthecomingyears.Thesethingsarenotgoingtosuddenlyvanish.Whatisgoingtohappenisthattheywillgraduallytakeoverfromthe80x86line.TheywillrunoldMSDOSprogramsbyinterpretingthe80386insoftware.(IevenwrotemyownIBMPCsimulatorinC,whichyoucangetbyFTPfromftp.cs.vu.nl=192.31.231.42indirminix/simulator.)IthinkitisagrosserrortodesignanOSforanyspecificarchitecture,sincethatisnotgoingtobearoundallthatlong.MINIXwasdesignedtobereasonablyportable,andhasbeenportedfromtheIntellinetothe680x0(Atari,Amiga,Macintosh),SPARC,andNS32016.LINUXistiedfairlycloselytothe80x86.Notthewaytogo.Don'tgetmewrong,IamnotunhappywithLINUX.ItwillgetallthepeoplewhowanttoturnMINIXinBSDUNIXoffmyback.Butinallhonesty,Iwouldsuggestthatpeoplewhowanta**MODERN**"free"OSlookaroundforamicrokernelbased,portableOS,likemaybeGNUorsomethinglikethat.AndyTanenbaum([email protected])P.S.Justasarandomaside,AmoebahasaUNIXemulator(runninginuserspace),butitisfarfromcomplete.Ifthereareanypeoplewhowouldliketoworkonthat,pleaseletmeknow.TorunAmoebayouneedafew386s,oneofwhichneeds16M,andallofwhichneedtheWDEthernetcard.

    From:[email protected](LinusBenedictTorvalds)Subject:Re:LINUXisobsoleteDate:29Jan9223:14:26GMTOrganization:UniversityofHelsinkiWell,withasubjectlikethis,I'mafraidI'llhavetoreply.Apologiestominixuserswhohaveheardenoughaboutlinuxanyway.I'dliketobeabletojust"ignorethebait",[email protected](AndyTanenbaum)writes:>>IwasintheU.S.foracoupleofweeks,soIhaven'tcommentedmuchon>LINUX(notthatIwouldhavesaidmuchhadIbeenaround),butforwhat>itisworth,Ihaveacoupleofcommentsnow.>>Asmostofyouknow,formeMINIXisahobby,somethingthatIdointhe>eveningwhenIgetboredwritingbooksandtherearenomajorwars,>revolutions,orsenatehearingsbeingtelevisedliveonCNN.Myreal>jobisaprofessorandresearcherintheareaofoperatingsystems.Youusethisasanexcuseforthelimitationsofminix?Sorry,butyouloose:I'vegotmoreexcusesthanyouhave,andlinuxstillbeatsthepantsofminixinalmostallareas.NottomentionthefactthatmostofthegoodcodeforPCminixseemstohavebeenwrittenbyBruceEvans.Re1:youdoingminixasahobbylookatwhomakesmoneyoffminix,andwhogiveslinuxoutforfree.Thentalkabouthobbies.Makeminixfreelyavailable,andoneofmybiggestgripeswithitwilldisappear.Linuxhasverymuchbeenahobby(butaseriousone:thebesttype)forme:Igetnomoneyforit,andit'snotevenpartofanyofmystudiesintheuniversity.I'vedoneitallonmyowntime,andonmyownmachine.Re2:yourjobisbeingaprofessorandresearcher:That'sonehellofagoodexcuseforsomeofthebraindamagesofminix.Icanonlyhope(andassume)thatAmoebadoesn'tsucklikeminixdoes.>1.MICROKERNELVSMONOLITHICSYSTEMTrue,linuxismonolithic,andIagreethatmicrokernelsarenicer.Withalessargumentativesubject,I'dprobablyhaveagreedwithmostofwhatyousaid.Fromatheoretical(andaesthetical)standpointlinuxlooses.IftheGNUkernelhadbeenreadylastspring,I'dnothavebotheredtoevenstartmyproject:thefactisthatitwasn'tandstillisn't.Linuxwinsheavilyonpointsofbeingavailablenow.>MINIXisamicrokernelbasedsystem.[deleted,butnotsothatyou>missthepoint]LINUXisamonolithicstylesystem.

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 3/20

    Ifthiswastheonlycriterionforthe"goodness"ofakernel,you'dberight.Whatyoudon'tmentionisthatminixdoesn'tdothemicrokernelthingverywell,andhasproblemswithrealmultitasking(inthekernel).IfIhadmadeanOSthathadproblemswithamultithreadingfilesystem,Iwouldn'tbesofasttocondemnothers:infact,I'ddomydamndesttomakeothersforgetaboutthefiasco.[yes,Iknowtherearemultithreadinghacksforminix,buttheyarehacks,andbruceevanstellsmetherearelotsofraceconditions]>2.PORTABILITY"Portabilityisforpeoplewhocannotwritenewprograms"me,rightnow(withtongueincheek)Thefactisthatlinuxismoreportablethanminix.What?Ihearyousay.It'struebutnotinthesensethatastmeans:ImadelinuxasconformanttostandardsasIknewhow(withouthavinganyPOSIXstandardinfrontofme).Portingthingstolinuxisgenerally/much/easierthanportingthemtominix.Iagreethatportabilityisagoodthing:butonlywhereitactuallyhassomemeaning.Thereisnoideaintryingtomakeanoperatingsystemoverlyportable:adheringtoaportableAPIisgoodenough.Thevery/idea/ofanoperatingsystemistousethehardwarefeatures,andhidethembehindalayerofhighlevelcalls.Thatisexactlywhatlinuxdoes:itjustusesabiggersubsetofthe386featuresthanotherkernelsseemtodo.Ofcoursethismakesthekernelproperunportable,butitalsomakesfora/much/simplerdesign.Anacceptabletradeoff,andonethatmadelinuxpossibleinthefirstplace.Ialsoagreethatlinuxtakesthenonportabilitytoanextreme:Igotmy386lastJanuary,andlinuxwaspartlyaprojecttoteachmeaboutit.Manythingsshouldhavebeendonemoreportablyifitwouldhavebeenarealproject.I'mnotmakingoverlymanyexcusesaboutitthough:itwasadesigndecision,andlastaprilwhenIstartedthething,Ididn'tthinkanybodywouldactuallywanttouseit.I'mhappytoreportIwaswrong,andasmysourceisfreelyavailable,anybodyisfreetotrytoportit,eventhoughitwon'tbeeasy.LinusPS.Iapologiseforsometimessoundingtooharsh:minixisniceenoughifyouhavenothingelse.Amoebamightbeniceifyouhave510spare386'slyingaround,butIcertainlydon't.Idon'tusuallygetintoflames,butI'mtouchywhenitcomestolinux:)

    From:[email protected](AndyTanenbaum)Subject:Re:LINUXisobsoleteDate:30Jan9213:44:[email protected](LinusBenedictTorvalds)writes:>Youusethis[beingaprofessor]asanexcuseforthelimitationsofminix?ThelimitationsofMINIXrelateatleastpartlytomybeingaprofessor:Anexplicitdesigngoalwastomakeitrunoncheaphardwaresostudentscouldaffordit.Inparticular,foryearsitranonaregular4.77MHZPCwithnoharddisk.Youcoulddoeverythinghereincludingmodifyandrecompilethesystem.Justfortherecord,asofabout1yearago,thereweretwoversions,oneforthePC(360Kdiskettes)andoneforthe286/386(1.2M).ThePCversionwasoutsellingthe286/386versionby2to1.Idon'thavefigures,butmyguessisthatthefractionofthe60millionexistingPCsthatare386/486machinesasopposedto8088/286/680x0etcissmall.Amongstudentsitisevensmaller.Makingsoftwarefree,butonlyforfolkswithenoughmoneytobuyfirstclasshardwareisaninterestingconcept.Ofcourse5yearsfromnowthatwillbedifferent,but5yearsfromnoweveryonewillberunningfreeGNUontheir200MIPS,64MSPARCstation5.>Re2:yourjobisbeingaprofessorandresearcher:That'sonehellofa>goodexcuseforsomeofthebraindamagesofminix.Icanonlyhope(and>assume)thatAmoebadoesn'tsucklikeminixdoes.Amoebawasnotdesignedtorunonan8088withnoharddisk.>Ifthiswastheonlycriterionforthe"goodness"ofakernel,you'dbe>right.Whatyoudon'tmentionisthatminixdoesn'tdothemicrokernel>thingverywell,andhasproblemswithrealmultitasking(inthe>kernel).IfIhadmadeanOSthathadproblemswithamultithreading>filesystem,Iwouldn'tbesofasttocondemnothers:infact,I'ddomy>damndesttomakeothersforgetaboutthefiasco.Amultithreadedfilesystemisonlyaperformancehack.Whenthereisonlyonejobactive,thenormalcaseonasmallPC,itbuysyounothingandaddscomplexitytothecode.Onmachinesfastenoughtosupportmultipleusers,youprobablyhaveenoughbuffercachetoinsureahitcachehitrate,inwhichcasemultithreadingalsobuysyounothing.ItisonlyawinwhentherearemultipleprocessesactuallydoingrealdiskI/O.Whetheritisworthmakingthesystemmorecomplicatedforthiscaseisatleastdebatable.Istillmaintainthepointthatdesigningamonolithickernelin1991isafundamentalerror.Bethankfulyouarenotmystudent.Youwouldnotgetahighgradeforsuchadesign:)>Thefactisthatlinuxismoreportablethanminix.What?Ihearyou

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 4/20

    >say.It'struebutnotinthesensethatastmeans:Imadelinuxas>conformanttostandardsasIknewhow(withouthavinganyPOSIXstandard>infrontofme).Portingthingstolinuxisgenerally/much/easier>thanportingthemtominix.MINIXwasdesignedbeforePOSIX,andisnowbeing(slowly)POSIXizedaseveryonewhofollowsthisnewsgroupknows.Everyoneagreesthatuserlevelstandardsareagoodidea.Asanaside,IcongratulateyouforbeingabletowriteaPOSIXconformantsystemwithouthavingthePOSIXstandardinfrontofyou.Ifinditdifficultenoughafterstudyingthestandardatgreatlength.Mypointisthatwritinganewoperatingsystemthatiscloselytiedtoanyparticularpieceofhardware,especiallyaweirdoneliketheIntelline,isbasicallywrong.AnOSitselfshouldbeeasilyportabletonewhardwareplatforms.WhenOS/360waswritteninassemblerfortheIBM36025yearsago,theyprobablycouldbeexcused.WhenMSDOSwaswrittenspecificallyforthe8088tenyearsago,thiswaslessthanbrilliant,asIBMandMicrosoftnowonlytoopainfullyrealize.WritinganewOSonlyforthe386in1991getsyouyoursecond'F'forthisterm.Butifyoudorealwellonthefinalexam,youcanstillpassthecourse.Prof.AndrewS.Tanenbaum([email protected])

    From:[email protected](DavidFeustel)Subject:Re:LINUXisobsoleteDate:30Jan9218:57:28GMTOrganization:DAFCOAnOS/[email protected](AndyTanenbaum)writes:>Istillmaintainthepointthatdesigningamonolithickernelin1991is>afundamentalerror.Bethankfulyouarenotmystudent.Youwouldnot>getahighgradeforsuchadesign:)That'sok.Einsteingotlousygradesinmathandphysics.

    From:[email protected](PeteFrench.)Subject:Re:LINUXisobsoleteDate:31Jan9209:49:37GMTOrganization:ElectronicsDepartment,UniversityofYork,UKinarticle,[email protected](DavidMegginson)says:>>[email protected](David>Feustel)writes:>>>>That'sok.Einsteingotlousygradesinmathandphysics.>>AndDanQuaylegotlowgradesinpoliticalscience.Ithinkthatthere>aremoreDanQuaylesthanEinsteinsoutthere...;)Whatahorriblethought!Butonthepointsaboutmicrokernelvmonolithic,isntthispartlyanartifactofthelanguagebeingused?MINIXmaywellbedesignedasamicrokernelsystem,butintheendyoustillendupwithalargemonolithicchunkofbinarydatathatgetsloadedinas"theOS".IsntitwrittenasseparateprogramssimplybecauseCdoesnotsupporttheideaofmultipleprocesseswithinasinglepieceofmonolithiccode.IsthereanyrealdifferencebetweenamicrokernelwrittenasseveralpiecesofCandamonolithickernelwritteninsomethinglikeOCCAM?IwouldhavethoughtthatinthiscasethemonolithicdesignwouldbeabetteronethanthemicorkernelstylesincewiththeadvantageofinbuiltlanguageconcurrencythekernelcouldbemadeevenmoremodularthantheMINIXoneis.AnyoneforMINOX:)bat.

    From:[email protected](KenThompson)Subject:Re:LINUXisobsoleteDate:3Feb9223:07:54GMTOrganization:GeorgiaInstituteofTechnologyviewpointmaybelargelyunrelatedtoitsusefulness.Manyifnotmostofthesoftwareweuseisprobablyobsoleteaccordingtothelatestdesigncriteria.Mostuserscouldprobablycarelessiftheinternalsoftheoperatingsystemtheyuseisobsolete.Theyarerightlymoreinterestedinitsperformanceandcapabilitiesattheuserlevel.Iwouldgenerallyagreethatmicrokernelsareprobablythewaveofthefuture.However,itisinmyopinioneasiertoimplementamonolithickernel.Itisalsoeasierforittoturnintoamessinahurryasitismodified.Regards,

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 5/20

    Ken

    From:[email protected](KevinBrown)Subject:Re:LINUXisobsoleteDate:4Feb9208:08:42GMTOrganization:[email protected](KenThompson)writes:>viewpointmaybelargelyunrelatedtoitsusefulness.Manyifnot>mostofthesoftwareweuseisprobablyobsoleteaccordingtothe>latestdesigncriteria.Mostuserscouldprobablycarelessifthe>internalsoftheoperatingsystemtheyuseisobsolete.Theyare>rightlymoreinterestedinitsperformanceandcapabilitiesatthe>userlevel.>>Iwouldgenerallyagreethatmicrokernelsareprobablythewaveof>thefuture.However,itisinmyopinioneasiertoimplementa>monolithickernel.Itisalsoeasierforittoturnintoamessin>ahurryasitismodified.Howdifficultisittostructurethesourcetreeofamonolithickernelsuchthatmostmodificationsdon'thavealargenegativeimpactonthesource?Whatsortsofpitfallsdoyourunintointhissortofendeavor,andwhatsuggestionsdoyouhavefordealingwiththem?IguesswhatI'maskingis:howdifficultisittoorganizethesourcesuchthatmostchangestothekernelremainlocalizedinscope,eventhoughthekernelitselfismonolithic?Ifigureyou'vegotyearsofexperiencewithmonolithickernels:),soI'dthinkyou'dhavethebestshotatansweringquestionslikethese.KevinBrown

    From:[email protected](RandyBurns)Subject:Re:LINUXisobsoleteDate:30Jan9220:33:07GMTOrganization:SunMicrosystems,Mt.View,[email protected](AndyTanenbaum)writes:>[email protected].>FI(LinusBenedictTorvalds)writes:>Ofcourse5yearsfromnowthatwillbedifferent,but5yearsfromnow>everyonewillberunningfreeGNUontheir200MIPS,64MSPARCstation5.Well,Iforonewould_love_toseethishappen.>>Thefactisthatlinuxismoreportablethanminix.What?Ihearyou>>say.It'struebutnotinthesensethatastmeans:Imadelinuxas>>conformanttostandardsasIknewhow(withouthavinganyPOSIXstandard>>infrontofme).Portingthingstolinuxisgenerally/much/easier>>thanportingthemtominix..........>Mypointisthatwritinganewoperatingsystemthatiscloselytiedtoany>particularpieceofhardware,especiallyaweirdoneliketheIntelline,>isbasicallywrong.Firstoff,thepartsofLinuxtunedmostfinelytothe80x86aretheKernelandthedevices.MyownsenseisthatevenifLinuxissimplyastopgapmeasuretoletusallrunGNUsoftware,itisstillworthwhiletohaveaafinelytunedkernelforthemostnumerousarchitecturepresentlyinexistance.>AnOSitselfshouldbeeasilyportabletonewhardware>platforms.Well,theonlypartofLinuxthatisn'tportableisthekernelanddrivers.Comparetothecompilers,utilities,windowingsystemetc.thisisreallyasmallpartoftheeffort.SinceLinuxhasalargedegreeofcallcompatibilitywithportableOS'sIwouldn'tcomplain.I'mpersonallyverygratefultohaveanOSthatmakesitmorelikelythatsomeofuswillbeabletotakeadvantageofthesoftwarethathascomeoutofBerkeley,FSF,CMUetc.Itmaywellbethatin23yearswhenultracheapBSDvariantsandHurdproliferate,thatLinuxwillbeobsolete.Still,rightnowLinuxgreatlyreducesthecostofusingtoolslikegcc,bison,bashwhichareusefulinthedevelopmentofsuchanOS.

    From:[email protected](LinusBenedictTorvalds)Subject:Re:LINUXisobsoleteDate:31Jan9210:33:23GMTOrganization:[email protected](AndyTanenbaum)writes:>ThelimitationsofMINIXrelateatleastpartlytomybeingaprofessor:>Anexplicitdesigngoalwastomakeitrunoncheaphardwaresostudents>couldaffordit.Allright:arealtechnicalpoint,andonethatmadesomeofmycommentsinexcusable.Butatthesametimeyoushootyourselfinthefootabit:

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 6/20

    nowyouadmitthatsomeoftheerrorsofminixwerethatitwastooportable:includingmachinesthatweren'treallydesignedtorununix.Thatassumptionleadtothefactthatminixnowcannoteasilybeextendedtohavethingslikepaging,evenformachinesthatwouldsupportit.Yes,minixisportable,butyoucanrewritethatas"doesn'tuseanyfeatures",andstillberight.>Amultithreadedfilesystemisonlyaperformancehack.Nottrue.It'saperformancehack/onamicrokernel/,butit'sanautomaticfeaturewhenyouwriteamonolithickerneloneareawheremicrokernelsdon'tworktoowell(asIpointedoutinmypersonalmailtoast).Whenwritingaunixthe"obsolete"way,youautomaticallygetamultithreadedkernel:everyprocessdoesit'sownjob,andyoudon'thavetomakeuglythingslikemessagequeuestomakeitworkefficiently.Besides,therearepeoplewhowouldconsider"onlyaperformancehack"vital:unlessyouhaveacray3,I'dguesseverybodygetstiredofwaitingonthecomputerallthetime.IknowIdidwithminix(andyes,Idowithlinuxtoo,butit's/much/better).>Istillmaintainthepointthatdesigningamonolithickernelin1991is>afundamentalerror.Bethankfulyouarenotmystudent.Youwouldnot>getahighgradeforsuchadesign:)Well,Iprobablywon'tgettoogoodgradesevenwithoutyou:Ihadanargument(completelyunrelatednotevenpertainingtoOS's)withthepersonhereattheuniversitythatteachesOSdesign.IwonderwhenI'lllearn:)>Mypointisthatwritinganewoperatingsystemthatiscloselytiedtoany>particularpieceofhardware,especiallyaweirdoneliketheIntelline,>isbasicallywrong.But/my/pointisthattheoperatingsystem/isn't/tiedtoanyprocessorline:UNIXrunsonmostrealprocessorsinexistence.Yes,the/implementation/ishardwarespecific,butthere'saHUGEdifference.YoumentionOS/360andMSDOGasexamplesofbaddesignsastheywerehardwaredependent,andIagree.Butthere'sabigdifferencebetweentheseandlinux:linuxAPIisportable(notduetomycleverdesign,butduetothefactthatIdecidedtogoforafairlywellthoughtoutandtestedOS:unix.)Ifyouwriteprogramsforlinuxtoday,youshouldn'thavetoomanysurpriseswhenyoujustrecompilethemforHurdinthe21stcentury.Ashasbeennoted(notonlybyme),thelinuxkernelisaminisculepartofacompletesystem:Fullsourcesforlinuxcurrentlyrunstoabout200kBcompressedfullsourcestoasomewhatcompletedevelopementsystemisatleast10MBcompressed(andeasilymuch,muchmore).Andallofthatsourceisportable,exceptforthistinykernelthatyoucan(provably:Ididit)rewritetotallyfromscratchinlessthanayearwithouthaving/any/priorknowledge.Infactthe/whole/linuxkernelismuchsmallerthanthe386dependentthingsinmach:i386.tar.Zforthecurrentversionofmachiswellover800kBcompressed(823391bytesaccordingtonic.funet.fi).Admittedly,machis"somewhat"biggerandhasmorefeatures,butthatshouldstilltellyousomething.Linus

    From:[email protected](MichaelL.Kaufman)Subject:Re:LINUXisobsoleteDate:3Feb9222:27:48GMTOrganization:EECSDepartment,NorthwesternUniversityItriedtosendthesetwopostsfromwork,butIthinktheygoteaten.Ifyouhaveseenthemalready,sorry.AndyTanenbaumwritesaninterestingarticle(alsointerestingwasfindingoutthatheactuallyreadsthisgroup)butIthinkheismissinganimportantpoint.HeWrote:>Asmostofyouknow,formeMINIXisahobby,...Whichisalsoprobablytrueofmost,ifnotall,ofthepeoplewhoareinvolvedinLinux.WearenotdevelopingasystemtotakeovertheOSmarket,wearejusthavingagoodtime.>Whatisgoingtohappen>isthattheywillgraduallytakeoverfromthe80x86line.Theywill>runoldMSDOSprogramsbyinterpretingthe80386insoftware.Wellwhenthishappens,ifIstillwanttoplaywithLinux,Icanjustrunitonmy386simulator.>MINIXwasdesignedtobereasonablyportable,andhasbeenportedfromthe>Intellinetothe680x0(Atari,Amiga,Macintosh),SPARC,andNS32016.

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 7/20

    >LINUXistiedfairlycloselytothe80x86.Notthewaytogo.That'sfineforthepeoplewhohavethosemachines,butitwasn'tafreelunch.Thatportibilitywasgainedatthecostofsomeperformanceandsomefeaturesonthe386.BeforeyoudecidethatLINUXisnotthewaytogo,youshouldthinkaboutwhatitisgoingtobeusedfor.Iamgoingtouseitforrunningmemoryandcomputationintensivegraphicsprogramsonmy486.Forme,speedandmemoryweremoreimportantthenfuturestateoftheartnessandportability.>Butinallhonesty,Iwould>suggestthatpeoplewhowanta**MODERN**"free"OSlookaroundfora>microkernelbased,portableOS,likemaybeGNUorsomethinglikethat.Idon'tknowofanyfreemicrokernelbased,portableOSes.GNUisstillvaporware,andlikelytoremainthatwayfortheforseeablefuture.Doyouactuallyhaveonetorecomend,orareyoujusttoyingwithme?;)[email protected](AndyTanenbaum)writes:>Mypointisthatwritinganewoperatingsystemthatiscloselytiedtoany>particularpieceofhardware,especiallyaweirdoneliketheIntelline,>isbasicallywrong.AnOSitselfshouldbeeasilyportabletonewhardware>platforms.IthinkIseewhereIdisagreewithyounow.YouarelookingatOSdesignasanendinitself.Minixisgoodbecauseitisportable/MicroKernal/etc.Linuxisnotgoodbecauseitismonolithic/tightlytiedtoIntel/etc.Thatisnotastrangeattitudeforsomeoneintheacedemicworld,butitisnotsomethingyoushouldexpecttobeuniversallyshared.Linuxisnotbeingwrittenasateachingtool,orasanabstractexercise.ItisbeingwrittentoallowpeopletorunGNUtypesoftware_today_.Thefactthatitmaynotbeinuseinfiveyearsislessimportantthenthefactthattoday(well,byAprilprobably)IcanrunallsortsofsoftwareonitthatIwanttorun.YoukeepsayingthatMinixisbetter,butifitwillnotrunthesoftwarethatIwanttorun,itreallyisn'tthatgood(forme)atall.>WhenOS/360waswritteninassemblerfortheIBM360>25yearsago,theyprobablycouldbeexcused.WhenMSDOSwaswritten>specificallyforthe8088tenyearsago,thiswaslessthanbrilliant,as>IBMandMicrosoftnowonlytoopainfullyrealize.Samepoint.MSoftdidnotcomeoutwithDosto"explorethefrontiersofosresearch".Theydidittomakeabuck.AndconsideringthefactthatMSDOSprobablystilloutsellseveryoneelseputtogether,Idon'tthinkthatyousaythattheyhavefailed_intheirgoals_.NotthatMSDosisthebestOSintermsofanythingelse,onlythatithasservedtheirneeds.Michael

    From:[email protected](JulienMaisonneuve)Subject:Re:LINUXisobsoleteDate:3Feb9217:10:14GMTIwouldliketosecondKevinbrowninmostofhisremarks.I'lladdafewuserpoints:WhenaststatesthatFSmultithreadingisuseless,itremindsmeofthemanytimesItriedtoletajobruninthebackground(likewhenreadinganarchiveonafloppy),itisjustunusable,the&shelloperatorcouldevenhavebeenleftout.MostinterestingutilitiesarenotevencompilableunderMinixbecauseoftheATKcompiler'sincrediblelimits.ThosewerehardlyunderstandableonabasicPC,butbecomeabsurdona386.EverystupidDOScompilerhasalargemodel(moreexpensive,OK).Ihatethe13bitcompress!ThelackofVirtualMemorysupportpreventspeoplestudyingthisareatoexperiment,andpreventsuserstouselargeprograms.ThestrangedesignoftheMMalsomakesithardtomodify.Theproblemisthatevendoingexploratoryworkunderminixispainful.Ifyouwanttogetanyworkdone(orevenfun),evenDOSisbecomingabetteralternative(withthingslikeDJGPP).Initsbasicform,itisreallynomorethanOScourseexample,agoodtoy,butatoy.Obtainingandapplyingpatchesisapain,andprecludesfurtherupgrades.Toobadwhennotsomuchismissingtomakeitreallygood.Thanksfortheworkandy,butLinuxdidn'tdeserveyouranswer.Forthecommonpeople,itdoesmanythingsbetterthanMinix.JulienMaisonneuve.Thisisnotaflame,justmyexperience.

    From:[email protected](RichardTobin)Subject:Re:LINUXisobsoleteDate:4Feb9214:46:49GMTReplyTo:[email protected](RichardTobin)Organization:AIAI,UniversityofEdinburgh,Scotland

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 8/20

    [email protected](AndyTanenbaum)writes:>Amultithreadedfilesystemisonlyaperformancehack.Whenthereisonly>onejobactive,thenormalcaseonasmallPC,itbuysyounothingIfindthesinglethreadedfilesystemaseriouspainwhenusingMinix.Ioftenwanttodosomethingelsewhilereadingfilesfromthe(excruciatinglyslow)floppydisk.IratherliketoplayroguewhilewaitingforlargeCorLispcompilations.Ilooktolookatfilesinoneeditorbufferwhilecompilinginanother.(Theproblemwouldbesomewhatlessifthefilesystemstucktoservingfilesanddidn'tinteractwithterminali/o.)Ofcourse,inbasicMinixwithnovirtualconsolesandnochanceofrunningemacs,thisisn'tmuchofaproblem.Buttomostpeoplethat'safailure,notanadvantage.Itjustisn'tthecasethatonsingleusermachinesthere'snouseformorethanoneactiveprocess;theideaonlyhasanyplausibilitybecausesomanypeopleareusedtopoormachineswithpooroperatingsystems.Astoportability,Minixonlywinsbecauseofitslimitedambitions.IfyouwantedafullfeaturedUnixwithpaging,jobcontrol,awindowsystemandsoon,woulditbequickertostartfrombasicMinixandaddthefeatures,ortostartfromLinuxandfixthe386specificbits?Idon'tthinkit'sfairtocriticiseLinuxwhenitsaimsaresodifferentfromMinix's.Ifyouwantasystemforpedagogicaluse,Minixistheanswer.Butifwhatyouwantisanenvironmentasmuchlike(say)aSunaspossibleonyourhomecomputer,ithassomedeficiencies.Richard

    From:[email protected](AndyTanenbaum)Subject:Re:LINUXisobsoleteDate:5Feb9214:48:48GMTOrganization:Fac.Wiskunde&Informatica,VrijeUniversiteit,[email protected](RichardTobin)writes:>IfyouwantedafullfeaturedUnixwithpaging,jobcontrol,awindow>systemandsoon,woulditbequickertostartfrombasicMinixand>addthefeatures,ortostartfromLinuxandfixthe386specific>bits?AnotheroptionthatseemstobetotallyforgottenhereisbuyUNIXoraclone.IfyoujustwanttoUSEthesystem,insteadofhackingonitsinternals,youdon'tneedsourcecode.Coherentisonly$99,andtherearevarioustrueUNIXsystemswithmorefeaturesformoremoney.Forthetruehacker,nothavingsourcecodeisfatal,butforpeoplewhojustwantaUNIXsystem,therearemanyalternatives(albeitnotfree).AndyTanenbaum([email protected])

    From:[email protected](TonyTravis)Subject:Re:LINUXisobsoleteDate:6Feb9202:17:13GMTOrganization:DepartmentofComputing,ImperialCollege,UniversityofLondon,[email protected](AndyTanenbaum)writes:>AnotheroptionthatseemstobetotallyforgottenhereisbuyUNIXora>clone.IfyoujustwanttoUSEthesystem,insteadofhackingonits>internals,youdon'tneedsourcecode.Coherentisonly$99,andthere>arevarioustrueUNIXsystemswithmorefeaturesformoremoney.Forthe>truehacker,nothavingsourcecodeisfatal,butforpeoplewhojust>wantaUNIXsystem,therearemanyalternatives(albeitnotfree).Andy,IhavefollowedthedevelopmentofMinixsincethefirstmessageswerepostedtothisgroupandIamnowrunning1.5.10withBruceEvans'spatchesforthe386.I'just'wantaUnixonmyPCandIamnotinterestedinhackingonitsinternals,butI*do*wantthesourcecode!AnimportantprincipleunderlyingthesuccessandpopularityofUnixisthephilosophyofbuildingontheworkofothers.Thisphilosophyreliesupontheavailabilityofthesourcecodeinorderthatitcanbeexamined,modifiedandreusedinnewsoftware.Manyyearsago,IwasinthehappypositionofbeinganAT&TSeventhEditionUnixsourcelicenceebut,eventhen,IsawyourdecisiontomakethesourceofMinixavailableasliberationfromtheshacklesofAT&Tcopyright!!Ithinkyoumaysometimesforgetthatyour'hobby'hashadaprofoundeffectontheavailabilityof'personal'Unix(ie.affordableUnix)andthatthe8086PCIranMinix1.2onactuallycostmeconsiderablymorethanmypresent386/SXclone.Clearly,Minix_cannot_beallthingstoallmen,butIseetheprogressto386versionsinmuchthesamewaythatIsee68000orother

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 9/20

    linearaddressspacearchitectures:itisagoodthingforpeoplelikemewhouseMinixandfeelconstrainedbythesegmentedarchitectureofthePCversionforapplications.NOTHINGyoucansaywouldconvincemethatIshoulduseCoherent...Tony

    From:[email protected](RichardTobin)Subject:Re:LINUXisobsoleteDate:7Feb9214:58:22GMTOrganization:AIAI,UniversityofEdinburgh,[email protected](AndyTanenbaum)writes:>IfyoujustwanttoUSEthesystem,insteadofhackingonits>internals,youdon'tneedsourcecode.Unfortunatelyhackingontheinternalsisjustwhatmanyofuswantthesystemfor...You'llberidofmostofuswhenBSDdetoxorGNUcomesout,whichshouldhappeninthenextfewmonths(yeah,right).Richard

    From:[email protected](Louie)Subject:Re:LINUXisobsoleteDate:30Jan9202:55:22GMTOrganization:UniversityofBritishColumbia,Vancouver,B.C.,[email protected](AndyTanenbaum)writes:>Butinallhonesty,Iwould>suggestthatpeoplewhowanta**MODERN**"free"OSlookaroundfora>microkernelbased,portableOS,likemaybeGNUorsomethinglikethat.TherearereallynootheralternativesotherthanLinuxforpeoplelikemewhowanta"free"OS.Consideringthatthemajorityofpeoplewhowouldusea"free"OSusethe386,portabilityisreallynotallthatbigofaconcern.IfIhadaSparcIwoulduseSolaris.Asitstands,IinstalledLinuxwithgcc,emacs18.57,kermitandalloftheGNUutilitieswithoutanytroubleatall.Noneedtoapplypatches.Ijustfollowedtheinstallationinstructions.Ican'tgetanOSlikethis*anywhere*forthepricetodomyComputerSciencehomework.AnditseemslikenetworksupportandthenXWindowswillbeportedtoLinuxwellbeforeMinix.Thisissomethingthatwouldbereallyuseful.Inmyopinion,portabilityofstandardUnixsoftwareisimportantalso.Iknowthatthedesignusingamonolithicsystemisnotasgoodasthemicrokernel.Butfortheshorttermfuture(AndIknowIwon't/can'tbeupradingfrommy386),[email protected]

    From:[email protected](DouglasGraham)Subject:Re:LINUXisobsoleteDate:1Feb9200:26:30GMTOrganization:BellNorthernResearch,Ottawa,[email protected](AndyTanenbaum)writes:>WhileIcouldgointoalongstoryhereabouttherelativemeritsofthe>twodesigns,sufficeittosaythatamongthepeoplewhoactuallydesign>operatingsystems,thedebateisessentiallyover.Microkernelshavewon.Canyourecommendany(unbiased)literaturethatpointsoutthestrengthsandweaknessesofthetwoapproaches?I'msurethatthereissomethingtobesaidforthemicrokernelapproach,butIwonderhowcloselyMinixresemblestheothersystemsthatuseit.Sure,Minixuseslotsoftasksandmessages,buttheremustbemoretoamicrokernelarchitecturethanthat.IsuspectthattheMinixcodeisnotsplitoptimallyintotasks.>Theonlyrealargumentformonolithicsystemswasperformance,andthere>isnowenoughevidenceshowingthatmicrokernelsystemscanbejustas>fastasmonolithicsystems(e.g.,RickRashidhaspublishedpaperscomparing>Mach3.0tomonolithicsystems)thatitisnowalloverbuttheshoutin`.MymaincomplaintwithMinixisnotit'sperformance.ItisthataddingfeaturesisaroyalpainsomethingthatIpresumeamicrokernelarchitecureissupposedtoalleviate.>MINIXisamicrokernelbasedsystem.Isthereaconsensusonthis?>LINUXis>amonolithicstylesystem.Thisisagiantstepbackintothe1970s.>Thatisliketakinganexisting,workingCprogramandrewritingitin

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 10/20

    >BASIC.Tome,writingamonolithicsystemin1991isatrulypooridea.Thisisafineassertion,butI'veyettoseeanyrationaleforit.Linuxisonlyabout12000linesofcodeIthink.Idon'tseehowsplittingthatintotasksandblastingmessagesaroundwouldimproveit.>Don'tgetmewrong,IamnotunhappywithLINUX.Itwillgetallthepeople>whowanttoturnMINIXinBSDUNIXoffmyback.Butinallhonesty,Iwould>suggestthatpeoplewhowanta**MODERN**"free"OSlookaroundfora>microkernelbased,portableOS,likemaybeGNUorsomethinglikethat.Well,therearenootherchoicesthatI'mawareofatthemoment.ButwhenGNUOScomesout,I'llverylikelyjumpshipagain.Isensethatyou*are*somewhatunhappyaboutLinux(andthatsurprisesmesomewhat).Iwouldguessthatthereasonsomanypeopleembracedit,isbecauseitoffersmorefeatures.YourapproachtopeoplerequestingfeaturesinMinix,hasgenerallybeentotellthemthattheydidn'treallywantthatfeatureanyway.IsubmitthattheexodusinthedirectionofLinuxprovesyouwrong.Disclaimer:IhadnothingtodowithLinuxdevelopment.IjustfinditaneasiersystemtounderstandthanMinix.DougGrahamdgraham@bnr.caMyopinionsaremyown.

    From:[email protected](CharlesHedrick)Subject:Re:LINUXisobsoleteDate:1Feb9200:27:04GMTOrganization:RutgersUniv.,NewBrunswick,N.J.Thehistoryofsoftwareshowsthatavailabilitywinsoutovertechnicalqualityeverytime.That'sLinux'majoradvantage.It'sasmall386basedsystemthat'sfairlycompatiblewithgenericUnix,andisfreelyavailable.IdroppedoutoftheMinixcommunityacoupleofyearsagowhenitbecameclearthat(1)Minixwasnotgoingtotakeadvantageofanythingbeyondthe8086anytimeinthenearfuture,and(2)thelicensingwhileamazinglyfriendlystillmadeithardforpeoplewhowereinterestedinproducinga386version.Severalpeopleapparentlydidniceworkforthe386.Butalltheycoulddistributewerediffs.Thismadebringingupa386systemajobthatisn'tpracticalforanewuser,andinfactIwasn'tsureIwantedtodoit.Iapologizeifthingshavechangedinthelastcoupleofyears.Ifit'snowpossibletogeta386versioninaformthat'sreadytorun,thecommunityhasdevelopedawaytoshareMinixsource,andbringingupnormalUnixprogramshasbecomeeasierintheinterim,thenI'mwillingtoreconsiderMinix.Idolikeitsdesign.It'spossiblethatLinuxwillbeovertakenbyGnuorafreeBSD.However,iftheGnuOSfollowstheexampleofallotherGnusoftware,itwillrequireasystemwith128MBofmemoryanda1GBdisktouse.Therewillstillberoomforasmallsystem.MyidealOSwouldbe4.4BSD.But4.4'sreleasedatehasahistoryofextremeslippage.WithmostoftheirstaffmovingtoBSDI,it'shardtobelievethatthissituationisgoingtobeimproved.Formyownpersonaluse,theBSDIsystemwillprobablybegreat.Buteventheirveryattractivepricingislikelytobetoomuchformostofourstudents,andeventhoughuserscangetsourcefromthem,thefactthatsomeofitisproprietarywillagainmeanthatyoucan'tjustputalteredcodeoutforpublicFTP.Atanyrate,Linuxexists,andtherestofthesealternativesarevapor.

    From:[email protected](TheodoreY.Ts'o)Subject:Re:LINUXisobsoleteDate:31Jan9221:40:23GMTOrganization:MassachusettsInstituteofTechnologyInReplyTo:[email protected]'smessageof29Jan9212:12:50GMT>From:[email protected](AndyTanenbaum)>ftp.cs.vu.nl=192.31.231.42indirminix/simulator.)Ithinkitisa>grosserrortodesignanOSforanyspecificarchitecture,sincethatis>notgoingtobearoundallthatlong.It'snotyourfaultforbelievingthatLinuxistiedtothe80386architecture,sincemanyLinuxsupporters(includingLinushimself)havemadethethisstatement.However,theamountof80386specificcodeisprobablynotmuchmorethanwhatisinaMiniximplementation,andthereiscertainlyalotless80386specificcodeinLinuxthanhereisVaxspecificcodeinBSD4.3.Granted,theporttootherarchitectureshasn'tbeendoneyet.ButifIweregoingtobringupaUnixlikesystemonanewarchitecture,I'dprobablystartwithLinuxratherthanMinix,simplybecauseIwanttohavesomecontroloverwhatIcandowiththeresultingsystemwhenI'mdonewithit.Yes,I'dhavetorewritelargeportionsoftheVManddevicedriverlayersbutI'dhavetodothatwithanyotherOS.MaybeitwouldbealittlebitharderthanitwouldtoportMinixtothenewarchitecture;butthiswouldprobablybeonlytrueforthefirst

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 11/20

    architecturethatweportedLinuxto.>WhileIcouldgointoalongstoryhereabouttherelativemeritsofthe>twodesigns,sufficeittosaythatamongthepeoplewhoactuallydesign>operatingsystems,thedebateisessentiallyover.Microkernelshavewon.>Theonlyrealargumentformonolithicsystemswasperformance,andthere>isnowenoughevidenceshowingthatmicrokernelsystemscanbejustas>fastasmonolithicsystems(e.g.,RickRashidhaspublishedpaperscomparing>Mach3.0tomonolithicsystems)thatitisnowalloverbuttheshoutin'.Thisisnotnecessarilythecase;Ithinkyou'repaintingamuchmoreblackandwhiteviewoftheuniversethannecessarilyexists.IreferyoutosuchpapersasBrentWelsh's([email protected])"TheFilsystemBelongsintheKernel"paper,whereinhearguesthatthefilesystemisamatureenoughabstractionthatitshouldliveinthekernel,notoutsideofitasitwouldinastrictmicrokerneldesign.TherealsoseveralpeoplewhohavebeenconcernedaboutthespeedofOSF/1Machwhencomparedwithmonolithicsystems;inparticular,thenubmerofcontextswitchesrequiredtohandlenetworktraffic,andnetworkedfilesystemsinparticular.Iamawareofthebenefitsofamicrokernelapproach.However,thefactremainsthatLinuxishere,andGNUisn'tandpeoplehavebeenworkingonHurdforalotlongerthanLinushasbeenworkingonLinux.Minixdoesn'tcountbecauseit'snotfree.:)Isuspectthatthebalanceofmicrokernelsversusmonolithickernelsdependonwhatyou'redoing.Ifyou'reinterestedindoingresearch,itisobviouslymucheasiertoripoutandreplacemodulesinamicrokernel,andsinceonlyresearcherswritepapersaboutoperatingsystems,ipsofactomicrokernelsmustbetherightapproach.However,Idoknowalotofpeoplewhoarenotresearchers,butwhoareratherpracticalkernelprogrammers,whohavealotofconcernsoverthecostofcopyingandthecostofcontextswitcheswhichareincurredinamicrokernel.Bytheway,Idon'tbuyyourargumentsthatyoudon'tneedamultithreadedfilesystemonasingleusersystem.Onceyoubringupawindowingsystem,andhaveacompilegoinginonewindow,anewsreaderinanotherwindow,andUUCP/CNewsgoinginthebackground,youwantgoodfilesystemperformance,evenonasingleusersystem.Maybetoatheoristit'sanunnecessaryoptimizationanda(touseyourwords)"performancehack",butI'minterestedinaRealoperatingsystemnotaresearchtoy.===================================TheodoreTs'obloombeacon!mitathena!tytso308HighSt.,Medford,[email protected]'splayingthegame,butnobody'srulesarethesame!

    From:[email protected]:Re:LINUXisobsoleteDate:31Jan9213:21:44GMTOrganization:[email protected](AndyTanenbaum)writes:>>MINIXwasdesignedtobereasonablyportable,andhasbeenportedfromthe>Intellinetothe680x0(Atari,Amiga,Macintosh),SPARC,andNS32016.>LINUXistiedfairlycloselytothe80x86.Notthewaytogo.Ifyoulookedatthesourceinsteadofbelievingtheauthor,you'drealisethisisnottrue!He'sreplaced'fubyte'byaroutinewhichexplicitlyusesasegmentregisterbutthatcouldbeeasilychanged.Similarly,apartfromacoupleofplaceswhichassumethe'386MMU,acoupleofmacrostohidetheexactpagesizesetcwouldmakeportingtrivial.Using'386TSS'smakesthecodesimpler,buttheVAXandWE32000havesimilarstructures.Ashe'salreadyadmitted,abitofplanningwouldhavethethesystemneater,butmerelyputting'386assembleraroundisn'tacrime!Andwithallduerespect:theBookdidn'tmakeanissueofportability(apartfromafew"#ifdefM8088"s)bythetimeitwasreleased,Minixhadcometodependonseveral8086"features"thatcauseduproarfromthe68000users.>AndyTanenbaum([email protected])joe.

    From:[email protected](LawrenceC.Foard)Subject:Re:LINUXisobsoleteDate:5Feb9214:56:30GMTOrganization:[email protected](AndyTanenbaum)writes:>Don`tgetmewrong,IamnotunhappywithLINUX.Itwillgetallthepeople>whowanttoturnMINIXinBSDUNIXoffmyback.Butinallhonesty,Iwould

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 12/20

    >suggestthatpeoplewhowanta**MODERN**"free"OSlookaroundfora>microkernelbased,portableOS,likemaybeGNUorsomethinglikethat.Ibelieveyouhavesomevalidpoints,althoughIamnotsurethatamicrokernelisnecessarilybetter.Itmightmakemoresensetoallowsomecombinationofthetwo.AspartoftheIPCcodeI'mwrittingforLinuxIamgoingtoincludecodethatwillallowdevicedriversandfilesystemstorunasuserprocesses.Thesewillbesignificantlyslowerthough,andIbelieveitwouldbeamistaketomoveeverythingoutsidethekernel(TCP/IPwillbeinternal).ActuallymymainproblemwithOStheoristsisthattheyhavenevertestedthereideas!Noneoftheseideas(withapartialexceptionforMACH)haseverseenthelightofday.32bithomecomputershavebeenavailableforalmostadecadeandLinuswasthefirstpersontoeverwriteaworkingOSforthemthatcanbeusedwithoutpayingAT&T$100,000.Apieceofsoftwareinhandisworthtenpiecesofvaporware,OStheoristsarequicktojumpalloveranOSbuttheyareunwillingtoeverprovideanalternative.ThegeneralconsensusthatMicrokernelsisthewaytogomeansnothingwhenarealapplicationhasneverevenrunonone.ThereleaseofLinuxisallowingmetotrysomeideasI'vebeenwantingtoexpermentwithforyears,butIhaveneverhadtheopportunitytoworkwithsourcecodeforafunctioningOS.

    From:[email protected](AndyTanenbaum)Subject:Re:LINUXisobsoleteDate:5Feb9223:33:23GMTOrganization:Fac.Wiskunde&Informatica,VrijeUniversiteit,[email protected](LawrenceC.Foard)writes:>ActuallymymainproblemwithOStheoristsisthattheyhavenevertested>thereideas!I'mmortallyinsulted.IAMNOTATHEORIST.Askanybodywhowasatourdepartmentmeetingyesterday(injoke).Actually,theseideashavebeenverywelltestedinpractice.OSFisbettingitswholebusinessonamicrokernel(Mach3.0).USLisbettingitsbusinessonanotherone(Chorus).Bothoftheserunlotsofsoftware,andbothhavebeenextensivelycomparedtomonolithicsystems.Amoebahasbeenfullyimplementedandtestedforanumberofapplications.QNXisamicrokernelbasedsystem,andsomeonejusttoldmetheinstalledbaseis200,000systems.Microkernelsarenotapipedream.Theyrepresentproventechnology.TheMachguyswroteapapercalled"UNIXasanapplicationprogram."ItwasbyGolubetal.,intheSummer1990USENIXconference.TheChoruspeoplealsohaveatechnicalreportonmicrokernelperformance,andIcoauthoredanotherpaperonthesubject,whichImentionedyesterday(Dec.1991ComputingSystems).Checkthemout.AndyTanenbaum([email protected])

    From:[email protected](peterdasilva)Subject:Re:LINUXisobsoleteOrganization:XenixSupport,FICCDate:Thu,6Feb199216:02:[email protected](AndyTanenbaum)writes:>QNXisamicrokernel>basedsystem,andsomeonejusttoldmetheinstalledbaseis200,000systems.Ohyes,whileI'monthesubject...thereareover3millionAmigasoutthere,whichmeansthattherearemoreofthemthananyUNIXvendorhasshipped,andprobablymorethanallUNIXsystemscombined.

    From:[email protected](peterdasilva)Subject:Re:LINUXisobsoleteOrganization:XenixSupport,FICCDate:Thu,6Feb199216:00:[email protected](LawrenceC.Foard)writes:>ActuallymymainproblemwithOStheoristsisthattheyhavenevertested>thereideas!Ibegtodiffer...therearemanymicrokerneloperatingsystemsoutthereforeverythingfroman8088(QNX)uptolargeresearchsystems.>Noneoftheseideas(withapartialexceptionforMACH)hasever>seenthelightofday.32bithomecomputershavebeenavailableforalmosta>decadeandLinuswasthefirstpersontoeverwriteaworkingOSforthem>thatcanbeusedwithoutpayingAT&T$100,000.ImusthavebeenimaginingAmigaOS,then.I'vebeenusingafigmentofmyimaginationforthepast6years.

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 13/20

    AmigaOSisamicrokernelmessagepassingdesign,withbetterresponsetimeandperformancethananyotherreadilyavailablePCoperatingsystem:includingMINIX,OS/2,Windows,MacOS,Linux,UNIX,and*certainly*MSDOS.Themicrokerneldesignhasproveninvaluable.ThingslikenewfilesystemsthatarenormallyavailableonlyfromthevendorarehobbyistproductsontheAmiga.Devicedriversaresimplysharedlibrariesandtaskswithspecificentrypointsandmessageports.Soarefilesystems,thewindowsystem,andsoon.It'saWONDERFULdesign,andvalidateseverythingthatpeoplehavebeensayingaboutmicrokernels.Yes,ittakesmoreworktogetthemoffthegroundthanacoroutinebasedmacrokernellikeUNIX,buttheversatilitypaysyoubackmanytimesover.IreallywishAndywoulddoanewMINIXbasedonwhathasbeenlearnedsincethefirstrelease.ThefactoringofresponsibilitiesinMINIXisfairlypoor,butthebasicconceptisgood.>ThegeneralconsensusthatMicrokernelsisthewaytogomeansnothingwhen>arealapplicationhasneverevenrunonone.I'mdreamingagain.IsurethroughtDeluxePaint,Sculpt3d,PhotonPaint,ManxC,ManxSDB,PerfectSound,Videoscape3d,andtheotherprogramsIboughtformyAmigawere"real".I'llhavetosendthedamnthingsbacknow,Iguess.TheavailabilityofLinuxisgreat.I'mdelighteditexists.I'msurethatthemacrokerneldesignisonereasonithasbeenimplementedsofast,andthisisavalidreasontousemacrokernels.BUT...thisdoesn'tmeanthatmicrokernelsareinherentlyslow,orsimplyresearchtoys.

    From:[email protected](DaveSmythe)Subject:Re:LINUXisobsoleteDate:10Feb9207:08:22GMTOrganization:NetcomOnlineCommunicationServices(4082419760guest)[email protected](LawrenceC.Foard)writes:>ActuallymymainproblemwithOStheoristsisthattheyhavenevertested>thereideas!Noneoftheseideas(withapartialexceptionforMACH)hasever>seenthelightofday.DavidCheriton(Prof.atStanford,andauthoroftheVsystem)saidsomethingsimilartothisinaclassindistributedsystems.Paraphrased:"Therearetwokindsofresearchers:thosethathaveimplementedsomethingandthosethathavenot.Thelatterwilltellyouthatthereare142waysofdoingthingsandthatthereisn'tconsensusonwhichisbest.Theformerwillsimplytellyouthat141ofthemdon'twork."HereallyripsontheOSIphilesaswell,forasimilarreason.TheInternetprotocolsareadaptedonlyafterhavingbeeninuseforaperiodoftime,preventingthingsfromgettingstandardizedthatwillneverbeimplementableinareasonablefashion.OSIadherents,ontheotherhand,seemintentonstandardizingeverythingpossible,including"escapes"fromthestandard,beforeareasonablereferenceimplementationexists.Consequently,youseeobsoleteideasimmortalized,suchassubbyteleveldatafieldpacking,whichmakesgoodperformancedifficultwhenyourcomputerisdrinkingfroma10+Gbsfirehose:).Justmy$.02D

    From:[email protected](LinusBenedictTorvalds)Subject:Apologies(wasRe:LINUXisobsolete)Date:30Jan9215:38:16GMTOrganization:UniversityofHelsinkiInarticleIwrote:>Well,withasubjectlikethis,I'mafraidI'llhavetoreply.AndreplyIdid,withcompleteabandon,andnothoughtforgoodtasteandnetiquette.Apologiestoast,andthankstoJohnNallforafriendy"that'snothowit'sdone"letter.Ioverreacted,andamnowcomposinga(muchlessacerbic)personallettertoast.Hopenobodywasturnedawayfromlinuxduetoitbeing(a)possiblyobsolete(Istillthinkthat'snotthecase,althoughsomeofthecriticismsarevalid)and(b)writtenbyahothead:)Linus"myfirst,andhopefullylastflamefest"Torvalds

    From:pmacdona@sanjuan(PeterMacDonald)Subject:re:LinuxisobsoleteDate:1Feb9202:10:06GMTOrganization:UniversityofVictoria,Victoria,BC,CANADASinceIthinkIpostedoneoftheearliestmessagesinallthisdiscussion

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 14/20

    ofMinixvsLinux,IfeelcompelledtocommentonmyreasonsforswitchingfromMinixtoLinux.Inorderofimportancetheyare:1)Linuxisfree2)Linuxisevolvingatasatisfactoryclip(becausenewfeaturesareacceptedintothedistributionbyLinus).Thefirstrequiressomeexplanation,becauseifIhavealreadypurchasedMinix,whatposssibleconcerncouldpricehaveforme?Simple.IftheOSisfree,manymorepeoplewilluse/support/enhanceit.ThisisalsothesamereasoningIusedwhenIboughtmy386insteadofasparc(whichIcouldhavegotforjust30%more).SincePCsarecheapandgenerallyavailable,morepeoplewillbuy/usethemandthusgood,cheap/freesoftwarewillbeabundant.ThesecondshouldbeprettyobvioustoanyonewhohasbeenusingMinixforforanyperiodoftime.ASTgenerallydoesnotacceptenhancementstoMinix.Thisisnotmeantasachallenge,butmerelyastatementoffact.ASThasgoodandlegitimatereasonsforthis,andIdonotdisputethem.ButMinixhassomelimitationswhichIjustcouldnolongerlivewith,andduetothispolicy,theprospectofseeingthemresolvedinreasonabletimewasunsatisfactory.Theselimitationsinclude:no386supportnovirtualconsolesnosoftlinksnoselectcallnoptysnodemandpaging/swapping/sharedtext/sharedlibs...(efficientmm)chmem(inflexiblemm)noXWindows(advocatedforthesamereasonsasLinuxandthe386).noTCP/IPnoGNU/SysVintegration(portability)Someofthesecouldbefixedbypatches(andifyouhavedonethisyourself,Idon'thavetotellyouhowsatisfactorythatis),butatleastthelast5itemswere/arebeyondanyreasonableexpectation.Finally,mycomment(crack?)aboutMinix'ssegmentedkernel,ormicrokernelarchitecturewasmoreanexpressionofmyfrustration/bewildermentatattemptingtousetheMinixPTYpatchesasaguideofhowtodoitunderLinux.Thatparticularinstancewasonewheremessagepassinggreatlycomplicatedtheimplementationofafeature.IdohaveanopinionaboutMonlithicvsMessagePassing,butwon'texpressitnow,anddidnotmeantoexpresssitthen.Mygoalsaretotallyshortterm(maximumfunctionalityintheminimumamountoftime/cost/hassle),andsomyviewsonthisareirrelevant,andshouldnotbemisconstrued.Ifyouarenonplussedbythelackoftheabovefeatures,thenyoushouldconsiderMinix,aslongasyoudon'tmindpayingofcourse:)

    From:[email protected](OlafSchlueter)Subject:Re:LinuxisobsoleteDate:7Feb9211:41:44GMTOrganization:ToppointMailboxe.V.JustafewcommentstothediscussionofLinuxvsMinix,whichevolvedpartlytoadiscussionofmonolithicvsmicrokernel.Ithinktherewillbenoaggreementbetweenthetwopartiesadvocatingeitherconcept,iftheyforget,thatLinuxandMinixhavebeendesignedfordifferentapplications.Ifyouwantacheap,powerfulandenhancableUnixsystemrunningonasinglemachine,withthepossibilitytoadaptstandardUnixsoftwarewithoutpain,thenLinuxisforyou.Ifyouareinterestedinmodernoperatingsystemconcepts,andwanttolearnhowamicrokernelbasedsystemworks,thenMinixisthebetterchoice.Itisnotanargumentagainstmicrokernelsystem,thatforthetimebeingmonolithicimplemenationsofUnixonPCshaveabetterperformance.Thismeansonly,thatUnixismaybebetterimplementedasamonolithicOS,atleastaslongasitrunsonasinglemachine.Fromtheuserspointofview,theinternaldesignoftheOSdoesn'tmatteratall.Untilitcomestonetworks.Onthemonolithicapproach,afileserverwillbecomeauserprocessbasedonsomehardwarefacilitylikeethernet.Programswhichwanttousethisfacilitywillhavetousespeciallibrarieswhichofferthecallsforcommunicationwiththisserver.InamicrokernelsystemitispossibletoincorporatetheserverintotheOSwithouttheneedfornew"system"calls.Fromtheuserspointofviewthishastheadvantage,thatnothingchanges,hejustgetsbetterperformance(intermsofmorediskspaceforexample).Fromtheimplementorspointofview,themicrokernelsystemisfasteradaptabletochangesinhardwaredesign.Ithasbeencritized,thatASTrejectsanyimprovementstoMinix.AsheisinterestedintheeducationalvalueofMinix,Iunderstandhisargument,thathewantstokeepthecodesimple,anddon'twanttooverloaditwithfeatures.Asaneducationaltool,Minixiswrittenasamicrokernelsystem,althoughitisrunningonhardwareplatforms,whowillprobablybetterperformwithamonolithicOS.ButtheareaofnetworkapplicationsisgrowingandmodernOSlikeAmoebaorPlan9

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 15/20

    cannotbewrittenasmonolithicsystems.SoMinixhasbeenwrittenwiththeintentiontogivestudentsapracticalexampleofamicrokernelOS,toletthemplaywithtasksandmessages.Itwasnottheideatogivealotofpeopleacheap,powerfulOSforatenthofthepriceofSYSVorBSDimplementations.Resumee:LinuxisnotbetterthanMinix,ortheotherwayround.Theyaredifferentforgoodreasons.

    From:[email protected](DavidMegginson)Subject:Mach/Minix/Linux/Gnuetc.Date:1Feb9217:11:03GMTOrganization:UniversityofTorontoEPASWell,thishasbeenafundiscussion.IamabsolutelyconvincedbyProf.Tanenbaumthatamicrokernel_is_thewaytogo,butthemoreIlookattheMinixsource,thelessIbelievethatitisamicrokernel.IwouldprobablynotbotherportingLinuxtotheM68000,butIwantmoreservicesthanMinixcanoffer.Whataboutamicrokernelwhichismessage/syscallcompatiblewithMACH?Itdoesn'tactuallyhavetodoeverythingthatMACHdoes,likevirtualmemorypagingitjusthasto_look_likeMACHfromtheoutside,tofoolprogramslikethefutureGnuUnixemulator,BSD,etc.ThiswouldextendtheusefullivesofourM68000or80286basedmachinesforalittlelonger.Inthemeantime,IwillprobablystaywithMinixformySTratherthanswitchingbacktoMiNTafterall,MinixatleastlookslikeUnix,whileMiNTlookslikeTOStryingtolooklikeUnix(ithasto,tobeTOScompatible).David

    From:[email protected](peterdasilva)Newsgroups:comp.os.minixSubject:Whatgooddoesthiswardo?(Re:LINUXisobsolete)Date:3Feb9216:37:24GMTOrganization:XenixSupport,FICCWillyouquitflamingeachother?Imean,linuxisdesignedtoprovideareasonablyhighperformanceenvironmentonahardwareplatformcrippledbyyearsofbackwardscompatiblekludges.Minixisdesignedasateachingtool.Neitheristhatgoodatdoingtheother'sjob,andwhyshouldthey?ThefactthatMinixrunsoutofsteamquickly(anditdoes)isn'taprobleminitschosenmileau.It'ssurebetterthantheTOYoperatingsystem.ThefactthatLinuxisn'ttransportablebeyondthe386/ATplatformisn'taproblemwhentherearemillionsofthemoutthere(andquitecheap:youcangeta386/SXforwellunder$1000).Amonolithickerneliseasyenoughtobuildthatit'sworthdoingitifitgetsasystemoutthedoorearly.Thinkofitasaperformancehackforprogrammertime.TheAPIisportable.Youcanreplacethekernelwithamicrokerneldesign(andMINIXisn'tthebeallandendallofmicrokerneldesignseither:evenforlowendPCs...lookatAmigaOS)withoutdisturbingtheapplications.That'sthewholepointofaportableAPIinthefirstplace.Microkernelsaredefinitelyabetterdesignformanytasks.Itakesmoreworktomakethemefficient,soasimplerdesignthatdoesn'ttakeadvantageofthemicrokernelinanyrealwayisworthdoingforpedagogicalreasons.Thinkofitasaperformancehackforstudenttime.ThedesignisstillgoodandwhenyoucangetanAPItothemicrokernelinterfaceyoucangetVERYimpressiveperformance(thousandsofcontextswitchespersecondonan8MHz68000).

    From:[email protected](AndyTanenbaum)Subject:UnhappycampersDate:3Feb9222:46:40GMTOrganization:Fac.Wiskunde&Informatica,VrijeUniversiteit,AmsterdamI'vebeengettingabitofmaillatelyfromunhappycampers.(Actually10messagesfromthe43,000readersmayseemlikealot,butitisnotreally.)Thereseemtobethreestickingpoints:1.Monolithickernelsarejustasgoodasmicrokernels2.Portabilityisn'tsoimportant3.SoftwareoughttobefreeIfpeoplewanttohaveaseriousdiscussionofmicrokernelsvs.monolithickernels,fine.Wecandothatincomp.os.research.Butpleasedon'tsoundoffifyouhavenoideaofwhatyouaretalkingabout.Ihavehelpeddesignandimplement3operatingsystems,onemonolithicandtwomicro,andhavestudiedmanyothersindetail.Manyoftheargumentsofferedarenonstarters(e.g.,microkernelsarenogoodbecauseyoucan'tdopaginginuserspaceexceptthatMachDOESdopaginginuserspace).Ifyoudon'tknowmuchaboutmicrokernelsvs.monolithickernels,thereissomeusefulinformationinapaperIcoauthoredwithFredDouglis,FransKaashoekandJohnOusterhoutintheDec.1991issueofCOMPUTINGSYSTEMS,the

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 16/20

    USENIXjournal).Ifyoudon'thavethatjournal,youcanFTPthepaperfromftp.cs.vu.nl(192.31.231.42)indirectoryamoeba/papersascomp_sys.tex.Z(compressedTeXsource)orcomp_sys.ps.Z(compressedPostScript).ThepapergivesactualperformancemeasurementsandsupportsRickRashid'sconclusionthatmicrokernelbasedsystemsarejustasefficientasmonolithickernels.Astoportability,thereishardlyanyseriousdiscussionpossibleanymore.UNIXhasbeenportedtoeverythingfromPCstoCrays.WritingaportableOSisnotmuchharderthananonportableone,andallsystemsshouldbewrittenwithportabilityinmindthesedays.SurelyLinus'OSprofessorpointedthisout.MakingOScodeportableisnotsomethingIinventedin1987.Whilemostpeoplecantalkrationallyaboutkerneldesignandportability,theissueoffreenessis100%emotional.Youwouldn'tbelievehowmuch[expletivedeleted]IhavegottenlatelyaboutMINIXnotbeingfree.MINIXcosts$169,butthelicenseallowsmakingtwobackupcopies,sotheeffectivepricecanbeunder$60.Furthermore,professorsmaymakeUNLIMITEDcopiesfortheirstudents.Coherentis$99.FSFcharges>$100forthetapeits"free"softwarecomesonifyoudon'thaveInternetaccess,andIhaveneverheardanyonecomplain.4.4BSDis$800.Idon'treallybelievemoneyistheissue.Besides,probablymostofthepeoplereadingthisgroupalreadyhaveit.ApointwhichIdon'tthinkeveryoneappreciatesisthatmakingsomethingavailablebyFTPisnotnecessarilythewaytoprovidethewidestdistribution.TheInternetisstillahighlyelitegroup.MostcomputerusersareNOTonit.ItismyunderstandingfromPHthatthecountrywhereMINIXismostwidelyusedisGermany,nottheU.S.,mostlybecauseoneofthe(commercial)Germancomputermagazineshasbeenactivelypushingit.MINIXisalsowidelyusedinEasternEurope,Japan,Israel,SouthAmerica,etc.Mostofthesepeoplewouldneverhavegottenitiftherehadn'tbeenacompanysellingit.Gettingbacktowhat"free"means,whataboutfreesourcecode?Coherentisbinaryonly,butMINIXhassourcecode,justasLINUXdoes.Youcanchangeitanywayyouwant,andpostthechangeshere.Peoplehavebeendoingthatfor5yearswithoutproblems.Ihavebeengivingfreeupdatesforyears,too.Ithinktherealissueissomethingelse.I'vebeenrepeatedlyofferedvirtualmemory,paging,symboliclinks,windowsystems,andallmanneroffeatures.IhaveusuallydeclinedbecauseIamstilltryingtokeepthesystemsimpleenoughforstudentstounderstand.Youcanputallthisstuffinyourversion,butIwon'tputitinmine.Ithinkitisthispointwhichirksthepeoplewhosay"MINIXisnotfree,"notthe$60.AninterestingquestioniswhetherLinusiswillingtoletLINUXbecome"free"ofhiscontrol.Maypeoplemodifyit(ruinit?)andsellit?Rememberthehundredsofmessageswithsubject"Re:Yoursoftwaresoldformoney"whenitwasdiscoveredtheMINIXCentreinEnglandwassellingdisketteswithnewspostings,moreorlessatcost?SupposeFredvanKempenreturnsfromthedeadandwantstotakeover,creatingFred'sLINUXandLinus'LINUX,bothusefulbutdifferent.Isthatok?ThetestcomeswhenasizablegroupofpeoplewanttoevolveLINUXinawayLinusdoesnotwant.Untilthatactuallyhappensthepointismoot,however.IfyoulikeLinus'philosophyratherthanmine,byallmeans,followhim,butpleasedon'tclaimthatyou'redoingthisbecauseLINUXis"free."Justsaythatyouwantasystemwithlotsofbellsandwhistles.Fine.Yourchoice.Ihavenoargumentwiththat.Justtellthetruth.Asanaside,forthosefolkswhodon'treadnewsheaders,LinusisinFinlandandIaminTheNetherlands.Arewereachingasituationwhereanothercriticalindustry,freesoftware,thathadbeentotallydominatedbytheU.S.isbeingtakenoverbytheforeigncompetition?WillwesoonseePresidentBushcomingtoEuropewithRichardStallmanandRickRashidintow,demandingthatEuropeimportmoreAmericanfreesoftware?AndyTanenbaum([email protected])

    From:[email protected](AndyTanenbaum)Subject:Re:UnhappycampersDate:5Feb9223:23:26GMTOrganization:Fac.Wiskunde&Informatica,VrijeUniversiteit,[email protected](FredFish)writes:>IfPHwasnotgrantedamonopolyondistribution,itwouldhavebeenpossible>foralloftheinterestedminixhackerstoorganizeandsetupagroupthat>wasdedicatedtoproducingenhancedminix.Thisaimofthisgroupcouldhave>beentoproduceasingle,supportedversionofminixwithallofthecommonly>requestedenhancements.Thiswouldhaveallowedminixtoevolveinmuchthe>samewaythatgcchasevolvedoverthelastfewyears.ThisISpossible.Ifagroupofpeoplewantstodothis,thatisfine.Ithinkcoordinating1000primadonnaslivingallovertheworldwillbeaseasyasherdingcats,butthereisnolegalproblem.Whenanewreleaseisready,justmakeadifflistingagainst1.5andpostitormakeitFTPable.Whilethiswillrequiresomeworkonthepartoftheuserstoinstallit,itisn'tthatmuchwork.Besides,Ihaveshellscriptstomakethediffsandinstallthem.ThisiswhatFredvanKempenwasdoing.Whathedidwrongwasinsistontherighttopublishthenewversion,ratherthandiffsagainstthePHbaseline.ThatcutsPHoutoftheloop,which,notsurprisingly,theyweren'twildabout.Ifpeoplestillwanttodothis,goahead.Ofcourse,Iamnotnecessarilygoingtoputanyofthesechangesinmyversion,

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 17/20

    sothereissomeworkkeepingtheofficialandenhancedonesinsync,butIamwillingtocooperatetominimizework.IdidthisforalongtimewithBruceEvansandFransMeulenbroeks.IfLinuswantstokeepcontroloftheofficialversion,andagroupofeagerbeaverswanttogooffinadifferentdirection,thesameproblemarises.Idon'tthinkthecopyrightissueisreallytheproblem.Theproblemiscoordinatingthings.ProjectslikeGNU,MINIX,orLINUXonlyholdtogetherifonepersonisincharge.Duringthe1970s,whenstructuredprogrammingwasintroduced,HarlanMillspointedoutthattheprogrammingteamshouldbeorganizedlikeasurgicalteamonesurgeonandhisorherassistants,notlikeahogbutcheringteamgiveeverybodyanaxeandletthemchopaway.Anyonewhosaysyoucanhavealotofwidelydispersedpeoplehackawayonacomplicatedpieceofcodeandavoidtotalanarchyhasnevermanagedasoftwareproject.>Whereisthesizeablegroupofpeoplethatwanttoevolvegccinawaythat>rms/FSFdoesnotapproveof?Acompilerisnotsomethingpeoplehavemuchemotionalattachmentto.Ifthelanguagetobecompiledisagiven(e.g.,anANSIstandard),thereisn'tmuchroomforpeopletoinventnewfeatures.Anoperatingsystemhasunlimitedopportunityforpeopletoimplementtheirownfavoritefeatures.AndyTanenbaum([email protected])

    From:[email protected](LinusBenedictTorvalds)Subject:Re:UnhappycampersDate:6Feb9210:33:31GMTOrganization:[email protected](AndyTanenbaum)writes:>>IfLinuswantstokeepcontroloftheofficialversion,andagroupofeager>beaverswanttogooffinadifferentdirection,thesameproblemarises.ThisisthesecondtimeI'veseenthis"accusation"fromast,whofeelsprettygoodaboutcommentingonakernelheprobablyhaven'tevenseen.Oratleasthehasn'taskedme,orevenreadalt.os.linuxaboutthis.Justsothatnobodytakeshisguessforthefullthruth,here'smystandingon"keepingcontrol",in2words(three?):Iwon't.TheonlycontrolI'veeffectivelybeenkeepingonlinuxisthatIknowitbetterthananybodyelse,andI'vemademychangesavailabletoftpsitesetc.Thosehavebecomeeffectivelyofficialreleases,andIdon'texpectthistochangeforsometime:notbecauseIfeelIhavesomemoralrighttoit,butbecauseIhaven'theardtoomanycomplaints,anditwillbeacoupleofmonthsbeforeIexpecttofindpeoplewhohavethesame"feel"forwhathappensinthekernel.(Well,maybepeoplearegettingthere:tytsocertainlymadesomeheavychangesevento0.10,andothershavehackeditaswell)InfactIhavesentoutfeelersaboutsome"linuxkernel"mailinglistwhichwouldmakethedecisionsaboutreleases,asIexpectIcannotfullysupportallthefeaturesthatwill/have/tobeadded:SCSIetc,thatIdon'thavethehardwarefor.Theresponsehasbeennonexistant:peopledon'tseemtobethateagertochangeyet.(well,onepersonfeltIshouldaskaroundfordonationssothatIcouldsupportitandifanybodyhasinterestinghardwarelyingaround,I'dbehappytoacceptit:)Theonlythingthecopyrightforbids(andIfeelthisiseminentlyreasonable)isthatotherpeoplestartmakingmoneyoffit,anddon'tmakesourceavailableetc...Thismaynotbeaquestionoflogic,butI'dfeelverybadifsomeonecouldjustsellmyworkformoney,whenImadeitavailableexpresslysothatpeoplecouldplayaroundwithapersonalproject.Ithinkmostpeopleseemypoint.Thataside,ifFredvanKempenwantedtomakeasuperlinux,he'squitewellcome.Hewon'tbeabletomakemuchmoneyonit(distributionfeeonly),andIdon'tthinkit'sthatgoodanideatosplitlinuxup,butIwouldn'twanttostophimevenifthecopyrightletme.>Idon'tthinkthecopyrightissueisreallytheproblem.Theproblemis>coordinatingthings.ProjectslikeGNU,MINIX,orLINUXonlyholdtogether>ifonepersonisincharge.Yes,coordinationisabigproblem,andIdon'tthinklinuxwillmoveawayfrommeas"headsurgeon"forsometime,partlybecausemostpeopleunderstandabouttheseproblems.Butcopyright/is/anissue:ifpeoplefeelIdoabadjob,theycandoitthemselves.Likewisewithgcc.Theminixcopyright,however,meansthatifsomeonefeelshecouldmakeabetterminix,heeitherhastomakepatches(whicharen'tthatgreatwhateveryousayaboutthem)orstartofffromscratch(andbeattackedbecauseyouhaveotherideals).Patchesaren'tmuchfuntodistribute:Ihaven'tmadecdiffsforasingleversionoflinuxyet(Iexpectthistochange:soonthepatcheswillbesomuchsmallerthanthekernelthatmakingbothpatchesandacompleteversionavailableisagoodideanotethatI'dstillmakethe

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 18/20

    wholeversionavailabletoo).Patchesuponpatchesaresimplyimpractical,especiallyforpeoplethatmaydochangesthemselves.>>Whereisthesizeablegroupofpeoplethatwanttoevolvegccinawaythat>>rms/FSFdoesnotapproveof?>Acompilerisnotsomethingpeoplehavemuchemotionalattachmentto.If>thelanguagetobecompiledisagiven(e.g.,anANSIstandard),thereisn't>muchroomforpeopletoinventnewfeatures.Anoperatingsystemhasunlimited>opportunityforpeopletoimplementtheirownfavoritefeatures.Well,there'sGNUemacs...Don'ttelluspeoplehaven'tgotemotionalattachmenttoeditors:)Linus

    From:[email protected](DavidMiller)Subject:LinuxisObsoleteandfollowuppostingsDate:3Feb9201:03:46GMTOrganization:AppliedComputerGroupAsanobserverinterestedinoperatingsystemdesign,Icouldn'tresistthisthread.PleaserealizethatIamnotreallyexperiencedwithminuxorlinux:Ihavebeenintounixformanyyears.First,afewobservations:MinixwaswrittentobeaneducationaltoolforASTs'classes,notacommercialoperatingsystem.Itwasneveradesignparametertohaveitrunfreelyavailablesourcecodeforunixsystems.Ithinkitwasalsoastatementofhowoperatingsystemsshouldbedesigned,withamicrokernelandseperateprocessescoveringasmuchoftherequiredfunctionalityaspossible.LinuxwaswrittenmostlyasalearningexerciseonLinusparthowtoprogramthe386family.Designingtheultimateoperatingsystemwasnotanobjective.Providingausable,freeplatformthatwouldrunallsortsofwidelyavailablefreesoftwarewasaconsideration,andonethatappearstohavebeenwellmet.Criticismfromanyonethateitherofthesesystemsisn'twhat*they*wouldlikeittobeismisplaced.Afterall,anybodythathasacomputerthatwillruneithersystemisfreetodowhatLinusandAndrewdid:writeyourown!I,forone,applaudLinusforhisconsiderableeffortindevelopingLinuxandhisdecisiontomakeitfreetoeverybody.IapplaudASTforhisefforttomakeminixaffordableIhaverealtroublerelatingtocomplaintsthatminixisn'tfree.Ifyoucanaffordthetimetoexploreminix,andabasiccomputersystem,$150isnotmuchmoreandyoudogetabooktogowithit.Next,afewquestionsfortheprofessor:Isminixsupposedtobea"realoperatingsystem"oraneducationaltool?Asaneducationaltoolitisanexcellentwork.Asarealoperatingsystemitpresentssometerriblyroughedges(whynomalloc()?,justforstarters)MyfeelingfromreadingTheBookandlisteningtopostingshereisthatyouwantedatooltoteachyourclasses,andalotofotherswantedtoplaywithanaffordableoperatingsystem.Theseothershavebeentryingtoboltonenoughfeaturestomakeita"realoperatingsystem",withlessthanoutstandingsuccess.Whysplitfundementalosfunctions,suchasmemorymanagement,intouserprocesses?Asallgood*nixgurusknow,themeanstosuccessistodivideandconquer,withthegoalbeingto*simplify*theproblemintomanagable,welldefinedcomponents.Ifsplittingbasicpartsoftheoperatingsystemintouserspaceprocessescomplicatesthefunctionbyintroducingadditionalmechanisms(messagepassing,complicatedsignals),havewemettheobjectiveofsimplifyingthedesignandimplementation?Iagreethat*nixhassufferedabadcaseoffeatureitisespeciallysysVr4.Perhapsthefeaturesthatpeoplewantforeitherfunctionalityorcompatibilitycouldbeofferedbyruntimeloadablemodules/librariesthatofferthesefeatures.Themicrokernelwouldstillbeabaselevelresourcemanagerthatalsoroutesfunctionrequeststotheappropriatemodule/library.Themodulescouldbethreadsoruserprocesses.(Ithinkoshackerspleasecorrectme:))Justmy$.04worthpleasefeelfreetopostoremailresponses.Ihavenoformalprogressivetrainingincomputerscience,soIamreallyaskingthesequestionsinignorance.Isuspectalotofothersonthenethavesimilarquestionsintheirownminds,butI'vebeenwrongbefore.David

    From:[email protected](MichaelHaardt)Subject:1.6.17summaryandwhyIthinkASTisright.Date:6Feb9220:07:25GMTReplyTo:[email protected](MichaelHaardt)Organization:Gandalfa38620machineIwillfirstgiveasummaryofwhatyoucanexpectfromMINIXin*near*future,andthenexplainwhyIthinkASTisright.

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 19/20

    Sometimeago,IaskedfordetailsaboutthenextMINIXrelease(1.6.17).Igotsomeresponse,butonlyfrompeoplerunning1.6.16.Thefollowinginformationsarenotofficialandmaybewrong,buttheyareallIknowatthemoment.Correctmeifsomethingiswrong:The1.6.17patcheswillberelativeto1.5asshippedbyPH.Theheaderfilesareclean.Thetwotypesoffilesystemscanbeusedtogether.ThesignalhandlingisrewrittenforPOSIX.Theoldbugisremoved.TheANSIcompiler(availablefromTransmediar,Iguess)comeswithcompilerbinariesandnewlibraries.Theredon'tseemtobesupportfortheAmoebanetworkprotocol.times(2)returnsacorrectvalue.termios(2)isimplemented,butit'smoreahack.Idon'tknowif"implemented"meansinthekernel,orthecurrentemulation.Thereisnodocumentationaboutthenewfilesystem.Thereisanewfsckandanewmkfs,don'tknowaboutde.WiththeANSIcompiler,thereisbetterfloatingpointsupport.Theschedulerisimproved,butnotasgoodaswrittenbyKaiUweBloem.IaskedthesethingstogetfactsforthedecisionifIshouldupgradetoMINIX1.6.17ortoLinuxaftertheexamensareover.Well,thedecisionismade:IwillupgradetoLinuxattheendofthemonthandremoveMINIXfrommywinchester,whenLinuxrunsallthesoftwareIneedandwhichcurrentlyrunsunderMINIX1.5withheavypatches.Iguessthismaytakeuptotwomonths.Thesearethemainreasonsformydecision:Thereisno"current"MINIXrelease,whichcanbeusedasbasisforpatchesandnobodyknows,when1.6.17willappear.ThelibrarycontainsseveralbugsandfromwhatIhaveheard,thereisnoworkdoneatthem.Therewillnotbeanewcompiler,andthe16bitusersstillhavetousebuggyACK.1.6.17shouldoffermorePOSIX,butacompletetermiosisstillmissing.Idoubtthatthereisstillmuchdevelopmentfor16bitusers.IthinkIwillstopmaintainingtheMINIXsoftwarelistinafewmonths.Anyoneoutthere,whowouldliketocontinueit?UntilLinuxruns*perfect*onmymachine,eachupdateofOrigamiwillstillrunon16bitMINIX.Iwillannouncewhenthelastoftheseversionsappears.Inmyopinion,ASTisrightinhisdecisionaboutMINIX.Ireadtheflamewarandcan'tresisttosaythatIlikeMINIXthewayitis,nowwherethereisLinux.MINIXhassomeadvantages:Youcanstartplayingwithitwithoutawinchester,youcanevencompileprograms.Ididthisafewyearsago.Itissosmall,youdon'tneedtoknowmuchtogetasmallsystemwhichrunsok.Thereisthebook.Ok,onlyforversion1.3,butmostofitisstillvalid.MINIXisanexampleofanonmonolithickernel.Callitamicrokernelorahacktoovercomebraindamagedhardware:Itdemonstratesaconcept,withitsprosandconsadocumentedconcept.Inmyeyes,itisanicesystemforfirststepsinUNIXandsystemsprogramming.IlearnedmostofwhatIknowaboutUNIXwithMINIX,inallareas,fromprogramminginCunderUNIXtosystemadministration(andsecurityholes:)MINIXgrewwithme:1.5.xxupgrades,virtualconsoles,mail&news,textprocessing,crosscompilingetc.Nowitistoosmallforme.Idon'tneedateachingsystemanymore,IwouldliketogetamorecomplicatedandfeaturefulUNIX,andthereisone:Linux.Backintheolddays,v7wasstateoftheart.TherewasMINIXwhichofferedmostofit.Inoneortwoyears,POSIXiswhatyouareusedtosee.Hopefully,therewillbeMINIX,offeringmostofit,withanewbook,forpeoplewhowanttorunasmallsystemtoplayandexperimentwith.Stopflaming,MINIXandLinuxaretwodifferentsystemswithdifferentpurposes.Oneisateachingtool(andagoodoneIthink),theotherisrealUNIXforrealhackers.Michael

    From:[email protected](NielsSkovOlsen)Subject:Re:1.6.17summaryandwhyIthinkASTisright.Date:10Feb9217:33:39GMTOrganization:DepartmentofComputerScience,UofCopenhagen

  • 1/7/2015 AppendixATheTanenbaumTorvaldsDebate

    http://www.oreilly.com/openbook/opensources/book/appa.html 20/20

    [email protected](MichaelHaardt)writes:>Stopflaming,MINIXandLinuxaretwodifferentsystemswithdifferent>purposes.Oneisateachingtool(andagoodoneIthink),theotheris>realUNIXforrealhackers.Hear,hear!AndnowLinuxarticlesinalt.os.linux(orcomp.os.miscifyoursitedon'treceivealt.*)andMinixarticleshere.eoff(endofflamefest:)Niels

    AppendixB>

    oreilly.comHome|O'ReillyBookstores|HowtoOrder|O'ReillyContactsInternational|AboutO'Reilly|AffiliatedCompanies|PrivacyPolicy

    2000,O'Reilly&Associates,Inc.