SlideShare a Scribd company logo
ARCHITECTURE IN .NET
Larry Nung
AGENDA
Overview
Common Language Infrastructure (CLI)
Common Language Runtime (CLR)
Just In Time Compiler (JIT)
Common Intermediate Language (CIL)
Base Class Library (BCL)
Framework Class Library (FCL)
Common Type System (CTS)
Common Language Specification (CLS)
Reference
Q & A 2
OVERVIEW
3
OVERVIEW
4
COMMON LANGUAGE
INFRASTRUCTURE (CLI)
5
COMMON LANGUAGE INFRASTRUCTURE (CLI)
 An open specification describes the executable
code and runtime environment.
6
COMMON LANGUAGE RUNTIME (CLR)
7
COMMON LANGUAGE RUNTIME (CLR)
 The .NET Framework provides a run-time
environment called the common language runtime,
which runs the code and provides services that
make the development process easier.
8
COMMON LANGUAGE RUNTIME (CLR)
9
COMMON LANGUAGE RUNTIME (CLR)
 Performance improvements.
 The ability to easily use components developed in other
languages.
 Extensible types provided by a class library.
 Language features such as inheritance, interfaces, and
overloading for object-oriented programming.
 Support for explicit free threading that allows creation of
multithreaded, scalable applications.
 Support for structured exception handling.
 Support for custom attributes.
 Garbage collection.
 Use of delegates instead of function pointers for
increased type safety and security. For more information
about delegates, see Common Type System. 10
COMMON LANGUAGE RUNTIME (CLR)
11
JUST IN TIME COMPILER (JIT)
12
JUST IN TIME COMPILER (JIT)
 JIT compilation converts MSIL to native code on
demand at application run time, when the contents
of an assembly are loaded and executed.
13
JUST IN TIME COMPILER (JIT)
 Normal-JIT Compiler
 Compile methods in runtime as needed.
14
JUST IN TIME COMPILER (JIT)
 Econo-JIT
 A runtime compiler which hadn’t done any optimization
and removed methods’ machine code when it is not
required.
15
 Pre-JIT Compiler
 Compile the entire assembly before it has been used.
16
COMMON INTERMEDIATE LANGUAGE
(CIL)
17
COMMON INTERMEDIATE LANGUAGE (CIL)
 Microsoft intermediate language (MSIL)
 Lowest-level human-readable programming
language defined by the Common Language
Infrastructure (CLI) specification
18
BASE CLASS LIBRARY (BCL)
19
BASE CLASS LIBRARY (BCL)
 The Base Class Library (BCL) is the core set of
classes that serve as the basic API of the Common
Language Runtime. The classes in mscorlib.dll and
some of the classes in System.dll and
System.core.dll are considered to be a part of the
BCL. It includes the classes in namespaces like
System , System.Diagnostics ,
System.Globalization, System.Resources ,
System.Text , System.Runtime.Serialization and
System.Data etc.
20
BASE CLASS LIBRARY (BCL)
21
FRAMEWORK CLASS LIBRARY (FCL)
22
FRAMEWORK CLASS LIBRARY (FCL)
 The Framework Class Library (FCL) is a superset
of the BCL classes and refers to the entire class
library that ships with .NET Framework. It includes
an expanded set of libraries, including Windows
Forms, ADO.NET, ASP.NET, Language Integrated
Query, Windows Presentation Foundation,
Windows Communication Foundation among others.
23
FRAMEWORK CLASS LIBRARY (FCL)
24
COMMON TYPE SYSTEM (CTS)
25
COMMON TYPE SYSTEM (CTS)
 Define how types are declared, used, and managed
in the common language runtime.
26
COMMON TYPE SYSTEM (CTS)
 Establishes a framework that helps enable cross-
language integration, type safety, and high-
performance code execution.
 Provides an object-oriented model that supports the
complete implementation of many programming
languages.
 Defines rules that languages must follow, which
helps ensure that objects written in different
languages can interact with each other.
 Provides a library that contains the primitive data
types (such as Boolean, Byte, Char, Int32, and
UInt64) used in application development. 27
COMMON TYPE SYSTEM (CTS)
 Value types are data types whose objects are
represented by the object's actual value. If an
instance of a value type is assigned to a variable,
that variable is given a fresh copy of the value.
 Reference types are data types whose objects are
represented by a reference (similar to a pointer) to
the object's actual value. If a reference type is
assigned to a variable, that variable references
(points to) the original value. No copy is made.
28
COMMON TYPE SYSTEM (CTS)
29
COMMON LANGUAGE SPECIFICATION
(CLS)
30
COMMON LANGUAGE SPECIFICATION (CLS)
 This is a subset of the CTS, which all .NET
languages are expected to support.
31
REFERENCE
32
REFERENCE
 Common Language Infrastructure - Wikipedia, the
free encyclopedia
 http://en.wikipedia.org/wiki/Common_Language_Infrastr
ucture
 Common Type System
 https://msdn.microsoft.com/en-
us/library/zcx1eb1e(v=vs.71).aspx
 Common Type System - Wikipedia, the free
encyclopedia
 http://en.wikipedia.org/wiki/Common_Type_System
 Ashu's Tricks
 http://ashujagtap333.blogspot.tw/ 33
REFERENCE
 Common Language Specification
 https://msdn.microsoft.com/en-
us//library/vstudio/12a7a7h3(v=vs.100).aspx
 Standard ECMA-335
 http://www.ecma-
international.org/publications/standards/Ecma-335.htm
 Common Language Runtime (CLR)
 https://msdn.microsoft.com/en-
us//library/8bs2ecf4(v=vs.110).aspx
 通用語言運行庫 - 維基百科,自由的百科全書
 http://zh.wikipedia.org/wiki/%E9%80%9A%E7%94%A8
%E8%AA%9E%E8%A8%80%E9%81%8B%E8%A1%8
C%E5%BA%AB 34
REFERENCE
 Common Intermediate Language - Wikipedia, the
free encyclopedia
 http://en.wikipedia.org/wiki/Common_Intermediate_Lang
uage
 Standard Libraries (CLI) - Wikipedia, the free
encyclopedia
 http://en.wikipedia.org/wiki/Standard_Libraries_(CLI)
 .NET Compilation - Part 1: Just-In-Time Compiler.
 http://geekswithblogs.net/ilich/archive/2013/07/09/.net-
compilation-part-1.-just-in-time-compiler.aspx
 Compiling MSIL to Native Code
 https://msdn.microsoft.com/en-
us/library/ht8ecch6%28v=vs.90%29.aspx 35
REFERENCE
 Explain JIT, Ngen.exe, Pre-jit, Normal-Jit and
Econo-Jit.? (.NET interview questions) - YouTube
 https://www.youtube.com/watch?v=17AtWvLMFrU
 Different Types of JIT Complier
 http://www.dotnet-
tricks.com/Tutorial/netframework/1TG6181013-
Different-Types-of-JIT-Complier.html
36
QUESTION & ANSWER
37

More Related Content

PPTX
.Net framework architecture
PPT
Architecture of .net framework
PPTX
.Net Framework
PPT
Microsoft .NET Framework
PPT
Architecture of net framework
PPT
.Net introduction by Quontra Solutions
PDF
Lesson 1 Understanding Dot Net Framework
PPTX
dot net technology
.Net framework architecture
Architecture of .net framework
.Net Framework
Microsoft .NET Framework
Architecture of net framework
.Net introduction by Quontra Solutions
Lesson 1 Understanding Dot Net Framework
dot net technology

What's hot (20)

PPT
Module 1: Introduction to .NET Framework 3.5 (Slides)
DOCX
.Net framework components by naveen kumar veligeti
PPT
1.Philosophy of .NET
PPT
.Net overview|Introduction Of .net
PPTX
.Net framework
PPTX
.Net Framework Introduction
PPT
DOT Net overview
PPTX
Microsoft dot net framework
PPTX
Introduction to .NET Programming
PPTX
01 intro to programming in .net
PPTX
Common language runtime clr
PPTX
Components of .NET Framework
PPSX
Introduction to .net framework
PPT
Introduction .NET Framework
PPTX
Introduction to .NET by QuontraSolutions
PPTX
6.origins genesis of .net technology
PPTX
Dotnet Frameworks Version History
PPTX
.Net framework
PPT
Introduction to ,NET Framework
PPT
ASP.NET 01 - Introduction
Module 1: Introduction to .NET Framework 3.5 (Slides)
.Net framework components by naveen kumar veligeti
1.Philosophy of .NET
.Net overview|Introduction Of .net
.Net framework
.Net Framework Introduction
DOT Net overview
Microsoft dot net framework
Introduction to .NET Programming
01 intro to programming in .net
Common language runtime clr
Components of .NET Framework
Introduction to .net framework
Introduction .NET Framework
Introduction to .NET by QuontraSolutions
6.origins genesis of .net technology
Dotnet Frameworks Version History
.Net framework
Introduction to ,NET Framework
ASP.NET 01 - Introduction
Ad

Viewers also liked (6)

PPT
Introduction To Dotnet
PPS
Asp.net new
PPTX
Net Fundamentals
PPTX
Introduction to .NET Framework and C# (English)
PPT
Introduction to .NET Framework
PPT
.NET Framework Overview
Introduction To Dotnet
Asp.net new
Net Fundamentals
Introduction to .NET Framework and C# (English)
Introduction to .NET Framework
.NET Framework Overview
Ad

Similar to Architecture in .net (20)

DOCX
Chapter 1 introduction to .net
PPTX
Chapter1_Part1.pptx
PPTX
C# And Data types itrodu ction to C# fucntins
PPT
C Sharp Jn
PPT
C Sharp Jn
PPTX
Features Of .NET Framework
PPTX
Frame class library and namespace
PPTX
.Net slid
PPT
.Net Session Overview
PPTX
PPTX
.Net framework
PPTX
Session2 (3)
PPT
Inside .net framework
PPT
PDF
random-140312045902-phpapp01.pdf
PPTX
election survey comapny in delhi|election survey company|election survey comp...
PPT
Intro.net
PPT
Microsoft.Net
PDF
BCA IPU VB.NET UNIT-I
PPTX
The Philosophy of .Net
Chapter 1 introduction to .net
Chapter1_Part1.pptx
C# And Data types itrodu ction to C# fucntins
C Sharp Jn
C Sharp Jn
Features Of .NET Framework
Frame class library and namespace
.Net slid
.Net Session Overview
.Net framework
Session2 (3)
Inside .net framework
random-140312045902-phpapp01.pdf
election survey comapny in delhi|election survey company|election survey comp...
Intro.net
Microsoft.Net
BCA IPU VB.NET UNIT-I
The Philosophy of .Net

More from Larry Nung (20)

PPTX
Ansible - simple it automation
PPTX
sonarwhal - a linting tool for the web
PPTX
LiteDB - A .NET NoSQL Document Store in a single data file
PPTX
PL/SQL & SQL CODING GUIDELINES – Part 8
PPTX
MessagePack - An efficient binary serialization format
PPTX
PL/SQL & SQL CODING GUIDELINES – Part 7
PPTX
BenchmarkDotNet - Powerful .NET library for benchmarking
PPTX
PLSQL Coding Guidelines - Part 6
PPTX
SonarQube - The leading platform for Continuous Code Quality
PPTX
Visual studio 2017
PPTX
Web deploy command line
PPTX
Web deploy
PPTX
SikuliX
PPTX
Topshelf - An easy service hosting framework for building Windows services us...
PPTX
Common.logging
PPTX
protobuf-net - Protocol Buffers library for idiomatic .NET
PPTX
PL/SQL & SQL CODING GUIDELINES – Part 5
PPTX
Regular expression
PPTX
PL/SQL & SQL CODING GUIDELINES – Part 4
PPTX
Fx.configuration
Ansible - simple it automation
sonarwhal - a linting tool for the web
LiteDB - A .NET NoSQL Document Store in a single data file
PL/SQL & SQL CODING GUIDELINES – Part 8
MessagePack - An efficient binary serialization format
PL/SQL & SQL CODING GUIDELINES – Part 7
BenchmarkDotNet - Powerful .NET library for benchmarking
PLSQL Coding Guidelines - Part 6
SonarQube - The leading platform for Continuous Code Quality
Visual studio 2017
Web deploy command line
Web deploy
SikuliX
Topshelf - An easy service hosting framework for building Windows services us...
Common.logging
protobuf-net - Protocol Buffers library for idiomatic .NET
PL/SQL & SQL CODING GUIDELINES – Part 5
Regular expression
PL/SQL & SQL CODING GUIDELINES – Part 4
Fx.configuration

Recently uploaded (20)

PDF
Modernizing your data center with Dell and AMD
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Electronic commerce courselecture one. Pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Machine learning based COVID-19 study performance prediction
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
cuic standard and advanced reporting.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Big Data Technologies - Introduction.pptx
Modernizing your data center with Dell and AMD
Diabetes mellitus diagnosis method based random forest with bat algorithm
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Review of recent advances in non-invasive hemoglobin estimation
Electronic commerce courselecture one. Pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Dropbox Q2 2025 Financial Results & Investor Presentation
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Machine learning based COVID-19 study performance prediction
Unlocking AI with Model Context Protocol (MCP)
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Reach Out and Touch Someone: Haptics and Empathic Computing
The Rise and Fall of 3GPP – Time for a Sabbatical?
Mobile App Security Testing_ A Comprehensive Guide.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
cuic standard and advanced reporting.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Big Data Technologies - Introduction.pptx

Architecture in .net

  • 2. AGENDA Overview Common Language Infrastructure (CLI) Common Language Runtime (CLR) Just In Time Compiler (JIT) Common Intermediate Language (CIL) Base Class Library (BCL) Framework Class Library (FCL) Common Type System (CTS) Common Language Specification (CLS) Reference Q & A 2
  • 6. COMMON LANGUAGE INFRASTRUCTURE (CLI)  An open specification describes the executable code and runtime environment. 6
  • 8. COMMON LANGUAGE RUNTIME (CLR)  The .NET Framework provides a run-time environment called the common language runtime, which runs the code and provides services that make the development process easier. 8
  • 10. COMMON LANGUAGE RUNTIME (CLR)  Performance improvements.  The ability to easily use components developed in other languages.  Extensible types provided by a class library.  Language features such as inheritance, interfaces, and overloading for object-oriented programming.  Support for explicit free threading that allows creation of multithreaded, scalable applications.  Support for structured exception handling.  Support for custom attributes.  Garbage collection.  Use of delegates instead of function pointers for increased type safety and security. For more information about delegates, see Common Type System. 10
  • 12. JUST IN TIME COMPILER (JIT) 12
  • 13. JUST IN TIME COMPILER (JIT)  JIT compilation converts MSIL to native code on demand at application run time, when the contents of an assembly are loaded and executed. 13
  • 14. JUST IN TIME COMPILER (JIT)  Normal-JIT Compiler  Compile methods in runtime as needed. 14
  • 15. JUST IN TIME COMPILER (JIT)  Econo-JIT  A runtime compiler which hadn’t done any optimization and removed methods’ machine code when it is not required. 15
  • 16.  Pre-JIT Compiler  Compile the entire assembly before it has been used. 16
  • 18. COMMON INTERMEDIATE LANGUAGE (CIL)  Microsoft intermediate language (MSIL)  Lowest-level human-readable programming language defined by the Common Language Infrastructure (CLI) specification 18
  • 19. BASE CLASS LIBRARY (BCL) 19
  • 20. BASE CLASS LIBRARY (BCL)  The Base Class Library (BCL) is the core set of classes that serve as the basic API of the Common Language Runtime. The classes in mscorlib.dll and some of the classes in System.dll and System.core.dll are considered to be a part of the BCL. It includes the classes in namespaces like System , System.Diagnostics , System.Globalization, System.Resources , System.Text , System.Runtime.Serialization and System.Data etc. 20
  • 21. BASE CLASS LIBRARY (BCL) 21
  • 23. FRAMEWORK CLASS LIBRARY (FCL)  The Framework Class Library (FCL) is a superset of the BCL classes and refers to the entire class library that ships with .NET Framework. It includes an expanded set of libraries, including Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation among others. 23
  • 25. COMMON TYPE SYSTEM (CTS) 25
  • 26. COMMON TYPE SYSTEM (CTS)  Define how types are declared, used, and managed in the common language runtime. 26
  • 27. COMMON TYPE SYSTEM (CTS)  Establishes a framework that helps enable cross- language integration, type safety, and high- performance code execution.  Provides an object-oriented model that supports the complete implementation of many programming languages.  Defines rules that languages must follow, which helps ensure that objects written in different languages can interact with each other.  Provides a library that contains the primitive data types (such as Boolean, Byte, Char, Int32, and UInt64) used in application development. 27
  • 28. COMMON TYPE SYSTEM (CTS)  Value types are data types whose objects are represented by the object's actual value. If an instance of a value type is assigned to a variable, that variable is given a fresh copy of the value.  Reference types are data types whose objects are represented by a reference (similar to a pointer) to the object's actual value. If a reference type is assigned to a variable, that variable references (points to) the original value. No copy is made. 28
  • 29. COMMON TYPE SYSTEM (CTS) 29
  • 31. COMMON LANGUAGE SPECIFICATION (CLS)  This is a subset of the CTS, which all .NET languages are expected to support. 31
  • 33. REFERENCE  Common Language Infrastructure - Wikipedia, the free encyclopedia  http://en.wikipedia.org/wiki/Common_Language_Infrastr ucture  Common Type System  https://msdn.microsoft.com/en- us/library/zcx1eb1e(v=vs.71).aspx  Common Type System - Wikipedia, the free encyclopedia  http://en.wikipedia.org/wiki/Common_Type_System  Ashu's Tricks  http://ashujagtap333.blogspot.tw/ 33
  • 34. REFERENCE  Common Language Specification  https://msdn.microsoft.com/en- us//library/vstudio/12a7a7h3(v=vs.100).aspx  Standard ECMA-335  http://www.ecma- international.org/publications/standards/Ecma-335.htm  Common Language Runtime (CLR)  https://msdn.microsoft.com/en- us//library/8bs2ecf4(v=vs.110).aspx  通用語言運行庫 - 維基百科,自由的百科全書  http://zh.wikipedia.org/wiki/%E9%80%9A%E7%94%A8 %E8%AA%9E%E8%A8%80%E9%81%8B%E8%A1%8 C%E5%BA%AB 34
  • 35. REFERENCE  Common Intermediate Language - Wikipedia, the free encyclopedia  http://en.wikipedia.org/wiki/Common_Intermediate_Lang uage  Standard Libraries (CLI) - Wikipedia, the free encyclopedia  http://en.wikipedia.org/wiki/Standard_Libraries_(CLI)  .NET Compilation - Part 1: Just-In-Time Compiler.  http://geekswithblogs.net/ilich/archive/2013/07/09/.net- compilation-part-1.-just-in-time-compiler.aspx  Compiling MSIL to Native Code  https://msdn.microsoft.com/en- us/library/ht8ecch6%28v=vs.90%29.aspx 35
  • 36. REFERENCE  Explain JIT, Ngen.exe, Pre-jit, Normal-Jit and Econo-Jit.? (.NET interview questions) - YouTube  https://www.youtube.com/watch?v=17AtWvLMFrU  Different Types of JIT Complier  http://www.dotnet- tricks.com/Tutorial/netframework/1TG6181013- Different-Types-of-JIT-Complier.html 36