Jump to ratings and reviews
Rate this book

Operating Systems: Three Easy Pieces

Rate this book
A book covering the fundamentals of operating systems, including virtualization of the CPU and memory, threads and concurrency, and file and storage systems. Written by professors active in the field for 20 years, this text has been developed in the classrooms of the University of Wisconsin-Madison, and has been used in the instruction of thousands of students.



Buy the Kindle format for convenience, or as a simple way to thank the authors for the work they have put into making this resource.

Kindle Edition

First published August 18, 2012

Loading interface...
Loading interface...

About the author

Remzi H. Arpaci-Dusseau

1 book38 followers
Remzi Arpaci-Dusseau is the Grace Wahba professor and Associate Chair of Computer Sciences at UW-Madison. He co-leads a research group with Professor Andrea Arpaci-Dusseau. Together, they have graduated 24 Ph.D. students and won numerous best-paper awards; many of their innovations are used by commercial systems. For their work, Andrea and Remzi received the 2018 ACM-SIGOPS Weiser award for "outstanding leadership, innovation, and impact in storage and computer systems research."

Remzi has won the SACM Professor-of-the Year award six times, the Rosner "Excellent Educator" award, and the Chancellor's Distinguished Teaching Award. Andrea and Remzi's operating systems book (www.ostep.org) is downloaded millions of times yearly and used at numerous institutions worldwide.

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
389 (74%)
4 stars
107 (20%)
3 stars
18 (3%)
2 stars
3 (<1%)
1 star
2 (<1%)
Displaying 1 - 30 of 56 reviews
Profile Image for David.
27 reviews6 followers
February 16, 2013
Textbooks should be hard to read, that's what makes them useful. But making them as sterile as possible isn't helping anyone.

Arpaci-Dusseau start each chapter with a high level and lighthearted "dialogue". The casual voice works well, warming me up to the author and easing me into the topic. Digging in, the content is still rich/dense while still maintaining a hint of a human voice.

This is exactly what a textbook should be: Dense in information and approachable in voice.
1 review1 follower
November 3, 2015
The best book you can ever find on operating systems.It provides great overview while digging into details where ever necessary. Stuffed with humour, reading this book is like watching a YouTube video. I'll probably never get bored of this book no matter how many times I read it.
Profile Image for Szymon Kulec.
152 reviews90 followers
December 23, 2018
This book is a great position for introducing a reader into world of low-level, performant design. Yes, it's about operating systems, even if you aren't writing one, you will gain a lot. Especially, if you want to know how to design software to operate efficiently. When reading it, despite knowing a large part of the content, I was pleased with the narrative and the way authors introduced new concepts, like threading (mentioned around 100 page).

Nowadays, with the computation moving to the commodity area (public cloud, PaaS, FaaS) one could think that books like this are no longer needed. After spending sometime in the cloud area, I can tell that it's totally opposite. There's so much to gain from a general knowledge about designing and writing well performing code, and to apply it to the new cloudy era.
Profile Image for Yury.
41 reviews7 followers
February 16, 2021
Considering all the praise about this book, I expected highly informative content in this textbook. I cannot say that this book is bad, the first parts about CPU and Memory virtualization are quite dense and contain detailed description.

But further I read the worse it was. Concurrency part is somewhat acceptable, but it is very uneven in delivering explanation. It is acceptable, but very boring in the way it reveals information. I got tired of author's puns already and it became a chore to read.

The worst is part about persistence. It tries to be everywhere and arrives nowhere. Skimming over details here and there I felt like reading some magazine and not the book. I am sorry, but this part does not look focused and finished at all, even though I have purchased the 1.00 version.

Don't get attracted by the high rating, I am not sure why it is so high. If you are looking into detailed description of hardware/software interface - look somewhere else. Maybe Hennesy & Patterson or Tanennbaum.

Beware, the hardcover edition might not satisfy your eyes. I have ordered the 1.00 version from LuLu, hardcover edition, and was immensely saddened by the quality. Text is too gray and too small. Font for the source code is too thin and unbearable to look at. Linespacing is very small. Margins on the top and bottom waste so much space.
Profile Image for snpefk.
57 reviews2 followers
October 22, 2022
Сложно поверить, что можно читать учебник по операционными системам и не скрипеть зубами от тяжести изложения. Не сильно теряет в глубине материала, но оставляет за скобками процесс разработки: архитектура, монолитные/микро ядра, модульность, вот это вот всё. Да кто такие эти ваши "кольца защиты" про которые я постоянно слышу, выяснить так и не удалось. Примеры практически полностью разбираются в контексте Linux, ставлю звёздочку в дневник.

