|
1
|
|
|
2
|
- Andrew Scott
Computing Department
Lancaster University, UK
|
|
3
|
- Microsoft .NET Framework
- .NET Compact Framework
- Framework Namespace
- Common Language Runtime
- .NET Type System
- Metadata
- Just In Time Compilation
- Assemblies
- Evidence Based Security
- Multi-Generational Garbage Collection
|
|
4
|
- Inbuilt object-based type system
- Multi-language
- Language neutral platform
- Cross language inheritance
- Zero impact install
- Side by side execution
- Multiple versions of components can co-exist
|
|
5
|
- Make distributed applications as easy to develop as desktop applications
- Client-Server systems
- Web based applications
- Mobile applications
- Adopt many research ideas from last few years
- Rationalise Microsoft’s development tools
- Develop once, run anywhere…
|
|
6
|
- Reduced footprint implementation
- Few assumptions about device
- Screen size, colour depth, etc.
- Touch screen, Keypad, …
- RAM, Flash, ROM
- Floating point
- File system
- Threading
- etc.
|
|
7
|
|
|
8
|
|
|
9
|
|
|
10
|
- Provides common type system
- Consumer languages
- Extender languages
- Robust and secure execution environment
- Verifies type safety
- Code access security
- Exception handling
- Provides access to host resources
|
|
11
|
|
|
12
|
|
|
13
|
|
|
14
|
- All languages adopt framework types
- So… a string is a string
whatever the language
- Unified type system
|
|
15
|
- Reference types
- Classes
- Interfaces
- Arrays
- Delegates
- Value types
- Primitives
- Enumerators
- Structures
|
|
16
|
- All .NET objects carry metadata
- Object name
- Method names and parameters
- Variables names and types
- Reflection
- Object construction
- Method invocation
- Access to public data in object
|
|
17
|
|
|
18
|
|
|
19
|
|
|
20
|
|
|
21
|
- Each assembly contains
- All IL code, Metadata and Attributes
- Manifest
- List of files
- Public and private resources
- Dependencies (other assemblies)
- Security permissions and requirements
- Public key
|
|
22
|
- Source of code and invoking user
- Works with chains of components
|
|
23
|
- Source of code and invoking user
- Works with chains of components
|
|
24
|
- Where did the assembly come from?
- Site
- URL
- Directory
- Zone (My Computer, Intranet, Internet, …)
- What is the name of the assembly?
- Who signed and published assembly?
- Public Key based digital signatures
|
|
25
|
- Ensures no memory leaks
- Multi-generational, mark and compact
- Fundamental to .NET Framework
…and not individual languages
- Self tuning
- Sweep typically takes ~1ms
|
|
26
|
|
|
27
|
|
|
28
|
|
|
29
|
|
|
30
|
|
|
31
|
|
|
32
|
|
|
33
|
|
|
34
|
- Special provision for
- Servers v Workstations
- Multi-processor systems
- Multi-threaded applications
- Can be influenced by applications
- But not generally recommended
|