Publisher: O'Reilly Media Released: March 2003 Pages: 384
Microsoft'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®, Mac OS® X, and FreeBSD
Written by members of the core Microsoft® 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. |
-
Chapter 1 Introducing the CLI Component Model -
The CLI Virtual Execution Environment -
A CLI Implementation in Shared Source: Rotor -
Chapter 2 Getting Started with Rotor -
A Simple Component Assembly -
Observing Managed Execution -
Looking Ahead -
Chapter 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 -
Summary -
Chapter 4 Extracting Types from Assemblies -
Type Packaging -
Application Domains -
Bootstrapping the Assembly Load Process -
Securing Against Harmful Assemblies -
Summary -
Chapter 5 Synthesizing Components -
The Anatomy of a Component -
Verifying and Compiling CIL -
Calling Conventions in Managed Code -
Emitting Components Dynamically -
Summary -
Chapter 6 Regulating the Execution Engine -
Threads -
Traversing the Execution Engine Stack -
Threading and Concurrency -
Synchronizing Concurrent Access to Components -
Handling Component Exceptions -
Summary -
Chapter 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 -
Summary -
Chapter 8 Interlude: Enabling Component Integration with Metadata -
Altering Metadata Representation -
Transforming Metadata in the CLI -
Metadata in Action -
Chapter 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 -
Appendix A Quick Tour of Rotor -
Appendix Building Rotor -
-
Building Rotor on Windows -
Building Rotor on Unix -
Tests -
Build Scenarios -
Troubleshooting -
Appendix Porting Rotor -
Appendix Rotor Macrology -
General Macros -
Execution Engine Macros -
JIT Compiler Macros -
PALmacrosPAL and Platform Macros -
Colophon |
- Title:
- Shared Source CLI Essentials
- By:
- David Stutz, Ted Neward, Geoff Shilling
- Publisher:
- O'Reilly Media
- Formats:
-
- Print
- Safari Books Online
- Print:
- March 2003
- Pages:
- 384
- Print ISBN:
- 978-0-596-00351-7
- | ISBN 10:
- 0-596-00351-X
|
-
David Stutz David Stutz has been a professional musician since boyhood. Despite this impediment, he has also managed to actively participate in the evolution of a number of computer languages, programming models, and developer tools - most recently Microsoft's "Rotor" project (the Shared Source CLI). As a software architect and kibitzer, he has been involved in the early design stage of many technologies, including software component models, systems, database products, network protocols, and a whole lot of other hard-to-categorize plumbing. He is also an accomplished musical performer and a winegrape farmer. View David Stutz's full profile page. -
Ted Neward 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# 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. View Ted Neward's full profile page. -
Geoff Shilling Geoff Shilling is a product unit manager at Microsoft Corporation, currently leading the Shared Source CLI project. During his career at Microsoft, Geoff has been tester, developer and manager, shipping five versions of C, one version of FORTRAN, three versions of Visual Basic. When not building development tools, Geoff is frequently found at a loom weaving or in the shop building another boat. View Geoff Shilling's full profile page. |
Colophon Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animal on the cover of Shared Source CLI Essentials is an African openbill and is found in Africa, south of the Sahara and Madagascar. When its bill is closed, there is a gap between the two mandibles, and this is thought to be an adaptation for holding the large water snails, which form a major part of their diet. Sarah Sherman was the production editor and copyeditor for Shared Source CLI Essentials. Matt Hutchinson was the proofreader and provided quality control. Mary Anne Weeks Mayo, Darren Kelly, and Claire Cloutier provided quality control. John Bickelhaupt wrote the index. Emma Colby designed the cover of this book, based on a series design by Edie Freedman. The cover image is a 19th-century engraving from the Dover Pictorial Archive. Emma Colby produced the cover layout with Quark-XPress 4.1 using Adobe's ITC Garamond font. David Futato designed and produced the CD label with QuarkXPress 4.1 using Adobe's ITC Garamond font. David Futato designed the interior layout. This book was converted by Mike Sierra to FrameMaker 5.5.6 with a format conversion tool created by Erik Ray, Jason McIntosh, Neil Walls, and Mike Sierra that uses Perl and XML technologies. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSans Mono Condensed. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read using Macromedia FreeHand 9 and Adobe Photoshop 6. The tip and warning icons were drawn by Christopher Bing. This colophon was written by Sarah Sherman. |
|
Description
|
Table of Contents
|
Product Details
|
About the Author
|
Colophon
|
 |
|
 |
|
|
|
Recommended for You
|
Recently Viewed
|
 |
|
By David Sawyer McFarland
November 2002
By Æleen Frisch
August 2002
Ebook: $47.99
Print & Ebook: $65.99
Print: $59.99
|
Customer Reviews
8/30/2002 3.0Shared Source CLI Essentials Review By Piyush Garyali from Undisclosed 8/9/2002 5.0Shared Source CLI Essentials Review By Peter Monadjemi from Undisclosed
|
|
|