ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Google+ ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1918 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Title:
Computer Systems
Author:
Randall E. Bryant, David R. O’Halloran
ISBN:
978-0-13-713336-9
Publisher:
Pearson (2011)
Pages:
1080pp
Price:
£
Reviewer:
Paul Floyd
Subject:
Miscellaneous
Appeared in:
25-6

Reviewed: January 2014

There aren’t many books like this about, and their scarcity increases their value. Clearly this is aimed at the undergraduate, and I felt that I missed out a lot by not doing the exercises (my excuse is that I do most of my reading over breakfast or on public transport).

The authors try to cover computer systems from the ground up. After the basics, they go into lengthy coverage of machine code. Next up is a cover the basics of processor design, developing a simplified x66 basic processor (which they call y86). This is then enhanced by adding pipelining, out-of-order execution and an explanation of hazards. The next chapter is on performance from the perspective of the compiler and the code that it has to deal with. The last chapter in the first section covers caches and the memory hierarchy.

Section 2 kicks off with a chapter on linking, a topic that generally gets little coverage. After this, as the topics get to higher levels of computer systems, I felt that the ground was better trodden and the scarcity value decreased. The last few chapters cover Unix systems programming in the same vein as W. Richard Stevens. Some of the low level C stuff was lacking government health warnings – setjmp/ longjmp are described without saying anything about C++ exceptions and threads. I was a bit disappointed that the chapter on threading didn’t get down to instruction reordering and its impact on thread safety.