Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Cheat sheet for x86-64 Linux systems programming

License

NotificationsYou must be signed in to change notification settings

jstrieb/systems-programming-cheat-sheet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Click here to view the cheat sheetPDF.

Discussed onHacker News andr/programming.

Introduction & Background

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.

Project Status & Contributing

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.

Support the Project

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!

Modifying & Compiling

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.

Acknowledgments

  • 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

Stars

Watchers

Forks

Contributors3

  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp