15-213 Notes
Main
- Why Systems Knowledge
- Data Representation as Bits
- Memory Layout
- Assembly and Machine Programming
- Data in Machine Programming
- Machine Programming Vulnerabilities
- Memory Hierarchy
- Code Optimisation
- Dynamic Memory Allocation
- Linking
- Virtual Memory
- Processes
- Shell
- Exceptional Control Flow
- System-level IO
- Network Programming
- Concurrent Programming
Misc
Misc 2
- volatile means not in register, not not in main memory
- Magic number - use of one number in one place magically make other code work or not work
char payload[0]
is zero length array but means flexible sizeoffsetof(struct, member)
is in C standard where compiler tells you offset to field in struct- Technically
gcc
is not compiler. It launches the compiler static
means it’s there but don’t tell other moduletelnet
to test server. it just sends ascii