Today I want to show you some documentation that is not directly from the MSDN. Instead, it comes from the team that works on the CoreCLR. So this documentation can be found on GitHub. The CoreCLR is the Open Source implementation of the .NET Runtime from Microsoft. It is open and cross-platform.
I selected this documentation since it is very interesting from a technical point of view. The CoreCLR team describes and explains internals of the .NET Runtime and design decisions behind. Every .NET developer should know a bit about this to understand the fundamental base his applications are running on.
And last but not least: you can see what a big challenge it is to write a programming platform that supports managed code and multiple languages!
- What the CLR is and the primary goals behind it.
- How the CLR supports multiple programming languages.
- What the concept of managed code is.
- What the garbage collector is and how it works.
- What memory and type safety is.
- The challenge and solution for calling from and into unmanaged code.
- Why there is a need for a Garbage Collection.
- How the Garbage Collector works.
- How memory is allocated and freed.
- How the CoreCLR team designed the Garbage Collector.
- Differences between managed and native threads.
- How thread lifetime is managed.
- How threads are suspended.
- How threads are synchronized.
- What special threads are.
- How data in RAM and CPU is managed.
- The role of the Garbage Collector.
Enjoy the MSDN!