On the Construction of Reliable Device Drivers Leonid Ryzhyk

Total Page:16

File Type:pdf, Size:1020Kb

On the Construction of Reliable Device Drivers Leonid Ryzhyk On the Construction of Reliable Device Drivers Leonid Ryzhyk Ph.D. 2009 ii iii ‘I hereby declare that this submission is my own work and to the best of my knowledge it contains no materials previously pub- lished or written by another person, or substantial proportions of material which have been accepted for the award of any other degree or diploma at UNSW or any other educational institution, except where due acknowledgement is made in the thesis. Any contribution made to the research by others, with whom I have worked at UNSW or elsewhere, is explicitly acknowledged in the thesis. I also declare that the intellectual content of this the- sis is the product of my own work, except to the extent that as- sistance from others in the project’s design and conception or in style, presentation, and linguistic expression is acknowledged.’ Signed .................................. Date .................................. iv Abstract This dissertation is dedicated to the problem of device driver reliability. Software defects in device drivers constitute the biggest source of failure in operating systems, causing sig- nificant damage through downtime and data loss. Previous research on driver reliability has concentrated on detecting and mitigating defects in existing drivers using static analysis or runtime isolation. In contrast, this dissertation presents an approach to reducing the number of defects through an improved device driver architecture and development process. In analysing factors that contribute to driver complexity and induce errors, I show that a large proportion of errors are due to two key shortcomings in the device-driver architecture enforced by current operating systems: poorly-defined communication protocols between drivers and the operating system, which confuse developers and lead to protocol violations, and a multithreaded model of computation, which leads to numerous race conditions and deadlocks. To address the first shortcoming, I propose to describe driver protocols using a formal, state-machine based, language, which avoids confusion and ambiguity and helps driver writers implement correct behaviour. The second issue is addressed by abandoning multithreading in drivers in favour of a more disciplined event-driven model of computation, which eliminates most concurrency-related faults. These improvements reduce the number of defects without radically changing the way drivers are developed. In order to further reduce the impact of human error on driver reliability, I propose to automate the driver development process by synthesising the implementation of a driver from the combination of three formal specifications: a device-class specification that de- scribes common properties of a class of similar devices, a device specification that describes a concrete representative of the class, and an operating system interface specification that describes the communication protocol between the driver and the operating system. This approach allows those with the most appropriate skills and knowledge to develop speci- fications: device specifications are developed by device manufacturers, operating system specifications by the operating system designers. The device-class specification is the only one that requires understanding of both hardware and software-related issues. However writing such a specification is a one-off task that only needs to be completed once for a class of devices. This approach also facilitates the reuse of specifications: a single operating-system specification can be combined with many device specifications to synthesise drivers for v vi multiple devices. Likewise, since device specifications are independent of any operating system, drivers for different systems can be synthesised from a single device specification. As a result, the likelihood of errors due to incorrect specifications is reduced because these specifications are shared by many drivers. I demonstrate that the proposed techniques can be incorporated into existing operating systems without sacrificing performance or functionality by presenting their implementation in Linux. This implementation allows drivers developed using these techniques to coexist with conventional Linux drivers, providing a gradual migration path to more reliable drivers. Acknowledgements I am grateful to my supervisors Gernot Heiser and Ihor Kuz for their guidance throughout the project. Working with them, I enjoyed a lot of freedom in choosing the research direction and exploring various ideas by way of trial and error, while getting advice, feedback, and support when I needed them. Throughout the project, several people have helped develop the ideas presented in this work. In particular, collaboration with Timothy Bourke on modelling device drivers in Esterel inspired the design of the Tingu driver protocol specification language. Rob van Glabbeek’s lectures on process calculus were a major influence on the design of the Termite driver synthesis tool. Introduction to the theory of two-player games by Franck Cassez was instrumental in developing the Termite synthesis algorithm. I want to thank Peter Chubb and Etienne Le Sueur for their collaboration in implement- ing and evaluating the Dingo driver framework. I want to thank Balachandra Mirla for his input in the SD controller driver synthesis case study. I want to thank John Keys for his help in implementing the Termite compiler. Finally, I want to thank all my colleagues at ERTOS whose knowledge, team spirit, and sense of humour have helped reduce the inevitable stress of being a graduate student. vii viii Related Publications [1] Leonid Ryzhyk, Peter Chubb, Ihor Kuz, Etienne Le Sueur, and Gernot Heiser. Auto- matic device driver synthesis with Termite. In Proceedings of the 22nd ACM Symposium on Operating Systems Principles, Big Sky, MT, USA, October 2009. [2] Leonid Ryzhyk, Peter Chubb, Ihor Kuz, and Gernot Heiser. Dingo: Taming device drivers. In Proceedings of the 4th EuroSys Conference, Nuremberg, Germany, April 2009. [3] Leonid Ryzhyk, Ihor Kuz, and Gernot Heiser. Formalising device driver interfaces. In Proceedings of the 4th Workshop on Programming Languages and Operating Systems, Stevenson, Washington, USA, October 2007. [4] Leonid Ryzhyk, Timothy Bourke, and Ihor Kuz. Reliable device drivers require well- defined protocols. In Proceedings of the 3rd Workshop on Hot Topics in System Depend- ability, Edinburgh, UK, June 2007. ix x RELATED PUBLICATIONS Contents 1 Introduction 1 1.1 Improving OS support for device drivers with Dingo . ...... 4 1.2 Automatic device driver synthesis with Termite . ....... 4 1.3 Contributions ................................ 6 1.4 Chapteroutline ............................... 6 2 Background 7 2.1 The history of device drivers . 8 2.2 I/O hardware organisation in modern computer systems . ........ 9 2.2.1 Peripheral Component Interconnect bus . 10 2.2.2 UniversalSerialBus . ...... ..... ...... ..... 13 2.3 Device drivers in modern operating systems . ..... 15 2.4 GenericOSservices............................. 17 2.4.1 Memorymanagement ....................... 17 2.4.2 Timers ............................... 20 2.5 Concurrency and synchronisation in device drivers . ........ 20 2.5.1 The Mac OS X workloop architecture . 21 2.5.2 Windows Driver Foundation synchronisation scopes . ..... 21 2.6 Hotplugging ................................ 22 2.7 Powermanagement ............................. 22 2.8 A taxonomy of driver failures . 23 3 Related work 27 3.1 Hardware-based fault tolerance . 28 3.1.1 Drivers in capability-based computer systems . ..... 29 3.1.2 User-level device drivers in microkernel-based systems...... 29 3.1.3 Device driver isolation in monolithic OSs . 34 3.1.4 User-level device drivers in paravirtualised systems........ 36 3.2 Software-based fault isolation . 37 3.3 Fault removal using static analysis . 39 3.4 Language-based fault prevention and fault tolerance . .......... 42 xi xii CONTENTS 3.5 Preventing and tolerating device protocol violations . ........... 46 3.6 Fault prevention through automatic device driver synthesis . 47 3.7 Conclusions................................. 48 4 Root-cause analysis of driver defects 49 4.1 Methodology ................................ 50 4.2 Example................................... 51 4.3 Defects caused by the complexity of device protocols . ........ 53 4.4 Defects caused by the complexity of operating system (OS) protocols . 55 4.5 Concurrency defects . 58 4.6 Generic programming faults . 60 4.7 Limitationsofthestudy. 60 4.8 Conclusions................................. 61 5 Device driver architecture for improved reliability 63 5.1 OverviewofDingo ............................. 64 5.2 An event-based architecture for drivers . ...... 65 5.2.1 Cwithevents............................ 69 5.2.2 Implementation of C with events . 70 5.2.3 DingoonLinux........................... 71 5.2.4 Selectively reintroducing multithreading . ...... 72 5.2.5 Comparison with existing architectures . 75 5.3 Tingu: describing driver software protocols . ....... 75 5.3.1 Introduction to Tingu by example . 77 5.3.2 Discussion ............................. 86 5.3.3 Detecting protocol violations at runtime . 86 5.3.4 From protocols to implementation . 87 5.4 Evaluation.................................. 90 5.4.1 Codecomplexity .......................... 91 5.4.2 Reliability.............................. 91 5.4.3 Performance ............................ 93 5.5 Conclusions................................. 98 6 Automatic device driver synthesis with Termite 99 6.1
Recommended publications
  • Ebook - Informations About Operating Systems Version: August 15, 2006 | Download
    eBook - Informations about Operating Systems Version: August 15, 2006 | Download: www.operating-system.org AIX Internet: AIX AmigaOS Internet: AmigaOS AtheOS Internet: AtheOS BeIA Internet: BeIA BeOS Internet: BeOS BSDi Internet: BSDi CP/M Internet: CP/M Darwin Internet: Darwin EPOC Internet: EPOC FreeBSD Internet: FreeBSD HP-UX Internet: HP-UX Hurd Internet: Hurd Inferno Internet: Inferno IRIX Internet: IRIX JavaOS Internet: JavaOS LFS Internet: LFS Linspire Internet: Linspire Linux Internet: Linux MacOS Internet: MacOS Minix Internet: Minix MorphOS Internet: MorphOS MS-DOS Internet: MS-DOS MVS Internet: MVS NetBSD Internet: NetBSD NetWare Internet: NetWare Newdeal Internet: Newdeal NEXTSTEP Internet: NEXTSTEP OpenBSD Internet: OpenBSD OS/2 Internet: OS/2 Further operating systems Internet: Further operating systems PalmOS Internet: PalmOS Plan9 Internet: Plan9 QNX Internet: QNX RiscOS Internet: RiscOS Solaris Internet: Solaris SuSE Linux Internet: SuSE Linux Unicos Internet: Unicos Unix Internet: Unix Unixware Internet: Unixware Windows 2000 Internet: Windows 2000 Windows 3.11 Internet: Windows 3.11 Windows 95 Internet: Windows 95 Windows 98 Internet: Windows 98 Windows CE Internet: Windows CE Windows Family Internet: Windows Family Windows ME Internet: Windows ME Seite 1 von 138 eBook - Informations about Operating Systems Version: August 15, 2006 | Download: www.operating-system.org Windows NT 3.1 Internet: Windows NT 3.1 Windows NT 4.0 Internet: Windows NT 4.0 Windows Server 2003 Internet: Windows Server 2003 Windows Vista Internet: Windows Vista Windows XP Internet: Windows XP Apple - Company Internet: Apple - Company AT&T - Company Internet: AT&T - Company Be Inc. - Company Internet: Be Inc. - Company BSD Family Internet: BSD Family Cray Inc.
    [Show full text]
  • Occupational Health and Safety Risks in the Healthcare Sector
    Occupational health and safety risks in the healthcare sector Guide to prevention and good practice This publication is supported by the European Union Programme for Employment and Social Solidarity - PROGRESS (2007-2013). This programme is implemented by the European Commission. It was established to financially support the implementation of the objectives of the European Union in the employment, social affairs and equal oppor- tunities area, and thereby contribute to the achievement of the Europe 2020 Strategy goals in these fields. The seven-year Programme targets all stakeholders who can help shape the development of appropriate and effective employment and social legislation and policies, across the EU-27, EFTA-EEA and EU candidate and pre-candidate countries. For more information see: http://ec.europa.eu/progress Occupational health and safety risks in the healthcare sector European Commission Directorate-General for Employment, Social Affairs and Inclusion Unit B.3 Manuscript completed in December 2010 Neither the European Commission nor any person acting on behalf of the Commission may be held responsible for the use that may be made of the information contained in this publication. © Cover photos: iStock For any use or reproduction of photos which are not under European Union copyright, permission must be sought directly from the copyright holder(s). This guide has been produced by the Bundesanstalt für Arbeitsschutz und Arbeitsmedizin (BAuA), Berufsgenossenschaft für Gesundheitsdienst und Wohlfahrtspflege (BGW), contec Gesellschaft für Organisationsentwicklung mbH, Deutsches Netz Gesundheitsfördernder Krankenhäuser (DNGfK) and BAD/ Team Prevent GmbH. Europe Direct is a service to help you find answers to your questions about the European Union Freephone number (*): 00 800 6 7 8 9 10 11 (*) Certain mobile telephone operators do not allow access to 00 800 numbers or these calls may be billed.
    [Show full text]
  • Rights Reserved. Permission to Make Digital Or Hard Copies of All Or Part Of
    Copyright © 1994, by the author(s). All rights reserved. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. MICROSOFT WINDOWS NT AND THE COMPETITION FOR DESKTOP COMPUTING by Brad Peters, William R. Bush, and A. Richard Newton Memorandum No. UCB/ERL M94/3 31 January 1994 MICROSOFT WINDOWS NT AND THE COMPETITION FOR DESKTOP COMPUTING by Brad Peters, William R. Bush, and A. Richard Newton Memorandum No. UCB/ERL M94/3 31 January 1994 MICROSOFT WINDOWS NT AND THE COMPETITION FOR DESKTOP COMPUTING by Brad Peters, William R. Bush, and A. Richard Newton Memorandum No. UCB/ERL M94/3 31 January 1994 ELECTRONICS RESEARCH LABORATORY College ofEngineering University ofCalifornia, Berkeley 94720 MICROSOFT WINDOWS NT AND THE COMPETITION FOR DESKTOP COMPUTING by Brad Peters, William R. Bush, and A. Richard Newton Memorandum No. UCB/ERL M94/3 31 January 1994 ELECTRONICS RESEARCH LABORATORY College ofEngineering University ofCalifornia, Berkeley 94720 Microsoft Windows NT And The Competition for Desktop Computing January 1994 Department ofElectrical Engineering and Computer Sciences University ofCalifornia Berkeley, California 94720 Abstract This report contains two papers, An Introduction to Microsoft Windows NT And Its Competitors, and The Status ofWindows NT and Its Competitors At The End of1993. The first paper, written in April 1993,presents an overview of the technology of Windows NT, and analyzes the competitors and competitive factors in the desktop operating system race.
    [Show full text]
  • Research Purpose Operating Systems – a Wide Survey
    GESJ: Computer Science and Telecommunications 2010|No.3(26) ISSN 1512-1232 RESEARCH PURPOSE OPERATING SYSTEMS – A WIDE SURVEY Pinaki Chakraborty School of Computer and Systems Sciences, Jawaharlal Nehru University, New Delhi – 110067, India. E-mail: [email protected] Abstract Operating systems constitute a class of vital software. A plethora of operating systems, of different types and developed by different manufacturers over the years, are available now. This paper concentrates on research purpose operating systems because many of them have high technological significance and they have been vividly documented in the research literature. Thirty-four academic and research purpose operating systems have been briefly reviewed in this paper. It was observed that the microkernel based architecture is being used widely to design research purpose operating systems. It was also noticed that object oriented operating systems are emerging as a promising option. Hence, the paper concludes by suggesting a study of the scope of microkernel based object oriented operating systems. Keywords: Operating system, research purpose operating system, object oriented operating system, microkernel 1. Introduction An operating system is a software that manages all the resources of a computer, both hardware and software, and provides an environment in which a user can execute programs in a convenient and efficient manner [1]. However, the principles and concepts used in the operating systems were not standardized in a day. In fact, operating systems have been evolving through the years [2]. There were no operating systems in the early computers. In those systems, every program required full hardware specification to execute correctly and perform each trivial task, and its own drivers for peripheral devices like card readers and line printers.
    [Show full text]
  • A Complete Bibliography of Publications in Software—Practice and Experience
    A Complete Bibliography of Publications in Software|Practice and Experience Nelson H. F. Beebe University of Utah Department of Mathematics, 110 LCB 155 S 1400 E RM 233 Salt Lake City, UT 84112-0090 USA Tel: +1 801 581 5254 FAX: +1 801 581 4148 E-mail: [email protected], [email protected], [email protected] (Internet) WWW URL: http://www.math.utah.edu/~beebe/ 23 July 2021 Version 3.26 Title word cross-reference [Bar82a, Bar82c, Bar84b]. < [SMGMOFM07a, SMGMOFM07b]. > [SMGMOFM07a, SMGMOFM07b]. 2 [MST13, MDB19]. 3 [DS09]. 4 [MSR+07]. \ 0 [GW96]. 1 [GW96]. $1.50 [Bar78d]. $11 [PK04]. TM [MZB00, Win02]. 8 [DB21b]. k [Bar84a]. $12.00 [Rob72]. $13 [Bar84a]. [AW93, Mer93]. κ [MG94]. µ $13.00 [Rob72]. $18.50 [Jon74]. $185 [BS90c, BDS+92, SMNB21]. N [Bar79b]. $19.30 [Lan74a]. $19.50 [Dav78]. [MS98, Coh98, KST94, YAVHC21]. P 3 $25.00 [Pet77, And78]. 3 [BE02, FMA02]. [DC03]. PM [CLD+17]. q [GSR17]. τ $31-25 [Pet77]. $31.35 [Bri82]. 32 [VED06]. 2:5 [TSZ14, UDS+07]. $35.00 [Inc86]. $39.50 [Sim83]. 5 [CPMAH+20]. $58.50 [Wal81a]. $6.95 -ary [MS98]. -bit [AM10, SF85, VED06]. [Tho74]. 64 [AM10, VED06]. 68 -gram [Coh98, KST94, YAVHC21]. -grams [Ear76, Hol77]. $68.25 [Pit82]. $7.00 [GSR17]. -level [FM77]. -queens [Plu74]. [Bar72a]. $7.50 [Bar78d]. $7.95 -R [Ear76, Hol77]. -shortest-paths [MG94]. [Bar76a, Lav77]. $78.50 [Sim83]. 8 -System [BS90c]. [Plu74, SF85]. $8.95 [Bar82a, Bar82c, Bar84b]. $9.75 . [Bis81b]. .NET [Coo04, Han04]. [Bar77e, Mul76]. $9.80 [Atk79a]. $9.95 1 2 0 [Bar81, Edw98a, Edw98b, Gru83, Llo82, 2 [Bar74a, Bar74b, Bar80b, Bud85, Cor88b, Val77a, Val78, Wal83b].
    [Show full text]
  • Integrated Report 2019
    Integrated Report 2019 JP TOWER, 2-7-2 Marunouchi, Chiyoda-ku, Tokyo 100-7015, Japan Phone: +81-3-6250-2111 https://konicaminolta.com CONTENTS On the Release of Integrated Report 2019 1 On the Release of Integrated Report 2019 2 CONTENTS Konica Minolta’s Strengths 03 Since fiscal 2015, Konica Minolta has released annual reports (the name of these reports was changed to the and Value Creation 3 Konica Minolta Philosophy integrated report in 2017) that provide a comprehensive look at the Company's activities and philosophies. 7 Value Creation Process The fifth report is now available. We made this integrated report to be a communication tool to better 9 Konica Minolta's Strengths 1. Customer base familiarize stakeholders, including shareholders and investors, with Konica Minolta by systematically 11 Konica Minolta’s Strengths 2. Technical expertise organizing both financial and non-financial information. 13 Konica Minolta’s Strengths 3. Business Model The 2018 integrated report was externally well-received, winning recognition and awards that included Growth Strategy 15 the Special Award in the Nikkei Annual Report Awards conducted by Nikkei Inc., and the Excellence in 15 Medium Term Business Plan Integrated Reporting Prize at the 6th WICI Japan Awards for Excellence in Integrated Reporting. 17 Message from the CEO Integrated Report 2019 clarifies the Konica Minolta Group's strengths and value creation processes 25 Message from the CFO 29 while explaining the Group's medium- to long-term business strategy and pathway to value creation with a Special Topics Building High Value-Added Businesses focus on SHINKA 2019, the new Medium Term Business Plan formulated in 2017.
    [Show full text]
  • The Symbian OS Architecture Sourcebook
    The Symbian OS Architecture Sourcebook The Symbian OS Architecture Sourcebook Design and Evolution of a Mobile Phone OS By Ben Morris Reviewed by Chris Davies, Warren Day, Martin de Jode, Roy Hayun, Simon Higginson, Mark Jacobs, Andrew Langstaff, David Mery, Matthew O’Donnell, Kal Patel, Dominic Pinkman, Alan Robinson, Matthew Reynolds, Mark Shackman, Jo Stichbury, Jan van Bergen Symbian Press Head of Symbian Press Freddie Gjertsen Managing Editor Satu McNabb Copyright 2007 Symbian Software, Ltd John Wiley & Sons, Ltd The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, England Telephone (+44) 1243 779777 Email (for orders and customer service enquiries): [email protected] Visit our Home Page on www.wileyeurope.com or www.wiley.com All Rights Reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except under the terms of the Copyright, Designs and Patents Act 1988 or under the terms of a licence issued by the Copyright Licensing Agency Ltd, 90 Tottenham Court Road, London W1T 4LP, UK, without the permission in writing of the Publisher. Requests to the Publisher should be addressed to the Permissions Department, John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, England, or emailed to [email protected], or faxed to (+44) 1243 770620. Designations used by companies to distinguish their products are often claimed as trademarks. All brand names and product names used in this book are trade names, service marks, trademarks or registered trademarks of their respective owners.
    [Show full text]
  • Sealing OS Processes to Improve Dependability and Security
    Sealing OS Processes to Improve Dependability and Safety Galen Hunt, Mark Aiken, Manuel Fähndrich, Chris Hawblitzel, Orion Hodson, James Larus, Steven Levi, Bjarne Steensgaard, David Tarditi, and Ted Wobber Microsoft Research One Microsoft Way Redmond, WA 98052 USA [email protected] ABSTRACT General Terms In most modern operating systems, a process is a Design, Reliability, Experimentation. hardware-protected abstraction for isolating code and data. This protection, however, is selective. Many common Keywords mechanisms—dynamic code loading, run-time code Open process architecture, sealed process architecture, sealed generation, shared memory, and intrusive system APIs— kernel, software isolated process (SIP). make the barrier between processes very permeable. This paper argues that this traditional open process architecture 1. INTRODUCTION exacerbates the dependability and security weaknesses of Processes debuted, circa 1965, as a recognized operating modern systems. system abstraction in Multics [48]. Multics pioneered As a remedy, this paper proposes a sealed process many attributes of modern processes: OS-supported architecture, which prohibits dynamic code loading, self- dynamic code loading, run-time code generation, cross- modifying code, shared memory, and limits the scope of process shared memory, and an intrusive kernel API that the process API. This paper describes the implementation permitted one process to modify directly the state of of the sealed process architecture in the Singularity another process. operating system,
    [Show full text]
  • This Is a Fairy Tale •.• NOT! a Primer on Moving SAS® Applications
    This is a Fairy Tale•.• NOT! A Primer on Moving SAS® Applications Across Graphical Operating Systems James Hefner, Entergy Corporation, Beaumont, TX lineup. The PowerPC's PowerOpen operating system should be ABSTRACT able to run Windows, Windows NT, OS/2, Macintosh, and UNIX applications unmodified (using SoftPC to run Windows & OS/2 Currently, most SAS Software application developers have on~ apps). Current plans are to offer these new machines at prices one or two graphical operating systems (such as Microsoft that are highly competitive with the current top-of-the-!ine WindowsTN, or OSFlMoti~ to support. However, the pending offerings by IBM PC manufacturerS and Apple, nol 10 mention release of the SAS System for the Apple® Macintosh®I and the UNIX workstations. This could mean a change in the platform you introduction of new hardware and software such as the PowerPC are currently using, as well as the ability (or need) to be able to and Wabi, means that application developers may have to use and write applications using any of the five operating support two or more graphical operating systems. systems. This paper is intended to assist application developers, both in New Graphical Operating Systems the teaching of the fundamentals of graphical operating systems, and in Ihe moving of SAS/Af® and SAS/EIS® applicalions from In addition to the platforms mentioned above, Apple and IBM are one operating system to another. currently working on the Taligent operating system, which will have an object-oriented, graphical front end. IBM is also INTRODUCTION discussing porling its object·orienled 0512 2.x Workplace Shell 10 a new ver.sion of PC DOS® and AIX®, IBM's version of UNIX (to If you are a SAS' application developer, you may currently be be called Workplace OS).
    [Show full text]
  • Study on Operating Systems for Small Devices for Mobile Payments Application 17 Th July, 2009
    Study on Operating Systems for Small Devices for Mobile Payments Application 17 th July, 2009 Project Report On Study on Operating Systems for Small Devices for Mobile Payments Application Submitted by: V V Aishwarya B.E IV/IV (01-07-862) Department of Computer Science and Engineering (CSE) University College of Engineering (Autonomous) Osmania University , Hyderabad- 500004 To Summer Internship Project under the Guidance of Dr. V N Sastry Associate Professor Institute for Development and Research in Banking Technology (IDRBT) (Established by Reserve Bank of India) Road No. 1, Castle Hills, Masab Tank, Hyderabad – 500 057. July 2009 CSE,UCE,OU 1 IDRBT Study on Operating Systems for Small Devices for Mobile Payments Application 17 th July, 2009 CERTIFICATE This is to certify that this project on “ Study on Operating Systems for Small Devices for Mobile Payments Application ” submitted by Ms. V V Aishwarya , 01-07-862 of B.E. IV/IV, CSE, University College of Engineering, Osmania University, is a record of Bonafide work done by her under my guidance during the Summer Internship Programme from 21 st May, 2009 to 17 th July, 2009. Ms. V V Aishwarya has completed the work assigned to her within the limited period of learning and execution. She has successfully completed the project to my satisfaction and it has been observed that the goals set upon at the outset of this endeavor have been worked upon to the best of the student’s abilities and resources. During this period I have observed her to be very sincere, hardworking and coping up with new challenges.
    [Show full text]
  • CS 162 Operating Systems and Systems Programming Lecture 3
    CS 162 Operating Systems and Systems Programming Answer: Decompose hard problem into simpler ones. Instead of dealing with Professor: Anthony Joseph everything going on at once, separate into logical abstractions that we can deal Spring 2004 with one at a time. Lecture 3: 3.2 Processes Concurrency: Processes, Threads, and Address Spaces The notion of a “process” is a central concept for Operating Systems. 3.0 Main point: What are processes? Process: Operating system abstraction to represent what is needed to run a single How are they related to threads and address spaces? program (this is the traditional UNIX definition) Formally, a process is a sequential stream of execution in its own address space. 3.1 Concurrency 3.1.1 Definitions: 3.2.1 Two parts to a (traditional Unix) process: Uniprogramming: one process at a time (e.g., MS/DOS, early Macintosh) 1. Sequential program execution: the code in the process is executed as a single, sequential stream of execution (no concurrency inside a process). This Easier for operating system builder: get rid of problem of concurrency by defining is known as a thread of control. it away. For personal computers, idea was: one user does only one thing at a 2. State Information: everything specific to a particular execution of a program: time. Encapsulates protection: address space • CPU registers Harder for user: can’t work while waiting for printer • Main memory (contents of address space) • I/O state (in UNIX this is represented by file descriptors) Multiprogramming: more than one process at a time (UNIX, OS/2, Windows NT).
    [Show full text]
  • The Niagara Framework
    The Niagara Framework Control System Interoperability with Seamless Intranet/Internet Enterprise Connectivity © Copyright 1998 Tridium, Inc., All Rights Reserved Tridium, Inc. 3951 Westerre Parkway Suite 350 Richmond, Virginia 23233 (804) 747-4771 http://www.tridium.com Ernie Allen, Technical Services Manager John Bishop, Regional Manager Copyright Notice: The software described herein is furnished under a license agreement and may be used only in accordance with the terms of the agreement. © Copyright 1998 Tridium, Inc. All rights reserved. This document may not, in whole or in part, be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine-readable form without prior written consent from Tridium, Inc., 3951 Westerre Parkway, Suite 350, Richmond, Virginia 23233. The confidential information contained in this document is provided solely for use by Tridium employees, licensees, and system owners; and is not to be released to, or reproduced for, anyone else; neither is it to be used for reproduction of this Control System or any of its components. All rights to revise designs described herein are reserved. While every effort has been made to assure the accuracy of this document, Tridium shall not be held responsible for damages, including consequential damages, arising from the application of the information given herein. The information in this document is subject to change without notice. The release described in this document may be protected by one of more U.S. patents, foreign patents, or pending applications. Trademark Notices: Microsoft and Windows are registered trademarks, and Windows 95, Windows NT, and Internet Explorer are trademarks of Microsoft Corporation. Java and other Java-based names are trademarks of Sun Microsystems Inc.
    [Show full text]