Symbian OS Explained

Total Page:16

File Type:pdf, Size:1020Kb

Symbian OS Explained Symbian OS Explained Effective C++ Programming for Smartphones Jo Stichbury Reviewed by David Batchelor, Andy Cloke, Reem EI Ghazzawi, Martin Hardman, Morgan Henry, John Pagonis, William Roberts, Keith Robertson, Phil Spencer, Colin Turfus Managing editor Phil Northam Project editor Freddie Gjertsen Symbian OS Explained TITLES PUBLISHED BY SYMBIAN PRESS • Symbian OS Explained Jo Stichbury 0470 021306 416pp 2004 Paperback • Symbian OS C++ for Mobile Phones, Volume 2 Richard Harrison 0470 871083 448pp 2004 Paperback • Programming Java 2 Micro Edition on Symbian OS Martin de Jode 0470 092238 498pp 2004 Paperback • Symbian OS C++ for Mobile Phones, Volume 1 Richard Harrison 0470 856114 826pp 2003 Paperback • Programming for the Series 60 Platform and Symbian OS Digia 0470 849487 550pp 2002 Paperback • Symbian OS Communications Programming Michael J Jipping 0470 844302 418pp 2002 Paperback • Wireless Java for Symbian Devices Jonathan Allin 0471 486841 512pp 2001 Paperback Symbian OS Explained Effective C++ Programming for Smartphones Jo Stichbury Reviewed by David Batchelor, Andy Cloke, Reem EI Ghazzawi, Martin Hardman, Morgan Henry, John Pagonis, William Roberts, Keith Robertson, Phil Spencer, Colin Turfus Managing editor Phil Northam Project editor Freddie Gjertsen Copyright 2005 by 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, with the exception of any material supplied specifically for the purpose of being entered and executed on a computer system for exclusive use by the purchaser of the publication. 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. The Publisher is not associated with any product or vendor mentioned in this book. This publication is designed to provide accurate and authoritative information in regard to the subject matter covered. It is sold on the understanding that the Publisher is not engaged in rendering professional services. If professional advice or other expert assistance is required, the services of a competent professional should be sought. Other Wiley Editorial Offices John Wiley & Sons Inc., 111 River Street, Hoboken, NJ 07030, USA Jossey-Bass, 989 Market Street, San Francisco, CA 94103-1741, USA Wiley-VCH Verlag GmbH, Boschstr. 12, D-69469 Weinheim, Germany John Wiley & Sons Australia Ltd, 33 Park Road, Milton, Queensland 4064, Australia John Wiley & Sons (Asia) Pte Ltd, 2 Clementi Loop #02-01, Jin Xing Distripark, Singapore 129809 John Wiley & Sons Canada Ltd, 22 Worcester Road, Etobicoke, Ontario, Canada M9W 1L1 Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic books. Library of Congress Cataloging-in-Publication Data Stichbury, Jo. Symbian OS explained effective C++ programming for smartphones / By Jo Stichbury. p. cm. Includes bibliographical references and index. ISBN 0-470-02130-6 (pbk. alk. paper) 1. Mobile communication systems–Computer programs. 2. Operating systems (Computers) 3. C++ (Computer program language) I. Title. TK6570.M6S745 2004 005.265–dc22 2004015414 British Library Cataloguing in Publication Data A catalogue record for this book is available from the British Library ISBN 0-470-02130-6 Typeset in 10/12pt Optima by Laserwords Private Limited, Chennai, India Printed and bound in Great Britain by Biddles Ltd, King’s Lynn This book is printed on acid-free paper responsibly manufactured from sustainable forestry in which at least two trees are planted for each one used for paper production. Contents Foreword xi About This Book xiii Who Is It For? xiv How to Use This Book xiv Notation and Code Conventions Used in This Book xv Introduction to Symbian OS xvii Author Biography xxi Author’s Acknowledgments xxiii Symbian Press Acknowledgments xxv 1 Class Name Conventions on Symbian OS 1 1.1 Fundamental Types 1 1.2 T Classes 3 1.3 C Classes 4 1.4 R Classes 6 1.5 M Classes 7 1.6 Static Classes 11 1.7 Buyer Beware 11 1.8 Summary 12 2 Leaves: Symbian OS Exceptions 13 2.1 Leaving Functions 13 2.2 Heap Allocation Using new (ELeave) 16 2.3 Constructors and Destructors 17 vi CONTENTS 2.4 Working with Leaving Functions 18 2.5 Trapping a Leave Using TRAP and TRAPD 20 2.6 LeaveScan 26 2.7 Summary 27 3 The Cleanup Stack 29 3.1 Using the Cleanup Stack 31 3.2 How Does the Cleanup Stack Work? 35 3.3 Using the Cleanup Stack with Non-CBase Classes 38 3.4 Using TCleanupItem for Customized Cleanup 44 3.5 Portability 46 3.6 An Incidental Note on the Use of Casts 46 3.7 Summary 47 4 Two-Phase Construction 49 5 Descriptors: Symbian OS Strings 55 5.1 Non-Modifiable Descriptors 56 5.2 Modifiable Descriptors 58 5.3 Pointer Descriptors 60 5.4 Stack-Based Buffer Descriptors 63 5.5 Heap-Based Buffer Descriptors 65 5.6 Literal Descriptors 69 5.7 Summary 72 6 Good Descriptor Style 75 6.1 Descriptors as Parameters and Return Types 75 6.2 Common Descriptor Methods 78 6.3 The Use of HBufC Heap Descriptors 82 6.4 Externalizing and Internalizing Descriptors 84 6.5 The Overuse of TFileName 86 6.6 Useful Classes for Descriptor Manipulation 87 6.7 Summary 88 7 Dynamic Arrays and Buffers 91 7.1 CArrayX Classes 92 7.2 RArray<class T> and RPointerArray<class T> 97 7.3 Why Use RArray Instead of CArrayX? 102 7.4 Dynamic Descriptor Arrays 103 7.5 Fixed-Length Arrays 104 7.6 Dynamic Buffers 106 7.7 Summary 109 8 Event-Driven Multitasking Using Active Objects 111 8.1 Multitasking Basics 111 CONTENTS vii 8.2 Event-Driven Multitasking 112 8.3 Working with Active Objects 115 8.4 Example Code 120 8.5 Threads Without an Active Scheduler 123 8.6 Application Code and Active Objects 123 8.7 Summary 124 9 Active Objects under the Hood 127 9.1 Active Object Basics 128 9.2 Responsibilities of an Active Object 131 9.3 Responsibilities of an Asynchronous Service Provider 133 9.4 Responsibilities of the Active Scheduler 134 9.5 Starting the Active Scheduler 135 9.6 Nesting the Active Scheduler 135 9.7 Extending the Active Scheduler 136 9.8 Cancellation 137 9.9 Request Completion 138 9.10 State Machines 138 9.11 Long-Running Tasks 143 9.12 Class CIdle 146 9.13 Class CPeriodic 148 9.14 Common Mistakes 149 9.15 Summary 150 10 Symbian OS Threads and Processes 151 10.1 Class RThread 152 10.2 Thread Priorities 155 10.3 Stopping a Running Thread 157 10.4 Inter-Thread Data Transfer 162 10.5 Exception Handling 163 10.6 Processes 164 10.7 Summary 166 11 The Client–Server Framework in Theory 167 11.1 Why Have a Client–Server Framework? 168 11.2 How Do the Client and Server Fit Together? 168 11.3 How Do the Client and Server Communicate? 170 11.4 What Classes Does the Client–Server Framework Use? 170 11.5 How Do Synchronous and Asynchronous Requests Differ? 179 11.6 How Is a Server Started? 179 11.7 How Many Connections Can a Client Have? 180 11.8 What Happens When a Client Disconnects? 180 11.9 What Happens If a Client Dies? 181 11.10 What Happens If a Server Dies? 181 viii CONTENTS 11.11 How Does Client–Server Communication Use Threads? 181 11.12 What Are the Implications of Server-Side Active Objects? 182 11.13 What Are the Advantages of a Local (Same-Process) Server? 182 11.14 What Are the Overheads of Client–Server Communication? 183 11.15 How Many Outstanding Requests Can a Client Make to a Server? 186 11.16 Can Server Functionality Be Extended? 186 11.17 Example Code 186 11.18 Summary 187 12 The Client–Server Framework in Practice 189 12.1 Client–Server Request Codes 190 12.2 Client Boilerplate Code 191 12.3 Starting the Server and Connecting to It from the Client 198 12.4 Server Startup Code 203 12.5 Server Classes 205 12.6 Server Shutdown 213 12.7 Accessing the Server 214 12.8 Summary 214 13 Binary Types 217 13.1 Symbian OS EXEs 217 13.2 Symbian OS DLLs 218 13.3 Writable Static Data 220 13.4 Thread-Local Storage 223 13.5 The DLL Loader 226 13.6 UIDs 226 13.7 The targettype Specifier 228 13.8 Summary 230 14 ECOM 233 14.1 ECOM Architecture 233 14.2 Features of an ECOM Interface 236 14.3 Factory Methods 237 14.4 Implementing an ECOM Interface 240 14.5 Resource Files 242 14.6 Example Client Code 245 14.7 Summary 246 15 Panics 247 15.1 Just-In-Time Debugging 248 15.2 Good Panic Style 249 CONTENTS ix 15.3 Symbian OS Panic Categories 250 15.4 Panicking Another Thread 251 15.5 Faults, Leaves and Panics 253 15.6 Summary 253 16 Bug Detection Using Assertions 255 16.1 __ASSERT_DEBUG 256 16.2 __ASSERT_ALWAYS 261 16.3 Summary 263 17 Debug Macros and Test Classes 265 17.1 Heap-Checking Macros 265 17.2 Object Invariance Macros 270 17.3 Console Tests Using RTest 273 17.4 Summary 276 18 Compatibility 277
Recommended publications
  • Automatic Sandboxing of Unsafe Software Components in High Level Languages
    Master Thesis Automatic Sandboxing of Unsafe Software Components in High Level Languages Benjamin Lamowski Technische Universität Dresden Fakultät Informatik Institut für Systemarchitektur Professur Betriebssysteme Betreuender Hochschullehrer: Prof. Dr. rer. nat. Hermann Härtig Betreuender Mitarbeiter: Dr. Carsten Weinhold 3. Mai 2017 Aufgabenstellung Neue “sichere“ Programmiersprachen wie Go, Swift oder Rust wurden nicht nur für die normale Anwendungsentwicklung entworfen, sondern sie zielen auch auf eine hochper- formante Ausführung und Programmierung vergleichsweise systemnaher Funktionalität ab. Eine attraktive Eigenschaft beispielsweise von Rust ist das gegenüber C und C++ deutlich strengere Speicherverwaltungsmodell, bei dem bereits zur Kompilierzeit der Lebenszyklus und die Erreichbarkeit von Objekten sowie die Zuständigkeit für deren Allokation und Deallokation wohldefiniert sind. Ganze Klassen von Programmfehlern wie etwa Buffer Overflows oder Dereferenzierung ungültige Zeiger werden dadurch eliminiert und die Programme mithin sicherer und robuster. Aus diversen Gründen müssen Programme, die in sicheren Sprachen geschriebenen wurden, aber oftmals auf “unsicheren“ Legacy-Code zurückgreifen. So bietet etwa Rust über das “unsafe“-Sprachelement die Möglichkeit, Funktionen innerhalb von Bibliotheken aufzurufen, die in fehleranfälligem C geschrieben sind. Leider werden die vom Com- piler durchgesetzten Garantien der sicheren Sprache hinfällig, sobald im Code einer C-Bibliothek ein Speicherfehler auftritt. Ein Schreibzugriff etwa durch
    [Show full text]
  • A Microkernel API for Fine-Grained Decomposition
    A Microkernel API for Fine-Grained Decomposition Sebastian Reichelt Jan Stoess Frank Bellosa System Architecture Group, University of Karlsruhe, Germany freichelt,stoess,[email protected] ABSTRACT from the microkernel APIs in existence. The need, for in- Microkernel-based operating systems typically require spe- stance, to explicitly pass messages between servers, or the cial attention to issues that otherwise arise only in dis- need to set up threads and address spaces in every server for tributed systems. The resulting extra code degrades per- parallelism or protection require OS developers to adopt the formance and increases development effort, severely limiting mindset of a distributed-system programmer rather than to decomposition granularity. take advantage of their knowledge on traditional OS design. We present a new microkernel design that enables OS devel- Distributed-system paradigms, though well-understood and opers to decompose systems into very fine-grained servers. suited for physically (and, thus, coarsely) partitioned sys- We avoid the typical obstacles by defining servers as light- tems, present obstacles to the fine-grained decomposition weight, passive objects. We replace complex IPC mecha- required to exploit the benefits of microkernels: First, a nisms by a simple function-call approach, and our passive, lot of development effort must be spent into matching the module-like server model obviates the need to create threads OS structure to the architecture of the selected microkernel, in every server. Server code is compiled into small self- which also hinders porting existing code from monolithic sys- contained files, which can be loaded into the same address tems. Second, the more servers exist | a desired property space (for speed) or different address spaces (for safety).
    [Show full text]
  • A Practical UNIX Capability System
    A Practical UNIX Capability System Adam Langley <[email protected]> 22nd June 2005 ii Abstract This report seeks to document the development of a capability security system based on a Linux kernel and to follow through the implications of such a system. After defining terms, several other capability systems are discussed and found to be excellent, but to have too high a barrier to entry. This motivates the development of the above system. The capability system decomposes traditionally monolithic applications into a number of communicating actors, each of which is a separate process. Actors may only communicate using the capabilities given to them and so the impact of a vulnerability in a given actor can be reasoned about. This design pattern is demonstrated to be advantageous in terms of security, comprehensibility and mod- ularity and with an acceptable performance penality. From this, following through a few of the further avenues which present themselves is the two hours traffic of our stage. Acknowledgments I would like to thank my supervisor, Dr Kelly, for all the time he has put into cajoling and persuading me that the rest of the world might have a trick or two worth learning. Also, I’d like to thank Bryce Wilcox-O’Hearn for introducing me to capabilities many years ago. Contents 1 Introduction 1 2 Terms 3 2.1 POSIX ‘Capabilities’ . 3 2.2 Password Capabilities . 4 3 Motivations 7 3.1 Ambient Authority . 7 3.2 Confused Deputy . 8 3.3 Pervasive Testing . 8 3.4 Clear Auditing of Vulnerabilities . 9 3.5 Easy Configurability .
    [Show full text]
  • 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.
    [Show full text]
  • Powerview Command Reference
    PowerView Command Reference TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents ...................................................................................................................... PowerView User Interface ............................................................................................................ PowerView Command Reference .............................................................................................1 History ...................................................................................................................................... 12 ABORT ...................................................................................................................................... 13 ABORT Abort driver program 13 AREA ........................................................................................................................................ 14 AREA Message windows 14 AREA.CLEAR Clear area 15 AREA.CLOSE Close output file 15 AREA.Create Create or modify message area 16 AREA.Delete Delete message area 17 AREA.List Display a detailed list off all message areas 18 AREA.OPEN Open output file 20 AREA.PIPE Redirect area to stdout 21 AREA.RESet Reset areas 21 AREA.SAVE Save AREA window contents to file 21 AREA.Select Select area 22 AREA.STDERR Redirect area to stderr 23 AREA.STDOUT Redirect area to stdout 23 AREA.view Display message area in AREA window 24 AutoSTOre ..............................................................................................................................
    [Show full text]
  • Executive Summary
    Mobile Commerce Security: Legal & Technological Perspectives Michael Triguboff Table of Contents EXECUTIVE SUMMARY 4 INTRODUCTION 7 The Need for Security 11 PART I TECHNOLOGY 12 Client-Side Vulnerabilities 12 Browser Software 13 Java Applets 14 ActiveX controls 16 JavaScript 18 Plug-Ins and Graphic Files 18 Push technology 18 Web Server Security 19 Front-end 20 Firewalls 22 Back-end Database vulnerabilities 23 Server- Side Middleware 24 Operating System Problems 25 Hardened versions of Operating Systems 36 Distributed systems 37 Software Testing 38 Mobile Commerce Issues 43 Device Properties 43 Wireless Communication 45 Wireless Communication Protocols 47 Ad Hoc Networks 49 Ad Hoc Networks and Key Management 51 Network Protection in Ad Hoc Networks 54 Location Dependent Information and Mobile Computing 55 Mobile Agents 56 Protecting the Host from the Mobile Agent 59 Safe Code Interpretation 61 Digital Signatures 63 Proof Carrying Code 63 Path Histories 64 Software-Based Fault Isolation [“Sandboxing”] 64 Protecting the Agent From the Host and Other Agents 64 Secure Control of Remote Agents 65 Read-Only/Append-Only 65 Partial Results Encapsulation 66 Code Obfuscation 67 Computing with Encrypted Functions 67 Environmental Key Generation 68 Execution Tracing 68 Itinerary Recording 69 Security Through Shared Secrets and Interlocking 69 Other Approaches 69 Attacks Based on Device Limitations 71 2 Prevention, Detection and Reaction 71 Intrusion Detection 72 Intrusion Detection and Mobile Agents 75 Part I Conclusion 76 PART 11 THE LEGAL PERSPECTIVE 80 The Debate: A Confluence of Two Streams 81 Uniform Electronic Transactions Act 85 Article 2B of the Uniform Commercial Code 85 The Electronic Signatures in Global and National Commerce Act [“E-Sign Act”] 88 Jurisdiction Selection 90 Reaction- Criminal Law 96 Convention on Cyber-Crime 97 Evidentiary or Procedural Law 99 Practical Considerations 100 Part II Conclusion 101 APPENDIX 103 Digital Millennium Copyright Act 103 BIBLIOGRAPHY 107 3 EXECUTIVE SUMMARY The objectives of this project are twofold.
    [Show full text]
  • Secure Communications in the Smart Grid
    University of Nevada, Reno Secure Communications in the Smart Grid A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science and Engineering by Hayreddin Ceker Dr. Mehmet H. Gunes/Thesis Advisor Aug 2013 Copyright by Hayreddin Ceker 2013 UNIVERSITY OF NEVADA RENO THE GRADUATE SCHOOL We recommend that the thesis prepared under our supervision by HAYREDDIN CEKER entitled Secure Communications in the Smart Grid be accepted in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE Mehmet H Gunes, Ph.D., Advisor Murat Yuksel, Ph.D., Committee Member Yantao Shen, Ph.D., Graduate School Representative Marsha H. Read, Ph.D., Dean, Graduate School August, 2013 i Secure Communications in the Smart Grid Hayreddin Ceker University of Nevada, Reno, 2013 Supervisor: Mehmet Hadi Gunes Abstract Smart grid has diverse stake holders that often require varying levels of access to grid state and measurements. At the distribution level (i.e., MAN), smart grid provides two way communication between households and utilities. At the transmis- sion level (i.e., WAN), multiple organizations need to share the transmission lines and cooperate with participants in their region. Efficient and reliable operation of the grid depends on accurate state measurements and secure data transfer to oper- ation centers. These tasks are complicated by the vast amount of data from diverse sources that are owned by multiple entities that impose physical, economic, market, and political constraints on the data sharing. However, to protect against grid-wide failures and defend against coordinated attacks, power grid operators need to increase data sharing.
    [Show full text]
  • Open Ongtang-Phd-Dissertation.Pdf
    The Pennsylvania State University The Graduate School SECURING MOBILE PHONES IN THE EVOLVING MOBILE ECOSYSTEM A Dissertation in Computer Science and Engineering by Machigar Ongtang © 2010 Machigar Ongtang Submitted in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy August 2010 The dissertation of Machigar Ongtang was reviewed and approved∗ by the following: Patrick D. McDaniel Associate Professor of Computer Science and Engineering Dissertation Advisor, Chair of Committee Thomas F. La Porta Distinguished Professor of Computer Science and Engineering Trent Jaeger Associate Professor of Computer Science and Engineering Ling Rothrock Associate Professor of Industrial and Manufacturing Engineering Raj Acharya Professor of Computer Science and Engineering Department Head ∗Signatures are on file in the Graduate School. Abstract The revolution of mobile phone industry has been altering our life and business practices over the past few decades. Driven by user demands and technological advancement, we now experience rich mobile phone applications and sophisticated cellular services ranging from mobile payment, stock trading, to social networking, vehicle tracking to in-car control. As more players joining the community, this mobile phone environment has transformed into a complex network of interacting companies, known as mobile ecosystem. Unfortunately, this opening and converging mobile ecosystem has brought in more opportunities for more attacks on mobile phones, a key element of the system. This dissertation aims to achieve mobile phone security. We reveal two main chal- lenges that we need to overcome, namely developing a clear definition of secure phones, and building security infrastructure that imposes such definition on the phones. We also identify three key elements that contribute to the fidelity of mobile phones, namely, mobile phone platforms, mobile phone applications, and mobile content.
    [Show full text]
  • Android Bluetooth Monitoring
    Android Bluetooth monitoring Hendrik Mende Fachbereich Elektrotechnik University of Applied Science M¨unster A thesis submitted for the degree of Bachelor of Science 2012 I dedicate this thesis to Braximo and the Abraxianer, great friends. Acknowledgements Foremost, I would like to express my gratitude to my supervisor Oresti Ba˜nos Legr´an for the support of my Bachelor studies and research, his guidance, motivation and enthusiasm. His continued advice and encouragement kept me focused. I must express my gratitude to Prof. Dr.-Ing. Peter Gl¨osek¨otter from the University of applied science M¨unster and Ignacio Rojas Ruiz from the Universidad de Granada, who made this thesis possible. I am grateful for the support from my friends and family, especially Hanna, Cati and Andreas with whom I spend a quality time and was able to explore and enjoy the many faces of Granada. Finally I would like to thank the Fachbereich f¨ur Elektrotechnik at the University of applied science M¨unster and the Escuela T´ecnica Superior de Ingenier´ıas Inform´atica y de Telecomunicaci´on at the Uni- versidad de Granada for giving me the opportunity to hold my final semester abroad. Abstract The ever progressing technological development of mobile phones, sen- sor technology and wireless communication systems have made a ubiq- uitous, permanent mobile monitoring of vital signs of the human body possible in recent times. Sensor devices are now small enough to be worn on the body and are able to provide data via a wireless network. The increasing computational performance of smart phones make pro- cessing and analysing of sensor data in a real time manner available.
    [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]
  • BCIS 1305 Business Computer Applications
    BCIS 1305 Business Computer Applications BCIS 1305 Business Computer Applications San Jacinto College This course was developed from generally available open educational resources (OER) in use at multiple institutions, drawing mostly from a primary work curated by the Extended Learning Institute (ELI) at Northern Virginia Community College (NOVA), but also including additional open works from various sources as noted in attributions on each page of materials. Cover Image: “Keyboard” by John Ward from https://flic.kr/p/tFuRZ licensed under a Creative Commons Attribution License. BCIS 1305 Business Computer Applications by Extended Learning Institute (ELI) at NOVA is licensed under a Creative Commons Attribution 4.0 International License, except where otherwise noted. CONTENTS Module 1: Introduction to Computers ..........................................................................................1 • Reading: File systems ....................................................................................................................................... 1 • Reading: Basic Computer Skills ........................................................................................................................ 1 • Reading: Computer Concepts ........................................................................................................................... 1 • Tutorials: Computer Basics................................................................................................................................ 1 Module 2: Computer
    [Show full text]
  • Capability Myths Demolished
    Capability Myths Demolished Mark S. Miller Ka-Ping Yee Jonathan Shapiro Combex, Inc. University of California, Berkeley Johns Hopkins University [email protected] [email protected] [email protected] ABSTRACT The second and third myths state false limitations on We address three common misconceptions about what capability systems can do, and have been capability-based systems: the Equivalence Myth (access propagated by a series of research publications over the control list systems and capability systems are formally past 20 years (including [2, 3, 7, 24]). They have been equivalent), the Confinement Myth (capability systems cited as reasons to avoid adopting capability models cannot enforce confinement), and the Irrevocability and have even motivated some researchers to augment Myth (capability-based access cannot be revoked). The capability systems with extra access checks [7, 13] in Equivalence Myth obscures the benefits of capabilities attempts to fix problems that do not exist. The myths as compared to access control lists, while the Confine- about what capability systems cannot do continue to ment Myth and the Irrevocability Myth lead people to spread, despite formal results [22] and practical see problems with capabilities that do not actually exist. systems [1, 9, 18, 21] demonstrating that they can do these supposedly impossible things. The prevalence of these myths is due to differing inter- pretations of the capability security model. To clear up We believe these severe misunderstandings are rooted the confusion, we examine three different models that in the fact that the term capability has come to be have been used to describe capabilities, and define a set portrayed in terms of several very different security of seven security properties that capture the distinctions models.
    [Show full text]