1108HardDiskFileSystemIntroduction:The1108harddiskfilesystemisdesignedtoprovideInterlisp-Duserswithaflexiblemechanismforstoringandaccessingfiles.Likethefilesystemsforthe1100and1132,the1108filesystemsupportsfeatureslikerandomaccessandversionnumbersonfiles.Inadditionthe1108localfilesystemsupportsahierarchicalnamingstructuresforfiles.Thoughthefirstreleaseofthe1108filesystemdoesnotsupportdirectaccessfromwithinInterlisp-DtoMESAandSTARfilepartitions,itispossibletohavepartitionsforMESAandSTARonthesamediskusedbyInterlisp-D.MorecompletecompatibilitywithMESAandSTARisplannedforfuturereleasesofthissoftware.PartitioningtheDisk:Theharddiskusedwithan1108maybepartitionedintouptosixregionscalledlogicalvolumes.Eachofthesevolumesactslikeaseparatedevice.SomemaybeusedtoholdfilesusedwiththeInterlisp-Dsoftware,whileothersmaybereservedforSTARandMESAfiles.YoucanpartitionthediskusingtheInstallationUtilityfloppy,describedelsewhere.Sincepartitioningtheharddiskerasesallitscontents,youareadvisedtopartitionthediskappropriatelybeforestoringanythingonit;otherwise,youwillhavetooffloadallfilesfromthedisk,partition,andthencopythefilesbacktothedisk.InordertoruntheInterlisp-Dsoftware,alogicalvolume(usuallynamedLISP)isneededtocontainthesystemvirtualmemoryandmicrocode.Itshouldbe15,600pageslong;ifshorter,itmustbethelastlogicalvolumeonthedisk.Thislogicalvolumeshouldnotbeusedforuserfilespace.Ifyouwishtostoreuserfilesontheharddisk,alogicalvolume(preferablynamedDSK)shouldbeallocatedforthispurpose.ThisvolumecanbeusedfromwithinInterlisp-Djustlikethe{DSK}deviceonthe1100and1132exceptthatitsupportsahierarchicalnamingstructureforfiles.Thislogicalvolumemaybeofanydesiredsize(butprobablyshouldnotbelessthan1,000pages).YoucaninfactuseseverallogicalvolumestostoreLispuserfiles.IfyoudonothavealispuserfilelogicalvolumecalledDSK,the{DSK}devicewillbeemulatedbyacoredevice,whichisfineexceptthat(a)itprovideslimitedscratchspaceforsomesystemprogramsand(b)whenrunningGREET,Interlispwillfailtofind{DSK}INIT.LISPandwillhavetoprompttheuserforaninitfile.InstallingaFileDirectoryonaLogicalVolume:AnInterlisp-Dfiledirectorymustbeinstalledonan1108volumebeforeanyfilescanbewrittentoit.ThisisdoneusingthefunctionMKDIR:(MKDIR)[function]MKDIRinstallsafiledirectoryonthenamedlogicalvolume.Forexample,(MKDIR'DSK)willinstallafiledirectoryonthelogicalvolumenamedDSK.WhenMKDIRfinishes,amessageisprintedstatingthatthelogicalvolumenowhasadirectory.OnemusttakesomecareininstallinganInterlispdirectoryonavolumenottoinadvertentlydestroyinformationalreadystoredthere.Forinstance,ifthelogicalvolumealreadyhasMESAorSTARfilesonit,accesstothesefileswillbelost.IfthelogicalvolumealreadyhasaLISPdirectoryonit,thatdirectoryandhenceaccesstothefilesitcontainswillbelostifanewdirectoryisinstalled.Thespaceusedbythedirectoryandfileswillalsobelost.InstallinganInterlispp c/ b6q b6b6 b6 ` `` ` _ __ wN%X/b9lCC_r_"v&*/4_q_4_ ^. ^.^. ^. \ \\ \ [~r [~[~ [~q[~[~ Z& Z&Z& Z& X XXN$'/18L B`GjGjX Wv WvWv%b $$*.86<=VADIIWv V VVb$(W,06>-EIIV T TT '*/03B:>-B`GjGjT Sn SnSn%C )./ 8L;AB`HAHASn R RRNX$$(W.82k5<B`HAHAR P PP% !%).-a1 ;>-@HAJJP Of OfOf% b#M'*-a159< GjHAHAOf N NN% "v&*.82k4;?DDN L LL9 L K^ K^K^ K^ Jr JJ J H HH 9rH GV GVGV GV Eq EEN!%).+ 59<?B`IIE D DD$$&+2k6:<DJKKD CN CNCN%9$).-a0 :C7HAHACN A AA/C!%).-a3B47u:C7FJJA @ @@XX@s@ C$$@q@$+4 =V>-C7C7@ ?F ?F?F 9l!'*.869=VDFF?F = ==X &,3B:=V@ II= < <<N9#M(W,/4 >-AEII< ;> ;>;>NXl!;> 9 99 9 8 88 wb %.8/6<DII8 76 7676b!$*17u: DDGjGj76 5 55X9C#M%-a/469>-DJJ5 4 44 w!'-a03B7u:?C7HG4 3. 3.3. 3. 1 11 w %(W+/46=VC7C71 0~ 0~0~ C$$&/2k6>-?C7II0~ /& /&/&N9 ).-a149?B`EII/& - --Nb&(W 3B9#ADJKK- ,v ,v,v%!$$'.82k6>-DGjII,v + ++%Xb#M&).-a07u>-DGjGj+ ) ))/bC!$'*/049#=VDII) (n (n(nbl#M'*145 ?DGjGj(n ' ''%9&-a49#<@FF' % %%9l$$*2k6:=VAA% $f $f$f #M%+/3B69#=VA$f # ## # ! !! ! ^r ^ ^ /"v$&-a3B ^q ^3H ^      w $$(W*3B58L<B`HAHA V VVNX9"v%*,059#@EV     #j + N NN N  9l%(W+07u>-?B`II   "v&/14;AFJKK F FF%/C$'.849#<C7IIF  NX     > >>N! *-a5>-@B`HAHA>  N #M -a49?@DD X9%,/46:?B`EE 6 6 6Xbl!$$).*,/6<C7FHAHA 6 %l!*-a2k8L:>-C7EE 9l!$-a/ 9#9=VB`FII . ..N#M'*// 9#;DD.  q?[directoryissomethingthatshouldonlyhavetobedonethefirsttimethelogicalvolumeisused.Afterthat,thesystemwillautomaticallyrecognizeandopenaccesstothelogicalvolumesthathaveInterlispdirectoriesonthem.IfalogicalvolumealreadyhasanInterlispdirectoryonit,theMKDIRfunctionwillrequestconfirmationbeforeproceeding.AccessingLogicalVolumesFromInterlisp-D:OnceanInterlispdirectoryhasbeeninstalledonalogicalvolume,anyprogramrunnninginthesystemhasaccesstothevolume.Thelogicalvolumeasawholeistreatedasadevice.ThusthelogicalvolumeDSKisreferredtoasthedevice{DSK}fromwithinInterlisp-D.(ThebracessurroundingthenameDSKindicatethereferenceistoadevice.)Asanexample,considertheloadingofaninitfiledoneduringGREET.Thesystemlooksforthefile{DSK}INIT.LISP,andifoneexistsloadsit.AnewfilecanbecreatedontheDSKlogicalvolumebyexecutingthefunctioncall(OPENFILE'{DSK}MYFILE'OUTPUT).Unlikethelocaldisksystemsonthe1100and1132,the1108harddisksystemsupportsahierarchicalnamingconventionforfiles.Thereisn'treallyasubdirectorystructure,butthenamingconventionmakesitappearasifoneexists,andletsusersgroupfiles.Thecharacters"<"and">"areusedtodelimitlevelsofthehierarchary.The"<"characterisusedonlyatthetoplevel.Theremaininglevelsaredenotedbythe">"character.Forexampleconsideratwolevelstructureonthedevice{DSK}.Letthetoplevelbeauser'snameandthenextlevelbeagroupofutilityprograms.Theuser'snamewillbeWIZARDandthetheutilitylevelwillbenamedUTILS.ThefileMOVEFILES.DCOMstoredattheutilitylevelwillthusbereferencedas{DSK}UTILS>MOVEFILE.DCOM.Asaconvenience,the1108localdisksystemsupportsconnectingtoanylevelinthenamehierarchy.ThusifonewantedtoworkwithWIZARD'sutilitiesforawhile,thecommandCONN{DSK}UTILS>wouldsetupadefaultpaththatmakestypinganythingbuttheactualfilenameunnecessary.So(LOAD'MOVEFILES.DCOM)wouldinfactloadthefile{DSK}WIZARD>UTILS>MOVEFILES.DCOM.TheInterlisp-Dfilesystemprovidesfordevicedependentfileattributes,whichcanaccessedandsetbythefunctionsOPENFILE,SETFILEINFO,andGETFILEINFO.Theattributesacceptedbythe1108localdisksystemareasfollows:InthefunctionOPENFILE,settingtheLENGTHattributesetstheinitialallocationofspaceforthefile(inbytes).SettingtheCREATIONDATEtoastringoveridesthedefaultofusingthecurrenttime.InthefunctionGETFILEINFO,theLENGTHattributereturnsthecurrentlengthofthefileinbytes.AUTHORreturnstheauthorofthefileasanatom.CREATIONDATEreturnsthecreationtimeforthefileasastring,READDATEreturnsthetimeatwhichthefilewaslastopenedforreading,andWRITEDATEreturnsthetimethefilewaslastopenedforwrite.ICREATIONDATE,IREADDATE,andIWRITEDATEreturnthecorrespondingtimesasintegersthatGDATEwillconverttostringform.InthefunctionSETFILEINFO,settingtheLENGTHattributewillchangethesizeofthefile.SettingAUTHORasanatomorstringwillchangetheauthorofthefile.(Onlythefirst40charactersareretained).SettingCREATIONDATEtoastringchangesthecreationdateforthefile.SettingICREATIONDATEtoaninteger(returnedbyIDATE)changesthecreationdateforthefile.OtherUsefulFunctions:(VOLUMEDISPLAY)canbeusedtocreateastatuswindowforthelocaldiskshowingthenamesofthevolumes,theamountofspaceallocatedto ^ b6q b6b6XC"v(W,03B59=VB`FIIb6 ` ``$*-a3B7u C7C7` _ __X #M&-a48L<DD_ ^. ^.^. l!(W.848L:C7C7^. \ \\X9!).-a4 ?DD\ [~ [~[~ 5[~ Z& Z&Z& Z& X XX X Wvr WvWvX $ /WvqWv/Wv V VV V T TT%"v%*2k46=VDGjGjT Sn SnSn9$(W.804:>-DJJSn R RR w%/l!(W).-a07u=V@C7JJR P PP wX9C"v(W 3B48L>- HAHAP Of OfOfNl ).+.8/7u8L:=VDDOf N NN!%*.849:>-DIIN L LLN#M&).,2k7u:;=V@DHAJJL K^ K^K^/!'*2k5=VAIIK^ J JJ rJ H HH H GV GVGV/9l$$&*.8169>-B`FFGV E EEb $* 47u=V>-C7HAHAE D DD l &*-a3B <ADIID CN CNCN wXl!&+12k5 ?B`EIICN A AAN!$$' 2k3B69B`DIIA @ @@%bC"v*04:=V@DD@ ?F ?F?F /b&(W+09#;?DJKK?F = ==NC$$(W+/3B8L:<ADJJ= < <<X/l!%(W.8148L?DHAJJ< ;> ;>;>C *03B6=VB`FJJ;> 9 99 w 9!49 8 88 8 76 7676 w% l!&*08L ADGjGj76 5 55 #M$$(W*.846:?FF5 4 44Xl '+<ADGjII4 3. 3.3.$,/3B9#=VAA3. 1 11 9C,148L<?DD1 0~ 0~0~!&0~ /& /&/& /& - --N b"v*-a3B;? II- ,v ,v,vXC!$$'/8L C7FF,v + ++  #M*-a049>-DGjII+ ) ))) (n (n(n (n ' '' wb '*09#=V@GjGj' % %% /"v&*018L; FIJJ% $f $f$fb"v$*-a48R$f # ## # ! !! wb #M&,4;?EE! ^ ^ ^Xl#M$$*049<?DFII ^   "v%-a148L<?@GjGj  9 #M(W+/3B7u=V@HAHA V VVNl $(W,/49=VC7DDV    $$ -a3B6 B`GjII  &)./3H N NN N   wb #M*-a3B;?EII  %!'*,03B9#=VC7FF F FFX!$*, 59# B`C7IIF   b&*159#<AB`II   9"v*-a3B9=VDII > >>N>    6r 6 6 I 6 q C!$$(W*02k8L>-ADII . ..%9C $$+/47u<DGjGj. q?[eachvolumeandtheremainingspaceoneachvolume.(VOLUMEDISPLAY'ON)opensthewindowintheplaceitwaslastleftonthescreen.(VOLUMEDISPLAY'OFF)closesthewindow.Manuallyclosingthestatuswindowusingtheright-buttonmenuautomaticallydoes(VOLUMEDISPLAY'OFF).IftheVolumeStatuswindowison,itisupdatedasspaceforfilesisallocatedandreleasedduringthecourseofanInterlisp-Dsession.Inaddition,an"*"characterisdisplayedinthefilesystemstatuswindowtotheleftofeachvolumenamethathasanopenInterlispfiledirectoryinstalledonit.ThisnotationindicateswhichofthelogicalvolumesonthelocaldiskareaccessiblefromInterlisp-D.(DFSVOLUMES)returnsalistofthenamesofthelogicalvolumesonthe1108.(DFSLISPVOLUMEP)returnsnon-NILiffthenamedvolumehasanInterlispfiledirectoryopenforInterlispaccess.(CURRENTVOLUME)returnsthevolumenameofthevolumecontainingthecurrently-runningvirtualmemory.Limitations:Futurereleasesofthe1108harddiskfilesystemwillallowPilotandLispfilestocoexsistonthesamelogicalvolumeandsharethesamedirectory.Inthisrelease,however,PilotandLisplogicalvolumesareincompatible.ItshouldalsobenotedthatatthecurrenttimethereisnoprovisionfordirectlyinstallingaSYSOUTmadebytheInterlisp-Dfilesystemonan1108localdisk.DoingthisrequiresmorecompatibilitywiththeMESAdiskhandlingsystemthanisnowimplemented.SYSOUTScanbemadedirectlytofloppydisks,however.ItisalsopossibletomakeaSYSOUTdirectlytoafileserver(installationofInterlisp-Dfromafileserverissupported)ortomaketheSYSOUTonalocaldiskvolumeandcopyittotheserverfromInterlisp-DviathefunctionCOPYFILE.ErasinganInterlispFileSystemVolume:AtsomepointintimeitmaybecomenecessarytoeraseanentireInterlisplocalfilesystemvolume.Forexample,youmaywishtousethatvolumeforstoringandexecutinganInterlispvirtualmemoryimage.Alternatively,youmayhaveaccidentlyusedMKDIRonanalready-existingfilevolume,andyouwishtoreclaimthespacethatwaslost.Unfortunately,thereiscurrentlynoeasywaytodothisfromwithinInterlisp.ToeraseanentireInterlisplocalfilesystemvolume,dothefollowing:1)BeforeleavingInterlisp,callthefunction(MAKEPILOT)[function]Thiswillremovethefiledeviceassociatedwiththevolumeandwillmakenon-Lisptools(suchastheInstallationUtilityfloppyandtheLispInstallationTool)abletorecognizethevolume.[IfyouareaXeroxinternaluser,skipsteps2and3andinsteadbootOthelloandusethe"EraseVolume"commandtoerasethevolumeinquestion.]2)BoottheInstallationUtilityfloppy.Thiswillpresentamenuofoperations.Choosetheoperation"PhysicalVolumeScavenge".Thiswillaskforaconfirmation.NotethatthisoperationwillresetALLInterlispfilesystemvolumesonthe1108.Ifyouhavemultiplefilevolumes,theircontentsshouldbesavedbeforedoingthis.3)BoottheLispInstallationTool,andusethe"Erase!"commandtoerasethebadvolume.(YouwillnotbeabletoboottheLispInstallationTool ^ b6q b6b6%b$$).+/67u DHAHAb6 ` ``X9$$&*.82k48L???` _ __ "v%,-a4;?DJJ_ ^. ^.^.X C"v .82k ?D^. \ \\ \ [~ [~[~ w"v$(W*-a46;?DFF[~ Z& Z&Z&XC$$'-a/2k <DDGjGjZ& X XXX9!$$,/2k6<B`HAJJX Wv WvWvN9#M'*-a19>-FFWv V VVX9C%.83B59#?FIIV T TTNX $$(W 3B3HT Snr SnSn Sn Rq RR C"v$(W-a/3B9@C7FFR P PP+P Of OfOf Of N NNb+2k9#<?DJJN L LLN9l%*-a5;L K^ K^K^ K^ J JJb"v(W,/2k8L ADDJ H HH &H GV GVGV GV E EE E Dr DD  D CNq CNCN CN A AAbC"v&*/49#>-C7FJJA @ @@$$*049#<@ IJJ@ ?F ?F?F w9 %).-a4:>- I?F = == = < << wX#M%)./49#;>-FII< ;> ;>;> l#M'*-a 7u;ADFJJ;> 9 99'+ 7u;?C7GjGj9 8 88b"v -a.848L:?FII8 76 7676C!$$(W/2k68L>-EHAII76 5 55% !$$ .82k48L>-@ II5 4 44 w/l!&*048L:=V@FJJ4 3. 3.3. b#M++3. 1r 11 1 0~ 0~0~ 0~ /& /&/&/ &+/&q/&,/& - -- - ,v ,v,v w9l#M).149#;AII,v + ++/ !$,/3B7u9=VAGjJJ+ ) ))l(W/4:; HAHA) (n (n(nN #M(W*-a;?FII(n ' ''N$$(W+01 >-C7EE' % %%Xl"v&*0 9:=VB`DJJ% $f $f$fXb"v).+/ 7{$f # ## # ! !! wN/ $$(W+3B3H! ^ ^ ^ ^   /'(W 11    V VV%X9 & /47u=V@DIIV  "v -a49=V@DD   !*-a3H N NN N  N#M(W,13B68L;B`FF  b!(W/169?B`B` F FF ^F      wN '.8/3B7u>-?DFF > >> '/5 ??DHAHA>  NX $$(W,49#>-AII %C!&'*-a19#=VDII 6 6 6b%*/00 6  wN $*-a04;B`DII . ..Nb9l!$'+.82k59 DII. q?["untilyouhavedonethephysicalvolumescavengedescribedinstep2.)4)RestartyourInterlispmemoryimage.Scavenging:Thisimplementationofthe1108harddiskfilesystemincludesapartialscavengershouldyourfilesystemcrash.Ifyourlocalfilesystemdirectorybecomessmashed,callthefunction(SCAVENGEVOLUME)[function]Providedthefilemapsarestillintact,thiswillrebuildyourdirectorywithnewfilenames.YoucanthenrenamethefilesappropriatelybyusingSEEtolookatcontents,andsortoutversionnumbersbyusingGETFILEINFOtocomparecreationdates.Futureimplementationsofthefilesystemwillincludeascavengerthatwillrebuildfilemapsaswell. ^ b6q b6b6X&,4<?C7Eb6 ` `` ` _ __ wN9!',_ ^. ^.^. ^. \ \\ \ [~r [~[~ X[~q[~5[~ Z& Z&Z& Z& X XX% C!%*.82k8L?AHAHAX Wv WvWvX9l!'-a.8049>-DDWv V VVX!%)./V T TT T Sn SnSnb+, 4Sn R RR R P PPC!&-a15<@IIP Of OfOf%l $$(W.816 B`DIIOf N NNN#M'*18L:?@ JJN L LL w/ L K^ K^K^ K^ J JJC $$(W.82k9#:C7GjGjJ H HH%C %H GV GVGV GV E EE wN%X/b9lC E D DD D CN CNCN CN A AA A @ @@ @ ?F ?F?F ?F = == =Z q?[:~GACHA ~GACHA ~GACHA ~GACHA l )-j/0.({PHYLUM}LIBRARY>DLIONFS.TEDIT;3SANNELLA30-May-84 14:03:59