Operating Systems

Authors: R. Garg and G. Verm
Publisher: Mercury Learning
ISBN: 978-1942270386
Print: 1942270380
Audience: Computer Science students
Rating: 4
Reviewer: Mike James
Is there room for another book on operating systems?

Operating systems is such a core topic of any computer science course that there are lots of books on the subject. Perhaps the best known is Modern Operating Systems by Tanenbaum & Bos, but the hardback edition sells for nearly $180 and it's big (1136 pages) and detailed. If you really want to master operating systems then it's a must-have, but what if you just want a rough outline of the subject?

This might be where this introductory book comes in handy. It is reasonably priced and short enough to be readable. However, writing a book on operating systems in general is still a tall order. You first have to decide if you want to cover a particular OS in detail or try and be as general and theoretical as possible. This book attempts to cover the ideas, but somehow you can feel that Linux or Unix are lurking behind the pages. For a long time now the way these two operating systems do things has been the standard by which to compare others. 


Chapter 1 gives us the inevitable overview and it goes into the history and classification of operating systems, including batch operating systems. Chapter 2 is about architecture - monolithic, layered and micro kernel. Chapter 3 introduces the idea of processes and Chapter 4 extends this to threads and Chapter 5 explains scheduling. Chapter 6 deals with synchronization and locking which is expanded on in Chapter 7 on deadlock. Chapters 8 and 9 are on memory management including virtual memory. Chapters 10, 11 and 12 deal with file systems, I/O and disk management. Chapter 13 brings the theory part of the book to a close with a look at distributed systems. From this point on we have chapters on particular operating systems - Linux, Android, iOS and Windows 10. These are so short as to be fairly useless, unless you really don't know anything about them at all. 

Overall the book written in an "introductory academic" tone that would make is suitable to base a simple course on. There are small quizzes after each section, lots of bullet point summaries and even "did you know" boxes. The style is short and to the point, but if you read it and think about the ideas you should understand the principles involved.

What is missing from the book is any sort of real world interaction with operating systems. The final chapters attempt to put this right, but they are merely end-user descriptions of operating systems. You won't discover any of the messiness of real world operating systems from this book - it is about theory. There are no programs, no descriptions of real world operating system commands and no mention of system calls. Of course, if the book did have any practical examples or exercises it would be 1000 or more pages and essentially be Modern Operating Systems by Tanenbaum & Bos mentioned at the start of this review. 

So if you want a short, relatively cheap and incomplete overview of operating systems you might want to consider this book. 


To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.


Large-Scale C++, Volume I

Author: John Lakos
Publisher: Addison-Wesley
Pages: 988
ISBN: 978-0201717068
Print: 0201717069
Kindle: B0826523GZ
Audience: Programmers with plenty of time to spare
Rating: 3
Reviewer Mike James:
Large Scale C++, what can this mean?

Grokking Machine Learning

Author: Luis G. Serrano
Publisher: Manning
Date: December 2021
Pages: 512
ISBN: 978-1617295911
Print: 1617295914
Kindle: B09LK7KBSL
Audience: Python developers interested in machine learning
Rating: 5
Reviewer: Mike James
Another book on machine learning - surely we have enough by now?

More Reviews




Last Updated ( Tuesday, 30 April 2019 )