Carnegie Mellon
Computer Science Department |
|
|
|
|
|
|
|
|
|
|
15-410 Projects (Fall 2024)
Project Handouts
Partner Registration
Please sign up using the Partner Registration Page
Important Project-Related Documents
- About your 15-410 AFS Space
-
Here we explain the care and feeding of your 15-410 AFS volume.
In the event of trouble, please (re-)read this for advice.
- 15-410 introduction to git
-
We expect you to use some revision-control system for Project 2 and Project 3,
but of course you may use one earlier!
Just remember to read the warnings in
the syllabus.
- 15-410 Software Setup Guide
-
This is the installation guide for the software we'll be using in this course.
It also contains information about some files you will commonly see in the Project
tarball (such as the Makefile, update.sh, and Simics).
Note that not all of this document is applicable to every
assignment.
- Simics Command Guide
- Our guide to useful Simics commands
- Simics Graphical Debugger
-
Some graphical tools provided by Simics
- Intel x86 documentation
- These three Intel reference guides are extremely
comprehensive and
actually very well written. Do take the time to look over them, they will
be useful in doing each of your projects. These documents are hundreds of
pages - do NOT attempt to print them out (at least, not on a campus
printer).
- Intel architecture guide. Explains
the basic organization of the processor and fundamental concepts like the
execution environment, procedure calls and interrupts, and I/O.
- Intel instruction set reference. A
long volume documenting each x86 instruction.
- Intel system programming guide.
Probably the most interesting of the three documents. Explains privilege
levels, segmentation and paging, how to handle interrupts and exceptions,
and a host of other things.
- x86 Segmentation for the 15-410 student
- We don't expect you to fully use the massive crushing power possessed
by the IA32 memory management hardware, so you may find this
Segmentation Handout useful.
- Advice on the dreaded "triple fault"
-
"Triple fault" isn't a problem per se, but a general class
of problems. You may wish to consult our
Triple-Fault Advice Page.
- Coding Style and Documentation
-
- GNU make
- We will not require you to build and debug complex makefiles for
15-410, but you are expected to understand the basic concepts and
to be able to read a makefile, understand what's going on, and
pick out appropriate targets to invoke partial builds.
The official
documentation for gmake,
the flavor of make available on
Andrew Linux machines, is available from
the
Free Software Foundation website.
- 410 Documentation For The Enthusiast
- There is some additional documentation on 410 code and environment for
those students who might be described as "enthusiastic."
How to Boot Your Kernels on Real Hardware
Beginning with Project 1, you will be loading your kernels into Simics off
a floppy disk image.
It is possible to burn the floppy image onto a CD-RW and boot it
on a real machine;
please see the crash-box page.
Some of the library software used in this class is used
under license
(more info).
Intel
graciously supports our educational
mission by providing us with a free
Intel Simics
license.
Some of the library software used in this class is used
under license
(more info).
|