In the course, we will learn the run-time environment with C programs, essential concepts of operating systems with system calls, concurrent programming, and performance analysis with the focus on several cross-cutting issues like memory management, error handling, and multithreading.
The text for the course is Computer Systems: A Programmer's Perspective
This book provides a solid background in various system concepts including cache, virtual memory, multithreading, and OS API Calls.
A couple of useful texts for learning C are:
The C Programming Language is an excellent introducton to C by the original developers of the C language.