Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I want to read a good book about operating systems. More specifically, I want to read about how common problems - such as managing virtual memory, handling traps, doing context switches, managing processes and threads, etc. - are usually solved. To wit, I'm not looking for a book about how to program towards an operating system; I'm looking for a book about how to write an operating system. I hope this makes the question clear.

Please only write one book per answer, for voting purposes.

share|improve this question

closed as not constructive by Mark Trapp Dec 8 '11 at 17:33

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

1  
How is this related to programming? –  Walter Sep 25 '10 at 22:39
    
I think he means operating system programming (kernel programming) –  alternative Sep 25 '10 at 23:11
    
@gablin: can you confirm what is your intention and improve the description to better reflect its? –  bigown Sep 25 '10 at 23:23
    
Terribly sorry for this misunderstanding. My intent is to learn general concepts of OS design, as Rook accurately pointed out. I've rephrased the question accordingly. –  gablin Sep 26 '10 at 9:00
6  
@Walter: Operating system concepts is definitely related to programming. The programs you develop will almost always be managed by an Operating System. You will not be a good programmer if you don't understand Operating system concepts. –  Jonas Sep 26 '10 at 9:24

4 Answers 4

up vote 15 down vote accepted

alt text

Operating System Concepts

by Abraham Silberschatz, Peter B. Galvin and Greg Gagne

It was the one that was used in my university course. I like it but I haven't read many other books on the subject that I can compare with. I have glimpsed through Operating Systems - Design and Implementation but I found it wasn't as readable as the book by Silberschatz, but that's my opinion.

share|improve this answer
1  
yep the most prescribed book in most of the universities –  GoodSp33d Sep 27 '10 at 6:27
    
Since this has gotten most votes, I'll go with this one. –  gablin Oct 3 '10 at 14:22

Modern Operating Systems

alt text

The widely anticipated revision of this worldwide best-seller incorporates the latest developments in operating systems technologies. The Third Edition includes up-to-date materials on relevant operating systems such as Linux, Windows, and embedded real-time and multimedia systems. Includes new and updated coverage of multimedia operating systems, multiprocessors, virtual machines, and antivirus software. Covers internal workings of Windows Vista (Ch. 11); unique even for current publications. Provides information on current research based Tanenbaum’s experiences as an operating systems researcher. A useful reference for programmers.

share|improve this answer
1  
It would be more helpful if your personal opinion about the book. –  Jonas Sep 26 '10 at 12:00
    
@Jonas - I have all four in my home library (3 that I, and the one you posted as your answer), although older editions. I know the contents of each to some extent, but there is no chance I could write down a subjective review of each one separately without having to read them all again. If I had to decide however (on memories), about which one I like the most, I'd go for either Silberschatz or Tanenbaum. –  Rook Sep 26 '10 at 12:15
1  
What's the difference between this one and Operating Systems Design and Implementation (3rd Edition)? Looks like they are written by the same author. –  gablin Sep 26 '10 at 18:08
    
@gablin - Yes, 'baum has written quite a few. I likes this one, cause it explained the core concepts in an understandable way. It also dealt with some threading and parallel issues, which were interesting me at the time ('tis exactly why I bought it, I think). The "implementations" is more code oriented, gives some practical semi-examples of why&how; it's also quite *nix oriented (not suprising coming from a guy who is one of the key players behind Minix). I would recommend the first one if you're looking for an interesting read, for a start. –  Rook Sep 26 '10 at 18:38
    
@Rook: "The first one" being this one - Modern Operating Systems - yes? –  gablin Sep 26 '10 at 22:38

Operating Systems: Internals and Design Principles

alt text

Blending up-to-date theory with state-of-the-art applications, this book offers a comprehensive treatment of operating systems, with an emphasis on internals and design issues. It helps readers develop a solid understanding of the key structures and mechanisms of operating systems, the types of trade-offs and decisions involved in OS design, and the context within which the operating system functions (hardware, other system programs, application programs, interactive users). Process Description And Control. Threads, SMP, And Microkernels. Concurrency: Mutual Exclusion And Synchronization. Concurrency: Deadlock And Starvation. Memory Management. Virtual Memory. Uniprocessor Scheduling. Multiprocessor And Real-Time Scheduling. I/O Management And Disk Scheduling. File Management. Distributed Processing, Client/Server, And Clusters. Distributed Process Management. Security. For product development personnel (Programmers, Systems Engineers, Network Designers, and others involved in the design of data communications and networking products), Product marketing personnel, and Information system and computer system personnel.

share|improve this answer
1  
It would be more helpful if your personal opinion about the book. –  Jonas Sep 26 '10 at 12:00

Operating Systems Design and Implementation (3rd Edition)

alt text

Revised to address the latest version of MINIX (MINIX 3), this streamlined, simplified new edition remains the only operating systems book to first explain relevant principles, then demonstrate applications using a Linux-like operating system as the detailed example. Designed especially for high reliability and for use in embedded systems. Minux features a simpler presentation than previous versions, with less than 4,000 lines of code in the kernel. The book is has been fully updated, with significant changes to the sections on CPU scheduling, deadlocks, file system reliability and security. The book’s reference section has been updated to reference modern literature. Written by the creator of Minux, professional programmers will now have the most up-to-date tutorial and reference available today.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.