Очень вкусно собраны после каждой главы ссылки на источники с пояснениями. Хочется из них собрать отдельный список на "летнее чтение" (осилит его только какой-нибудь graduate student с фуллтайм работой посвященной чтению пейперов).

Неплохой старт, после которого можно прочитать что-нибудь более подробное.
Profile Image for Tareef Mando.
130 reviews315 followers
January 7, 2023
قرأنا نصف الكتاب ضمن مقرر نظم التشغيل 1 ومن المتوقع إكمال نصفه الثاني في نظم 2
من أفضل الكتب التقنية التي قرأتها نظرًا لأسلوب الكاتب. السمات التي أعجبتني:
- تدرج رهيب في شرح المعلومة
- إيضاح المشكلة التي يحاول الكتاب حلها في بداية كل فصل
- الاعتماد على إثارة التساؤل لدى القارئ
- مختصر يعرض الجوانب الضرورية فقط

أتطلع حقًا لمتابعة قراءة الكتاب

تحديث يناير 2023
أجل، أنهينا النصف الثاني من الكتاب، تقريبًا ضمن مقرر نظم الحاسوب 2 تحت كود 3306
أعتقد أن الكتاب يصلح لمن يرغب بالقراءة والدراسة بشكل ذاتي عن نظم التشغيل لذات السمات التي ذكرتها أعلاه
من المواد الممتعة التي تركز على الناحية النظرية في فهم جميع التفاصيل المتعلقة ببناء وتشغيل نظام حاسوب
Profile Image for Roshan.
4 reviews
November 21, 2017
Extremely clear. Authors build up to explaining key OS concepts by establishing a strong foundation and providing lots of examples. The chapters go through a trial-and-error process of explanation that I found very helpful. For example, the text will walk through faulty designs of process schedulers and then explain why they wouldn't work. It iteratively improves on it until we reach a good design. Only gripe is that they should include more material on distributed systems.
Profile Image for Zweinstein.
6 reviews
December 18, 2021
Best nonfiction book I have ever read. Adds so much value to you as a programmer. Suitable even for those who don't plan to work with os since you gain great insight into what your computer does behind the scenes. It is a must for every IT folk out there.
Profile Image for Ruslan Diachenko.
37 reviews3 followers
May 27, 2021
I wish I had read this book at university. I finally got an idea of what is going on on the system level.
Profile Image for Patrick Coakley.
48 reviews8 followers
January 17, 2020
I picked up a paper copy of this as a review for a graduate-level OS course. While I had taken an undergrad course and have also studied operating systems in my free time, I wanted something to refresh my memory on all of the concepts I might need to know for the course, as well as to fill in any gaps I might have missed. I can say that this is the best text for a high-level comprehensive look at operating systems I've found. While there might be better books for specific operating systems, or ones that go deeper into the implementation details, Operating Systems: Three Easy Pieces is a very easy read that covers all the material one would need to a get a feel for how operating systems work. Compared to the dinosaur book, OSTEP doesn't waste any time getting the reader up to speed, and the text is organized in a thematic way that feels more like a narrative than simply a reference book.
Profile Image for Anh Tran.
39 reviews27 followers
May 4, 2022
I had no basis in computer science and got huge frustration when I debug some applications. I read this book to understand how applications interact under the hood. The book has 3 parts, each part provides details about 1 pillar of the operating system. Some concepts are easy to absorb and solve exercises such as process, thread, and address spaces in part I. Part II and II are a bit harder to absorb. I got stuck in the concepts of distributed systems and event-based concurrency. I think this book gives me a good base to learn higher concepts.
Profile Image for John Doe.
66 reviews12 followers
October 20, 2019
Great book for new to the subject matter. requires no pre-knowledge. And most importantly, It's free online put as nicely html. Best of it is you can go back any time to check each subject whenever you find unfamiliar concepts. I never really finished the whole book line by line, but did read through the major cpu memory part which personally I think is the key to have a basic understanding for any operating systems.
Profile Image for Truong Hoang.
11 reviews2 followers
December 31, 2020
Absolutely a great book. I highly recommend this book for any undergraduate students. The author covered 4 essential parts of operating systems: Vitualization, Concurrency, Persistence in great detail and a little bit of Distributed systems. After reading this book, I've not only gathered knowledge of operating systems, but also taken a lot of useful tips about software development. I think it would have been even better if I had finished every homework listed after each lesson.
December 21, 2022
Очень неплохое введение в основные концепции, связанные с ОС. Все темы были для меня более или менее новыми, но проблем с пониманием излагаемого материала не возникало.
Книга написана живым и увлекательным языком, скучно не становится даже при обсуждении технически довольно сложных тем. Кроме того, книга отлично структурирована: она разделена на несколько десятков коротких глав, которые хорошо читаются как подряд, так и вразнобой.
Отдельно хочется отметить подход к списку литературы. Он приводится по частям, в конце каждой главы. Каждый источник сопровождается комментариями авторов, благодаря которым список ценен и в отрыве от самой книги.
Выбор тем для обсуждения, на мой взгляд, несколько... спорный. Книге не удалось убедить меня, что примитивы синхронизации и особенности хранения данных в энергонезависимой памяти являются неотъемлимыми частями ОС. Из-за этого ближе к середине у меня начало возникать ощущение, что повествование несколько теряет фокус. Впрочем, я асболютно точно не эксперт в этой предметной области, могу серьезно ошибаться.
Profile Image for pluton.
277 reviews8 followers
March 17, 2023
It's a really good overview of the most fundamental parts of an operating system.
Starting with virtualization, which isn't about virtual machines, but about running multiple processes preemptively on one computer and emulating an exclusive access to memory for every process, the story goes to concurrency, a sufficiently complicated topic on its own, and persistence, which is "just" about hard disks, file systems, SSDs, RAID; there is even a small part about distributed systems. I really liked the distinction of mechanisms and policies. There is even event-based programming (and STM, although unnamed) with continuations in here; not FRP though, I guess that high-level stuff isn't in an OS.
Overall, this is an interesting and deep enough book even if you're not building an OS; lots of useful "background" information for almost any programmer.
Profile Image for Yash Patel.
157 reviews6 followers
February 18, 2020
Extremely clear presentation of OS material. I was largely using the book as quick primer on OS rather than as a launching pad for in-depth work in systems programming, so I didn't work through most of the exercises. That being said, there was an abundance of them as well as plenty of references to further material for interested people, so there's likely as much depth in this book as you hope to take away from it. Overall, really well put-together book, with great explanations, graphics, and motivations provided throughout.
Profile Image for Dan Drake.
158 reviews10 followers
December 17, 2020
A great introduction to the daunting topic of operating systems. This book -- freely available from ostep.org -- makes the hairy topics of scheduling, virtual memory, file systems, and so on about as approachable as possible.

