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.
Very strict and stale structures in the language and disposition. Read Three Easy Pieces instead, much easier to read and more pedagogical while delivering the same content (:
I really sunk my teeth into this book in an attempt to understand the years of computing that had come and gone before I began my entry into Computer Sciences. When it comes to understanding the core components of a computer system, there's no better place to begin learning. The illustrations used in the book are a bit dated and unnecessary, but this book should remain useful for some time to come.
Despite the massively dorky cover, this is an incredible book. I was assigned this book as textbook used in Computer Science 440 at Allegheny College, and while we did not read the entire book during that class, I intend to read it cover-to-cover this summer. Tanenbaum's clever, slightly witty writing style makes "Modern Operating Systems" a surprisingly engaging read for a textbook, and he's really adept at explaining concepts in OS theory and design in a very simple way that makes them quite easy to pick up. The figures, while simple, are clear, easy to understand, and very frequent. Code snippets, written in C, are also frequent, well-commented, and easy to understand. These factors all make this book a much better operating systems text than some others I could mention.
Furthermore, although some references are a bit dated*, this book covers or at least summarizes a lot of concepts which have become big recently, such as distributed systems and cloud computing, multiprocessing and concurrency, virtualization, security and data assurance, and issues related to mobile devices -- it's not just a tour of POSIX, unlike some other texts.
Tanenbaum explains not only how modern operating systems work, but why -- the history of the machines, people, and ideas that created the OS ecosystem we see today. He's obviously an expert in his field, as evidenced by his work on Minix, and the book conveys a lot of his theories and ideas, many of which are arguably light-years ahead of those used in the operating systems we tend to actually use on a day-to-day basis. After reading his book, one tends to see a lot of room for improvement in the OSes they use.
It's really important, I think, for all programmers, not just systems programmers, to have a clear understanding of how operating systems work and how their code interacts with the OS. Even if you're a web developer, web servers and browsers have to interact with an OS at some point**. Understanding how operating systems work and how they are designed is vital to writing good, efficient, and elegant software. While I'd definitely recommend this book to computer science professors over other similar textbooks, I'd also plug it to any pretty much any developer, programmer, or computer scientist who wants to improve their understanding of operating systems.
* Which is to be expected for pretty much any computer science text... ** More frequently than you'd imagine, in fact!
The greatest book on operating systems by far. It combines plenty of information, flawless concise delivery, and useful exercises. This is one of the books that packs loads of technical details but reads as fiction. The content is structured very well, whatever questions arise during reading are usually answered on the following few pages. Questions that have no answers yet are also given, thus engaging the reader and once again ensuring that the reader follows the book closely. All in all, this is pure classics and recommended to everyone in the software industry.
This is the only book I recommend if you want to learn operating systems in general. Consider it like a bible. One of the most amazing books I have read in my life.
I'm so glad highly detailed books such as this are still being written. Thank you Tanenbaum and Bos. This book is good and it would be hard to learn everything it teaches in such a concise form (except maybe from Operating Systems Design and Implementation, also written by Andrew S. Tanenbaum).
The examples of real world usage in the book feel odd. For example in scheduling it says that on desktop computers it doesn't matter too much because people do one thing at a time whereas in reality I have tens of windows showing me stuff and my computer has hundreds of processes just to be in an idle no-activity state. As far as I know, the scheduling algorithms then are correct, it's just the real world application that feel at best stuck in 90s, at worst designed for people that have never touched a computer.
The other thing that I found surprising this book would _get wrong_ is the line between Linux and the rest of a Linux distribution. Linux is just the kernel, the rest is other projects, with their own names, a lot of it coming from GNU which is why some people advocate for the GNU/Linux name.
A good solid explanation of operating systems, but a little disjointed.
I read this book not long after finishing TCP/IP illustrated by Stevens, so my memories are probably a little harsher than they would be otherwise. The book does a good job of outlining the basic components of an operating system, and how it works.
With excellent tech books, I feel like i have not only been taught the facts of a technology, but why the technology was built the way it was. That I remember many of the nitty gritty details because I know what the implementers were thinking at design time, and why they made the choices that they did.
It's much harder to do this in a book on a subject as wide as 'Operating Systems' than on the TCP/IP stack, but I felt like 'Modern Operating Systems' missed this part of tech writing entirely.
It's a competent book, and the facts are clearly stated. Just not in an overly interesting, or enlightening, way.
به جرات میتونم بگم یکی از حیاتیترین کتابهای موجوده برای هرکسی که به هرنحوی توی حوزهی کامپیوتر درگیره. درک و دیدگاهی که این کتاب از سیستمعامل میده فوقالعادهس. مفاهیم رو برای شروع به اندازه گفته، نه بیش از اندازه سطحی و حوصلهسربر نه اونقدر پیچیده که غیرقابل فهم و گیجکننده باشه. یکی دو مورد اشتباه توی الگوریتمهاش وجود داره که به نظرم قابل اغماضه. نثر کتاب روانه و تننبام طنز ظریفش رو هرازگاهی لا به لای مفاهیم جا داده. یکی از اتفاقاتی که این کتاب رو برام ارزشمندتر کرد پاورقی یکی از صفحات بود که نوشته بود : در این کتاب هر جا از he استفاده شده منظور هم he است هم she.
When I was a kid, I was really into computers. Like, really into them. After I published my first website in 2002, my next big goal was to create my own operating system. That's when I found this book that totally changed my life. The book was incredibly inspiring and motivated me to pursue a career in this field. I credit this book with setting me on the path to where I am today.
A very good OS introduction, the first 500 pages are must-read for everyone. Later in the book it gets a bit boring, and the information is not that valuable. Also it is talked too much about the history, and that is getting annoying, so that's why I can't give it 5 stars.
This is one of the most important fundamental books that explains operating systems basics and that should be read by every engineer in their career. Stunning author's style mixed with great professional humor won't leave you indifferent!
While reading this book, I had the feeling that I'm actually a disciple of the great Tanenbaum. And that's itself is a very convincing reason to read the book.
I oscillate between 3 and 4 stars over this one; Between a fun read but a rather disjointed one. Many books on operating system starts with the file system to allow one to play with the operating system in question and gain an intuition for the system at work. Since this book is very general, it starts with processes and goes from fundamental concept to other fundamental concept, but certain topics requires others to be understood at least in concept and parts prior to going in to details. None of the algorithms are explained in a formal way which is pleasant for the reader, but not necessarily for technical comprehension. Some rather important piece of information are not highlighted, for example, the interrupt handler software set of processes, which in my opinion should have been incased so that the reader has an hint of its technical importance. Overall, I would recommend this book as a great starter and I found the chapters on processes, memory management and file systems and I/O to be particularly good as introductions to the topics.
It was (read years ago, just identified on the site) a not too deep overview on all the major components and problems that an operative system had to solve. Particularly interesting was the secuding of processes or also the management of memory to avoid trashing.
As a "more than an overview" start, I found it pretty well done. Sometimes there were parts that were hard to read because not so appealing, but still well done.
Good and interesting book. At the same time, a hard book. Thus, I decided that I would take a course on operating systems rather than reading all of it.
For a software engineer of any level, this book has a lot of great ideas to make your code more readable and maintainable. I wish I had discovered it earlier.
At this point MOS is pretty basic but still covers essential material++ in Tanenbaum's clear and pleasant way. I still pull this off the shelf regularly.