Component Based Invisible Computing 12 December 2001, ETH, Zürich Johannes Helander Microsoft Research.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Unit 1: Overview of the Microsoft.NET Platform
MHK200 Module 1: Introduction to Windows CE. MHK200 Overivew Windows CE Design Goals Windows CE Architecture Supported Technologies, Libraries, and Tools.
ASU Real-Time Operating System. Supervised by: Dr. Mohammed Sobh.
Component Based Invisible Computing IEEE Real-Time Embedded System Workshop London, December 3, 2001 Johannes Helander Microsoft Research Alessandro Forin,
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Wednesday, June 07, 2006 “Unix is user friendly … it’s just picky about it’s friends”. - Anonymous.
1 Web Server Administration Chapter 3 Installing the Server.
XML Web Services for Invisible Computing Johannes Helander Researcher Microsoft Research.
1 Component Description Alice 3d Graphics Software Human Computer Interaction Institute Carnegie Mellon University Prepared by: Randy Pausch,
CENG334 Introduction to Operating Systems Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
Introduction. Why Study OS? Understand model of operation –Easier to see how to use the system –Enables you to write efficient code Learn to design an.
111 Development Tools for ARM-Powered Devices Name of presenter RealView Microcontroller Development Kit ULINK2 USB/JTAG Adapter Evaluation Boards.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
RTOS Design & Implementation Swetanka Kumar Mishra & Kirti Chawla.
Computer System System Software. Learning Objective Students should understand the different types of systems software and their functions. Students should.
High volume requires low COGs. Areas previously unavailable to.NET and GXA Silicon – street claim: Large footprint and inefficient computing makes GXA.
MDK-ARM Microcontroller Development Kit MDK: Microcontroller Development Kit.
Programming mobile devices Part II Programming Symbian devices with Symbian C++
1 7. Operating Systems 7.1 Windows CE  The Win32 API defines a consistent interface for the application, while the Windows CE components encapsulate all.
hardware and operating systems basics.
Chapter 5 Basic Input/Output System (BIOS)
Basic Input Output System
NetBurner MOD 5282 Network Development Kit MCF 5282 Integrated ColdFire 32 bit Microcontoller 2 DB-9 connectors for serial I/O supports: RS-232, RS-485,
Embedded XML Web Services Realizing a Seamless and Interoperable World through Invisible Computing Johannes Helander Researcher Microsoft Research March.
Windows CE 시스템 개발 개요. 임베디드시스템소프트웨어 -Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle.
Overview of System Development. Overview Selecting a Windows Embedded Operating System The Windows CE Platform Development Cycle The Application Development.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS6: Device Management 6.1. Principles of I/O.
How Hardware and Software Work Together
The IT700 PIM only supports up to network layer, all other above layers must be executed by other processor. Therefore in the PLC control network two types.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Motherboards The Main Printed Circuit Board Inside The PC That Contains and Controls The Components That Are Responsible For Processing Data.
ARM 7 & ARM 9 MICROCONTROLLERS AT91 1 Development Tools & Partners.
Design Through Curriculum on Embedded Systems Team:Aisha Grieme, Jeff Melvin, Dane Seaberg Advisors: Dr. Tyagi and Jason Boyd Client: Dept. of Electrical.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Windows CE 시스템 개발 개요. 모바일운영체제 - Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle  The.
Processes Introduction to Operating Systems: Module 3.
1.4 Hardware Review. CPU  Fetch-decode-execute cycle 1. Fetch 2. Bump PC 3. Decode 4. Determine operand addr (if necessary) 5. Fetch operand from memory.
Computer Software Types Three layers of software Operation.
Simics: A Full System Simulation Platform Synopsis by Jen Miller 19 March 2004.
1 VxWorks 5.4 Group A3: Wafa’ Jaffal Kathryn Bean.
Full and Para Virtualization
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
ChibiOS/RT Demo A free embedded RTOS
CENG334 Introduction to Operating Systems 1 Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
Operating Systems: Summary INF1060: Introduction to Operating Systems and Data Communication.
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
Embedded Real-Time Systems Introduction to embedded software development Lecturer Department University.
OPERATING SYSTEM REVIEW. System Software The programs that control and maintain the operation of the computer and its devices The two parts of system.
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
Introduction to Operating Systems Concepts
Computer System Structures
Introducing the Windows Mobile development
Kernel Design & Implementation
Chapter Objectives In this chapter, you will learn:
Operating System Review
Current Generation Hypervisor Type 1 Type 2.
Mobile Operating System
MOBILE DEVICE OPERATING SYSTEM
Chapter 3: Windows7 Part 4.
Operating System Review
Future Designs, Inc. Your Development Partner
Windows Internals Brown-Bag Seminar Chapter 1 – Concepts and Tools
Booting Up 15-Nov-18 boot.ppt.
Outline Operating System Organization Operating System Examples
CMPE419 Mobile Application Development
Overview of System Development for Windows CE.NET
Presentation transcript:

