Sean Hincheeinitial push75d07b48 years agoHistory
547 lines · 4.4 KB · HTML
RawDownload
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head>	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />	<meta name="keywords" content="9p, 9p2000, research, Plan 9, Inferno, Unix, Open Source, Bell Labs" />	<meta name="description" content="Open source distributed operating system Plan 9 from Bell Labs." />	<link rel="stylesheet" href="/wiki-style.css" media="all" type="text/css" />	<title>Overview (Diff)</title></head><body><h1><a name="top"></a>Overview <i>-Diff-</i></h1> <div class='body'> <!-- ***************************** --> <hr /><div class='diff_head'><a href="index.html">Sat Mar 14 15:22:44 EDT 2009</a>, stevie</div><hr /><a name="WHY_PLAN_9?" /><h3>WHY PLAN 9?</h3> <p class='para'>WhyPlan9indeed.Isn'tPlan9justanotherUnixclone?Whocares?</p> <p class='para'>Plan9presentsaconsistentandeasytouseinterface.Onceyou'vesettledin,thereareveryfewsurpriseshere.AfterIswitchedtoLinuxfromWindows3.1,InoticedallmannerofinconsistentbehaviorinWindows3.1thatLinuxdidnothave.SwitchingtoPlan9fromLinuxhighlightedjustasmuchinLinux.</p> <p class='para'>OnereasonPlan9candothisisthatthePlan9grouphashadtheluxuryofhavinganentiresystem,soproblemscanbefixedandfeaturesaddedwheretheybelong,ratherthanwheretheycanbe.Forexample,thereisnottydriverinthekernel.Thewindowsystemhandlesthenuancesofterminalinput.</p> <p class='para'>IfPlan9wasjustareallycleanUnixclone,itmightbeworthusing,oritmightnot.Theneatthingsstarthappeningwithuser-levelfileserversandper-processnamespace.InUnix,/dev/ttyreferstothecurrentwindow'soutputdevice,andmeansdifferentthingstodifferentprocesses.Thisisaspecialhackenabledbythekernelforasinglefile.Plan9providesfull-blownper-processnamespaces.InPlan9/dev/consalsoreferstothecurrentwindow'soutputdevice,andmeansdifferentthingstodifferentprocesses,butthewindowsystem(ortelnetdaemon,orsshdaemon,orwhatever)arrangesthis,anddoesthesamefor/dev/mouse,/dev/text(thecontentsofthecurrentwindow),etc.</p> <p class='para'>Sincepiecesoffiletreecanbeprovidedbyuser-levelservers,thekernelneednotknowaboutthingslikeDOS'sFATfilesystemorGNU/Linux'sEXT2filesystemorNFS,etc.Instead,user-levelserversprovidethisfunctionalitywhendesired.InPlan9,evenFTPisprovidedasafileserver:yourunftpfsandthefilesontheserverappearin/n/ftp.</p> <p class='para'>Weneednotstopatphysicalfilesystems,though.Otherfileserverssynthesizefilesthatrepresentotherresources.Forexample,upas/fspresentsyourmailboxasafiletreeat/mail/fs/mbox.ThismodelstherecursivestructureofMIMEmessagesespeciallywell.</p> <p class='para'>Asanotherexample,cdfspresentsanaudioordataCDasafilesystem,onefilepertrack.Ifit'sawritableCD,copyingnewfilesintothe/mnt/cd/waor/mnt/cd/wddirectoriesdoescreatenewaudioordatatracks.WanttofixatetheCDasaudioordata?Removeoneofthedirectories.</p> <p class='para'>Plan9fitswellwithanetworkedenvironment,filesanddirectorytreescanbeimportedfromothermachines,andallresourcesarefilesordirectorytrees,it'seasytoshareresources.Wanttouseadifferentmachine'ssoundcard?Importits/dev/audio.Wanttodebugprocessesthatrunonanothermachine?Importits/proc.Wanttouseanetworkinterfaceonanother

Lines 1–500 of 547.