SSCLI (Shared Source Common Language Infrastructure) (code name: Rotor)

Slides:



Advertisements
Similar presentations
Unit 1: Overview of the Microsoft.NET Platform
Advertisements

1 Unit 1: Introduction To.Net. 2 Introduction to.Net Integrated Development Environment (IDE) Languages in the.NET Framework The Common Language Runtime.
Introduction to .NET Framework
.NET Framework Overview
Using.NET Platform Note: Most of the material of these slides have been taken & extended from Nakov’s excellent overview for.NET framework, MSDN and wikipedia.
.NET Framework Overview
Platform Architecture Mike Zintel Development Manager.NET Compact Framework Microsoft Corporation.
History of.Net Introduced by Microsoft Earlier technology was VC++ and VB VC++ comes with so many library and VB was so easy to use and not flexible to.
SSCLI: The Microsoft Shared Source CLI Implementation Mark Lewin Microsoft Research
Developing with the.NET Framework Rob Howard Program Manager.NET Framework Team Microsoft Corporation.
.NET Framework Overview Pingping Ma Nov 16 th, 2006.
.NET Technology.
An overview of the SSCLI Distribution Mark Lewin Microsoft Research
Introduction. What is.Net? The hype: “Microsoft.Net is a set of Microsoft software technologies for connecting information, people, systems, and devices.
.Net Overview Giuseppe Attardi Università di Pisa.
Programming Our First Java Program Yingcai Xiao. What to Do Set up for Java Programming Write our first Java Program with IDE Write our first Java Program.
Microsoft.NET Overview.NET Framework Topics Dave Schmitt Principal Technology Specialist Microsoft Corporation
DEV200.NET Framework Overview Chris Anderson Software Architect,.NET Client Microsoft Corporation.
Thursday Evening 6.30VB.NET Introduction 7.30Break for food 8.00VB.NET Migration 8.45Q & A 9.00Done.
Module 1: Overview of the Microsoft.NET Framework.
SQL Server 2005 CLR Integration ADO.NET 2.0 Mike Taulty
1 An Introduction to Visual Basic Objectives Explain the history of programming languages Define the terminology used in object-oriented programming.
Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004.
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
Using.NET Skills To Build Mobile Applications In Compact Framework Punit Shah Technical Lead | Microsoft |
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
Overview of Microsoft.Net and Vb.Net ITSE 2349 Spring 2002 Material from Microsoft.Net an Overview for ACC faculty by Stuart Laughton and Introduction.
Effective C# 50 Specific Way to Improve Your C# Item 50 Scott68.Chang.
Introduction to .Net Framework
Visual Studio.NET and.NET Compact Framework Application Development Mike D. Smith Group Program Manager Developer Division Microsoft Corporation.
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
Microsoft.NET Framework Overview Abidi Mahmoud Seminarium on Component -based Software Engineering.
.NET Overview. 2 Objectives Introduce.NET –overview –languages –libraries –development and execution model Examine simple C# program.
.NET Framework & C#.
Appendix D: Microsoft.NET Framework Overview. Overview.NET Framework Architecture.NET Namespaces.
 Internet providing backbone for applications  Use of several web sites and devices to provide one complete solution  Software as services  Quick software.
Introduction to .NET Framework
Understanding Code Compilation and Deployment Lesson 4.
Introduction .NET Framework
History of.Net Introduced by Microsoft Earlier technology was VC++ and VB VC++ comes with so many library and VB was so easy to use and not flexible to.
C# Overview and Features. Content I.History of C# II.Architecture III.How to install IV.Features V.Code Sample VI.Microsoft.NET Platform VII.Why use C#
Module 1: Overview of the Microsoft.NET Platform.
What is.NET? CS 351 Ed Gellenbeck. Today What is.NET? What Problems Does.NET Solve? What are.NET Framework Components?
.Net Framework Web Application and Development Digital Media Department Unit Credit Value : 4 Essential Learning time : 120 hours
.NET Framework Danish Sami UG Lead.NetFoundry
tom perkins1 XML Web Services -.NET FRAMEWORK – Part 1 CHAPTER 1.1 – 1.3.
Localization Support in Microsoft.NET Framework François Liger Program Manager Microsoft Corporation.
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
Advanced Computer Science Teaching with the Shared Source Common Language Infrastructure.
Key Components of.NET Framework  Common Language Runtime  CLR at Design time  CLR at Runtime  Class Library  Assemblies  Namespaces  ASP.NET  Applications.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
Microsoft .NET A platform that can be used for building and running windows and web applications such that the software is platform and device-independent.
C# and.NET. .NET Architecture  Compiling and running code that targets.NET  Advantages of Microsoft Intermediate Language (MSIL)  Value and Reference.
Common Language Runtime Introduction  The common language runtime is one of the most essential component of the.Net Framework.  It acts.
Text Introduction to.NET Framework. CONFIDENTIAL Agenda .NET Training – Purpose  What is.NET?  Why.NET?  Advantages  Architecture  Components: CLR,
Just-In-Time Compilation. Introduction Just-in-time compilation (JIT), also known as dynamic translation, is a method to improve the runtime performance.
Introducing the Microsoft® .NET Framework
Introduction to .NET framework
.NET Omid Darroudi.
An Introduction to the Shared Source Common Language Infrastructure (SSCLI) Damien Watkins Copyright Watkins 2002.
Introduction to .NET Framework Ch2 – Deitel’s Book
Application Foundation
2.1. Compilers and Interpreters
.NET and .NET Core 2. .NET Runtimes Pan Wuming 2017.
Introduction to C# AKEEL AHMED.
Microsoft .NET Framework
.Net Framework Details Imran Rashid CTO at ManiWeber Technologies.
Module 10: Implementing Managed Code in the Database
DOT NET ARCHITECTURE (OR) DOT NET FRAME WORK ARCHITECTURE
.NET Framework Design Goals
Presentation transcript:

