Presentation is loading. Please wait.

Presentation is loading. Please wait.

Base Operating System Services CLR TransactionsStorage Protocols Network Services Kernel Mode Base Class Libraries Memory Manager Hosting Layer Code Execution.

Similar presentations


Presentation on theme: "Base Operating System Services CLR TransactionsStorage Protocols Network Services Kernel Mode Base Class Libraries Memory Manager Hosting Layer Code Execution."— Presentation transcript:

1 Base Operating System Services CLR TransactionsStorage Protocols Network Services Kernel Mode Base Class Libraries Memory Manager Hosting Layer Code Execution Loader Security Serialization Lightweight Transactions Lightweight Transactions Transaction Coordinator Kernel Transaction Manager Logging Service Kernel Hardware Abstraction Layer Process Manager Process Manager Security Reference Monitor LPC Facility Memory Manager Power Manager Config Manager Plug and Play Transacted NTFS Transacted NTFS Cache Manager Cache Manager Universal Data Format Universal Data Format Filter Engine Filter Engine TPC, UDP IPV4, IPV6 TPC, UDP IPV4, IPV6 IPSEC QOS HTTP Listener HTTP Listener Internet Connection Firewall Demand Activation and Protocol Health PNRP Native WiFi Native WiFi SIP TCP Listener TCP Listener UDP Listener UDP Listener IPC Listener IPC Listener Network Class Library GDI/GDI+ Window Manager Window Manager Global Audio Engine Global Audio Engine DirectX Graphics Graphics drivers DDI Input Manager Input Manager Audio Drivers Audio Drivers DirectX Graphics Mini port DirectX Graphics Mini port Redirectors SCSI/FC 802.3 802.11.. Device Drivers Management PresentationDataCommunication WinFSIndigo Make the connection Windows Forms Avalon ASP.NET ObjectSpaces DataSet SQL XML Providers Framework Services Schemas Data Model ADO.NET Connectivity Synchronization (WinFS, Win32..) InfoAgent (PreferenceRules..) InfoAgent (PreferenceRules..) FileSystem Services (MetaDataHandlers..) FileSystem Services (MetaDataHandlers..) Calendar Media Document … … Items Relationships Extensions Communications Manager (Port) Messaging Services Transport Channels (IPC, HTTP, TCP…) Transport Channels (IPC, HTTP, TCP…) IO Manager Channels (Datagram, Reliable, Peer, …) Policy Engine Policy Engine Message Encoder Message Encoder Channel Security Channel Security Queuing Eventing Routing Transaction Desktop Services Desktop Services Desktop Window Manager Desktop Window Manager Presentation Object Manager Desktop Composition Engine Animation and Composition Media Services Hardware Rendering Hardware Rendering Media Processing Capture and Sourcing Capture and Sourcing Software Rendering and Sinks Software Rendering and Sinks Adaptive UI Engine Adaptive UI Engine Page/Site Composition Personalization and Profiling Services Personalization and Profiling Services Membership and Security Services Membership and Security Services Designer Services Designer Services Controls Interop Engine Controls Interop Engine Controls Windows Forms Application Services Application Services Application Deployment Engine (Click-Once) Application Deployment Engine (Click-Once) People Group Identity & Security System Identity & Security System Collaboration People and Groups People and Groups Collaboration History Collaboration History Real-Time Activities Real-Time Activities Signaling Federation System Services FAT 16/32 Filter Manager Filter Manager Distributed File System Distributed File System Backup / Restore Backup / Restore File Replication Service File Replication Service Virtual Disk Service Virtual Disk Service Models Service Object T/SQL XML Document UI Media

2 2 The Service-Oriented Model Services, Clients, Systems Tenet: Boundaries are Explicit Tenet: Services are autonomous Tenet: Share Schema, not Class

