Design and implementation of a Java execution environment for digital TV settop
|
|
- Charlotte Skinner
- 7 years ago
- Views:
Transcription
1 Design and implementation of a Java execution environment for digital TV settop boxes. Wolfgang Betz Senior System Engineer STMicroelectronics Srl - Advanced System Technology Via C. Olivetti, Agrate Brianza (MI) - Italy wolfgang.betz@st.com Ivan Cibrario Bertolotti Researcher IEEE Computer Society member # IRITI - National Research Council c/o IEN "Galileo Ferraris" Strada delle Cacce, Torino - Italy cibrario@cstv.to.cnr.it Abstract This paper discusses the design and implementation of a Java execution environment (Java Virtual Machine and a selected subset of its associated core packages) targeted to embedded systems and, in particular, to set-top boxes for MPEG-2 digital TV reception. Java bytecode offers a viable way of conveying executable contents to the end-user of the digital TV broadcasting service. In addition, it features a set of highly desirable properties, such as guaranteed interoperability, full independency from the executing hardware platform, a robust security model to block potential intruders, and wide availability of sophisticated code development and test suites. 1 Introduction The main goals of our project were the development of a prototype software platform for a new generation of set-top boxes based on the Java technology (Java STB); the supporting hardware platform features the well-known Sti5500 ASIC by STMicroelectronics. We then used the prototype to perform profiling and benchmarking, and a realistic simulation of foreseen services and applications based on Java. In order to do this, the core Java Virtual Machine (JVM) was derived, under non-commercial license, from the Java Development Kit provided by Sun, and then complemented with a custom micro kernel. The graphics subsystem was rooted on a port of the MIT X Window System (XWS), with special adaptations to enhance its performance for local client-server connections; the networking subsystem leverages an existing implementation of TCP/IP. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. 1
2 2 Internal Structure of the Java execution environment Figure 1 shows the internal structure of the Java [1], [2] execution environment. The Sun's Java Development Kit (JDK) runtime system version we used as a starting point for our port is written in ANSI C, with a platform abstraction boundary dividing the platformindependent portion of the code (upper layers) from the platform-dependent one. Java Applications and Applets SW Java Runtime System (Kernel, Interpreter, Class Loader, Bytecode Verifier) Java Packages (java.lang, java.io, java.util,...) Native Methods (Static Lib's) OS20 / ChorusOS / WinCE (plus subsystems for graphics and networking) Digital Video Decoder OMEGA / ORION Digital TV, and Interactive Services Network Figure 1, Internal Structure of the Java Environment Porting this kind of execution environment on a new platform is always feasible, but its difficulty depends on how well the target platform meets the basic requirements imposed by the platform abstraction boundary: mainly, the platform-dependent code must provide POSIX c support for multithreading and thread synchronization, with respect to both ANSI C library functions and Java language concepts such as monitors. For our port we used the existing OS20 multitasking micro kernel with custom modifications to extend its thread model and achieve POSIX compliance. Thread-safeness for C library functions was realized using a mutual exclusion adaptation layer. This solution achieves a very good context switch performance, because the target CPU implements most basic activities associated with context switches in microcode, thus keeping the micro kernel overheads very small. Both the bulk of the Java Runtime System, and the portion of Java Packages written in Java are inherently platform-independent and did not require porting. 3 Graphics subsystem The graphics subsystem has its roots on a port of a subset of the MIT XWS [3]; the Tiny AWT Java package provided with the JDK is able to directly leverage it to implement java.awt without any modification. Like the JDK mentioned before, the XWS has a layered internal structure; the main platformdependent components requiring adaptations are [4], [5], [6]: Operating system interface layer: it implements system initialization, memory management, error handling, client scheduling and X requests delivery, and yield control. In addition, it manages client connection and all data transfers between the X server and its clients. 2
3 Input devices interface layer: it initializes and controls all input devices connected to the X server; in addition, it gathers and processes all events generated by these devices. Output device interface layer: it performs region, cursor, and color map handling; moreover, it performs font realization and implements all basic drawing primitives. In the output device interface layer the dividing point between platform-independent code (already available) and platform-dependent code (to be developed) can be moved almost freely. This allows the developer to choose the best compromise between development effort and efficiency. We chose to reuse the platform-independent code as much as possible to lower development efforts: efficiency was not impacted in this case, because Java only uses a small subset of the XWS capabilities and we did not optimize functions that are either rarely or never invoked anyway. The XWS heavily relies on Inter-Process Communication (IPC) to perform its duties; the TCP/IP protocol provided by the networking subsystem could be used for this but, for performance reasons, we implemented and added support for an additional, highly simplified, transport protocol for local connections, to avoid TCP/IP overheads, such as those related to message fragmentation, reassembly and check summing when they are not strictly needed. This rather simple, focused optimization gave us an average performance gain of 2.6 on the x11perf XWS benchmark, of about 1.7 on the Graphics test of the CaffeineMark benchmark, and of about 1.1 on the Images test, same benchmark. In the latter case the gain is smaller because the test process mostly requires CPU power and only a small amout of IPC. Additional information about the X Window System porting process can be found in [7]. 4 Networking subsystem The networking subsystem leverages an already available implementation of TCP/IP and required little work to be ported. Mainly, we developed a custom device driver for one of the asynchronous serial interfaces of the Sti5500 and used the existing software to implement a PPP link on it; a workstation is used on the other side of the link to route the set-top box traffic into Internet. The prototype set-top box makes use of the serial link to carry both incoming and outgoing TCP traffic; a real one would use the digital TV channel to carry incoming traffic, instead, because its bandwidth is higher. 5 Footprint and Performance Table 1 shows the static memory footprint of the main components of the prototype JVM, that is, the amount of memory needed to load them. Dynamic footprint, that is, the amount of memory needed to actually run a given Java application, is of course application-dependent: for example, the demo described in section 6 needs about 4 Mbytes of memory. We think that most Java applications conceived to run on set-top boxes will show similar figures. Component Size [Kbyte] Basic JVM interpreter 310 Networking 200 Graphics subsystem
4 Java classes 1500 Table 1, JVM Static Footprint Table 2 shows the results of the Embedded CaffeineMark 3.0 benchmark run on the following hardware platforms: STi5500, 4 Kbyte cache, 50 MHz CPU clock, ~12 MIPS, our platform UltraSparc-1, 512 Kbyte cache, 167 MHz CPU clock, ~198 MIPS, for reference We can see that, while the CPU MIPS ratio of the Sti5500 versus the UltraSparc-1 is 12/ , the JVM performance ratio is consistently higher for all test classes except Float. The rather poor performance of our platform when performing the Float test is easy to explain because the Sti5500 does not have a floating-point coprocessor. Platform Sieve Loop Logic String Float Method Overall Sti5500, C-interpreter UltraSparc, C-interpreter UltraSparc, Asm-interpreter UltraSparc, JIT-compiler Performance ratio: STi5500 versus UltraSparc, C-interpreter Normalized performance ratio Table 2, JVM Performance 6 Demo Environment To test out our Java implementation we set up a simple demo environment, depicted in Figure 2; it implements a set-top box web browser suitable to be a graphical user interface for remote services. A dedicated proxy server performs web contents pre-processing and filtering; both the browser (client side) and the proxy (server side) application are written in Java. The browser supports dynamic downloading and execution of Java applets. The Host machine is used to initialize the set-top box, to boot it, and to trace and profile the code execution as it takes place. 4
5 Figure 2, Demo Environment Structure 7 Conclusions We were able to demonstrate that a small team with limited time and resources can successfully implement an embedded Java execution environment as described above; we leveraged publicly available software as much as possible, to lower implementation efforts, and put in effect focused platform-dependent optimizations to avoid sacrificing performance. This turned out to be a major issue, because the Java environment was originally designed to be implemented on either personal computers or workstations, and both of them have at least an order of magnitude advantage in terms of both raw CPU speed and memory size with respect to an average set-top box. Both measured performance and footprint shown in section 5 compare favorably with respect to other existing implementations on either personal computers or workstations and, in particular, the resource needs of the Java execution environment have been found to be compatible with the design constraints imposed by a low-cost set-top box. However, mainly due to the limited resources available, our prototype still has some restrictions and missing features with respect to a real-world product; in particular, the networking subsystem lacks support for multicast and dynamic host name/address resolution protocols, such as DNS, the graphics subsystem has limited font support, and the traditional digital TV software infrastructure is not fully integrated with the Java environment. Foreseen future work includes the implementation of either an ahead-of-time or a just-in-time compiler to enhance the speed of Java bytecode execution, further improvements to the performance of the graphics subsystem, and full integration of the Java execution environment with the existing digital TV software infrastructure. 8 Acknowledgments This work was partly funded by the EEC MEDEA research project A101; MEDEA (Micro- Electronics Development for European Applications) is part of the pan-european EUREKA network for industrial R&D (EUREKA Project E! 1535). 5
6 References [1] Lindholm, T. and Yellin, F. (1997) The Java Virtual Machine Specification. Addison- Wesley [2] Gosling, J., Joy, B. and Steele, G. (1996) The Java Language Specification. Addison- Wesley [3] Scheifler, R. W. and Gettys, J. (1992) X Window System, 3 rd edition. Digital Press [4] MIT X Consortium staff (1991) X Window System, Version 11, Release 5 Release notes. X11R5 documentation package [5] Rosenthal, D. S. H. et al. (1988) Godzilla s Guide to Porting the X v11 Sample Server. X11R5 documentation package [6] Angebranndt, S. et al. (1988) Strategies for Porting the X v11 Sample Server. X11R5 documentation package [7] Cibrario Bertolotti, I. (1999) Internal Structure of a Generic X Server. CSTV-CNR Technical report
Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents
Agent Languages Requirements Overview Java Tcl/Tk Telescript Evaluation Franz J. Kurfess, Cal Poly SLO 211 Requirements for agent Languages distributed programming large-scale (tens of thousands of computers)
More informationAn Overview of Java. overview-1
An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2
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 informationHYBRID JINI FOR LIMITED DEVICES
HYBRID JINI FOR LIMITED DEVICES VINCENT LENDERS, POLLY HUANG AND MEN MUHEIM ETH Zürich E-mail: lenders, huang @tik.ee.ethz.ch, men@ife.ee.ethz.ch We envision a future of heterogeneous mobile devices collaborating
More information1. Overview of the Java Language
1. Overview of the Java Language What Is the Java Technology? Java technology is: A programming language A development environment An application environment A deployment environment It is similar in syntax
More informationFachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert
Ubiquitous Computing Ubiquitous Computing The Sensor Network System Sun SPOT: The Sun Small Programmable Object Technology Technology-Based Wireless Sensor Networks a Java Platform for Developing Applications
More informationCharacteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming
Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Java has become enormously popular. Java s rapid rise and wide acceptance can be traced to its design
More informationJava Embedded Applications
TM a One-Stop Shop for Java Embedded Applications GeeseWare offer brings Java in your constrained embedded systems. You develop and simulate your Java application on PC, and enjoy a seamless hardware validation.
More informationResource Utilization of Middleware Components in Embedded Systems
Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system
More informationHow To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X
(Advanced Topics in) Operating Systems Winter Term 2009 / 2010 Jun.-Prof. Dr.-Ing. André Brinkmann brinkman@upb.de Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3
More informationDeveloping Embedded Software in Java Part 1: Technology and Architecture
Developing Embedded Software in Java Part 1: Technology and Architecture by Michael Barr Embedded Systems Conference Europe The Netherlands November 16-18, 1999 Course #300 Sun s introduction of the Java
More informationHighly Available Mobile Services Infrastructure Using Oracle Berkeley DB
Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB Executive Summary Oracle Berkeley DB is used in a wide variety of carrier-grade mobile infrastructure systems. Berkeley DB provides
More informationMobile Operating Systems. Week I
Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone
More informationJPURE - A PURIFIED JAVA EXECUTION ENVIRONMENT FOR CONTROLLER NETWORKS 1
JPURE - A PURIFIED JAVA EXECUTION ENVIRONMENT FOR CONTROLLER NETWORKS 1 Danilo Beuche, Lars Büttner, Daniel Mahrenholz, Wolfgang Schröder-Preikschat, Friedrich Schön* University of Magdeburg * GMD-FIRST
More informationChapter 15 Windows Operating Systems
Understanding Operating Systems, Fifth Edition 15-1 Chapter 15 Windows Operating Systems At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class Discussion Topics Additional
More informationGETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS
Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system,
More informationFundamentals of Java Programming
Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors
More informationAn Overview of Oracle Forms Server Architecture. An Oracle Technical White Paper April 2000
An Oracle Technical White Paper INTRODUCTION This paper is designed to provide you with an overview of some of the key points of the Oracle Forms Server architecture and the processes involved when forms
More informationExample of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
More informationAn evaluation of the Java Card environment
An evaluation of the Java Card environment Christophe Rippert, Daniel Hagimont Contact: Christophe Rippert, Sirac Laboratory INRIA Rhône-Alpes, 655 avenue de l Europe Montbonnot 38334 St Ismier Cedex,
More informationJava and Real Time Storage Applications
Java and Real Time Storage Applications Gary Mueller Janet Borzuchowski 1 Flavors of Java for Embedded Systems Software Java Virtual Machine(JVM) Compiled Java Hardware Java Virtual Machine Java Virtual
More informationKernel Types System Calls. Operating Systems. Autumn 2013 CS4023
Operating Systems Autumn 2013 Outline 1 2 Types of 2.4, SGG The OS Kernel The kernel is the central component of an OS It has complete control over everything that occurs in the system Kernel overview
More informationDB2 Connect for NT and the Microsoft Windows NT Load Balancing Service
DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service Achieving Scalability and High Availability Abstract DB2 Connect Enterprise Edition for Windows NT provides fast and robust connectivity
More informationFrom Digital Television to Internet? A general technical overview of the- DVB- Multimedia Home Platform Specifications
From Digital Television to Internet? A general technical overview of the- DVB- Multimedia Home Platform Specifications Vita Hinze-Hoare Abstract This paper provides a general technical overview of the
More informationOnline Recruitment System 1. INTRODUCTION
1. INTRODUCTION This project Online Recruitment System is an online website in which jobseekers can register themselves online and apply for job and attend the exam. Online Recruitment System provides
More informationReplication on Virtual Machines
Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism
More informationANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi
ANDROID PROGRAMMING - INTRODUCTION Roberto Beraldi Introduction Android is built on top of more than 100 open projects, including linux kernel To increase security, each application runs with a distinct
More informationAn Easier Way for Cross-Platform Data Acquisition Application Development
An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers
More informationMobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java
Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java Oxford University Press 2007. All rights reserved. 1 C and C++ C and C++ with in-line-assembly, Visual Basic, and Visual C++ the
More informationA Java Based Tool for Testing Interoperable MPI Protocol Conformance
A Java Based Tool for Testing Interoperable MPI Protocol Conformance William George National Institute of Standards and Technology 100 Bureau Drive Stop 8951 Gaithersburg MD 20899 8951 1 301 975 4943 william.george@nist.gov
More informationEnterprise Java. Where, How, When (and When Not) to Apply Java in Client/Server Business Environments. Jeffrey Savit Sean Wilcox Bhuvana Jayaraman
Enterprise Java Where, How, When (and When Not) to Apply Java in Client/Server Business Environments Jeffrey Savit Sean Wilcox Bhuvana Jayaraman McGraw-Hill j New York San Francisco Washington, D.C. Auckland
More informationOverview. The Android operating system is like a cake consisting of various layers.
The Android Stack Overview The Android operating system is like a cake consisting of various layers. Each layer has its own characteristics and purpose but the layers are not always cleanly separated and
More informationAchieving Mainframe-Class Performance on Intel Servers Using InfiniBand Building Blocks. An Oracle White Paper April 2003
Achieving Mainframe-Class Performance on Intel Servers Using InfiniBand Building Blocks An Oracle White Paper April 2003 Achieving Mainframe-Class Performance on Intel Servers Using InfiniBand Building
More informationVersion 14.0. Overview. Business value
PRODUCT SHEET CA Datacom Server CA Datacom Server Version 14.0 CA Datacom Server provides web applications and other distributed applications with open access to CA Datacom /DB Version 14.0 data by providing
More informationChapter 3: Operating-System Structures. Common System Components
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 informationWhite Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux
White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables
More informationSystem Structures. Services Interface Structure
System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface
More informationStateful Inspection Technology
Stateful Inspection Technology Security Requirements TECH NOTE In order to provide robust security, a firewall must track and control the flow of communication passing through it. To reach control decisions
More informationCHAPTER 1: OPERATING SYSTEM FUNDAMENTALS
CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating? A collection of software modules to assist programmers in enhancing efficiency, flexibility, and robustness An Extended Machine from the users
More informationIPv6 Challenges for Embedded Systems István Gyürki 30.08.2011
IPv6 Challenges for Embedded Systems István Gyürki 30.08.2011 AGENDA Introduction IPv6 why do we need it? Selecting the right TCP/IP stack Case study Conclusions Page 2 Company Profile Wireless Products
More informationOperating System for the K computer
Operating System for the K computer Jun Moroo Masahiko Yamada Takeharu Kato For the K computer to achieve the world s highest performance, Fujitsu has worked on the following three performance improvements
More informationChapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components
More informationA Layered Architecture based on Java for Internet and Intranet Information Systems
A Layered Architecture based on Java for Internet and Intranet Information Systems Fidel CACHEDA, Alberto PAN, Lucía ARDAO, Ángel VIÑA Departamento de Electrónica y Sistemas Facultad de Informática, Universidad
More informationA Comparison of Distributed Systems: ChorusOS and Amoeba
A Comparison of Distributed Systems: ChorusOS and Amoeba Angelo Bertolli Prepared for MSIT 610 on October 27, 2004 University of Maryland University College Adelphi, Maryland United States of America Abstract.
More informationJava Real-Time Distributed Processing over Chorus/OS
Java Real-Time Distributed Processing over Chorus/OS Christophe Lizzi CS Technologies Informatiques lizzi@csti.fr CNAM, CEDRIC lab. lizzi@cnam.fr Outline Motivations Our vision Real-time Java Operating
More informationNiagara IT Manager s Guide
3951 Westerre Parkway, Suite 350 Richmond, VA 23233 804.747.4771 Phone 804.747.5204 FAX Niagara IT Manager s Guide A White Paper An IT Manager s Guide to Niagara This document addresses some of the common
More informationNokia 9210i/9290 Communicators and PersonalJava TM Application Development
Nokia 9210i/9290 Communicators and Personal TM Application Development 05-03-2002 Nokia 9210i/9290 Communicators and PersonalTM Application Development Table of contents 1. DIFFERENT JAVA TECHNOLOGIES...
More informationOpen Programmable Architecture for Java-enabled Network Devices
Open Programmable Architecture for Java-enabled Network Devices Tal Lavian, Nortel Networks - Advanced Technology Center Robert F. Jaeger, University of Maryland Jeffrey K. Hollingsworth, University of
More informationDecomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
More informationOpus Guide for IT Managers
Opus Guide for IT Managers Table of Contents Introduction...1 System Requirements...2 Configuration...3 Integration...3 Networking...3 Security...5 Interconnectivity...6 History Archival Sizing...7 Introduction
More informationNetBeans Profiler is an
NetBeans Profiler Exploring the NetBeans Profiler From Installation to a Practical Profiling Example* Gregg Sporar* NetBeans Profiler is an optional feature of the NetBeans IDE. It is a powerful tool that
More informationA Survey on ARM Cortex A Processors. Wei Wang Tanima Dey
A Survey on ARM Cortex A Processors Wei Wang Tanima Dey 1 Overview of ARM Processors Focusing on Cortex A9 & Cortex A15 ARM ships no processors but only IP cores For SoC integration Targeting markets:
More informationSmart Cards a(s) Safety Critical Systems
Smart Cards a(s) Safety Critical Systems Gemplus Labs Pierre.Paradinas Paradinas@gemplus.com Agenda Smart Card Technologies Java Card TM Smart Card a specific domain Card Life cycle Our Technical and Business
More informationOpen-source foundations for PC based KNX/EIB access and management
Open-source foundations for PC based KNX/EIB access and management Bernhard Erb, Georg Neugschwandtner, Wolfgang Kastner, Martin Kögler Institute of Automation Automation Systems Group Vienna University
More informationImplementing Java Distributed Objects with JDBC
Implementing Java Distributed Objects with JDBC Pritisha 1, Aashima Arya 2 1,2 Department of Computer Science Bhagwan Mahaveer institute of engineering & technology (BMIET), Deenbandhu Chhotu Ram University
More informationCSC 551: Web Programming. Spring 2004
CSC 551: Web Programming Spring 2004 Java Overview Design goals & features platform independence, portable, secure, simple, object-oriented, Programming models applications vs. applets vs. servlets intro
More informationCSE 452: Programming Languages. Acknowledgements. Contents. Java and its Evolution
CSE 452: Programming Languages Java and its Evolution Acknowledgements Rajkumar Buyya 2 Contents Java Introduction Java Features How Java Differs from other OO languages Java and the World Wide Web Java
More informationSTLinux Software development environment
STLinux Software development environment Development environment The STLinux Development Environment is a comprehensive set of tools and packages for developing Linux-based applications on ST s consumer
More informationJava History. Java History (cont'd)
Java History Created by James Gosling et. al. at Sun Microsystems in 1991 "The Green Team" Were to investigate "convergence" technologies Gosling created a processor-independent language for '*7', a 2-way
More informationJavaPOS TM FAQ. What is an FAQ? What is JavaPOS?
JavaPOS TM FAQ What is an FAQ? An FAQ is a list of frequently asked questions. In addition to supplying background material, this document will provide answers for the most frequently asked questions about
More informationPerformance Comparison of Fujitsu PRIMERGY and PRIMEPOWER Servers
WHITE PAPER FUJITSU PRIMERGY AND PRIMEPOWER SERVERS Performance Comparison of Fujitsu PRIMERGY and PRIMEPOWER Servers CHALLENGE Replace a Fujitsu PRIMEPOWER 2500 partition with a lower cost solution that
More informationIP SAN Fundamentals: An Introduction to IP SANs and iscsi
IP SAN Fundamentals: An Introduction to IP SANs and iscsi Updated April 2007 Sun Microsystems, Inc. 2007 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, CA 95054 USA All rights reserved. This
More informationEmbedded PC The modular Industrial PC for mid-range control. Embedded PC 1
Embedded PC The modular Industrial PC for mid-range control Embedded PC 1 Embedded OS Operating Systems Major differences Details XPE / CE Embedded PC 2 The Windows Embedded OS family CX1000 The modular,
More informationMobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications
Mobile Devices - An Introduction to the Android Operating Environment Design, Architecture, and Performance Implications Dominique A. Heger DHTechnologies (DHT) dheger@dhtusa.com 1.0 Introduction With
More informationOpen Network Install Environment (ONIE) LinuxCon North America 2015
Open Network Install Environment (ONIE) LinuxCon North America 2015 Curt Brune, Member of Technical Staff August 2015 Agenda What is It? ONIE Solves a Real Problem ONIE Design Approach ONIE Adoption ONIE
More informationThe Hotspot Java Virtual Machine: Memory and Architecture
International Journal of Allied Practice, Research and Review Website: www.ijaprr.com (ISSN 2350-1294) The Hotspot Java Virtual Machine: Memory and Architecture Prof. Tejinder Singh Assistant Professor,
More informationExpanding the Value of the Windows Terminal Server Investment. HOBLink JWT HOB Enhanced Terminal Services
Expanding the Value of the Windows Terminal Server Investment HOBLink JWT HOB Enhanced Terminal Services 2001 by HOB electronic GmbH & Co. KG Information in this document is subject to change without notice,
More informationChapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
More informationHardware/Software Co-Design of a Java Virtual Machine
Hardware/Software Co-Design of a Java Virtual Machine Kenneth B. Kent University of Victoria Dept. of Computer Science Victoria, British Columbia, Canada ken@csc.uvic.ca Micaela Serra University of Victoria
More informationCOS 318: Operating Systems. Virtual Machine Monitors
COS 318: Operating Systems Virtual Machine Monitors Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Introduction Have been around
More informationIn: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal
Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto lft@inescporto.pt Luís Teixeira INESC Porto, Universidade Católica Portuguesa lmt@inescporto.pt Luís Corte-Real
More informationReal-time Java Processor for Monitoring and Test
Real-time Java Processor for Monitoring and Test Martin Zabel, Thomas B. Preußer, Rainer G. Spallek Technische Universität Dresden {zabel,preusser,rgs}@ite.inf.tu-dresden.de Abstract This paper introduces
More information1 Organization of Operating Systems
COMP 730 (242) Class Notes Section 10: Organization of Operating Systems 1 Organization of Operating Systems We have studied in detail the organization of Xinu. Naturally, this organization is far from
More informationLocus digital DVB-T STB
Customer The company Locus is a leader in the antenna and terrestrial TV equipment market. Objective To develop a digital set-top box for the receipt and decoding of terrestrial digital broadcasting signals
More informationOperating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
More informationJava in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design
Java in Education Introduction Choosing appropriate tool for creating multimedia is the first step in multimedia design and production. Various tools that are used by educators, designers and programmers
More informationDistributed Network Management Using SNMP, Java, WWW and CORBA
Distributed Network Management Using SNMP, Java, WWW and CORBA André Marcheto Augusto Hack Augusto Pacheco Augusto Verzbickas ADMINISTRATION AND MANAGEMENT OF COMPUTER NETWORKS - INE5619 Federal University
More informationInterpreters and virtual machines. Interpreters. Interpreters. Why interpreters? Tree-based interpreters. Text-based interpreters
Interpreters and virtual machines Michel Schinz 2007 03 23 Interpreters Interpreters Why interpreters? An interpreter is a program that executes another program, represented as some kind of data-structure.
More informationS y s t e m A r c h i t e c t u r e
S y s t e m A r c h i t e c t u r e V e r s i o n 5. 0 Page 1 Enterprise etime automates and streamlines the management, collection, and distribution of employee hours, and eliminates the use of manual
More informationThe Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1
The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose
More informationArmed E-Bunny: A Selective Dynamic Compiler for Embedded Java Virtual Machine Targeting ARM Processors
2005 ACM Symposium on Applied Computing Armed E-Bunny: A Selective Dynamic Compiler for Embedded Java Virtual Machine Targeting ARM Processors Mourad Debbabi Computer Security Research Group CIISE, Concordia
More informationRARP: Reverse Address Resolution Protocol
SFWR 4C03: Computer Networks and Computer Security January 19-22 2004 Lecturer: Kartik Krishnan Lectures 7-9 RARP: Reverse Address Resolution Protocol When a system with a local disk is bootstrapped it
More informationA Modular Approach to Teaching Mobile APPS Development
2014 Hawaii University International Conferences Science, Technology, Engineering, Math & Education June 16, 17, & 18 2014 Ala Moana Hotel, Honolulu, Hawaii A Modular Approach to Teaching Mobile APPS Development
More informationNetFlow Subinterface Support
NetFlow Subinterface Support Feature History Release Modification 12.2(14)S This feature was introduced. 12.2(15)T This feature was integrated into Cisco IOS Release 12.2 T. This document describes the
More informationInterface Definition Language
Interface Definition Language A. David McKinnon Washington State University An Interface Definition Language (IDL) is a language that is used to define the interface between a client and server process
More informationReal Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
More informationInstrumentation Software Profiling
Instrumentation Software Profiling Software Profiling Instrumentation of a program so that data related to runtime performance (e.g execution time, memory usage) is gathered for one or more pieces of the
More informationELEC 377. Operating Systems. Week 1 Class 3
Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation
More informationThe Lagopus SDN Software Switch. 3.1 SDN and OpenFlow. 3. Cloud Computing Technology
3. The Lagopus SDN Software Switch Here we explain the capabilities of the new Lagopus software switch in detail, starting with the basics of SDN and OpenFlow. 3.1 SDN and OpenFlow Those engaged in network-related
More informationProxy Server, Network Address Translator, Firewall. Proxy Server
Proxy Server, Network Address Translator, Firewall 1 Proxy Server 2 1 Introduction What is a proxy server? Acts on behalf of other clients, and presents requests from other clients to a server. Acts as
More informationChapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.
Chapter 2 TOPOLOGY SELECTION SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Topology selection criteria. Perform a comparison of topology selection criteria. WebSphere component
More informationBuilding Java Servlets with Oracle JDeveloper
Building Java Servlets with Oracle JDeveloper Chris Schalk Oracle Corporation Introduction Developers today face a formidable task. They need to create large, distributed business applications. The actual
More informationEXPERIENCES PARALLELIZING A COMMERCIAL NETWORK SIMULATOR
EXPERIENCES PARALLELIZING A COMMERCIAL NETWORK SIMULATOR Hao Wu Richard M. Fujimoto George Riley College Of Computing Georgia Institute of Technology Atlanta, GA 30332-0280 {wh, fujimoto, riley}@cc.gatech.edu
More informationChapter 1: Operating System Models 1 2 Operating System Models 2.1 Introduction Over the past several years, a number of trends affecting operating system design are witnessed and foremost among them is
More informationChapter 2 System Structures
Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices
More informationChapter 3. Internet Applications and Network Programming
Chapter 3 Internet Applications and Network Programming 1 Introduction The Internet offers users a rich diversity of services none of the services is part of the underlying communication infrastructure
More informationSoftware Stacks for Mixed-critical Applications: Consolidating IEEE 802.1 AVB and Time-triggered Ethernet in Next-generation Automotive Electronics
Software : Consolidating IEEE 802.1 AVB and Time-triggered Ethernet in Next-generation Automotive Electronics Soeren Rumpf Till Steinbach Franz Korf Thomas C. Schmidt till.steinbach@haw-hamburg.de September
More informationpicojava TM : A Hardware Implementation of the Java Virtual Machine
picojava TM : A Hardware Implementation of the Java Virtual Machine Marc Tremblay and Michael O Connor Sun Microelectronics Slide 1 The Java picojava Synergy Java s origins lie in improving the consumer
More informationelan Technology White Paper Why Linux?
elan Technology White Paper Why Linux? Bow Networks Inc. Page 2 Introduction This white paper summarizes the reasons Linux was selected as the operating system for BOW Network s elan platform. Linux has
More informationConfiguring and Managing Token Ring Switches Using Cisco s Network Management Products
Configuring and Managing Token Ring Switches Using Cisco s Network Management Products CHAPTER 12 Cisco offers several network management applications that you can use to manage your Catalyst Token Ring
More information