SSCLI (Shared Source Common Language Infrastructure) (code name: Rotor)

Terms, Abbreviations: CLI SSCLI CLR = Common Language Runtime ECMA = European Computer Manufacturers Association

History: Initial goal: COM needed a companion runtime; a core set of modern services Final product:a complete, general-purpose virtual execution engine Standardization effort: ECMA 5 years later

What is CLI? (first view) approach to building software that enables code from many independent sources to coexist and interoperate safely; a virtual computational model that can be brought up safely within existing host environments and can expose the native capabilities of these environments directly;

SSCLI and CLR VS.NET Common Language Runtime System System.Data (ADO.NET)System.Xml Design ADO Adapters SQL Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess SecurityRuntime InteropServices Remoting Serialization XPath XSLT Serialization System.Drawing JIT GC MSIL App Domain Loader Common Type SystemClass Loader System.Web Configuration SessionState Caching Security System.Web.Services Description Protocols UI HtmlControls WebControls Discovery C# VC/MC++ Imaging Drawing2D Text Printing JScript VB Operating System or Platform Abstraction Layer Boot Loader SyncThreads Networking TimersFilesystem System.WinForms DesignComponentModel Debugger Designers SDK Tools CorDBG ILAsm ILDbDump SN ILDAsm MetaInfo PEVerify ECMA-335

SSCLI vs.NET Framework (CLR) JIT and garbage collector replaced with more portable, approachable implementations Windows-specific features not included: COM interoperability, WinForms, other integration also not included: ADO.NET, enterprise services, NGEN (JIT-ahead), ASP.NET

What is CLI? (second view) 1.A common type system different types in different components are represented in a unique way enables language integration 2.Execution engine  virtual machine with garbage collection and exception handling execution is assisted by code that runs with your own code

3.Integral security system with verification malicious component cannot run ! cannot hurt other components 4.File format PE/COFF format with extensions (executable format) an extensible metadata system – file implementing a type is saved 5.Intermediate language CLI – a way independent of processor to represent behavior

6.A factored class library a “modern” equivalent to C runtime 7.Access to underlying platform PAL = Platform Adaptation Layer interoperability between languages

SSCLI include: JScript compiler – shows dynamic techniques (in C#) C# compiler – shows nearly all runtime features IL Assembler – shows low-level API implementation and use

CLI is: –a standard specification for a virtual execution environment –a data-driven architecture data are called metadata – used by developer tools to describe behavior of software, has in- memory characteristics CLI execution engine uses metadata to enable components from different sources to be loaded together safely

Assemblies (abstract types + behavior) executables are loaded + validated comp. metadata is loaded in isolation comp. types are verified, laid out + compiled exec.engine uses data on stack + heap to maintain control of the code that has tailored for the local OS+processor

Conclusion: CLI resembles the traditional toolchain of compiler, linker and loader as it performs in-memory layout, compilation, symbolic resolution

Execution scheme of.NET Compiler Source code IL & Metadata Class Loader Class Libraries (IL & Metadata) JIT Compiler with optional verification Managed Native Code Trusted, pre-JITed code only Execution Call to an uncompiled method Runtime Engine

Fudamentals Concepts in CLI Specification 1.Types: describe fields and properties that hold data + methods and events that describe behavior strong typed = each variable, object a.s.o. has a type

.NET common type system

Unique representation of data types must be adopted CLR (CLI) type system is divided into two subsystems: –Value types –Reference types Ma jor distinction: value types have no concept of identity; –Value type is a sequence of bits in memory –Reference type is a combination of a location, its identity, and a sequence of bits.

Value types Many inbuilt data types are value types, but not limited to that; Are often allocated on the run time stack, but can be allocated to headp also (data member of an object type) User-defined structures and classes can be value types and can contain: –methods (both class and instance) –fields (both class and instance) –properties –events

not possible to have a value type inherit from another value type; in.NET Framework terminology, value type is sealed for all value types, there exists a corresponding object type = boxed type. Values of any value type can be boxed and unboxed: –boxing a value type – copies the data from the value into an object with a corresponding boxed type, allocated on the garbage-collection heap; –unboxing a value type – copies the data from the boxed object into a value why? : have benefits of object types (may support interface types)

Example: #using using namespace System; _value public class VTPoint {public:int m_x, m_y; }; int main(void) { VTPoint a;// on stack VTPoint *ptr = new VTPoint();// on heap – illegal! _box VTPoint *VTptr = _box(a)// box VTptr->m_x = 42; VTPoint b = *dynamic_cast (VTptr);// unbox b.m_y = 42; Console::Writeline(b.m_x); Console::Writeline(b.m_y); }

Shared source CLI: ECMA specs: Microsoft commercial C# and CLR SDK Shared source info: