SSCLI (Rotor) - Shared Source Common Language Infrastructure Johan Lindfors Microsoft.

Slides:



Advertisements
Liknande presentationer
Exempel på Powerpoint presentation
Advertisements

ebXML Awareness Hvorfor, hvornår, og hvordan skall man bruge ebXML? Gösta Mellquist Senior Consultant, e-ComLogistics.
Samarbete med Microsoft Office Sharepoint server 2007 Angelica Rydelius Bergman Välkommen!
Migrera befintliga system till Windows Azure
Serverkampanj för mellanmarknaden – genom partnerpresentation: Bild endast för presentatör: visa inte Talare: Partner Presentationens titel: Kraften att.
Fujitsu 1. © Fujitsu 2008 Stockholm Libris inspirationsdag Kristian Wallin Anne Sandfær Fujitsu Services A/S.
Komplett bokningssystem i Windows-miljö.
FTP, HTTP, HTML, XML och XHTML
Persondatorer Felsökning och felhantering ”Vista” (Kapitel 10)
Programmering B PHP Lektion 1
Prestandaanalys av JavaScript
”Ett sätt att distribuera Business Objects via webben”
Översikt av operativsystem (kap 1 & 2)
STANLI Metadata 2005/02/17 Nationellt arbete om Metadata Vilka problem kan vi lösa?
Bo Linde Solution Specialist EPM Microsoft AB Project Server.
ZIP-formatet Av Viktor Ekholm.
Programmering II C#, ID1304.
Microsoft Dynamics CRM 3.0
2007 Microsoft Office System - Klienten Pontus Haglund Mid Market Solutions Specialist Microsoft AB.
Next previous Lite mer om CGI-programmering Innehåll Vad är CGI? Vad är Forms? Vad är Perl? Forms, CGI och Perl Internetprogrammering F 14 Läs också: Kursboken.
En introduktion till Datakommunikation och Säkerhetstänkande
Databaser i B2KUNO Johan Eklund. Hur går jag vidare? Avancerade tillämpningar:  Analysera data  Generera information Utveckla följande färdigheter:
WEBMASTER DAG 13 Mahmud Al Hakim
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
Java. Kortfattat om Java Syntaxen påminner i hög grad om C++ Stöd för objektorientering Kod kan köras i en virtuell maskin som finns tillgänglig för nästan.
Redesign of the Oz Compiler Av Markus Bohlin och Lars Bruce.
1 Windows Azure Mikael ÖstbergTorkel Ödegaard. 2.
Zend Framework Exemplifierat med spagooy.com Kurs: Moderna applikationsmiljöer, HIK Handledare: Martin Blomberg Studenter: Robin Bengtsson, Magnus Spång.
Visual Studio 2005 Patrik Löwendahl, SweNUG, Cornerstone Johan Lindfors.
OPERATIVSYSTEM WINDOWS
Stefan Andersson, Uppsala universitet 1 TestSök Presentation av ett BIBSAM-projekt.
En effektiv IT-struktur med en gemensam standardarbetsplats
Windows Server 2012 Optimera ditt datacenter med molnteknik Anders Wendt Private Cloud Lead / Marknadschef Datacenter Microsoft AB.
Standardisering ger dig mer tid Peter Frodin. EFFECT-Direct / BDD Systems Management Server (SMS) Infrastucture Optimization Model (IOM) Vista Nästa steg.
Projekt och Arkitektur
1. En infrastruktur för programutveckling
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Operating Systems Networking for Home and Small Businesses – Chapter.
Välkommen till Sommarkollo Windows Presentation Foundation och Expression Blend Robert FolkessonJohan Lindfors
Introduktion till forskningsområde Lars Bruce Distributed Systems Laboratory.
XHTML & CSS Introduktion Erik Nahkala
Mahmud Al Hakim 2  Mål för kursen  Kursplanering  Kurslitteratur  Betygsättning  Grunder om databaser  Tabeller.
1 Logging and monitoring of TCP traffic in SSH tunnels Masters thesis Anton Persson.
Visual Studio Team System Allan Knudsen Platform Strategy Advisor Allan Knudsen Platform Strategy Advisor
Anders Sjögren ANSI - standard ?. Anders Sjögren ANSI - standard ? Om man skriver ett bra C-program och kompilerar fram ”exe”-filen så vore det ju trevligt.
INTRODUKTION TILL PROGRAMMERING
Microsoft Visual Studio och.NET Framework, idag och imorgon! Robert Folkesson
Joachim Nässlander IT-Expert, Knowledge Factory. Joachim Nässlander IT-Expert på Knowledge Factory MVP File Systems & Storage.
Kontextuell ärendehantering
… för utvecklare! Johan Lindfors. Webbläsare Applikationsserver Webbserver Dynamisk HTML motor Affärslogik RDBMS Applikationsserver?
Välkomna Per Ahlberg Johan Lindfors. Hur kan vi bli bättre...  Era utvärderingar är viktiga!  Betygsätt innehåll, talare, relevans  Kommentera gärna.
1.1. TechNet Security Summit 2004 Security Framework ”Introduktion av ”Security in Depth” Marcus Murray.
1 Windows Azure Mikael ÖstbergTorkel Ödegaard. 2 Äshur Ashore Azzuure.
Rikare webb med AJAX, Microsoft Silverlight, WPF och Expression Studio Robert Folkesson
KONSTEN ATT SKRIVA BRA ÅTERANVÄNDBAR KOD Pierre Setteskog, Pontus Munck
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ” Oavsett om du tror att du kan, eller om du tror att du inte kan, har du helt rätt. ” -
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.
© Fujitsu Services, 2003 ARC ALEPH Reporting Center
Utvecklarna Karin Älfvåg Marknadschef Developer & Platform Evangelism Microsoft AB Your potential. Our passion.
Edge Client och Server OS Server Applikationer Agenda  Intro  Komponenter  Server installation  Definition updates  FCS konfiguration  Klient deployment.
1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.
Operating Systems (Operativsystem) Choosing The Operating Systems (Val av operativsystem)
HTML Forms, CGI och HTTP. Översikt Innehåll – Presentation – Beteende HTML Forms (innehåll) CGI (beteende) HTTP (beteende)
ISV Community Day Till sist Per Ahlberg Developer Evangelist Developer & Platform Evangelism Microsoft Sweden.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Gruppövning 0.
Välkommen till Sommarkollo Expression Studio, verktyg för designers Juli 2007 Robert Folkesson Developer Evangelist Microsoft Johan Lindfors.
Programmering i.NET Farid Naisan, Universitetsadjunkt Datavetenskap, Teknik och samhälle, Malmö högskola Assembly.
Programmering i.NET Farid Naisan, Universitetsadjunkt Datavetenskap, Teknik och samhälle, Malmö högskola Versioning.
Anpassa fri programvara - Frihet ett, hur nyttjar man den? Copyright © 2006, 2007 Marcus Rejås Rejås Datakonsult Jag ger härmed rätten till alla att nyttja.
Introduktion till SAML federation Varför använda SAML federation för elektronisk legitimering och underskrift Stefan Santesson Martin Lindström.
Hosting Licensiering och program för hosters
Presentationens avskrift:

