To Cedar Users  Date December 19, 1983
From Jim Donahue  Location PARC/CSL
Subject Getting Started in Cedar 5.0
Getting Started in Cedar 5.0

Attributes:
 Cedar 5
Draft:
 [Indigo]<PreCedar>Documentation>InitializationDoc.tioga
Last edited by: John Maxwell on November 2, 1983 3:49 pm
 vanLeunen November 11, 1983
 Donahue December 19, 1983 10:10 am
Abstract: This is a brief description of how to change from Cedar 4.4 to Cedar 5.0 -- how to format your disk, what happens when you boot, checkpoint, and rollback, and what some of the major changes in the user interface are for Cedar 5.
Restructuring Your Disk
Cleaning up
Save your private files on a server
Before you proceed with the installation instructions given below, first clean up your old world and move the files you want to save to a file server. You can use DFDisk to make sure that you have got them all. (The files that haven't been SModel'ed to a file server are listed at the end of Disk.df under [Unknown]<Unknown>.)
Make a new user profile
One of the changes in Cedar 5.0 is that it uses a user profile entry to decide what DF files to bring over during booting. The boot looks in your user profile for an "Installation.Bringover" entry, which can be any list of DF Files; only the exported components of these DF files are fetched.
What if you're just getting started and don't even have a user profile on your local disk? In this case, the booting machinery will try to find a user profile in a reasonable place. First, if you have a directory on Ivy, it will be searched for a <UserName>.profile; if this fails, then the default profile is taken from [Indigo]<Cedar>Top>User.Profile.
You cannot boot Cedar 5 correctly with a Cedar 4.4 user profile. So, if you have an old profile stored on [Ivy]<UserName>UserName.profile, you should either
delete it (in which case the standard User.profile will be used), or
change it to make it suitable for 5.0. The easiest way to do this is to retrieve the profile stored on [Indigo]<Cedar>Top>User.profile, make whatever modifications you want, and then store the result on [Ivy]<UserName>UserName.profile. Unless you really know what you're doing, don't change the Installation.Bringover option that is specified there.
There have been a large number of changes in the user profile options for Cedar 5, so if you plan substantial modification of the default profile, look in [Indigo]<Cedar>Documentation>UserProfileDoc.tioga first.
Doing the conversion
Now that you're ready to reformat your disk for the great leap into 5.0, here's how to do it:
First, get to the CedarNetExec by triple-booting holding down the BS, RETURN and X keys.
Type Cedar. A Cedar 5.0 screen will appear.
Log in.
Then you will be asked if you want to initialize your disk from scratch; answer Yes. (If you say no, you will be asked if you want to use Iago. This would allow you to do the installation yourself, but you don't want to.)
After saying yes, you will be asked questions to determine what operations must be performed to initialize your disk:
How many Alto partitions (or Model 44's for Dolphin users) you want: generally 0 or 1
If your disk is already formatted. Read the instructions carefully, but the most likely answer is yes. You don't want to reformat if you don't have to -- it's expensive.
Whether you want a Debugger partition: Dorado users do, Dolphin users don't. (Dandelion users can't run Cedar 5 yet.)
Whether the boot files should be fetched from the Cedar or the PreCedar directory: you want the Cedar ones.
After answering all of these questions, the list of the operations to be performed is printed and you will be asked for confirmation. If you made a mistake or changed your mind about how you would like the disk structured, don't worry -- nothing has been done and you can just repeat the sequence of questions and answers. Only after you give confirmation will the actions be performed.
You can now go get a cup of coffee while the partitions are initialized; no further confirmations are necessary.
Now checkpoint your Cedar partition.
Moving Around
After doing all this, you will find that triple-booting the machine will get you into the 5.0 world (even if you have an Alto partition). You can get from the Cedar partition to the Debugger partition by typing control-swat. (You get to your Alto partition, if you have an Alto partition, with the BootTool or by triple-booting with the M switch.) Note: To boot with a particular switch, either use the BootTool and set the Switches field, or hold the appropriate key down until 845 appears on the control panel after beginning the booting.
Booting and Rollback
Booting a 5.0 partition with no switches will perform a rollback unless there is no checkpoint file. Only if you boot with the F switch will you get the full boot sequence.
Warning about sticky checkpoints: Installing and booting a new boot file does not destroy your old checkpoint; your old checkpoint includes the old boot file, which you were presumably trying to get rid of by booting. So the very next thing to do after installing a new boot file and booting -- with the F switch -- is to take a new checkpoint.
The Difference Between a 5.0 and a 4.4 Disk
After going through the installation process, you will have the following partitions on your disk:
1. (perhaps) an Alto partition,
2. (perhaps) a Debugger partition, and
3. (definitely) a Cedar partition.
The Booter and the Othello partition have gone away in Cedar 5.0. The Booter partition previously held a special boot file that, when booted, would look for a checkpoint and, if one existed, would perform a rollback; otherwise it would perform a full boot. This is now the default behavior when booting. Othello has been replaced by Iago, a program contained in the boot file. Booting a 5.0 boot file with the "L" switch will get you to Iago. The Iago operations are familiar to anyone who has used Othello; type "?" for a list of them.
New Features of Cedar 5.0
FS
There is an entirely new file system for Cedar 5.0, FS. It is described from the Cedar programmer's point of view in FSDoc.tioga. Below is a brief description of the major changes from the user's point of view.
Instead of copying, attachments
One of the major changes that you will see after you boot is that many more files seem to be on your disk than you are used to in Cedar 4.4. (Type `List *Doc.tioga' in a CommandTool to see how many more documentation files there are!) No, your disk hasn't gotten bigger nor has Cedar become greedy and left you with no room to work. Instead, the DF software has made use of FS attachments to give local names to many of the files stored on [Indigo]<Cedar>. To explain what this means, you need to know something about the way FS names files.
Names for FS files are called ``FNames.'' An FName consists of (in order) a server, a root directory, zero or more subdirectories, a simple name, and a version. Both FTP bracket syntax and CIFS slash syntax for FNames are accepted; the following constructs are equivalent:
[server]<rootDirectory>subDirectory>simpleName!version
/server/rootDirectory/subDirectory/simpleName!version
A named server like [Ivy] or /Indigo/ is a remote file server. The names of files on remote servers are called ``GNames,'' for global names.
An unnamed server, [] or //, means the local server (your disk). The names of files on the local server are called ``LNames,'' for local names.
In a GName, the rootDirectory is the directory on the server.
In an LName, the rootDirectory is the name of the partition. []<> or /// means the current partition. For example, if you are in the Debugger partition, ///foo.mesa means the foo.mesa file in the Debugger, while //Cedar/foo.mesa means the foo.mesa file on the Cedar partition. (So you don't need the ClientFileTool anymore.)
All FNames, both GNames and LNames, have version parts. For example, the following are complete FNames:
[Indigo]<Cedar>Documentation>FSDoc.tioga!478
[]<>FS.mesa!3
///FS.mesa!3
[]<Debugger>Temp>DebugTool.bcd!12
//Debugger/Temp/DebugTool.bcd!12
An attachment in FS is an association of an LName to a GName; for instance, after you boot there will be an attachment from ///WalnutDoc.tioga!1 to [Indigo]<Cedar>Documentation>WalnutDoc.tioga!H. When you do a Bringover, the only effect is to establish the attachments of the local names to the global names -- no copying of the contents of any of the global files is done. Attachments are cheap in FS, making it possible to have many LNames in your local file system without giving up all your disk to the system.
Partial names and working directories
An FName that does not start with a server part is called a partial name and will be interpreted relative to a working directory. If you type a file name in a CommandTool, it will be interpreted relative to the working directory that appears in the CommandTool herald line; the default is ///, pronounced root. Working directories aren't fully implemented in Cedar yet, but if you'd like to get some idea of how they will be able to help you in the future, go read Cedar5LocalDirectories.tioga.
Caching and cache management
When you open a file using an LName that is an attachment to a GName or if you open a file using a GName directly, FS has to copy the bits of the file from the server to the local file cache. Because of this copying, you will often see some delays when you open a file; in the worse case the open may fail because the server is dead. This is the price you pay for keeping things remotely and leaving your local disk uncluttered.
Another effect of the caching is that your disk space (as measured by Watch) will normally hover around 1000 free pages. That sounds like a small amount, but it really isn't. Most of the space on the disk is being managed by the FS cache; if you need space, the FS cache manager can allocate space to your local files by removing from the cache files stored on remote servers.
Instead of $ files, versions
Because all file names now have explicit versions, Tioga no longer produces a $ file when you save a file you have been editing. Instead, it makes a new file with the next higher version number. The default in Cedar 5.0 is to keep at most two versions of each .tioga file, so the previous version will be not be destroyed.
Most of the time a version number is not necessary as part of an FName -- FS will use either the most recent or least recent version as is appropriate. You can name a particular version of a file by using either a version number or the version variables !L, meaning the lowest existing version number, or !H, meaning the highest existing version number. The most recent version of Foo.tioga is Foo.tioga!H and (using the default of keeping two versions) the previous version is Foo.tioga!L.
Instead of a FileTool
DFTool
The only way to do a bringover or smodel is with the DFTool. To get an instance of the DFTool, type ``DFTool'' to the CommandTool.
You should check the DFTool user profile options described in UserProfileDoc.tioga.
List and Copy
Because of FS, there is no longer any need for special tools to list, fetch, or store files on remote servers. The List command can be given patterns using remote paths and the Copy command can be used to retrieve and store files on remote servers; descriptions of the List and Copy commands are given in ListDoc.tioga and CopyDoc.tioga.
Instead of DFDisk, `List -ur *!H'
The DFDisk program no longer exists. Instead, the -u (unbackedup) option of the list command will list only those files that are not FS attachments, meaning that they are not backed up anywhere. If the current working directory is root (///), then `List -ur *!H' gives a list equivalent to the [Unknown]<Unknown> entries produced by DFDisk (the r switch forces '* to match '/ and '>, so subdirectories will be searched). Note that List -u * means List -u *!*, which will likely also include unbacked-up old versions of files (which you probably don't care about).
Instead of a UserExec
The CommandTool
To get a new CommandTool, click ``Cmd'' in the upper right hand part of the screen. CommandToolGuide.tioga gives a general introduction to the use of the command tool. The CommandTool gives you a much more limited set of buttons than you used to have with the UserExec. To set a breakpoint, for instance, you need to use the InterpreterTool.
The InterpreterTool
To get a new InterpreterTool, type ``Interpreter'' to a CommandTool. InterpreterToolDoc.tioga gives a general introduction to the use of the InterpreterTool.
Debugger user profile entries
So that you can use the same user profile on both the Cedar partition and the Debugger partition, you can now precede any user profile entry with "Debugger." to have it take effect only on the Debugger partition. For instance, two reasonable PreRun lines would be:
PreRun: /Indigo/Cedar/Clock/Clock.bcd /Indigo/Cedar/Watch/Watch.bcd /Indigo/Cedar/DFTool/DFTool.bcd /Indigo/Cedar/BootTool/BootTool.bcd /Indigo/Cedar/Top/Compiler.bcd /Indigo/Cedar/Top/Binder.bcd /Indigo/Cedar/Reminder/Reminder.bcd
Debugger.PreRun: /Indigo/Cedar/Clock/Clock.bcd /Indigo/Cedar/Watch/Watch.bcd /Indigo/Cedar/DFTool/DFTool.bcd /Indigo/Cedar/BootTool/BootTool.bcd /Indigo/Cedar/MCross/MCross.bcd
Notice that FNames are used here to guarantee that the latest version is fetched from the server. !H is the default.