CMPSC 316Computer Systems II
This is the second of the two course sequence to learn the foundations of the underlying hardware and systems software that enable programs to run on a computing platform. This course covers the hardware issues in the design of modern memory systems and I/O peripherals and the operating system software to manage such hardware. On the hardware side, this course covers cache design, main memory design, address translation hardware, atomic instructions, buses and interconnects, storage and network peripherals. On the software side, coverage will include concurrency control issues, memory allocation, virtual memory, file systems, device drivers, network programming, distributed systems and protection/isolation. For each hardware resource, students will learn hardware support for protection and software mechanisms to interface with and multiplex this hardware amongst co-existing entities, ensuring appropriate isolation and protection, with appropriate access control mechanisms.
Prerequisites
You need:
Where it sits in degree plans
Suggested plans most often put it in Year 3 · Spring (1 program).
Required in (1)
- Computer Science, B.S. (Engineering)