a stimulus for thinking about hardware and software in a different way
At least that is what the first paragraph of the book's 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 upward 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 students should have this book. Whilst the author is a lecturer I do not 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, which I have not seen outside some standards, on words and phrases to use and avoid... for example "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, milli-second timing but a useful safety critical example.
As with all things in this book formal methods are lightly covered and, I think, objectively covered. Other things covered are Petri-nets, UML and, with less 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 reads 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 its 450 pages...
I think the author has written a very good book. His notes indicate that this third edition is a complete re-write with 50% new material. So I would think 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.