Loading presentation...

Present Remotely

Send the link below via email or IM


Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.


Copy of .NET Framework

No description

Hamdi Dousdou

on 15 February 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Copy of .NET Framework

.NET Framework Language interoperability .NET library is available to all programming
languages that .NET encompasses Base Class Library (BCL) features; e.g., user interface, data access, database connectivity, cryptography, web application development, numeric algorithms, and network communications Common Language Runtime (CLR) Programs written for the .NET Framework execute in a software environment that manages the program's runtime requirements BCL
CLR = To develop.. For the Microsoft .NET Framework 4.0, it is required to have Microsoft's SDK for Windows 7 or .NET Framework 4 (or newer) or Visual Studio 2010 installed Principal design features Interoperability Common Runtime Engine Language Independence Provides means to access functionality that is implemented in programs that execute outside the .NET environment Access to COM components is provided in the System.Runtime.InteropServices and System.Enterprise Services namespaces of the framework
Access to other functionality is provided using the P/Invoke feature All .NET programs execute under the supervision of the CLR, guaranteeing certain properties and behaviours in the areas of memory management, security, and exception handling. Common Type Systems (CTS) specification
Defines all possible data types and programming constructs supported by the CLR and how they may or may not interact with each other conforming to the Common Language Infrastructure (CLI) specification Base Class Library (BCL) .NET emphasizes.. part of the Framework Class Library (FCL)
provides classes which encapsulate a number of common functions; e.g., reading and writing, graphic rendering, database interaction, XML document manipulation Simplified Deployment design features and tools
help manage the installation of computer software to ensure that it does not interfere with previously installed software, and that it conforms to security requirements Security Address some of the vulnerabilities, such as buffer overflows, that have been exploited by malicious software
Provides a common security model for all applications Portability Platform agnostic -- independency
Microsoft has never implemented the full framework on any system except Microsoft Windows Overview of CLI Common Language Infrastructure (CLI) a language-neutral platform for application development and execution
including functions for exception handling, garbage collection, security, and interoperability
Microsoft’s implementation of the CLI is called the Common Language Runtime, or CLR. Assemblies The Common Intermediate Language (CIL) code is housed in .NET assemblies. As mandated by specification, assemblies are stored in the Portable Executable (PE) format, common on the Windows platform for all DLL and EXE files.
The assembly consists of one or more files, one of which must contain the manifest, which has the metadata for the assembly. Metadata All CIL is self-describing through .NET metadata. The CLR checks the metadata to ensure that the correct method is called.
Metadata contains information about the assembly, and is also used to implement the reflective programming capabilities of .NET Framework. Security Two general features..
Code Access Security (CAS)
Validation and verification Code Access Security (CAS) Based on specific assembly associated evidence
Evidence = source of the assembly

Evidence is used to determine the permissions granted to the code (whether it is installed on the local machine or has been downloaded from the intranet or Internet) Validation and verification are performed by CLR when an assembly is loaded During validation the CLR checks that the assembly contains valid metadata and CIL, and whether the internal tables are correct.
The verification mechanism checks to see if the code does anything that is unsafe. The algorithm used is quite conservative; hence occasionally code that is safe does not pass. Unsafe code will only be executed if the assembly has the skip verification permission, which generally means code that is installed on the local machine. .NET Framework uses Application Domains as a mechanism for isolating code running in a process.
Application Domains can also be configured independently with different security privileges. Application Domains Class Library organized in a hierarchy of namespaces

divided into two parts: the Base Class Library and the Framework Class Library. Most of the built in APIs are part of either System.* or Mircrosoft.* namespaces.
These class libraries implement a large number of common functions, such as file reading and writing, graphic rendering, database interaction, and XML document manipulation, among others.
The .NET class libraries are available to all CLI compliant languages. Base Class Library (BCL) the core set of classes that serve as the basic API of the Common Language Runtime The Framework Class Library (FCL) a superset of the BCL classes
refers to the entire class library that ships with .NET Framework Memory Management .NET Framework includes a garbage collector which runs periodically, on a separate thread from the application’s thread, that enumerates all the unusable objects and reclaims the memory allocated to them. A software framework that includes...
a large library of coded solutions
common language infrastructure Reference http://en.wikipedia.org/wiki/.NET_Framework
http://msdn.microsoft.com/en-us/magazine/cc136756.aspx .NET Compiler's Phases The front end's job is to discover the syntactic structure of a program and translate that from text into a high-level in-memory representation called an Abstract Syntax Tree (AST) The back end has the task of taking the AST and converting it into something that can be executed by a machine. allows a developer to replace the code generator for different platforms if the language needs to be cross-platform break up text (a stream of characters in the source file) into chunks (called tokens) that the parser can consume The Scanner The Parser heart of compiler
ensures that the source program conforms to the language definition
handles error output if there is a failure
creates the in-memory representation of the program syntax, which is consumed by the code generator
figures out what runtime types to use AST
Full transcript