I like the overall conversational style, the student-teacher dialogues, and so on. They lighten the load, as it were, and reduce the feeling that one is drinking from a firehose of technical details.
Profile Image for Jason Dang.
30 reviews
April 21, 2023
-Simple language to explain complex concepts; read Silberschatz alongside it (tough!)
-Concise and succinct, a strength of this book
-Humourous and relatable
-Free for everyone!
-Donated to support the author's work

-I did not find it as comprehensive as Silberschatz, but that could be a good thing

I got a 95% in my OS course (the design/school was easy, I'm not particularly intelligent)

Thanks!
Profile Image for Aamir Anwar.
2 reviews1 follower
May 31, 2020
This book is really great if you're coming back to operating systems after quite a while. Easy to follow and the main ideas are broken down to their simplest forms. This book will remove any fear you have of diving deep into the internals of the kernel of a computer system, heck after reading this book you won't be able to look at a computer the same way again.

10/10 would recommend
Profile Image for Arturo.
50 reviews45 followers
May 23, 2017
Ojalá hubiera dispuesto de un libro así cuando me tuve que tragar la asignatura. El enfoque pedagógica y la claridad de la exposición están en otro nivel. Por supuesto tampoco ayudó que mis profesores en su día fueran bastante mediocres.
1 review
March 1, 2021
A very great book on OS with an extremely clear explanation of different pieces of operating system such as Virtualization, Concurrency, and Persistence.

My only concern is that it needs more diagrams.
2 reviews
June 7, 2021
One of the best book for self study , easy read yet helpfull and deliver information , not too much verboosity , I feel really comfort reading it as self study. Also the exercices have hands on tools.
Profile Image for Rui.
90 reviews
March 24, 2022
I’m still in the first part of the book and most of my questions on the so called cloud computation are being answered. The book touches the core foundation of how computation system works and coordinates. It’s truly a masterpiece.
4 reviews
June 18, 2022
Amazing book that offers an insights into how OS works in aspects of durability, concurrency and virtualization. Definitely worth the read even if you are not going to write an OS, you can apply a lot of concepts from book in other areas as well.
Profile Image for Ryan Coulter.
29 reviews
November 30, 2022
Let's be real I'm not actually reading this entire thing. It's actually good though. Books about the intricacies of Operating Systems are kind of like skateboarding in that it attracts cool guys who dress well (me)
Profile Image for Akshay Deodhar.
14 reviews
January 16, 2023
This is something that you can read cover-to-cover, enjoy it, and come out with a pretty good understanding of how Operating Systems work from inside. Helped me a lot in all my "lucky" low-level systems interviews.
Displaying 1 - 30 of 56 reviews

Can't find what you're looking for?

Get help and learn more about the design.