This book is an introduction to real time-systems. It is intended not as a cookbook, but rather as a stimulus for thinking about hardware and software in a different way. It is necessarily broader than deep. It is a survey book, designed to heighten the reader’s awareness or real-time issues. At least that is what the first paragraph of the books preface says and so far it seems an accurate description. It goes on to say it is broad rather than deep and that as it is pragmatic some of the author’s views may be controversial. I would agree with that too! I would argue some of the points in the book but I think controversial is a bit strong. This book is in its third edition so it is clearly doing something right.
This book covers real-time systems in general. As such it is not going to cover many topics people will need. This is inevitable in a book of less than several thousand pages. It looks at POSIX (mainly used by Linux/Unix) and real time OS so this is a book aimed mainly at the 16/32bit and upwards systems. It is not going to be a great deal of use for those working in the 8-bit field (which is the largest group). That said it is a good general book on real time systems. I would suggest that student should have this book. Whilst the author is a lecturer I don’t think this is a course book as such but would make a good general background and reference.
One chapter I was very please to see is the one on requirements and documentation. This includes a section, that I have not seen outside some standards, on words and phrases to use and avoide… eg “adequate “, “if practical”. It is this that helps set the reader thinking and hopefully realising how important properly worded specifications and requirements are. This leads into system design. That is “system” not software because real time systems are 50% software, 50% hardware and 50% Systems. The example used is a four-way traffic system. Not exactly tight mili-second timing but a useful safety critical example.
Formal methods are, as with all things in this book, lightly, covered and, I think, objectively covered. Other things covered are Petri-nets, UML and, with les emphasis, structured methods.
The hardware side of the book is light but I would think students would need a separate book on digital electronics and MCU. However the book is OK for the target audience. At the level of systems discussed there would be separate hardware and software teams.
As the author said in the introduction this is a pragmatic book and read more like an engineering book than an academic tome. This explains the chapters on performance analysis, engineering considerations and metrics. These are written with a “real-world” feel to them. Every time I dip into the book it seems larger than it’s 450 pages…
I think the author has done a very good book. His notes indicate that this third edition is a complete re-write with 50% new material. So I would thing even owners of the second edition might want to look at this book.
I would recommend this book for all students, though it is expensive, and for all new engineers as a general reference book. You will need other books for in depth information but this will be a good starting point. Recommended.