6 ms·
Operating Systems: Three Easy Pieces
- epaulson 11y agoThe Arpaci-Dusseaus are some of my favorite professors at the UW - they're not only first-rate researchers but fantastic teachers. Remzi in particular has a very dry but hilarious sense of humor. His exams are a hoot (but are also great questions to see if you really know your material) http://pages.cs.wisc.edu/~remzi/Classes/537/Fall2013/OldExams/ http://pages.cs.wisc.edu/~remzi/Classes/537/Fall2013/OldExam...
- trentmb 11y agoJust a heads up- I purchased the ebook sometime ago (v0.6.1 I think) and as new versions came out lulu.com declined to offer me the updated versions without making a new purchase. Maybe the policy has changed- I don't know. Just thought I'd let others know, as I've been spoiled by O'Reilly
- deleted 11y ago[deleted]
- golergka 11y ago> This book is and will always be free in PDF form > I purchased the ebook This confuses me.
- trentmb 11y agoLook at the website- all the content is there, just in multiple PDF files. In the spirit of supporting an open textbook effort, I ponied up $10 for the 'combined' PDF that has some other little niceties.
- golergka 11y agoWell, this book certainly looks like it deserves a donation — I just don't like when people use the term "buy" when they offer the same item for free.
- kenbellows 11y agobut... they did buy it... he got something not being offered for free: the combined ebook, which is in a different file format and contains extra material
- wging 11y agoDo you know how Andrea and Remzi feel about that? They've generously made the book free overall, so I'd guess (without real evidence) that they'd prefer for people to get version updates if they do choose to purchase this format.
- stkent 11y agoThanks for the tip; like you, I have come to expect automatic eBook updates now!
- dcchambers 11y agoI had Remzi for two courses at UW, one of them being Operating Systems. He's the best professor I've ever had, and this book is an amazing tool for learning the basics of an Operating System. It's a quick read, and I would recommend it to anyone looking for a free Intro to OS resource.
- servercobra 11y agoSame, easily my favorite professor. We were one of the first classes to use the book (he was still writing it), and it's been a godsend. I've nailed every OS-related interview question and use a bunch of the concepts daily. 4 years after I took the course I ran into him at an event at Google, and he remembered me without pause. Really a great guy.
- mhurron 11y ago> I would recommend it to anyone looking for a free Intro to OS resource. Can you say how it compares to Tanenbaum's 'Modern Operating Systems'?
- dcchambers 11y agoI haven't read more than a few bits of Tanenbaum's book so I can't give a direct comparison, sorry.
- verusfossa 11y agoSadly, I didn't have Remzi at UW although I heard he was a great professor. Our OS class used his book and I'd vouch for it in a heartbeat. Worth a read if you want digestible CS. I remember being most interested in the 'free' part as a broke college kid, but it turned out to be one of my favorite CS books.
- spike021 11y agoI'm in the Operating System class right now for my CS degree and thought I might look into some alternative resources to supplement the class material. This looks super useful, thanks for the recommendation!
- 11y ago
- jcr 11y agoprevious discussion from two years ago: https://news.ycombinator.com/item?id=7076973 https://news.ycombinator.com/item?id=7076973
- Scarbutt 11y agoThis looks great. Besides being available for free, how does this book compare to APUE? http://www.apuebook.com http://www.apuebook.com
- kev009 11y agoApples and oranges. APUE is an application development book, i.e. it takes the Operating System calls mostly for granted. Operating Systems books explain how the syscalls and internal services are created/managed and what the trade-offs are.
- theoh 11y agoMost useful thing I have picked up from this is the notion of interposablity. It captures the basic idea behind both LD_PRELOAD hacks on unix and the way servers can be stacked in Plan 9. Very useful new term.
- nadams 11y agoI've learned/taught from the "dinosaur book" [1] and for the price tag it's pretty bad. It's a nice overview but it has several problems. First of all the section on CPU scheduling is pretty sparse and confusing. I skimmed through this book and it seems on par. But the one thing this book skips is Rate monotonic and Earliest deadline first - which I found to be rather difficult algorithms. This is because whenever you would research it - I would find other professors using screenshots from the dinosaur book that doesn't help explain it at all. I would be happy to give you my notes on it. I really wish that was a an open source project that took developers and/or students from start to finish of an operating system. I should preface that and say that it should be easy to understand and use. I know about xv6 and I feel like that's too complex. I've found MikeOS [2] but I will have to study/extract it into pieces. In any case - I really think this practice should be more widespread. Unfortunately, I've found many people to offer "lazy criticism" they point out something is wrong but don't want to offer any help to make it better. The Rooks Guide to C++ is a perfect example of this - yeah it's not perfect and doesn't contain all C++ knowledge you could ever know about (there have been a lot of negative criticism about the book). But that's not the point - it's designed for people who know nothing about programming to learn about C++ in a 16 week course. It's goal isn't to replace the Stroustrup expert C++ book. [1] http://www.amazon.com/Operating-System-Concepts-Abraham-Silberschatz/dp/0470128720 http://www.amazon.com/Operating-System-Concepts-Abraham-Silb... [2] http://mikeos.sourceforge.net/ http://mikeos.sourceforge.net/
- wging 11y agoMight be good to clarify that the "dinosaur book" is not the same as the Arpaci-Dusseau book linked above.
- fgandiya 11y agoWow, what a coincidence! I'm just about to start my Operating Systems class. This will come in handy.
- czmr 11y agoSo, what are the pre-reqs for studying operating systems? I'm guessing C and Architecture? Or would it be better to study architecture after an OS course/book?
- rifung 11y agoI don't think architecture is necessary to learn first. At least at my school neither were prerequisites for the other.
- brudgers 11y agoI found the book very accessible because a lot of the concepts are high level abstractions. So I'd say it's worth reading without worrying about prerequisites. Since the PDF is free, it's just a matter of time.
- nilkn 11y agoYou honestly just need C, although your C doesn't even need to be that strong for this particular book because it's more focused on the theory.
- servercobra 11y agoI pretty much learned C in this class. I had written a single, very simple C program in a prereq class (write a C program, then rewrite it in assembly was the gist of the class).
- czmr 11y agoAfter searching online for common paths into studying operating systems I've come to the conclusion that you should be fairly comfortable with C and probably read 'Computer Systems: A Programmer's Perspective' before an OS or Architecture book. ~ At least that's what I am going to do. CSAPP: http://www.csapp.cs.cmu.edu/ http://www.csapp.cs.cmu.edu/
- StudyAnimal 11y agoDon't worry, there is no actual technical thing called architecture, its a management topic.
- suyash 11y agoIf anyone is looking for a better OS book, hands down the best one for last 2 decades has been this one by Prof Andy Tanenbaum : https://books.google.com/books?id=9gqnngEACAAJ&dq=modern+operating+systems&hl=en&sa=X&sqi=2&ved=0CB0Q6AEwAGoVChMIrsi3qtXmxwIVhyyICh2UtghB https://books.google.com/books?id=9gqnngEACAAJ&dq=modern+ope...
- molteanu 11y agoPersonally, I enjoyed the "Operating System Design: The Xinu Approach", by Comer: http://www.amazon.com/Operating-System-Design-Approach-Edition/dp/1498712436 http://www.amazon.com/Operating-System-Design-Approach-Editi...
- StudyAnimal 11y ago"virtualization, concurrency, and persistence" I would have said something like memory management, interrupt handlers and system calls.
- NetDissent 11y agoThis was an absolute necessity for my operating systems module in class. Cannot recommend it enough