SSCLI (Rotor) - Shared Source Common Language Infrastructure - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

SSCLI (Rotor) - Shared Source Common Language Infrastructure

Description:

SSCLI (Rotor) - Shared Source Common Language Infrastructure Johan Lindfors Microsoft Agenda Introduktion till SSCLI ECMA, CLR, .NET Framework En verblick av ... – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 20
Provided by: Johan222
Category:

less

Transcript and Presenter's Notes

Title: SSCLI (Rotor) - Shared Source Common Language Infrastructure


1
SSCLI (Rotor) - Shared SourceCommon Language
Infrastructure
  • Johan LindforsMicrosoft

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

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

4
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

5
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 APIer på
    ännu lägre nivå

6
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

7
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

8
.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
  • JITern och GCn 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

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

10
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)

11
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.

12
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

13
En överblick av
  • Platform Adaptation Layer (PAL) i pal katalogen
  • Systemresurser konsumeras via PAL
  • Ungefär 250 delvis kompletta Win32 APIer
  • Funktioner som saknas i OSet 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

14
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

15
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

16
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

17
Mer information
  • http//msdn.microsoft.com/net/sscli
  • 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
  • http//mailserver.di.unipi.it/mailman/listinfo/dot
    net-sscli
  • http//discuss.develop.com (dotnet-rotor)

18
(No Transcript)
19
Definitioner
  • API Application Program Interface
  • IL Intermediate Language (CIL)
  • CLS Common Language Specification
  • GC Garbage Collection
  • SEH Structured Exception Handling
  • PE Portable Executable
  • COFF Common Object File Format
  • JIT Just In Time
  • NGEN Native GENerator
  • I/O Input / Output
  • PAL Platform Adaption Layer
  • uPNP Universal Plug N Play
  • NNTP Network News Transfer Protocol
Write a Comment
User Comments (0)
About PowerShow.com