Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
Book · OtherFree

Operating Systems: Three Easy Pieces

A widely used operating systems textbook from the University of Wisconsin-Madison, free to read chapter by chapter online. It is organised around three ideas, virtualisation, concurrency and persistence, and written in a friendly, question-driven style with homework simulators and projects. It is the best free way to understand processes, scheduling, virtual memory, locks and file systems.

Projects repo stars

6.1k

GitHub (ostep-projects) · Sept 2026

Format

Book

Topic

Other

Provider

Remzi and Andrea Arpaci-Dusseau

Time needed

Self paced

Level

Intermediate

Access

Free

What it is

Operating Systems: Three Easy Pieces, usually called OSTEP, is a textbook by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau of the University of Wisconsin-Madison. The current version listed on the official page is 1.10. The authors state that the book is and will always be free in PDF form, and every chapter can be read individually on the site.

The three pieces are virtualisation (processes, CPU scheduling, address spaces, paging and swapping), concurrency (threads, locks, condition variables, semaphores and common bugs) and persistence (I/O devices, disks, file systems, journaling and distributed file systems). Security chapters were contributed by Peter Reiher of UCLA.

Who it is for

It is written for undergraduates taking a first operating systems course, and it works just as well for self-learners. You should be comfortable with basic C and have some idea of how memory and the CPU work; the "How a computer runs a program" stage of a CS roadmap is enough preparation.

Why it is worth your time

Many operating systems textbooks are long and dry. OSTEP is short per chapter and built around a "crux" question that each chapter answers, such as how the OS can virtualise memory efficiently. It explains why designs exist, not just what they are, which is what exam questions and real debugging both need. The homework uses small simulators so you can predict and check scheduling or paging behaviour, and the public projects repository has programming projects, including a Unix shell and work on the xv6 teaching kernel.

Free or paid

Reading online is free. The official page lists paid options for those who want them: a hardcover through Lulu, a softcover on Amazon and a downloadable PDF, with prices shown on the page (as of 2026-09, around $40 for the hardcover, $28 for the softcover and $10 for the PDF). The authors also accept donations.

How to use it

Read the chapters that match your course week by week rather than all at once. After each chapter, do the simulator homework before looking anything up, and try at least one project, such as the shell. Keep the book as your main reference and use lecture slides only as a summary.

Common questions

Is it enough for my university course? For most first courses it covers the syllabus and more. Check your course outline for any topic, such as a specific scheduling algorithm, and read that chapter closely.

Do I need Linux? For the projects, yes, or WSL on Windows. For reading and the simulators, any machine with Python works.

computer sciencefree courseopen source

Ready to start?

Opens on Remzi and Andrea Arpaci-Dusseau in a new tab.

Open resource
Link broken or out of date?

Report a problem

With "Operating Systems: Three Easy Pieces". Only Tauseef reads this.

Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.