Monday, January 17, 2011

Review on the book Operating Systems by Gary Nutt

My Views on the book “Operating Systems, Gary Nutt, Nabendu Chaki, Sarmistha Neogy, 3rd Edition, Pearson Education, 2009, To be sold in India, Pakisthan, Nepal, etc.,”.

Interesting Aspects of the Book

1. Excellent technical strength.

2. Wide coverage of topics including security, networks, and operating systems such as Windows, Linux.

3. Good collection of references.

4. Most important aspect of Prof Gary Nutt’s books (current edition in addition to previous) is that laboratory exercises.

5. Another important aspect of this book is he discusses the concepts both from Unix/Linux and Windows.

6. Also, at many places he mentioned equivalents in both Linux and Windows. For example, he say fork() to create a process in Linux/Unix while CreateProcess() in Windows.

7. Good coverage of operating systems history in chapter 1. However, I am afraid to say that it is too technical for a fresh student. No doubt nice examples are used to explain the theme.

8. Disk abstraction is explained nicely in chapter 1.

9. In chapter 3, he uses a term “space-multiplexing” while explaining process abstraction. It really appealed to me. This will enhance student (reader) about the concepts.

10. Really, he gave process abstraction very illustrative manner.

11. The statement in chapter 3 in process abstraction section “ The abstract ALU only executes user mode instructions (but not privileged instructions)”. This statement is very illuminating for those faculty member who have superficial knowledge.

12. No doubt not many authors of operating systems book gave emphasis for address space. However, Prof Nutt has discussed many aspects with address space concept. However, he would have linked with Computer Organization/Architecture course while introducing.

13. He has introduced kernel structures of both Linux and Windows processes.

14. Lab exercise in chapter on Manipulating kernel objects is very attractive.

15. Good dealing of state-of-art process scheduling algorithms in chapter 4.

16. It is interesting to see discussion on yield instruction. However, it would have been more attractive if he would have included details of any machine having such machine instruction.

17. Chapter 4 contains a laboratory experiment which deals with discrete event simulation. Really, such a dealing is need for novice computer science people. However, some introduction on queuing theory like Deitel’s book may be attractive.

18. Simple illustrative examples on piping in chapter 6 is interesting.

19. Introduction to C-style memory layout is attractive as it relates the students based on his C understanding and the linkage between OS and programming language. However, it would have been little more lucid and illustrative. Probably, linking with some commands such as size etc., to know text and data segment sizes of a program, etc., may make the student interested.

20. A section on memory mapped files is interesting in chapter 9. I understand it is reported to be giving good performance with applications such as apache web server, etc.,.

21. Chapter 12 contains an excellent discussion on Access matrix for security/authorization.

22. Also, chapter 12 contains discussion on PGP. However, it would have been attractive if the author would have included practical Unix/Linux commands to achieve the same.

23. A chapter on Distributed Systems is attractive. Also, linking the discussion with CORBA is good. Probably, by including a simple Java example would have been little more interesting.

24. Also, discussion on RPC’s is good and illuminating.

Some Hints For Next Edition

25. Somehow I felt the chapter on computer networks is missing flavor of OS. Also, it lacks programming tint. I think author did not able establish the link between OS and networks.

26. Also, chapters 14 & 15 are illustrative. However, distributed systems itself is an ocean. Excepting these chapters, remaining all chapters are fitting into first level course on OS. As such these two chapters alone not sufficient for Distributes systems.

27. Out of all the chapters, first chapter is the one which I feel uncomfortable when I consider my operating systems course students. I feel it will be nice if it is re-organised.

28. On overall, I feel that author has assumed different level for his readers. I am afraid about Indian students and their exposure.

29. Address space is dealt nicely. However, very less emphasis is spent on linking with practical words such as swap partition, etc.,. I feel this swap partition etc., is commonly used. Also, not much of discussion is found regarding swap partition management.

30. In chapters such as 1 or 8, etc., authors would have related to students knowledge in Computer Organization/Architecture.

31. Also, when discussing about process abstraction, author would have discussed briefly about registers, actual program execution, etc.,.

32. I have serious reservation about the book page setters (DTP people). Every chapter starts with the word Chapter in the middle chapter number. This made me little sorry as it it different from standard book presentation.

33. Also, in every chapter first paragraphs made to have some background which is little un-attractive.

34. Also, some important concepts are made to background, which is not appealing.

35. Somehow, figures (titles) are also represented somewhat un-commonly.

36. Book would have been more attractive to the students if author would have included fully running programs along with screen shots.

37. The back cover of the book mentions that instructors material is available at . However, in reality it is not available at all.

38. Also, the same books Third Edition in international edition is completely different from this 3rd edition released in India. Evidently, that is a single author (Gary Nutt), where as this contains three authors.

I shall thank Prof Nutt for bringing such as illuminating book.

Prof NB Venkateswarlu