Information below is not for the current semester.
The current semester can be found here.
Books
- Arpaci-Dusseau et al.: Operating Systems: Three Easy Pieces (Version 1.00)
- Anderson et al.: Operating Systems Principles and Practice
- Silberschatz et al.: Operating System Concepts
- Tanenbaum et al.: Modern Operating Systems
- Patterson et al.: Computer Organization and Design.
Manuals
- MIPS R4000 Microprocessor User’s Manual (2nd Edition)
- System V Application Binary Interface, MIPS RISC Processor Supplement (3rd Edition)
- RISC-V Instruction Set Manual, Unprivileged ISA (20191213)
- RISC-V Instruction Set Manual, Privileged Architecture (20211203)
- RISC-V ABIs Specification (version 1.0)
- Intel 64 and IA-32 Architectures Software Developer’s Manual (Version 325462-075)
Blogs and other more informal resources
- Daniel Mangum: RISC-V Bytes (set of blog posts about RISC-V)
- Tom Mewett: Everything I wish I knew when learning C (useful tips and links for C newbies)
- James Fisher: How do varargs work in C? (also contains a skeleton of
printf
) - How does the kernel implement Linked Lists? (detailed discussion of the linked list implementation used in the Linux kernel)
- Memory management overview (MIPS and RISC-V) (lab slides)