3 @set localpintostarpath /usr/class/cs140/pintos/pintos.tar.gz
4 @set localpintoshttppath http://@/www.stanford.edu/@/class/@/cs140/@/pintos/@/pintos.@/tar.gz
5 @set localpintosbindir /usr/class/cs140/`uname -m`/bin
10 @macro localmachines{}
11 The CS 140 ``officially supported'' Pintos development machines are
12 the machines in Sweet Hall managed by Stanford ITSS, as described on
13 the @uref{http://www.stanford.edu/services/cluster/environs/sweet/, ,
14 ITSS webpage}. You may use the Solaris or Linux machines.
17 @macro localpathsetup{}
18 Under @command{csh}, Stanford's login shell, you can do so
19 with this command:@footnote{The term @samp{`uname -m`} expands to a value
20 such as @file{x86_64} that indicates the type of computer you're
23 set path = ( @value{localpintosbindir} $path )
26 @strong{Notice that both @samp{`} are left single quotes or
27 ``backticks,'' not apostrophes (@samp{'}).}
28 It is a good idea to add this line to the @file{.cshrc} file
29 in your home directory. Otherwise, you'll have to type it every time
33 @macro localcrossbuild{}
34 Watch the commands executed during the build. On the Linux machines,
35 the ordinary system tools are used. On a SPARC machine, special build
36 tools are used, whose names begin with @samp{i386-elf-}, e.g.@:
37 @code{i386-elf-gcc}, @code{i386-elf-ld}. These are ``cross-compiler''
38 tools. That is, the build is running on a SPARC machine (called the
39 @dfn{host}), but the result will run on a simulated 80@var{x}86 machine
40 (called the @dfn{target}). The @samp{i386-elf-@var{program}} tools are
41 specially built for this configuration.
44 @macro localhonorcodepolicy{}
45 In the context of Stanford's CS 140 course, please respect the spirit
46 and the letter of the honor code by refraining from reading any homework
47 solutions available online or elsewhere. Reading the source code for
48 other operating system kernels, such as Linux or FreeBSD, is allowed,
49 but do not copy code from them literally. Please cite the code that
50 inspired your own in your design documentation.
57 @macro localcvspolicy{}
58 Instead, we recommend integrating your team's changes early and often,
59 using a source code control system such as CVS (@pxref{CVS}).
60 This is less likely to produce surprises, because everyone can see
61 everyone else's code as it is written, instead of just when it is
62 finished. These systems also make it possible to review changes and,
63 when a change introduces a bug, drop back to working versions of code.
66 @macro localcodingstandards{}
67 All of you should have taken a class like CS 107, so we expect you to be
68 familiar with some set of coding standards such as
69 @uref{http://www.stanford.edu/class/cs140/projects/misc/CodingStandards.pdf,
70 , CS 107 Coding Standards}. Even if you've taken 107, we recommend
71 reviewing that document. We expect code at the ``Peer-Review Quality''
72 level described there.
75 @macro localdevelopmenttools{}
76 @c Descriptions of additional, local development tools can be inserted here