Distributed Virtual Machines: Inside the Rotor CLI

Gary Nutt

  • 出版商: Addison Wesley
  • 出版日期: 2004-09-12
  • 售價: $1,530
  • 貴賓價: 9.5$1,454
  • 語言: 英文
  • 頁數: 200
  • 裝訂: Paperback
  • ISBN: 0321159837
  • ISBN-13: 9780321159830






The Common Language Infrastructure (CLI) is a multiple language runtime system, first implemented as the .NET Common Language Runtime (CLR). In March, 2002 Microsoft released the Shared Source CLI implementation (aka Rotor)for general educational use. The CLI technology can be used to address a spectrum of software design and development barriers that cut across compilers, runtime systems, and operating systems. This book focuses on the parts of the technology that are directly related to Distributed Virtual Machine technology. It covers assembly architecture, assembly loading, downloading, the execution engine, security, CLI interobject communication (remoting), and more.

This book is available entirely online at http://aw-bc.com/nutt/cli for professor evaluation and classroom use, and for general readers interested in the Rotor CLI.


Table of Contents:


1. Distributed Virtual Machines.

The System Environment.

HPCC: High Performance Computing and Communication.

PVM: The Parallel Virtual Machine.

The Beowulf Cluster Computing Environment.

The Open Systems Foundation (Open Group) DCE.

Lab Exercise: Install Rotor on FreeBSD.

2. Second Generation DVMs.

Mobile Code.


The Execution Model.

Secure Operation.

Thread and Active Objects.

Lab Exercise: Writing C# Programs.

3. .NET and the CLI: A Contemporary DVM.

CLI: The Common Language Infrastructure.

The CLI DVM Model of Operation.

CLI Class Libraries.

Programming the .NET Environment.

Lab Exercise: Multi Assembly Program.

4. The Rotor CLI Implementation.

The Software Distribution.

Loading the Assembly.

The Class Loader.

The JIT Compiler.

The Execution Engine.

The Policy Manager.

Communicating Across Application Domains.

The Platform Adaptation Layer.

Design Summary.

Lab Exercise: The Code that Launches an Application.

5. Assemblies.

The Type System.

Modules and Portable Execution Files.

The Metadata.

Lab Exercise: Inspecting Assemblies.

6. The Assembly Loader.

Address Spaces.

Overview of the Fusion Assembly Loader.

Downloading the Assembly.

Binding the Assembly to the App Domain.

Lab Exercise: Refining the Rotor Downloader.

7. The Execution Engine.

Application Domains.

Managed Threads.

The Class Loader.

Preparing Native Code.

Invoking EE Features.

Lab Exercise: Using the Debugger.

8. Protection Mechanisms and Security Policy Management.

Base Technology.

The Sandbox.

The Policy Manager.

Lab Exercise: Adding a Security Policy to the CLI.

9. Communicating Across Application Domains.

A Model of Communication Approaches.

Using Remoting.



Lab Exercise: Using Remoting fro Code Mobility.

10. The CLI's Execution Environment.

The Base Class Library.

The Platform Adaptation Layer.