An Investigation into ROTOR and C-Sharp(C#) Zunaid Jogee Supervisors: Prof. P. Wentworth T. Stakemire.

Slides:



Advertisements
Similar presentations
.NET Framework Overview
Advertisements

The Type System1. 2.NET Type System The type system is the part of the CLR that defines all the types that programmers can use, and allows developers.
George Blank University Lecturer. CS 602 Java and the Web Object Oriented Software Development Using Java Chapter 4.
Intermediate code generation. Code Generation Create linear representation of program Result can be machine code, assembly code, code for an abstract.
Java: History and Introduction (Lecture # 1). History… Java – Based on C and C++ – Developed in 1991 for intelligent consumer electronic devices – Green.
.Net Overview Giuseppe Attardi Università di Pisa.
ISBN Chapter 11 Abstract Data Types and Encapsulation Concepts.
3/17/2008Prof. Hilfinger CS 164 Lecture 231 Run-time organization Lecture 23.
Revealing the CLR 4.0 Internals Svetlin Nakov Telerik Corporation
Run-Time Storage Organization
Run time vs. Compile time
JVM-1 Introduction to Java Virtual Machine. JVM-2 Outline Java Language, Java Virtual Machine and Java Platform Organization of Java Virtual Machine Garbage.
1 Software Testing and Quality Assurance Lecture 31 – SWE 205 Course Objective: Basics of Programming Languages & Software Construction Techniques.
Android Wentworth Institute of Technology Elec101 07/08 Douglas A. Arevalo-Santos.
Platforms and tools for Web Services and Mobile Applications Introduction to C# Bent Thomsen Aalborg University 3rd and 4th of June 2004.
Intro to Java The Java Virtual Machine. What is the JVM  a software emulation of a hypothetical computing machine that runs Java bytecodes (Java compiler.
OOP Languages: Java vs C++
Previous Next 06/18/2000Shanghai Jiaotong Univ. Computer Science & Engineering Dept. C+J Software Architecture Shanghai Jiaotong University Author: Lu,
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
JVM And CLR Dan Agar April 16, Outline Java and.NET Design Philosophies Overview of Virtual Machines Technical Look at JVM and CLR Comparison of.
JIT in webkit. What’s JIT See time_compilation for more info. time_compilation.
Java Bytecode What is a.class file anyway? Dan Fleck George Mason University Fall 2007.
Lecture 10 : Introduction to Java Virtual Machine
Component-Based Software Engineering Introduction to.NET Paul Krause.
1 Comp 104: Operating Systems Concepts Java Development and Run-Time Store Organisation.
Chapter 5: Programming Languages and Constructs by Ravi Sethi Activation Records Dolores Zage.
Lecture :2 1.  DEFENTION : Java is a programming language expressly designed for use in the distributed environment of the Internet. It was designed.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
Languages and IDE (Integrated Development Environment)
.NET common type system. Role of type system provides a logically consistent and unchanging foundation ensures that programs can be checked for correctness.
1 C# A brief overview by Jack Senechal and Bryan Powell.
Hoang Anh Viet Hà Nội University of Technology Chapter 1. Introduction to C# Programming.
Replay Compilation: Improving Debuggability of a Just-in Time Complier Presenter: Jun Tao.
1 Control Abstraction (Section ) CSCI 431 Programming Languages Fall 2003 A compilation of material developed by Felix Hernandez-Campos and Michael.
Pluggable Domains for C Dataflow Analysis Nathan Cooprider and John Regehr {coop, School of Computing, University of Utah.
Run-Time Storage Organization Compiler Design Lecture (03/23/98) Computer Science Rensselaer Polytechnic.
Principles of programming languages 10: Object oriented languages Isao Sasano Department of Information Science and Engineering.
Programming Languages and Paradigms Activation Records in Java.
Wel come To Seminar On C#.
A comparison of C-Sharp and Java Zunaid Jogee Supervisor: T. Stakemire.
C Programming Chapters 11, . . .
The Execution System1. 2 Introduction Managed code and managed data qualify code or data that executes in cooperation with the execution engine The execution.
Common Language Infrastructure
METADATA IN.NET Presented By Sukumar Manduva. INTRODUCTION  What is Metadata ? Metadata is a binary information which contains the complete description.
RealTimeSystems Lab Jong-Koo, Lim
Java and C# - Some Commonalities Compile into machine-independent, language- independent code which runs in a managed execution environment Garbage Collection.
Java™ 2 Platform Getting Started.
Principles of programming languages 10: Object oriented languages
Interpreted languages Jakub Yaghob
An Introduction to the Shared Source Common Language Infrastructure (SSCLI) Damien Watkins Copyright Watkins 2002.
Jim Fawcett CSE775 – Distributed Objects Spring 2009
Frank McCown TechLunch Old Dominion University March 28, 2007
C# and the .NET Framework
Process Realization In OS
Jim Fawcett CSE687-OnLine – Object Oriented Design Summer 2017
Systems Programming 3rd laboratory Test_driven Development
Java Virtual Machine Complete subject details are available at:
CS360 Windows Programming
Introduction to C# AKEEL AHMED.
Programming in C# CHAPTER 1
Stack Memory 2 (also called Call Stack)
CS-0401 INTERMEDIATE PROGRAMMING USING JAVA
Chapter 9: Pointers and String
Paul Stubbs MCSD, MCSE 4.0, MCP+I, MCT, MCAD .Net
Frank McCown TechLunch Old Dominion University March 28, 2007
Презентация құру тәсілдері
DOT NET ARCHITECTURE (OR) DOT NET FRAME WORK ARCHITECTURE
M S COLLEGE ART’S, COMM., SCI. & BMS
Run-time environments
Jim Fawcett CSE681 – Software Modeling and Analysis Fall 2006
Presentation transcript:

An Investigation into ROTOR and C-Sharp(C#) Zunaid Jogee Supervisors: Prof. P. Wentworth T. Stakemire

Outline What is ROTOR? Execution Model Execution state Virtual Object System Code examples What lies ahead

What is ROTOR? Microsofts shared source CLI C# implementation Over 1 million lines of source code FreeBSD, Windows XP and 2000 Ported to Linux

What is ROTOR? “Academia has delivered many breakthrough innovations through pure research. With the Shared Source CLI implementation, we hope to see great innovation around.NET technology.” Eric Rudder, senior vice president of the Developer Platform and Evangelism Division at Microsoft.

Execution Model Common Intermediate Language(CIL) Program Executable Model(PEM) JIT Verifiable Code Abstract Stack Machine

Execution State Activation Record Evaluation Stack Incoming Arguments Local variable Stack Elements Activation record Evaluation Stack

Stack Transitions Load Store Top

Virtual Object System Value Types - built-in scalars - enumerations - value classes Reference Types - pointers - interfaces - object types

Pointers Managed Pointers Transient Pointers Unmanaged Pointers Function Pointers

Code example using System; class MainApp { public static void Main() { Console.WriteLine("Hello World!"); } hello.il

Code Example using System; class Test2{ public static void Main(){ int itemCount = 10; itemCount++; Console.WriteLine(itemCount); itemCount += 2; Console.WriteLine(itemCount); Console.WriteLine(itemCount-4);}} test2.il

What Lies Ahead Mapping C# constructs to the CIL Speed comparisons Garbage Collector

Conclusion What is ROTOR? Execution Model Execution state Virtual Object System Code examples What lies ahead

Questions