Emerging technologies
Download
Report
Transcript Emerging technologies
By Muhammad Ali
Using .NET Platform
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and wikipedia
Components of .NET
Main components
Common Language Runtime (CLR)
Base Class Library
Common Type System
Common Language Specification
Common Language Runtime
Foundation of the .NET Framework
An agent that manages code at
execution time, providing core services such as
○ Memory management
On the fly
○ Thread management
○ JIT
○ Code Access Security & Role Base Security
Installation Time
Managed code
Code that targets the runtime
Represented by Intermediate Language (IL)
Unmanaged code
Code that does not target the runtime
Intermediate Language
MSIL … or CIL
CLR compiles IL using JIT Compiler
Each function is compiled (to native code)
just before execution!
Recompilations of assemblies ~ Possible!
Base Class Library
Helps in accomplishing a range of common
programming tasks, including
String management
Data collection
Database connectivity
File access
Base Class Library
System
Collections
Security
Configuration
ServiceProcess
Diagnostics
Text
Globalization
Threading
IO
Runtime
InteropServices
Net
Reflection
Remoting
Resources
Serialization
Common Type System
Full Range of Types that CLR Understands
Defines how types are
declared,
used,
managed in the runtime
Common Language Specification
Subset of CTS
All Languages in .NET are expected
to support CTS
Any Benefits?
Cross Language Integration!
Difference between
Base Class Library & .NET
Framework Library
Relationship between
CLR & Framework Library
Code Compilation and Execution
Compilation
Source
Code
Language
Compiler
Execution
Native
Code
JIT
Compiler
Code
MSIL
Metadata
Also called
Assembly
(.EXE or
.DLL file)
Before
installation or
the first time
each method is
called
Assemblies
Types
Library Assembly (DLL)
Application Assembly (EXE)
Smallest deployable unit in the CLR
Have unique version number
No version conflicts (known as DLL hell)
Contains IL code to be executed
Assemblies
Security boundary
Permissions are granted at the assembly
level
Type boundary
All types include the assembly name they
are a part of
Self-describing manifest
Metadata that describes the types in the
assembly
Metadata in Assemblies
Type Descriptions
Classes
Base classes
Implemented interfaces
Data members
Methods
Assembly Description
Name
Version
Culture
Other assemblies
Security Permissions
Exported Types
Assemblies
More than One Assemblies… May Conflict!
Assemblies conflict resolution
Using metadata
○ Local
○ Shared (Global Assembly Cache or GAC)
Different applications may use different
versions of an assembly
Easier software updates
Easier software removal
References
MSDN Library
http://msdn.microsoft.com/en-au/default.aspx
Nakov’s Excellent Presentation
http://www.nakov.com
WikiPedia
http://en.wikipedia.org/wiki/.NET_Framework