SSCLI (Rotor) - Shared Source Common Language Infrastructure Johan Lindfors Microsoft

Agenda  Introduktion till SSCLI  ECMA, CLR,.NET Framework  En överblick av  Exekeveringsmotorn  Ramverket  Kompilatorer och verktyg  Portabiltitet och tester

Agenda  Introduktion till SSCLI  ECMA, CLR,.NET Framework  En överblick av  Exekeveringsmotorn  Ramverket  Kompilatorer och verktyg  Portabiltitet och tester

Vad är SSCLI  En implementation av fulla ECMA standards  334: C#  335: Common Language Infrastructure (CLI)  En distribution av källkod, ej för kommersiellt bruk  Dokumenterad för att göra förändringar  Enkel att distribuera och publicera förändringar  “Cross-platform”  Koden byggs och exekverar på FreeBSD och Windows XP  Designad för att översätta till andra plattformar

Varför SSCLI  Underlätta utvecklingen för partners  Licensen möjliggör “säker” undersökning av kod  För utvecklare av alternativ till CLI  Stor, omfattande specifikation och kod  Bevisar att stöd för flera plattformar är möjligt  Demonstrerar interoperabilitet  För utvecklare av kompilatorer för CLI  JScript-kompilatorn visar dynamiska funktioner  C#-kompilatorn är mycket omfattande  IL-assemblering visar implementation av API’er på ännu lägre nivå

Innehåll  Paketerad som en zip-fil på 11 MB  1.9 miljoner rader kod  1.15 miljoner rader C och C++  625 tusen rader C#  125 tusen rader CIL (intermediate language)  Små doser av assembler  5900 källkodsfiler (9700 totalt)  Efter kompilering och länkning  1200 definerade typer  Ungefär 20 biblioteksfiler  Ungefär 22 applikationer

En överblick av CLI  Ett vanligt typsystem och en specifikation för integration av språk (CLS)  En motor med GC, SEH, säkerhet och verifiering  Ett filformat  PE/COFF med tillägg  Ett utbyggbart metadata-system  Ett “intermediate language”  CIL: Common Intermediate Language  Ett klassbibliotek  Tillgång till operativsystemet

