common language infrastructure

8
COMMON LANGUAGE INFRASTRUCTURE The Microsoft CLI Attributes Microsoft Intermediate Language Isolation and AppDomains 1

Upload: sivanantham-s

Post on 12-Apr-2017

20 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Common Language Infrastructure

1

COMMON LANGUAGE INFRASTRUCTURE

The Microsoft CLIAttributesMicrosoft Intermediate LanguageIsolation and AppDomains

Page 2: Common Language Infrastructure

2

1. COMMON LANGUAGE INTERFACE CLI is designed to support programs multiple, interoperating High level languages CLI supports programs that do not have to be verified by a class loader CLI provides HLL independence as well as platform independence CLI is implemented as CLR, a part of the overall .NET framework Code and Metadata of various languages are represented as modules in

Microsoft Intermediate Language(MSIL)

Page 3: Common Language Infrastructure

3

There are three categories of programs executed in CLI namely, Verifiable and valid Unverifiable and valid Invalid

CLI Module

Portable Executable Common object file format

Intermediate Language Code

Page 4: Common Language Infrastructure

4

INTEROPERABILITY: JVM Vs CLI

JVM: JNI is needed Interoperability is at method level

CLI: No such interfaces are needed Interoperability is at method and data level

Page 5: Common Language Infrastructure

5

2. ATTRIBUTES

In CLI environment it is possible to assign values for attributes during runtime GetCustomAttribute method serves this purposeExample: conversion inches to centimetres in the metadata

3. MICROSOFT INTERMEDIATE LANGUAGE

The MSIL is Stack oriented Memory architecture contains,

Local data area Argument area Metadata Streams (as Constant Pool in JVM)

As JVM Stack Tracking facility is available in CLI

Page 6: Common Language Infrastructure

6

MSIL MEMORY ARCHITECTURE

Page 7: Common Language Infrastructure

7

4. ISOLATION AND AppDOMAINS In Multiprogramming environment, programs must be isolated from each other for

security reasons Conventional solution for this isolation is providing individual VM for each process JVM user loader namespaces to achieve isolation among programs CLI supports AppDomains (Processes can share the same VM with isolation)

Page 8: Common Language Infrastructure

8

THANK YOU