Component Based Invisible Computing 12 December 2001, ETH, Zürich Johannes Helander Microsoft Research

Invisible Computing Everyday Devices –Chip makes them better. –Basic autonomous operation. –Added value from services. –Often battery operated. Device centered, user controlled. Devices communicate. combination > Σ parts Small Component Based RTOS. Standard protocols, Tuned. Also decomposed PC, smart I/O cards.

The Operating System (MMLite) Component Based –Objects everywhere. –COM interfaces. –Unified namespace. –Same interfaces implemented by many components. –Multiple implementations of any component. Specialized to task. –Pay as you go. –Late binding and mutation. –Adaptive to changing requirements. Real-time scheduling with feedback. XML based configuration and communication. Runs on several hardware platforms.

Object Model COM Reference counting –Simple and non-intrusive –Has limitations IUnknown: Base interface –QueryInterface –AddRef –Release Mutation

Programming Model main() returns object, often constructor Demand-loading namespace Namespace caches or unloads Reference count controls lifetime

Example VMemAlloc() { pNS = CurrentNameSpace(); pUnk =pNS->Bind(“VMM”); pVM = pUnk->QueryInterface(IID_IVmSpace); pHeap = CreateHeap(pVM); pHeap->Allocate(); } IUnknown main() { pUnk = new(); return pUnk; }

MMLite OS == Object System Full system view (no “kernel”) Firewalls only when needed Location transparency Most everything can be dynamically loaded, unloaded, replaced and/or re-defined –Loadable virtual memory –Loadable IPC –Loadable network –Loadable drivers

Mutation in drivers On PCs: use the BIOS first, load real driver later Floppy, IDE, SCSI, … anything the PROMs do Cannot do this with autoconfig

COM overhead z Overhead acceptable on TriMedia z ~~No overhead on x86 z Cache eliminates memory fetch

Communication RF, TCP/IP, SOAP. Standard protocols. Tuned. Embedded SOAP prototype: –COM-Lite automation. XML description. –Can also deal with messages directly. –SAX parser. Push model. Process while receiving. –Code size OK (~16KB parser, tokenizer, marshaller). –Interoperates with Win2K SOAP Toolkit.  Text parsing takes CPU.  Verbose. Compress?  Drop unnecessary protocol layers.

Demo1: Smart TAG Scenario Tag sends token to reader. Token received. Ask database for matching person data. Database service sends back identity. Reader takes personalized action. Tag knows it was recognized.  SOAP messaging.  Invisible kit [aka MMLite] on Tag, Reader.  Windows 2000 w/ SOAP Toolkit on DB.

Smart TAG scenario

MSR Prototype Hardware The proto hardware has an Atmel AT91FR4081 ARM based microcontroller. Low power (2.8V, 40 mW). Runs off 128KB on-chip RAM. Accelerometer & RF radio (12 kb/s) on second board (5V, 150 mW).  Voltages don’t match. The trend is toward lower voltages.

Demo4: Remote snake games

Status Source will be available soon (beta now). ARM (several versions), i386, H8, MIPS, TriMedia, Map1000, 68k. MMU optional. Several development boards. Smart I/O cards. Develop code on simulator under Windows –Source level debugging of all system features except true RT under Visual Studio. Full speed emulation. –Cycle-accurate simulators for ARM and TriMedia. –Use whatever tools available for device → native debuggers often weak. Sizes e.g. 10KB, 20KB on ARM; 26KB, 160KB on x86. Depends on configuration. Power e.g. 40mW on 5x7 cm 2.8V ARM board with LCD when playing a simple game (snake).

Sizes Heap (x86 bytes)2635 PE Loader 4661 Library3799 Machdep2086 Timer1205 ICU1005 RT-Scheduler1228 Thread 426 Synchro1090 Network VMem Doom “Watch” –minimal –10 KB on x86 “Cell phone” –most OS features –26 KB on x86 –20 KB on arm