/computer-systems-CS-APP3e

My solutions of Computer Systems: A Programmer’s Perspective, Third Edition (CS:APP3e) book, the text book for the course, CMU15-213: Introduction to Computer Systems.

Primary LanguageC

computer-systems-CS-APP3e

Overview

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.

I am studying and coding on Manjaro Linux 21.1.4.

About the book

  • This book CS:APP3e is the third edition of a book that stems from the introductory computer systems course developed at Carnegie 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, and concurrent programming. These concepts are supported by series of fun and hands-on lab assignments.