This document discusses managed code in the context of .NET. It defines a program and how programs are located and parsed, then introduces the Portable Executable (PE) file format. It explains how managed code is loaded via the PE headers, mscoree.dll and clr.dll. The Common Language Runtime (CLR) is introduced as the virtual machine that supports multiple programming languages by compiling to Common Intermediate Language (CIL) and providing features like interoperability. Advantages of managed code are listed, and compilation tools like C# compilers, JIT compilers, ILASM and ILDASM are described.