|
![]() |
|||
|
||||
OverviewMicrosoft's Shared Source CLI (code-named ""Rotor"") is the publicly available implementation of the ECMA Common Language Infrastructure (CLI) and the ECMA C# language specification. Loaded with three million lines of source code, it presents a wealth of programming language technology that targets developers interested in the internal workings of the Microsoft .NET Framework, academics working with advanced compiler technology, and people developing their own CLI implementations. The CLI, at its heart, is an approach to building software that enables code from many independent sources to co-exist and interoperate safely. ""Shared Source CLI Essentials"" is a companion guide to Rotor's code. This concise and insightful volume provides a road map for anyone wishing to navigate, understand, or alter the Shared Source CLI code. This book illustrates the design principles used in the CLI standard and discusses the complexities involved when building virtual machines. Included with the book is a CD-ROM that contains all the source code and files. After introducing the CLI, its core concepts, and the Shared Source CLI implementation, ""Shared Source CLI Essentials"" covers these topics: The CLI type system Component packaging and assemblies Type loading and JIT Compilation Managed code and the execution engine Garbage collection and memory management The Platform Adaptation Layer (PAL): a portability layer for Win32(R), Mac OS(R) X, and FreeBSD Written by members of the core Microsoft(R) team that designed the .NET Framework, ""Shared Source CLI Essentials"" is for anyone who wants a deeper understanding of what goes on under the hood of the .NET runtime and the ECMA CLI. Advanced .NET programmers, researchers, the academic community, and CLI implementers who have asked hard questions about the .NET Framework will find that this behind-the-scenes look at the .NET nucleus provides them with excellent resources from which they can extract answers. Full Product DetailsAuthor: Dave Stutz , Ted Neward , Geoff ShillingPublisher: O'Reilly Media Imprint: O'Reilly Media Dimensions: Width: 15.20cm , Height: 2.50cm , Length: 22.20cm Weight: 0.526kg ISBN: 9780596003517ISBN 10: 059600351 Pages: 378 Publication Date: 29 April 2003 Audience: College/higher education , Professional and scholarly , Undergraduate , Postgraduate, Research & Scholarly Format: Paperback Publisher's Status: Out of Print Availability: In Print ![]() Limited stock is available. It will be ordered for you and shipped pending supplier's limited stock. Table of ContentsPreface 1. Introducing the CLI Component Model The CLI Virtual Execution Environment A CLI Implementation in Shared Source: Rotor 2. Getting Started with Rotor A Simple Component Assembly Observing Managed Execution 3. Using Types to Describe Components Types and Type Systems More on Value Types More on Reference Types Type Interoperability Using Types in Data-Driven Code 4. Extracting Types from Assemblies Type Packaging Application Domains Bootstrapping the Assembly Load Process Securing Against Harmful Assemblies 5. Synthesizing Components The Anatomy of a Component Verifying and Compiling CIL Calling Conventions in Managed Code Emitting Components Dynamically 6. Regulating the Execution Engine Threads Traversing the Execution Engine Stack Threading and Concurrency Synchronizing Concurrent Access to Components Handling Component Exceptions 7. Managing Memory Within the Execution Engine Memory and Resource Management Organizing and Allocating Dynamic Memory Reclaiming Memory Structuring Metadata for Collection Scheduling Collection Finalization 8. Interlude: Enabling Component Integration with Metadata Altering Metadata Representation Transforming Metadata in the CLI Metadata in Action 9. The Platform Adaptation Layer PAL Overview Common Infrastructure Processes and Threads Synchronizing Processes and Threads Implementing Signaling Suspending and Resuming PAL Threads Asynchronous Procedure Calls Handling Exceptions in the PAL Managing Memory with the PAL Exploring the Rest of the PAL Joining Components to the OS A. A Quick Tour of Rotor B. Building Rotor C. Porting Rotor D. Rotor Macrology IndexReviewsAuthor InformationDavid Stutz is currently working on the team that is implementing the Microsoft Shared Source CLI. He is also well-known for his kibitzing on the design of peer-to-peer and distributed computing infrastructure. During his tenure at Microsoft and Microsoft Research, he has participated in designing programming languages, component technologies, operating systems, developer tools, and a whole lot of software plumbing. He is also an accomplished early music performer and a winegrape farmer. Ted Neward is an independent software development architect and mentor in the Sacramento, California area. He is the author of a number of books, including Server-Based Java Programming (Manning), the forthcoming EffectiveEnterprise Java (Addison-Wesley) and Shared Source CLI Essentials (O'Reilly) and co-author of C SHARP In a Nutshell (O'Reilly) with Peter Drayton and Ben Albahari. He is also an instructor with DevelopMentor, where he teaches and authors both the Java and .NET curriculum. He speaks frequently for technology user groups and writes technical papers for www.javageeks.com and www.clrgeeks.com. He currently labors on behalf of the University of California, Davis, architecting a rebuild of the Davis Accounting and Financial Information Services software system. Past clients include companies like Pacific Bell, EdFund, Synergex and Intuit. Tab Content 6Author Website:Countries AvailableAll regions |