This is the website for the Fall 2023 offering of CS 3130.
You’ll probably find the schedule link above most useful.
1 Learning Outcomes
As a result of taking this course, you should learn
- core system architecture, including DMA, interrupts, and cache coherency
- real hardware, including concurrency complexities and what makes SPECTRE work
- concurrency, including synchronization, mutual exclusion, coherency, and concurrency bugs
- virtual memory, including process isolation and shared memory
- practical networking, including familiarity with TCP/IP, DNS, snooping, spoofing, and TLS
- security, including unix permissions, privilege escalation, and modern exploits
- ethical and legal issues, including reporting
- a build system and practical command-line tools
2 Readings
We have created several writeups for this course:
- CSO2 overview
- Makefiles
- Kernels – Software for the Hardware
- User Accounts
- Buses (and networks)
- Networking Protocols
- Cryptographic protocols
- Caches – Keep a finger in it
- Processes and threads
- Processors
(The original version of these was written by Professor Tychonievich.)
We will augment these with various examples, online articles, and other resources.
2.1 Environment for assignments
The assignments in this class require using a POSIX-like environment (such as Linux). You could either setup a suitable environment yourself or use one of the department machines remotely. If you’re using the department machines, you may find these writeups helpful:
- options for using SSH
- instructions for remote desktop access (via NoMachine)
2.2 Old quizzes/exams
[Edited/added here 4 September, along with Spring 2023 things.]
On the study materials link above, you can find some old exams and quizzes.
3 Getting Help
Piazza (linked off Collab site)
emailing me (not preferred)
4 Course Staff
- Charles Reiss
-
Office: Rice 205.
Email: creiss@virginia.edu
Telephone: 434-924-8274
Office Hours: (see office hours page) - TAs
- Agi Luong, Alexander Davis, Anmol Sandhu, August Bresnaider, Bertram Zhai, Chance Rose, Charlie Fish, Cole Edwards, Daniel Xue, Dennis Tian, Gabriel Gladstone, Han Yan, Hieu, Jiaji Ma, Matthew Haid, Saarthak Gupta, Srikar Gouru, Tavis Palmer, Theo Singletary, (Trevor) Haizhou Yu