An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Making the System Operational
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Memory Protection: Kernel and User Address Spaces  Background  Address binding  How memory protection is achieved.
Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented by Alana Sweat.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Software Configuration Management
Chapter 15 Design, Coding, and Testing. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Design Document The next step in the Software.
Software Evolution Managing the processes of software system change
1 Process Description and Control Chapter 3. 2 Process Management—Fundamental task of an OS The OS is responsible for: Allocation of resources to processes.
Memory Management 2010.
CSCE 351: Operating System Kernels
Establishing the overall structure of a software system
Communication in Distributed Systems –Part 2
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Using Two Queues. Using Multiple Queues Suspended Processes Processor is faster than I/O so all processes could be waiting for I/O Processor is faster.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Process Description and Control. Process concepts n Definitions – replaces task, job – program in execution – entity that can be assigned to and executed.
System Calls 1.
IMPROVING THE RELIABILITY OF COMMODITY OPERATING SYSTEMS Michael M. Swift Brian N. Bershad Henry M. Levy University of Washington.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
14.1 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 14: Protection Goals of Protection Principles of Protection Domain of Protection.
Memory Management 3 Tanenbaum Ch. 3 Silberschatz Ch. 8,9.
Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
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.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Memory: Relocation.
8 1 Chapter 8 Advanced SQL Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Processes Introduction to Operating Systems: Module 3.
14.1/21 Part 5: protection and security Protection mechanisms control access to a system by limiting the types of file access permitted to users. In addition,
Joonwon Lee Process and Address Space.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
HNDIT23082 Lecture 06:Software Maintenance. Reasons for changes Errors in the existing system Changes in requirements Technological advances Legislation.
Department of Computer Science and Software Engineering
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Manish Kumar,MSRITSoftware Architecture1 Remote procedure call Client/server architecture.
Software Configuration Management SEII-Lecture 21
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
Page Replacement Implementation Issues Text: –Tanenbaum ch. 4.7.
1 Process Description and Control Chapter 3. 2 Process A program in execution An instance of a program running on a computer The entity that can be assigned.
What is a Process ? A program in execution.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
Unit - I Real Time Operating System. Content : Operating System Concepts Real-Time Tasks Real-Time Systems Types of Real-Time Tasks Real-Time Operating.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
1 Module 3: Processes Reading: Chapter Next Module: –Inter-process Communication –Process Scheduling –Reading: Chapter 4.5, 6.1 – 6.3.
Computer System Structures
Efficient Software-Based Fault Isolation
Software Configuration Management
Real-time Software Design
Ch > 28.4.
Programming Models for Distributed Application
Service-centric Software Engineering
Chapter 6 – Architectural Design
Memory Management Tasks
Process Description and Control
Software models - Software Architecture Design Patterns
Real-time Linux Evaluation
Presentation transcript:

An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi

What is OBSM? On Board Software Maintenance Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment (Source: Wikipedia)

Related Work Reduce the size of patch Assign more memory to each module at compilation time Only that module is rebooted Disadvantage: difficult to predict the memory size of future patches

Related work continued On-Board Control Procedures Is a stand alone program Capable of interacting with other on- board subsystems, with similar capabilities

Related work continued Provide hardware redundancy New version software runs with old version Old version guards upgrading Upgrades only if the new version works as expected for some time Else rollback to a checkpoint

Component-based Dynamic Architecture Is a configuration language for describing dynamic architecture Specify the structure of Distributive systems Separates the description of structure from that of computation and interaction Use connectors for communication

Distributed object-based approach Client object can transparently invoke a method on a server object Requires CORBA architecture Reliable group communication Frequent checkpoint mechanism

Need to replace redundancy High cost to have hardware or software redundancy Communication and synchronization is time consuming

Framework Compiler Software Development Environment (SDE) Software Validation Facility (SVF) A generator for patch telecommands A mission database of "memory images"

Framework SDE Patch Maker OB Software SVF Find Error Modify Information Verify Upload Patch

Types of Modifications Kernel Modification User Application Modification Parameter Modification

Kernel Modification OS may have bugs If Preemptible Kernel: ◦ PC register of each task may point to an instruction that will be modified ◦ All the tasks must be stopped except the patch handle task If Non-preemptible Kernel: ◦ Task that is not ready needs to be restarted

User Application Modification More common to modify user application Different applications have different tasks To upgrade the task is killed Better than the approach of updating the whole and then rebooting the system.

Parameter Modification Parameters refer to a global variable or static variable or a data area in memory Local variable is in a stack and cannot be modified Variables and data can be modified by rewriting the memory

Patch Information Fetching SDE informs OBSM to fetch patch information OBSM finds the files updated by the user modification Comparison is carried out to find out which files have been modified

Task Analysis Dependency Software upgrading and function upgrading Parameter modification necessitates that the task be restarted

Task Analysis

Caller Graph A caller graph is created Use breadth-first traversal to find all the dependant tasks A list of all the functions that depend on the given function and find tasks whose entry points are in these functions.

Relocation and Re-relocation To upgrade software we need a memory table which is costly to maintain Implement it in the host machine If a new version function is larger than the old one new function will be placed in a new location Need re-relocation after the patch is uploaded

Relocation and Re-relocation

Patching Receive the patch Suspend the affected task Update the parameter value or code Restart the task The task priority, entry point, base of stack and arguments are needed

Resource Protection Resource release Need to protect the resource when the task is killed Register Mechanism Reboot delayed mechanism

Results Pentium-s, 100 MHz 3 source files modification (20 functions) Conventional method: 2sec and 110µsec Overhead of OBSM is15µsec

Conclusion Develop a method to update the software by writing the patch to memory directly To reduce overhead classify the type of modification Task dependency analysis and resource protection help in correct upgrading This method has some overhead but will be useful for applications which require frequent upgrading

Questions?