Final Review
COP-3402
Table of Contents
Exam format
Type | Count |
---|---|
Multiple choice | 18 |
Short answer | 6 |
Long answer | 6 |
TOTAL | 30 |
Question topics and example questions
First-half material
All multiple choice. No syscall code will need to be written.
File systems
- What makes the unix file system "hierarchical"?
Navigation
- What is the working directory and how do you display it?
- How do you list files?
Editor
- How do you edit files or emacs (pick one)?
- How do you quit the editor or emacs (pick one)?
Version control
- What git command copies commits from the local repository to the remote repository?
- What git command copies commits from the remote repository to the local repository?
- What git command stages a new file?
- What git command creates a log of the change to a staged file to the local repository?
Files
- What syscalls are used for files?
Processes
- What syscalls are used for processes?
Second-half material
Source code to processes
- Know each phase of the toolchain, what it does, and their ordering: preprocessing, compilation, assembly, linking, loading
Compiler basics
- Understand the purpose of a grammar
- Write or use a grammar
- Hand-write a simple compiler or interpreter in C
Functions and their implementation
- What are the contents of the stack frame in the x86 64 System V ABI?
- How are parameters passed in the x86 64 System V ABI?
- How are variables represented and accessed in memory?
- How is the stack frame managed?
- What do the prologue and epilogue do?
- How are values returned from a function in the x86 64 System V ABI?
Arithmetic
- Understand and write both SimpleIR and assembly code for arithmetic
- What assembly instructions perform arithmetic?
- Write equivalent assembly code
- Write equivalent SimpleIR code
Branching
- Understand and write both SimpleIR and assembly code for branching
- What assembly instructions perform branching?
- Write equivalent assembly code
- Write equivalent SimpleIR code
Pointers
- Understand and write both SimpleIR and assembly code for pointers
- Write equivalent assembly code
- Write equivalent SimpleIR code
- Use the register indirect addressing modes in x86 64 to implement SimpleIR pointers