Virtual Machines: Versatile Platforms for Systems and Pro... and over 2 million other books are available for Amazon Kindle . Learn more
  • RRP: £52.99
  • You Save: £4.04 (8%)
FREE Delivery in the UK.
Only 3 left in stock (more on the way).
Dispatched from and sold by Amazon.
Gift-wrap available.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Virtual Machines: Versatile Platforms for Systems and Processes (The Morgan Kaufmann Series in Computer Architecture and Design) Hardcover – 12 Jul 2005

See all 3 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle Edition
"Please retry"
"Please retry"
£25.09 £41.13

Frequently Bought Together

Virtual Machines: Versatile Platforms for Systems and Processes (The Morgan Kaufmann Series in Computer Architecture and Design) + Engineering a Compiler
Price For Both: £103.94

Buy the selected items together

Product details

More About the Author

Discover books, learn about writers, and more.

Inside This Book (Learn More)
Explore More
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

Customer Reviews

There are no customer reviews yet on
5 star
4 star
3 star
2 star
1 star

Most Helpful Customer Reviews on (beta) 5 reviews
12 of 12 people found the following review helpful
Nice, Unified Overview of Virtualization (in all its forms) 17 Feb 2008
By Christopher Hefele - Published on
Format: Hardcover
A wonderful quote appears at the start of the book: "Hardware is hard, inflexible, produced by gnomes with sub-micron tools. Virtual machines wrap a layer of software around this hardware, and suddenly computers become flexible, malleable and start doing new tricks: running multiple operating systems, executing several instruction sets, allowing running programs to switch machines, or even rejecting unsafe code."

Many of the "new tricks" of virtualization are thoroughly explored in this book. The authors get "under the hood" of many VMs and go through the details of how they work. Also, they present the many types of virtualization in a well organized, unified framework. The book is also a good history lesson; various forms of virtualization have been around for decades, and the authors go through many case studies to show how many "modern" VM concepts are actually not as modern as you might think.

The first few chapters focus on emulators. They go into great detail about the realities of mapping register sets, memory, interrupts, etc in an emulator, as well as other nits such as how to deal with self-modifying code. Binary-to-binary translation is covered, as well as how the translation can rewrite sections that are hard to virtualize. Dynamic binary optimizers are also covered, as well as how they can profile running code & reorder it to improve locality & speed. The HP Dynamo project is then reviewed to demonstrate the performance gains that are possible using dynamic optimization.

Virtual machines for programming languages are covered next. The typical description of the Java VM is covered here, as well as the Microsoft CLR. However, the section about Pascal P-code from the late 1970's is a nice reminder that the use of VMs for programming languages is not new.

Whole-system VMs are also covered next (e.g. VMWare, Xen...). The discussion builds on the concepts in the early chapters, and describe how memory is mapped, critical instructions are patched & rewritten, system calls are caught, etc. And of course VMWare is one of the case studies.

Finally, I thought one of the more interesting chapters is about "codesigned" VMs; these use low-level 'firmware' (not microcode) running in a minimal processor to effectively emulate another processors instruction set (though at hardware speeds). The processor firmware performs the functions that more complex processors do in silicon, such as instruction reordering, branch prediction, etc. The recent Transmeta Crusoe processor (designed in the late 90's) is reviewed as a recent example of this technique. But another case study -- of the IBM AS/400 designed in the late 80's -- shows that the codesigned VM concept is not new, either.

Overall, this textbook is a nice overview of VMs in multiple forms (that is, for systems, for languages, for emulators, etc). It takes a high-level, computer-science perspective, so it's not product specific. I thought it went into sufficient detail so that it didn't seem too impractical or watered down. My only complaint is that it was a bit wordy in spots, as textbooks sometimes are. But if you're interested in the broad topic of VMs, it'll be a good addition to your library.
19 of 22 people found the following review helpful
OK 21 May 2006
By J Jacob Jingleheimer Schmidt - Published on
Format: Hardcover
A good first book on VMs. Starts with general foundations, then overviews both JVM and CLR. More of an overview than an indepth book though (which, for an introduction, is not bad, so I'm not complaining).

One thing I could do w/o though is a fair amount of hype about how VMs are great and so on. First, there's nothing new about them, they've been in existence for decades (it's just at the time MS believed that the future belongs to DDE); second, it can be argued that their current entry into the mainstream is due more to commercial interest and accompanying marketing hype than technical merit; third and last -- I'm tired of pretense excitement about this or that nine-days wonder's being a silver bullet, the Final Great Thing That Solves All Problems. I've seen too many of them appear in blasts of glory and be gone w/o trace within a couple of years despite all MS (or, in our case, Sun) self-serving clairvoyantry. We'll see, says I; meantime, less propaganda would be nice.

But overall, the book's OK though, a good place to start if curious. Btw, there's another one, by Iain Craig, that, I think is even better.

PS. As always, I warn the reader about the below reviewer, W.Boudville. Check his reviews page: he posts like a dozen exclusively positive reviews per day, every day, going back to the beginning of time: he cannot possibly have read one tenth of the books he's reviewed. Probably a "hired hand"; I smell a rat.
14 of 17 people found the following review helpful
Perfect introduction to moder virtual machine implementation techniques 13 April 2006
By Tomi Maila - Published on
Format: Hardcover
Virtual machines and virtualization are a hot topics in the IT industry today. This is a perfect book and a very good introduction to the topic if you consider programming your own virtual machine. This is also a good introduction for you want to understant the techology behind modern virtual machines. I have a few virtual machine related books in my self and this is the best general introduction to virtual machines. The book deals with practical problems related to implementing your own virtual machine and improving its performance.

If you are just interested in virtualization of your current hardware to support multiple operating systems using virtualization software such as VMWare, Xen or Microsoft Virtual Server, then this defenitely is NOT the book for you! If your main interest is on the Java Virtual Machine, then you should consider purchasing Java VM specific book such as Java Virtual Machine Specification.
3 of 3 people found the following review helpful
Well-written overview of virtualization 11 Mar 2008
By Syd Logan - Published on
Format: Hardcover Verified Purchase
I purchased this book to get myself grounded quickly in virtualization, specifically to gain an understanding on how virtual machines are built, and the related issues. The book covers a wide variety of topics, from emulation, to machine virtualization (e.g., VMware server), hosted virtualization (e.g., VMware Fusion), binary translation, code virtualization (e.g., Java). The issues are spelled out clearly, the relevant theorems and papers are covered, and just the right amount of code/algorithms are presented to help make points clear. There are plenty of case studies, ranging from the historic to the modern day implementations (VMs are not new technology -- machine VMs date back to the early days of computing, as discussed in the book).

This is not a book for those wanting to deploy VMs, but is a book for those who want to understand issues related to their theory and implementation.
0 of 5 people found the following review helpful
Great Book 19 Sep 2008
By Andrew J. Reddoch - Published on
Format: Hardcover
I was suprised at the coverage of this book. I have found the content very interesting and enlightening. Good choice if you are interested in the powerful aspects that the various levels of virtual machines can afford.
Were these reviews helpful? Let us know