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