CM0256 Pervasive Computing
|
|
- Tiffany Austin
- 6 years ago
- Views:
Transcription
1 CM0256 Pervasive Computing Lecture 17 Software Development Approaches Tom Goodale
2 Lecture Outline In this lecture we: J2ME applications Palm.
3 Device Limitations Limited Power Limited Processing Limited Memory Limits on Connectivity Smaller/no GUI Limited Size/Space for input or output Environment Considerations noise, hands free, day or night.
4 J2ME Games and Applications
5 J2ME J2ME can be divided into three parts: A configuration contains the JVM (not the traditional JVM, but the cut down version) and some class libraries; A profile builds on top of these base class libraries by providing a useful set of APIs; Optional packages, are an optional set of APIs that you may or may not use when creating your applications. Optional packages are traditionally not packaged by the device manufacturers, and you have to package and distribute them with your application. The configuration and profile are supplied by the device manufacturers and they embedded them in the devices.
6 Configurations A J2ME configuration defines an API and a virtual machine optimised to service devices that fall into a particular range of capabilities and resources. Two configurations have been defined: 1. Connected, Limited Device Configuration (CLDC) 2. Connected Device Configuration (CDC)
7 CLDC The Connected, Limited Device Configuration provides a platform for more resource constrained, but still network connected devices. (The network connection may be intermittent.) Limited configurations for example, devices that have only 128 to 512KB of memory available for Java applications. Consequently, the JVM that it provides is very limited and supports only a small number of traditional Java classes. (This limited JVM is actually called the KVM.)
8 CDC The Connected Device Configuration (CDC) expects devices with substantial resources. The CDC is for devices with at least 2MB of memory available and supports a more feature rich JVM (but still not a standard JVM). 128K to 512K total memory available with <= 256K ROM/Flash and <= 256K RAM. In most cases devices will have more ROM than RAM or Flash memory. Most devices with have limited power, often battery operation. Connectivity to some type of network, although with possibly limited (9600/bps or less) bandwidth. User interfaces with varying degrees of sophistication down to and including none. This category of device includes mobile phones, two way pagers, and PDAs.
9 Profiles J2ME Profiles define additional class libraries and APIs needed to enable domain specific applications on a particular configuration. Profiles provide the vertical specialization built upon the horizontal configurations. For instance, the Mobile Information Device Profile requires at least the Connected, Limited Device Configuration. It enables development of applications to provide wireless access to information. The most basic profile is the Foundation Profile. The Foundation Profile requires the Connected Device Configuration. It explicitly supports devices with no user interface whatsoever, but which do have networking support.
10 MIDP The MID profile complements the CLDC configuration very well because it minimizes both the memory and power required for limited devices. It provides the basic API that is used for creating application for these devices. For example, it provides the javax.microedition.lcdui package that allows us to create the GUI elements that can be shown on a (limited) device running the MID profile on top of a CLDC configuration. Note that MIDP cannot be used with CDC devices. CDC devices get their own set of profiles, like the Foundation and Personal profiles (not covered) The most popular profile and configuration that Sun provides is the Connected Limited Device Configuration (CLDC) with the Mobile Information Device Profile (MIDP)
11 The 'K' Virtual Machine Sun has introduced a new Java virtual machine to support J2ME on 16 or 32 bit microcontrollers. Aimed at the Connected, Limited Device Configuration, the KVM is only 40K of object code and needs only "a few tens of kilobytes" at runtime.
12 KVM + The Good KVM is small, in fact, very very small! In its tightest configuration, it requires only about 40 kilobytes. It can also be customized. Several Java language and virtual machine features not required by most applications have been made optional. A particular J2ME configuration defines which of these optional features must be included in the KVM implementation. The follow features are optional: Long, float, and double Multi dimensional arrays Class file verification Recoverable handling of Error classes Threads Event Handling JNI Class loaders Finalization
13 KVM The Bad The KVM weaknesses are directly connected to its biggest strength. In order to make it so small, Sun made some compromises in the Java language and virtual machine. This seems to be the long feared fragmentation of Java s dominance. Programming Java for J2ME is not like programming desktop Java or enterprise Java. More than even, it will be practically impossible for a developer to keep current on "Java Technology" as a whole. Specialization will be more necessary in the future. (Remember this when looking for work!) The KVM does not implement the Java Virtual Machine Specification! It implements a subset of that specification. What does this mean? Do not expect WORA in all J2ME applications. A smart phone application will be extremely unlikely to work on a PalmPilot, or vice versa. This seems like it should be obvious, since the two devices have totally different capabilities, but since portability has been so much a part of the Java message, it pays to note its limitations under the J2ME. In general, J2ME applications will be portable across the profile they were designed for. In many cases, an application will also be portable from one profile to a more capable profile.
14 Java Overview
15 Developing Midlets There are seven steps to develop midlets Designing, coding, compiling, preverification, packaging, testing, and deployment Most of these are familier, but preverification is new.
16 Preverification Before you can deploy your MIDlet class, it needs to be preverified. Verification of byte code is a step performed by the JVM before it runs any class file to ensure that the class file is structurally and conceptually correct as per the JVM specification. If the class file fails this check, it is rejected and the JVM shuts down, indicating either security or integrity violation of the class file. This verification is done by all JVMs, even the tiny JVM contained in a CLDC configuration for a J2ME device. Although this is not a problem for "normal" applications, verification in J2ME devices is a resource and memory constraint that they simply cannot handle (or should not handle). Therefore, the need for preverification.
17 Preverification Preverification is one part of a special two step verification process, especially designed for constrained devices, such as the ones running CLDC based JVMs. The idea is to let a developer preverify his classes, which limits the amount of work needed to be performed when the classes are verified in the device. This preverification process adds special information to the classes that identifies them as preverified and makes the process on the device much more efficient.
18 ktoolbar The J2ME comes with a applications ktoolbar which helps with developing applications for generic devices. Ktoolbar provides an integrated environment for creating, testing and packaging a midlet.
19 Palm OS Overview Developing for the Palm OS is in some ways similar to other platforms and in other ways strikingly different. Two important similarities are as follows: Applications are event driven. You can use anything from C++, to standard C code, to assembler, to scripting.
20 Overview Differences tend to center around features crucial to the device size and purpose. These include how the Palm OS handles: Memory requirements Application and data storage Connectivity of the device to the desktop
21 Overview Most importantly, you should remember that the relationship between the device and the OS is extremely tight. Further, everything has been built on the premise that the handheld is an extension, not a miniature version, of the desktop. It specializes in ensuring that mobile tasks are simple and fast.
22 Interaction Between an Application and the OS The Palm OS runs on top of a preemptive multitasking kernel. One task runs the UI, while other tasks handle things like monitoring input from the stylus. The UI permits only one application to be open at a time. Thus, when your application is open, it (more or less) has control of the entire screen. Because applications run within the single user interface thread and can't, themselves, be multithreaded, the multitasking provided by the kernel is for the operating system's use only, and isn't available to you.
23 Memory Memory is handled in an unusual fashion. The RAM on a Palm OS device is used for two purposes: Dynamic memory allocation This is memory your application or the system needs while it is running. It also includes the stack your application requires. On a reset, this memory is cleared. This portion of memory is analogous to RAM in a traditional OS. Permanent storage This includes downloaded applications as well as data that the user will view, create, and/or edit. To dos, names and phone numbers, memos, and all the other data for built in applications also use this memory. On a reset, it is not cleared. This portion of memory is analogous to files on a hard disk in a traditional OS.
24 Memory For both kinds of memory, allocation is done as chunks. The permanent storage holds databases, with related chunks kept in a single database. For example, all the memos are stored (each as a separate chunk or database record) in a single database. Another database holds all records from the Address application. A database that has been copied to the desktop is stored with a.pdb extension often called PDB files.
25 Memory Unlike in a traditional desktop operating system, data and code are not copied from permanent storage to dynamic memory; they are used inplace. For example, when your code executes, it is executing in place from the permanent storage. Since the permanent store itself is in RAM, it can be read by the CPU like any other RAM. Similarly, data can be read (and displayed) directly from storage.
26 Memory Palm has been careful to protect permanent storage against accidental overwrites. Palm reasoned that users would be unhappy if one bug in a single application caused all their data to be lost. So while the permanent storage can be read like any other RAM, it is write protected by the device. In order to write to specific chunks within permanent memory, you have to use the operating system's mechanism, which includes a check against attempts to write to places outside the chunk.
27 Events A Palm OS application is event driven; everything it does is an event. Events arrive, like pendownevent or keydownevent, and your application responds to them. Some events are handled by your application; others are handled by the operating system. Once your application gets started, it enters an event loop, repeatedly getting, then handling event after event. The loop continues until the user launches another application, which causes your application to quit.
28 Resources An application on the Palm OS is a resource database that contains many different resources. A resource is simply a database record that has a type and an ID. Stored within these resources are the guts and skin of your application. On the desktop, these resource databases have.prc extensions. You'll often find them referred to as PRC files.
29 Resources Examples of the types of things stored in resources are as follows: Your code UI elements Text strings Forms Icons
30 Resources The UI elements that appear on the Palm device are initialized based on the contents found in these resources. Because the initialization is not embedded within your code, you can change the appearance of your application (for instance, to localize it for another language) without modifying the code itself. Another advantage is that you can use visual editors to display and edit the UI portions of your application. Such editors allow you to tweak the look or presentation of data easily without recompiling and re downloading your application.
31 Forms and Controls The Palm OS has built in support for various controls and for managing forms. Forms are similar to windows on a desktop operating system. Because of the simpler UI on the Palm OS, only one form is active even though several forms may be displayed. The Palm OS provides a rich API for forms that includes many UI elements (form objects). E.g.: Checkboxes,Radio buttons,push buttons,pickers (pop up lists),lists (one column),tables (multicolumn),scrollbars,static text labels,editable text fields,menus
32 Forms and controls Because these elements are stored as resources rather than in your code, you can create a prototype of your application very quickly. The simplicity of adding the UI elements and the variety of them that are available makes it easy to try out various application designs.
33 Communications The Palm OS supports a variety of communication methods. As communicating is an essential aspect of the Palm's success, you should expect this area of the OS to be critical in both current and future applications. Some communication pathways are: Serial communication. TCP/IP with a socket interface. Infrared. Low level infrared support is via Infrared Data Association (IrDA) protocols. Bluetooth Obex A higher level object exchange that allows exchanging information between Palm devices and other devices. Obexcurrently runs over IrDA, BlueTooth and SMS.
34 Support is provided for converting from native time format (minutes since midnight, January 1, 1904) to printable format, and to separate day/month/etc. In addition, there are APIs that allow the user to select a day or a time. Miscellaneous The Palm OS has various other APIs for features such as: Strings There are APIs for searching within strings, copying, and converting to and from numbers. Date and time
35 Miscellaneous Alarms Your application can set an alarm for a particular date and time. Your application is then notified when that date and time are reached (even though it may not be running at the time). Find The Palm OS provides a device wide Find that allows the user to search for a string anywhere within the device. Each application does its part by searching for the specified string within its own databases.
36 Lecture Summary In this lecture we have: Looked at two different development environments for mobile devices.
37 End of Lecture
Device Technologies I J2ME & WinCE
Device Technologies I J2ME & WinCE Patrick J. Stockreisser p.j.stockreisser@cs.cardiff.ac.uk Lecture Outline In the lecture we will: Look at considerations needed to run applications on mobile or pervasive
More informationWho am I? Wireless Online Game Development for Mobile Device. What games can you make after this course? Are you take the right course?
Who am I? Wireless Online Game Development for Mobile Device Lo Chi Wing, Peter Lesson 1 Email: Peter@Peter-Lo.com I123-1-A@Peter Lo 2007 1 I123-1-A@Peter Lo 2007 2 Are you take the right course? This
More informationOverview of Java 2 Platform, Micro Edition (J2ME )
CHAPTER2 Overview of Java 2 Platform, Micro Edition (J2ME ) 2.1 Java 2 Platform Recognizing that one size does not fit all, Sun Microsystems has grouped Java technologies into three editions, each aimed
More informationJ2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES
J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES Pradip Lamsal Abstract: Java 2 Platform Micro Edition (J2ME ), a flavour of Java architecture, is aimed at low memory consumer devices, typically less
More informationDAY 3 J2ME March 2007 Aalborg University, Mobile Device Group Mobile Phone Programming
DAY 3 J2ME Mobile Phone Programming Module 2 Micro (J2ME) Overview Introduction J2ME architecture Introduction 1 J2ME Key Factors Portability: Write once run anywhere Security: Code runs within the confines
More informationMobile Application Development. Introduction. Dr. Christelle Scharff Pace University, USA
Mobile Application Development Introduction Dr. Christelle Scharff cscharff@pace.edu Pace University, USA Objectives Getting an overview of the mobile phone market, its possibilities and weaknesses Providing
More informationDAY 3 J2ME Aalborg University, Mobile Device Group. Mobile. Mobile Phone Programming
DAY 3 J2ME Mobile Phone Programming Java 2 Micro Edition (J2ME) Overview Introduction J2ME architecture MIDlets Application development Introduction J2ME Key Factors Portability: Write once run anywhere
More informationMobile Station Execution Environment (MExE( MExE) Developing web applications for PDAs and Cellphones. WAP (Wireless Application Protocol)
Developing web applications for PDAs and Cellphones Mobile Station Execution Environment (MExE( MExE) MExE is a standard for defining various levels of wireless communication These levels are called classmarks
More informationJavaME TAMZ. Department of Computer Science VŠB-Technical University of Ostrava
TAMZ 1 Contact Information Office: A-1007 Address: Dept. of Computer Science, FEECS 17. listopadu 15 708 33 Ostrava-Poruba Phone: +420 59 699 4219 E-mail: pavel.moravec@vsb.cz Web: http://wiki.cs.vsb.cz/index.php/moravec/cz
More informationPennBench: A Benchmark Suite for Embedded Java
WWC5 Austin, TX. Nov. 2002 PennBench: A Benchmark Suite for Embedded Java G. Chen, M. Kandemir, N. Vijaykrishnan, And M. J. Irwin Penn State University http://www.cse.psu.edu/~mdl Outline Introduction
More informationJava 2 Platform, Micro Edition
Java 2 Platform, Micro Edition ArchitectureOverview Jon Courtney Senior Staff Engineer Sun Microsystems JavaOne203 Sesion316 Overall Presentation Goal Learnaboutthearchitectural features ofthejava 2Platform,MicroEdition(J2ME
More informationProject Overview. Readings and References. Initial project motivation. Opportunity. References. CSE 403, Winter 2003 Software Engineering
Readings and References Project Overview CSE 403, Winter 2003 Software Engineering http://www.cs.washington.edu/education/courses/403/03wi/ References» What will people pay for? Dan Bricklin.» Accessing
More informationImperative model of computation
12 Imperative model of computation Peter Marwedel TU Dortmund, Informatik 12 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 2010/10/28 These slides use Microsoft clip arts. Microsoft copyright restrictions
More informationRequirements and Issues of V**s for Mobile Terminals
Requirements and Issues of V**s for Mobile Terminals Workshop on the Future of Virtual Execution Environments Armonk, NY, USA 15-17.09.2004 Kari Systä Nokia Research Center 1 NOKIA Presentation_Name.PPT
More informationMobile Operating Systems Lesson 04 PalmOS Part 2
Mobile Operating Systems Lesson 04 PalmOS Part 2 Oxford University Press 2007. All rights reserved. 1 PalmOS Memory Support Assumes that there is a 256 MB memory card(s) The card RAM, ROM, and flash memories
More informationJXTA for J2ME Extending the Reach of Wireless With JXTA Technology
JXTA for J2ME Extending the Reach of Wireless With JXTA Technology Akhil Arora Carl Haywood Kuldip Singh Pabla Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 USA 650 960-1300 The Wireless
More informationProvideX On Handhelds
ProvideX On Handhelds Presented by: Jarett Smith Presentation Overview Landscape of Mobile Computing Wireless Connections to Internet Challenges of Mobile Computing Why We Chose Java 2 Micro Edition Java
More informationDeveloping Mobile Applications
Developing Mobile Applications J2ME Java 2 Micro Edition 1 Virtual machines portable apps virtual machine native apps operating system hardware 2 Java - important issues Symbolic language not a random
More informationLesson 5: Software for embedding in System- Part 2
Lesson 5: Software for embedding in System- Part 2 Device drivers, Device manager, OS, RTOS and Software tools 1 Outline Device drivers Device manager Multitasking using an operating system (OS) and Real
More informationProject Overview. CSE 403, Spring 2003 Software Engineering.
Project Overview CSE 403, Spring 2003 Software Engineering http://www.cs.washington.edu/education/courses/403/03sp/ 2-Apr-2003 Cse403-02-ProjectOverview 2003 University of Washington 1 References Readings
More informationProject Overview. Readings and References. Opportunity. Initial project motivation. References. CSE 403, Spring 2003 Software Engineering
Readings and References Project Overview CSE 403, Spring 2003 Software Engineering References» What will people pay for? Dan Bricklin.» Accessing a whole new world via multimedia phones. Dan Gillmor.»
More informationTAMZ I. (Design of Applications for Mobile Devices I) Lecture 1. Introducing Mobile Platforms.
TAMZ I (Design of Applications for Mobile Devices I) Lecture 1 Introducing Mobile Platforms http://goo.gl/pze5o Contact Information Office: EA-409 Address: Dept. of Computer Science, FEECS VSB-TU Ostrava
More informationTAMZ. Department of Computer Science VŠB-Technical University of Ostrava
TAMZ 1 Contact Information Office: A-1007 Address: Dept. of Computer Science, FEECS 17. listopadu 15 708 33 Ostrava-Poruba Phone: +420 59 732 4219 E-mail: pavel.moravec@vsb.cz Web: http://wiki.cs.vsb.cz/index.php/moravec/cz
More informationIntroduction CHAPTER1. Strongly Recommend: Guidelines that, if not followed, could result in an unusable application.
sg-midp20.book Page 1 Wednesday, May 14, 2003 1:27 PM CHAPTER1 Introduction MOBILE Information Device Profile (MIDP) defines the Java application environment for mobile information devices (MIDs), such
More informationWhite Paper: Delivering Enterprise Web Applications on the Curl Platform
White Paper: Delivering Enterprise Web Applications on the Curl Platform Table of Contents Table of Contents Executive Summary... 1 Introduction... 2 Background... 2 Challenges... 2 The Curl Solution...
More informationAiro National Research Journal October, 2016 Volume V, ISSN:
1 A STUDY ON SECURITY OF WIRELESS FINANCIAL ARCHITECTURE Abstract MAHINDER JIT SINGH KHANNA RESEARCH SCHOLAR OF SRI SATYA SAI UNIVERSITY MADHYA PRADESH (INDIA) Mobile commerce (m-commerce) offers a practical
More informationJUGAT meeting. Roman Waitz Development. MATERNA Information & Communications
JUGAT meeting Roman Waitz Development MATERNA Information & Communications 22/04/2002 Agenda +What the J2ME Platform is +How to build and deploy J2MEbased wireless applications +J2ME programming techniques
More informationImproved Mechanism for Efficient object Pooling in J2ME Based Mobile Phone
Abstract Nowadays mobile phones are expected to handle huge volume of multimedia data which is very challenging due to the small memory size of the mobile phone sets. J2ME services play an important role
More informationComputer Software. Lect 4: System Software
Computer Software Lect 4: System Software 1 What You Will Learn List the two major components of system software. Explain why a computer needs an operating system. List the five basic functions of an operating
More informationMinne menet, Mobiili-Java?
Minne menet, Mobiili-Java? Java Platform, Micro Edition Status and Future Directions Antero Taivalsaari Sun Microsystems, Inc. December 2005 Growth Continues (2005 vs. 2003) 1 Billion Installed Base as
More informationSoftware Development & Education Center. Java Platform, Micro Edition. (Mobile Java)
Software Development & Education Center Java Platform, Micro Edition (Mobile Java) Detailed Curriculum UNIT 1: Introduction Understanding J2ME Configurations Connected Device Configuration Connected, Limited
More informationMobile Application Design and Development With the use of J2ME Technology & UML m.khlaif Computer Science Dept Garyounis University
Garyounis University Press Journal of Science and Its Applications Vol. 3, No. 1, pp 83-93, April 2009 83 Mobile Application Design and Development With the use m.khlaif Computer Science Dept Garyounis
More informationOverview. 1/13/ Preliminary Product Brief
aj--102 Diispllay Evalluattiion Kiitt aj--102dek Overview The ajile aj-102dek is a compact and versatile display evaluation kit for the aj-102 SOC that directly executes both Java bytecode instructions,
More informationMensch-Maschine-Interaktion 2
Mensch-Maschine-Interaktion 2 Übung 5 (12./14./15. Juni 2007) Arnd Vitzthum - arnd.vitzthum@ifi.lmu.de Amalienstr. 17, Raum 501 Dominic Bremer - bremer@cip.ifi.lmu.de Java ME Overview (I) Java ME slim
More information1. What is Jav a? simple
1. What is Jav a? Thanks to Java is a new programming language developed at Sun under the direction of James Gosling. As far as possible it is based on concepts from C, Objective C and C++. Java is interpreted
More informationTowards Introducing Code Mobility on J2ME. Laurentiu Lucian Petrea and Dan Grigoras Computer Science Department UCC Cork, Ireland
Towards Introducing Code Mobility on J2ME Laurentiu Lucian Petrea and Dan Grigoras Computer Science Department UCC Cork, Ireland www.mccg.ucc.ie Mobile Ad Hoc Networks Heterogeneous mobile devices No fixed
More informationOPERATING SYSTEMS. Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne
OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne OVERVIEW An operating system is a program that manages the
More informationGrinderBench for the Java Platform Micro Edition Java ME
GrinderBench for the Java Platform Micro Edition Java ME WHITE PAPER May 2003 Updated April 2006 Protagoras, the leading Greek Sophist, was quoted as saying, "Man is the measure of all things," by which
More informationJava Embedded on ARM
Java Embedded on ARM The Embedded Market Evolving Rapidly Internet of Things 2.3B Internet Users Cloud for Embedded Devices Med-Large Embedded Multi-function Devices Enterprise Data and Applications Up
More informationCSE 4/521 Introduction to Operating Systems. Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018
CSE 4/521 Introduction to Operating Systems Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018 Overview Objective: To explore the principles upon which
More informationJAVA ON HANDHELD DEVICES COMPARING J2ME CDC TO JAVA 1.1 AND JAVA 2
JAVA ON HANDHELD DEVICES COMPARING J2ME CDC TO JAVA 1.1 AND JAVA 2 Mikko Laukkanen Abstract: The current trend is towards having Java applications run on handheld mobile devices. Sun Microsystems, Inc.
More informationSoftware Development for Mobile Devices
Software Development for Mobile Devices Operating System Diversity Many Operating Systems Google Android Apple ios Microsoft Windows Phone Nokia Symbian Linux RIM BlackBerry OS HP/Palm WebOS BREW Differences
More informationMultiprocessor scheduling
Chapter 10 Multiprocessor scheduling When a computer system contains multiple processors, a few new issues arise. Multiprocessor systems can be categorized into the following: Loosely coupled or distributed.
More informationIntroduction to Computers. Joslyn A. Smith
Introduction to Computers Joslyn A. Smith March 9, 2010 5/18/2011 1 What is a Computer? An electronic device that has the capability of performing the following tasks: Responds to input. Processes the
More informationWindows 7 Overview. Windows 7. Objectives. The History of Windows. CS140M Fall Lake 1
Windows 7 Overview Windows 7 Overview By Al Lake History Design Principles System Components Environmental Subsystems File system Networking Programmer Interface Lake 2 Objectives To explore the principles
More informationOutline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform
Outline Introduction to Java Introduction Java 2 Platform CS 3300 Object-Oriented Concepts Introduction to Java 2 What Is Java? History Characteristics of Java History James Gosling at Sun Microsystems
More informationPROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18
PROCESS VIRTUAL MEMORY CS124 Operating Systems Winter 2015-2016, Lecture 18 2 Programs and Memory Programs perform many interactions with memory Accessing variables stored at specific memory locations
More informationIntroduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras
Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 03 From Programs to Processes Hello. In
More informationCMSC 1513 Lecture 1.2
Key Point: A computer is an electronic device that stores and processes data. Hardware Software Hardware comprises the visible, physical elements of the computer. Software provides the invisible instructions
More informationLab Assignment Each team will independently implement the launch interceptor specification For this assignment, you re writing portable C code
Lab Assignment Each team will independently implement the launch interceptor specification For this assignment, you re writing portable C code We ll worry about I/O later Lab Assignment You are allowed
More informationPraktikum Mobile Productivity
LFE Medieninformatik Albrecht Schmidt, Alexander De Luca, Gregor Broll Praktikum Mobile Productivity Introduction 10/17/2006 Outline Outline: Basic Information Organizational Stuff Technology SVN Java
More informationWireless Java-enabled MIDP devices as peers in Grid infrastructure
Wireless Java-enabled MIDP devices as peers in Grid infrastructure Miika Tuisku Miika.Tuisku@cern.ch Helsinki Institute of Physics, CERN Abstract. Combining Mobile Internet and Grid technologies could
More informationBluetooth Scatternet Application. Sun Code for Freedom
Bluetooth Scatternet Application Sun Code for Freedom Submitted for Code For Freedom Contest 2009 By Ravi D Suvarna Ananth V Sandeep Jain Index Topic Page No. 1. Introduction ---------------------------------------------
More informationMemory management. Last modified: Adaptation of Silberschatz, Galvin, Gagne slides for the textbook Applied Operating Systems Concepts
Memory management Last modified: 26.04.2016 1 Contents Background Logical and physical address spaces; address binding Overlaying, swapping Contiguous Memory Allocation Segmentation Paging Structure of
More informationChapter 2 Operating-System Structures
This chapter will discuss the following concepts: 2.1 Operating System Services 2.2 User Operating System Interface 2.3 System Calls 2.4 System Programs 2.5 Operating System Design and Implementation 2.6
More informationThinAir Server Platform White Paper June 2000
ThinAir Server Platform White Paper June 2000 ThinAirApps, Inc. 1999, 2000. All Rights Reserved Copyright Copyright 1999, 2000 ThinAirApps, Inc. all rights reserved. Neither this publication nor any part
More informationOperating Systems. Designed and Presented by Dr. Ayman Elshenawy Elsefy
Operating Systems Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. AL-AZHAR University Website : eaymanelshenawy.wordpress.com Email : eaymanelshenawy@yahoo.com Reference
More informationLabVIEW ON SMALL TARGET
LabVIEW ON SMALL TARGET Silviu FOLEA *, Marius GHERCIOIU **, Horia HEDESIU *, Crisan GRATIAN **, Ciprian CETERAS **, Ioan MONOSES ** * Technical University of Cluj-Napoca, ** National Instruments USA,
More informationOverview. 3//5/ Preliminary Product Brief
Overview aj--200 Mullttiimediia Evalluattiion Kiitt aj--200mek The ajile aj-200mek is a compact and versatile multimedia evaluation kit for the aj-200 SOC that directly executes both Java Virtual Bytecode
More informationAdafruit Feather nrf52840 Express
Adafruit Feather nrf52840 Express PRODUCT ID: 4062 The Adafruit Feather nrf52840 Express is the new Feather family member with Bluetooth Low Energy and native USB support featuring the nrf52840! It's our
More informationOperating Systems Memory Management. Mathieu Delalandre University of Tours, Tours city, France
Operating Systems Memory Management Mathieu Delalandre University of Tours, Tours city, France mathieu.delalandre@univ-tours.fr 1 Operating Systems Memory Management 1. Introduction 2. Contiguous memory
More informationAn overview of mobile and embedded platforms
ES3 Lecture 2 An overview of mobile and embedded platforms Basic Classes Embedded devices: These are in toasters, cars, mice, etc. Usually very real-time focused (us accuracy) Very small memory, not usually
More informationSystem Software. System software
System Software 1 System Software 2 System Software System software o Consists of all the programs that enable the computer and its peripheral devices to function smoothly o Divided into two main categories:
More informationFour Components of a Computer System
Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources
More informationJ2ME Games with MIDP 2
J2ME Games with MIDP 2 CAROL HAMER APress Media, LLC J2ME Games with MIDP 2 Copyright ~ 2 0 0 4 by Carol Hamer Originally published by Apress in 2004 All rights reserved. No part of this work may be reproduced
More informationMOBILE COMPUTING Unit V
MOBILE COMPUTING Unit V 1 UNIT V MOBILE PLATFORMS AND APPLICATIONS Mobile Device Operating Systems Special Constrains & Requirements Commercial Mobile Operating Systems Software Development Kit: ios, Android,
More informationStandards,Tools, & Best Practices Editor: Sumi Helal University of Florida
Standards,Tools, & Best Practices Editor: Sumi Helal University of Florida helal@cise.ufl.edu Pervasive Java, Part II Sumi Helal, University of Florida In the first issue, I covered Java 2, Micro Edition
More informationBVRIT HYDERABAD College of Engineering for Women Department of Information Technology. Hand Out
BVRIT HYDERABAD College of Engineering for Women Department of Information Technology Hand Out Subject Name: Mobile Application Development Prepared by: 1. S. Rama Devi, Assistant Professor, IT Year and
More information2 Introduction to Java. Introduction to Programming 1 1
2 Introduction to Java Introduction to Programming 1 1 Objectives At the end of the lesson, the student should be able to: Describe the features of Java technology such as the Java virtual machine, garbage
More informationIn examining performance Interested in several things Exact times if computable Bounded times if exact not computable Can be measured
System Performance Analysis Introduction Performance Means many things to many people Important in any design Critical in real time systems 1 ns can mean the difference between system Doing job expected
More informationArchitectural Styles I
Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts
More information31268_WEB SYSTEMS LECTURE 1. Operating Systems Part 1
31268_WEB SYSTEMS LECTURE 1 Operating Systems Part 1 What is an operating system? - A piece of software that sits between all programs and the computer s hardware - Manages computer - Runs programs - Interface
More informationChapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition
Chapter 8: Memory- Management Strategies Operating System Concepts 9 th Edition Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation
More informationCHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.
CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System
More informationOPERATING SYSTEMS & UTILITY PROGRAMS
OPERATING SYSTEMS & UTILITY PROGRAMS System Software System software consists of the programs that control the operations of the computer and its devices. Functions that system software performs include:
More informationUsing JavX Running Applications in a Web Browser or WinCE Device. Presented by: Jarett Smith Eric Vanpaeschen
Using JavX Running Applications in a Web Browser or WinCE Device Presented by: Jarett Smith Eric Vanpaeschen Presentation Outline Rich Internet Applications (RIA) Examples of Java Applets ProvideX JavX
More informationSoftware. CPU implements "machine code" instructions. --Each machine code instruction is extremely simple. --To run, expanded to about 10 machine code
Software Software - code that runs on the hardware I'm going to simplify things a bit here CPU implements "machine code" instructions --Each machine code instruction is extremely simple --e.g. add 2 numbers
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationThis lecture will take you through simple and practical approach while learning Java Programming language.
JAVA TUTORIAL GENERAL Java is a high-level programming language originally developed by Sun Microsystems and released in 1995. Java runs on a variety of platforms, such as Windows, Mac OS, and the various
More informationChapter 3: Operating-System Structures
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1
More informationOperating Systems. Operating Systems
The operating system defines our computing experience. It is the first software we see when we turn on the computer, and the last software we see when the computer is turned off. It's the software that
More informationChapter 1 Introduction to Computers, Programs, and Java. What is a Computer? A Bit of History
Chapter 1 Introduction to Computers, Programs, and Java CS170 Introduction to Computer Science 1 What is a Computer? A machine that manipulates data according to a list of instructions Consists of hardware
More informationDownload from Powered By JbigDeaL
1. If a word is typed that is not in Word s dictionary, a wavy underline appears below the word. (A) red (B) green (C) blue (D) black 2. The button on the quick access Toolbar allows you to cancel your
More informationIntroduction to Operating Systems (Part II)
Introduction to Operating Systems (Part II) Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/24 1 / 45 Computer
More informationLecture 2 - Fundamental Concepts
Lecture 2 - Fundamental Concepts Instructor : Bibhas Ghoshal (bibhas.ghoshal@iiita.ac.in) Autumn Semester, 2015 Bibhas Ghoshal IOSY 332C & IOPS 332C: OS Autumn Semester, 2015 1 / 43 Lecture Outline Operating
More informationSelected Topics in Computer Engineering ENC-360
Selected Topics in Computer Engineering ENC-360 Dr. Feda AlShahwan Computer Section Electronic Engineering Department College of Technological Studies Public Authority for Applied Education and Training
More informationOperating System Concepts Rab Nawaz Khan Jadoon
Operating System Concepts Rab Nawaz Khan Jadoon DCS COMSATS Institute of Information Technology Lecturer COMSATS Lahore Pakistan Operating System Concepts Operating System Operating System It is a system
More informationphoneme: High-performance, product-quality GPLv2 CDC + CLDC stacks Terrence Barr
phoneme: High-performance, product-quality GPLv2 CDC + CLDC stacks Terrence Barr Senior Technologist and Community Ambassador Java Mobile & Embedded Community Sun Microsystems 1 Platform Scalability and
More informationJava and C Performance Comparison on Palm OS. Zhi-Kai Xin
Java and C Performance Comparison on Palm OS Zhi-Kai Xin zxin@cs.columbia.edu Abstract This paper investigates the performance comparisons of Java and C on Palm OS PDA device. The performance comparison
More informationMiddleware-Integration of Small Devices
Middleware-Integration of Small Devices Michael Mock Fraunhofer-Institute Autonomous Intelligent Systems 53754 St. Augustin michael.mock@ais.fraunhofer.de Stefan Couturier B-IT Bonn-Aachen International
More informationLecture 1: Introduction to Java
Lecture 1: Introduction to Java 1 Programs Computer programs, known as software, are instructions to the computer. You tell a computer what to do through programs. Without programs, a computer is an empty
More informationJava Card 3 Platform. Peter Allenbach Sun Microsystems, Inc.
Java Card 3 Platform Peter Allenbach Sun Microsystems, Inc. Agenda From plastic to Java Card 3.0 Things to know about Java Card 3.0 Introducing Java Card 3.0 Java Card 3.0 vs. Java SE Java Card 3.0 vs.
More informationChapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.
Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Java platform. Applets and applications. Java programming language: facilities and foundation. Memory management
More informationJHDF5 (HDF5 for Java) 14.12
JHDF5 (HDF5 for Java) 14.12 Introduction HDF5 is an efficient, well-documented, non-proprietary binary data format and library developed and maintained by the HDF Group. The library provided by the HDF
More informationPhony Programming (Series 60 Symbian Phones)
Phony Programming (Series 60 Symbian Phones) Larry Rudolph MIT 6.883 & SMA 5508 March 6, 2006 1 What s so special about phones? Ignorant Operator really ignorant operator Scarce Resources Power -- slow
More informationChapter 2: Operating-System Structures. Operating System Concepts Essentials 8 th Edition
Chapter 2: Operating-System Structures Operating System Concepts Essentials 8 th Edition Silberschatz, Galvin and Gagne 2011 Chapter 2: Operating-System Structures Operating System Services User Operating
More informationQ.1 Explain Computer s Basic Elements
Q.1 Explain Computer s Basic Elements Ans. At a top level, a computer consists of processor, memory, and I/O components, with one or more modules of each type. These components are interconnected in some
More informationEmbedded Java Security
Embedded Java Security Mourad Debbabi, Mohamed Saleh, Chamseddine Talhi and Sami Zhioua Embedded Java Security Security for Mobile Devices Mourad Debbabi, Full Professor and CU Research Chair Tier I Mohamed
More informationDownloaded from various sources on the NET
Overview Computers. Hardware components of a Computer. Purpose and functions of computer operating systems. Evolution of computer operating systems. Operating systems available today. Downloaded from various
More informationWelcome to COMP 388 Tutorial on:
Welcome to COMP 388 Tutorial on: 5.0 By: Chris Abplanalp TABLE OF CONTENTS 1. What are the ways to go back to the originally working window when accidentally switched to another program by pushing some
More information