Principles of Computer Systems
Winter 2021
Stanford University
Computer Science Department
Instructors: Chris Gregg and
Nick Troccoli
FILE *
s and C++ iostream
s for a while now, and knew little of how they might work until we studied them this quarter). We did learn about file descriptors this quarter, and we leverage that abstraction to make other data sources (e.g. networked servers) look and behave like files.fork
and execvp
work).thread
s, but you don't really know how they're implemented).#include
s, #define
s, and other preprocessor directives to build a translation unit that is fed to...socket
, bind
, etc.) needed to build networked applications.open
, write
, fork
, sleep
, bind
, etc. are userland wrappers around a special type of function call into the kernel. User space and kernel space are two separate modules with a hard boundary separating them).