.NET Framework och SSCLI  Både CLI och CLR implementerar den kompletta ECMA standarden  SSCLI är mer än ECMA men mindre än det kommersiella.NET Framework  Skillnader  JIT’ern och GC’n ersatta med en implementation som är lättare att översätta till andra plattformar  Många Windows-specifika funktioner är inte inkluderade: COM interoperabiltitet, Windows Formulär, ADO.NET, “Enterprise Services”, NGEN, och ASP.NET

Agenda  Introduktion till SSCLI  ECMA, CLR,.NET Framework  En överblick av  Exekeveringsmotorn  Ramverket  Kompilatorer och verktyg  Portabiltitet och tester

En överblick av…  Exekveringsmotorn  Hjärtat av komponent-orienterad infrastruktur  Konverterar metadata, resurser och CIL till exekverbar kod  Hanterar interoperabilitet med “unmanaged code”  Verifiering av IL och JIT kompilering  Felhantering mellan språk  Språkoberoende, objekthanterande typsystem  Automatisk heap och stack hantering  Laddning av dynamisk kod  Bevisbaserad säkerhet (kodbaserad säkerhet)

En överblick av…  Ramverket  Ett “verktyg” för utvecklaren  Bibliotek med basklasser  Samlingar, vektorer, strängar och andra komplexa datastrukturer  Flyttalsoperationer, globalisering och formatering  System tjänster (trådar, I/O, synkronisering, m.m.)  Säkerheten  Nätverksstöd, “regular expressions”, XML  Innehåller stöd för  “Reflection” och skräddarsydda attribut  “Remoting”, “unmanaged interop”, serialisering och “marshaling”  AppDomains, assemblies, GC m.m.

En överblick av…  Kompilatorer och verktyg  Komplett C#-kompilator (som också används)  JScript-kompilator skriven helt i C#  CLIX – “SSCLI program launcher”  Andra verktyg: resurs-kompilator, länkare, metadata läsare, assemblerare, disassemblerare  Debuggningsverktyg: cordbg för “managed code”, plus ett tillägg för “managed code” från C/C++

En överblick av…  Platform Adaptation Layer (PAL) i pal katalogen  Systemresurser konsumeras via PAL  Ungefär 250 delvis kompletta Win32 API’er  Funktioner som saknas i OS’et kan implementeras i PAL  En bra specifikation kan hittas i PAL_GUIDE.HTML  Trådhantering, schemaläggning, klockfunktioner  Synkron fil-I/O, asynkron nätverks-I/O  Synkronisering (kritiska sektioner, mutex, semaforer, händelser)  “Debuggning” och andra verktyg  För att “porta” behövs lite extra arbete  JIT  Liten dos maskinkod i exekveringsmotorn

Hur kompilerar och länkar jag?  Script och program  Script bistår med miljövariabler och kompileringen/länkningen  build, binplace, nmake, och resurskompilatorer  Verktyg för konfigurationen  gacutil – administrerar “global assembly cache”  sn – signerar applikationer  peverify – verifierar CIL  caspol – modifierar policy för “kodbaserad säkerhet”  storeadm – hanterar “isolated storage”

Tester  Väldigt användbart innan och vid förändringar!  Två områden: PAL och “managed code”  PAL  pvtrun.pl kan användas för automatisk testning  Kvalitet på “managed code”  rrun.pl  Tre primära områden  Verifiering av IL  Många små program  Tester för basklasserna

Shared Source Windows CE  1,5 miljoner rader Windows CE kod  Innehåller bland annat  Utforskaren (”Explorer”)  HTTP webb server  Protokoll implementationer av SOAP och uPNP  Microsoft Message Queuing (MSMQ)  Bluetooth och trådlösa nätverksdrivrutiner  ”Kerneln”  Filsystem

Mer information   Shared Source CLI kommer vidareutvecklas  Ytterligare utveckling från Microsoft  Planerna är inte klara – feedback önskas!  NNTP  microsoft.public.shared_source.cli  Maillistor och arkiv   (dotnet-rotor)

Definitioner  APIApplication Program Interface  IL Intermediate Language (CIL)  CLSCommon Language Specification  GCGarbage Collection  SEHStructured Exception Handling  PEPortable Executable  COFFCommon Object File Format  JITJust In Time  NGENNative GENerator  I/OInput / Output  PALPlatform Adaption Layer  uPNPUniversal Plug ’N Play  NNTPNetwork News Transfer Protocol