- Notifications
You must be signed in to change notification settings - Fork22
Cheat sheet for x86-64 Linux systems programming
License
jstrieb/systems-programming-cheat-sheet
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Click here to view the cheat sheetPDF.
Discussed onHacker News andr/programming.
This cheat sheet was originally written while I was takingIntroduction toComputer Systems (15-213/18-213) at CarnegieMellon University in the Spring 2019 semester. As such, it is based heavily onthe textbookComputer Systems: A Programmer's Perspective, ThirdEdition by Randal E. Bryant and David R.O'Hallaron, as well as other course notes.
The cheat sheet therefore contains some information that is specificallytailored to x86-64 Unix systems. For example, the material may includeundefined behaviors particular to such systems. It may also assumeimplementation details such as the System V calling convention and AT&Tassembly language syntax. In general, any quirks included are those that 213students are expected to know.
The four-page PDF is intended to be printed on two sheets of double-sided 8.5" x11" letter paper (sorry non-Americans).
The course allowed students to bring one double-sided piece of letter paperwith notes for each exam, so I tried to cram as much as possible into thelimited space. These are my cheat sheets from the midterm and final combinedinto one PDF.
If you've opened the PDF and don't know what any of it means, I encourage youto access thelecture slides from when I took thecourse.These and the textbook should be enough to supplement the cheat sheet so thatthe material (or at least the acronyms) make some sense.
This project is basically done. I created it while I was a student, and willhappily make any corrections necessary. But I do not plan to expand the cheatsheet to include new material. Feel free to open an issue and ask about addingmaterial, though.
For any corrections or discussions, pleaseopen anissue.Pull requests without prior discussion will be ignored.
There are a few things you can do to support the project:
- Star the repository (and follow me on GitHub for more)
- Share and upvote on sites like Twitter, Reddit, and Hacker News
- Look carefully for errors and report any that you find
These things motivate me to to keep sharing what I build, and they providevalidation that my work is appreciated! Thanks in advance!
Clone the repository.
git clone https://github.com/jstrieb/systems-programming-cheat-sheet.git&&cd systems-programming-cheat-sheet
Make any modifications toCheat Sheet.tex
.
Recompile withmake
.
- The entire (Spring 2019) 15-213 course staff
- Randy Bryant and David O'Hallaron for their excellent textbook
- Kirubel Aklilu, Matt Henderson, andHrishikesh Bodas for studying with me when weall took 213
- Anyone who has taken the time to read the cheat sheet and report errors
About
Cheat sheet for x86-64 Linux systems programming
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.