Mono Introduction
Source Code Structure
- mcs :Mono实现的基于Ecma标准的C#编译器
- class :CLI的C#级的实现。类似于Android中的Java层,应用程序看到的是这一层提供的接口。这一层是平台无关的。
- ilasm :反汇编器,将Native code反汇编成bytecode。
- mono/mini :JIT编译器,将bytecode编译成native code。
- mono/metadata :Mono的runtime,CLI的Native级的实现。
- io-layer :与操作系统相关的接口实现,像socket,thread,mutex这些。
- libgc :GC实现的一部分。
GC
Managed Code and Non-managed Code
- Internal Call(icall)
- P/Invoke
Thread Pool
References
- Mono Introduction
- Working With SGen
- Garbage Collection
- Interop with Native Libraries
- Generational GC
- Embedding Mono
- Mostly Software
- Implementing a Dispose Method
- Implementing Finalize and Dispose to Clean Up Unmanaged Resources
10.OpCodeEmulation
11.Debugging
12.Dtrace
13.Marshalling In Runtime
14.Performance Tips