3 Connector Communications Manager (Port) Transport Channels (IPC, HTTP, TCP…) Transport Channels (IPC, HTTP, TCP…) Channels (Datagram, Reliable, Peer, …) Policy Engine Policy Engine Message Encoder Message Encoder Channel Security Channel Security Service Model Hosting Environments Instance Manager Context Manager Type Integration Service Methods Declarative Behaviors Transacted Methods ASP.NET.container.exe NT Service DllHost Messaging Services System Services Queuing Routing Eventing … … Transaction Federation … … Indigo Architecture

4 4 “Indigo” And Transactions

5 Map WinFS Store Objects are added to change list as app. makes changes ItemContext.Update saves changes back to store If another application has modified data a “change collision” event is raised Objects are added to change list as app. makes changes ItemContext.Update saves changes back to store If another application has modified data a “change collision” event is raised The Change List Update Update ID = 1, Remove ID = 2, Create ID = 3,... Modified Removed Added Remove Modify Add ItemContext Application Change Collision Event ID=1 ID=2 ID=3 Change List

6 Longhorn Application

7 Relationship Examples / Id: 0 Folder Id: 1 Contact Id: 2 Contact Id: 3 Folder Id: 10 Contact Id: 11 Document Id: 12 Image Id: 15 Document Id: 16 Image Id: 20 YourFolder MyFolder C1C2C3 D1 C4 Document Id: 30 D2 Image Id: 21 Reference Embedding Holding

8 Support Your Garbage Collector Use an efficient “allocation profile” Short lived objects are cheap (but not free) Don’t have a “midlife crisis” (churn gen2) Review with perfmon counters, CLR Profiler Avoid common GC pitfalls Keeping refs to “dead” object graphs A subtle problem, as old as the hills Implicit boxing Pinning young objects GC.Collect considered harmful Finalization... Use an efficient “allocation profile” Short lived objects are cheap (but not free) Don’t have a “midlife crisis” (churn gen2) Review with perfmon counters, CLR Profiler Avoid common GC pitfalls Keeping refs to “dead” object graphs A subtle problem, as old as the hills Implicit boxing Pinning young objects GC.Collect considered harmful Finalization...

9 Compilation Modes

10

11

12

13

14 Cleanup: Less Code, More Control The CLR state of the art is great for memory It’s not great for other resource types: Having lots of finalizers doesn’t scale, and usually the finalizer is run too late. Examples: files, database connections, locks The Dispose pattern (try-finally, or C# “using”) tries to address this, but is fragile, error-prone, and requires the user to write more code Instead of writing try-finally or using blocks: Users can leverage a destructor. The C++ compiler generates all the Dispose code automatically, including chaining calls to Dispose. (There is no Dispose pattern) Types authored in C++ are naturally usable in other languages, and vice versa C++ choice: Correctness by default, speed by choice. (Other langs: Speed by default, correctness by choice) The CLR state of the art is great for memory It’s not great for other resource types: Having lots of finalizers doesn’t scale, and usually the finalizer is run too late. Examples: files, database connections, locks The Dispose pattern (try-finally, or C# “using”) tries to address this, but is fragile, error-prone, and requires the user to write more code Instead of writing try-finally or using blocks: Users can leverage a destructor. The C++ compiler generates all the Dispose code automatically, including chaining calls to Dispose. (There is no Dispose pattern) Types authored in C++ are naturally usable in other languages, and vice versa C++ choice: Correctness by default, speed by choice. (Other langs: Speed by default, correctness by choice)

15 Sidebar tiles Peripheral awareness Live data Minimal controls User controls which tiles appear and where Consumes valuable screen real estate — make the tile worth it! Peripheral awareness Live data Minimal controls User controls which tiles appear and where Consumes valuable screen real estate — make the tile worth it!


Download ppt "Base Operating System Services CLR TransactionsStorage Protocols Network Services Kernel Mode Base Class Libraries Memory Manager Hosting Layer Code Execution."

Similar presentations


Ads by Google