Operating Systems in Three Easy Pieces. The Arpaci-Dusseau team has an
excellent textbook Three Easy Pieces.
The book is closely
matched to the needs of the class at least through the first six
weeks. In the second half of the class we will move away from core
OS topics and toward networked/distributed systems.
Repositories. You will need to access repositories on github.com and
gitlab.oit.duke.edu. These are separate services. Use your NetID to log
into gitlab (click the Shibboleth button hidden below the username/password prompt). Use your personal account (or create one) for github. Install your public key on both accounts. The connecting to github with ssh is the best place to start; gitlab is similar.
If you don't have a public key, these instructions tell you how to make a fresh keypair easily and use it for both services.
git. We use the git revision control system,
which is now standard for software
development projects. We use a simple centralized workflow:
group members share a central code repository ("repo") stored on
github, clone local copies on
laptops and virtual machines (or wherever you want), make
changes locally, and merge/commit/push code changes back to the central
repository, where other group members (and the autograder) can access
it. But git is capable of much more. Git may seem to be
deliberately confusing in a macho sort of way, so it is worth
taking time to learn some lingo and commands to get you through.
Fortunately there is an authoritative git book online.
Recommended: Chapters 1, 2.1-2.5, 3.1, 3.2, 3.5, 6, 7.7. Also
useful: Chapters 2.7, 2.8, 3.3, 3.4, 3.6, 3.7, 5, 7. Suggestion:
select and download a git cheat sheet via
Google Images.
Dynamic Memory Management from Bryant and O'Hallaron, CS:APP (Best read with view mode: facing pages/two-pages per window). This text is a classic computer systems textbook.
Writing
Solid Code is a Microsoft view of software development in C. It
is worth absorbing the philosophy and many essential
lessons in this book. Some people love this book. It also has its
detractors. Unofficial pdf copies do exist on the web.