This repo contains source code and my solution to CMU 15-213: Introduction to
Computer System practice problems and lab assignments. I am using the 2015 Fall
version.
- Course website
- Course videos
- Book site for
CSAPP: 3e
- Lab website
I am studying and coding on Manjaro Linux 21.1.4
.
-
This book
CS:APP3e
is the third edition of a book that stems from the introductory computer systems course developed atCarnegie Mellon University
, starting in the Fall of 1998, called"Introduction to Computer Systems" (ICS)
. The presentation is based on the following principles, which aim to help the students become better programmers and to help prepare them for upper-level systems courses:- Students should be introduced to computer systems from the perspective of a programmer, rather from the more traditional perspective of a system implementer.
- Students should get a view of the complete system, comprising the hardware, operating system, compiler, and network.
- Students learn best by developing and evaluating real programs that run on real machines.
-
The book covers
data representations
,machine level representations of C programs
,processor architecture
,program optimizations
,the memory hierarchy
,linking
,exceptional control flow (exceptions, interrupts, processes, and Unix signals)
,virtual memory and memory management
,system-level I/O
,basic network programming
, andconcurrent programming
. These concepts are supported by series of fun and hands-on lab assignments.