Virtual Reality – virtual-wide-web.com

Virtual Machines: Versatile Platforms for Systems and Processes

03.08.2010 · Posted in Virtual Reality


Product Description
Virtual Machine technology applies the concept of virtualization to an entire machine, circumventing real machine compatibility constraints and hardware resource constraints to enable a higher degree of software portability and flexibility. Virtual machines are rapidly becoming an essential element in computer system design. They provide system security, flexibility, cross-platform compatibility, reliability, and resource efficiency. Designed to solve problems in combining and using major computer system components, virtual machine technologies play a key role in many disciplines, including operating systems, programming languages, and computer architecture. For example, at the process level, virtualizing technologies support dynamic program translation and platform-independent network computing. At the system level, they support multiple operating system environments on the same hardware platform and in servers.

Historically, individual virtual machine techniques have been developed within the specific disciplines that employ them (in some cases they aren’t even referred to as “virtual machines”), making it difficult to see their common underlying relationships in a cohesive way. In this text, Smith and Nair take a new approach by examining virtual machines as a unified discipline. Pulling together cross-cutting technologies allows virtual machine implementations to be studied and engineered in a well-structured manner. Topics include instruction set emulation, dynamic program translation and optimization, high level virtual machines (including Java and CLI), and system virtual machines for both single-user systems and servers.

* Examines virtual machine technologies across the disciplines that use them-operating systems, programming languages and computer architecture-defining a new and unified discipline.
* Reviewed by principle researchers at Microsoft, HP, and by other industry research groups.
* Written by two authors who combine several decades of expertise in computer system research and development, both in academia and industry.

$39.49 Virtual Machines: Versatile Platforms for Systems and Processes

Tags: Systems, Machines, Processes, Versatile, Virtual, Platforms

Related Posts:





Popular Posts

Virtual Machines: Versatile Platforms for Systems and Processes

6 Responses to “Virtual Machines: Versatile Platforms for Systems and Processes”

  1. Took a while to get here, but it did still arrive before the ETA, so I can’t complain there. All good with the book, no problems whatsoever. A good transaction!
    Rating: 5 / 5

  2. 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.
    Rating: 5 / 5

  3. 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.
    Rating: 5 / 5

  4. 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.

    Rating: 4 / 5

  5. 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.
    Rating: 5 / 5

  6. [...] They provide system security, flexibility, cross-platform compatibility, reliability, and [...] Read_More Tags: machine compatibility, computer system design, compatibility constraints, software [...]

Leave a Reply

Get Adobe Flash playerPlugin by wpburn.com wordpress themes
Better Tag Cloud