The common type system is a rich type system, built into the common language runtime that supports the types and operations found in most programming languages. The common type system supports the complete implementation of a wide range of programming languages. CTS are a sub set of CLR. Interoperability features is achieved by CTS.
CLS (Common Language Specification): The Common Language Specification (CLS), which is the set of basic language features needed by much .Net application to fully interact with other object regardless of the language in which they were implemented. The CLS represents the guidelines defined by for the .Net Framework. The specification is normally used by the compiler developers and is available for all languages, which target the .Net Framework.
JIT (Just In time): A JIT compiler runs after the program has started and compiles the code (Usually byte code or some kind of VM instruction) on the fly (or just-in -time) into a form that’s usually faster, typically the host CPU’s native instruction set. A JIT has access to dynamic runtime information where as a standard compiler doesn’t and can make better optimizations like in lining function that are used frequently.
There are three types JIT
(1)Pre-JIT compiler: Compiles entire code into native code completely.
(2) Econo- JIT compiler: Compiles code part by part freeing when required.
(3) Normal –JIT compiler: Compiles only that part that part of code when called and places in cache.
MSIL (Micro soft Intermediate Language): Asp.net code in many different languages, such as VB, C#, J#, and others. When the code is compiled, it is translated into a language independent and CPU- specific instructions for the processor on the computer running the application.