Computer Systems & Networks

Binary representation, CPU architecture and the memory hierarchy, operating systems, and computer networks.

Binary Representation and Computer Arithmetic

Every value a computer works with — a character, an integer, a photograph, a piece of music — is, underneath, a sequence of binary digits. What makes that workable isn't magic; it's a small set of agreed encodings for…

CPU Architecture and Memory Hierarchy

A processor's job, at the lowest level, never really changes: fetch an instruction, work out what it means, and carry it out. Everything covered on this page is either a refinement of that cycle for speed, or an answer…

Operating Systems Fundamentals

An operating system is easy to describe too narrowly as "the thing that runs your programs." Its real job is resource abstraction and arbitration : many programs want to use one CPU, one pool of memory, and one set of…

Computer Networks Fundamentals

Two things have to be true for one computer's program to talk to another's: both sides need to agree on how bits are packaged and addressed, and both sides need a shared discipline for handling the fact that networks…