ODROID Universal Installer What We Stand For

Total Page:16

File Type:pdf, Size:1020Kb

ODROID Universal Installer What We Stand For Debian, Tizen, Lakka and Android Marshmallow for XU4 • XU4 Case Year Three Our Issue #25 3rd Jan 2016 year! Magazine For Serious Gamers Hardkernel presents its new Universal Motion Joypad LINUX GAMING • Kernel Compilation Settlers 2 Earth 2140 • XU4 CPU Control • ODROID Universal Installer What we stand for. We strive to symbolize the edge of technology, future, youth, humanity, and engineering. Our philosophy is based on Developers. And our efforts to keep close relationships with developers around the world. For that, you can always count on having the quality and sophistication that is the hallmark of our products. Simple, modern and distinctive. So you can have the best to accomplish everything you can dream of. We are now shipping the ODROID-U3 device to EU countries! Come and visit our online store to shop! Address: Max-Pollin-Straße 1 85104 Pförring Germany Telephone & Fax phone: +49 (0) 8403 / 920-920 email: [email protected] Our ODROID products can be found at http://bit.ly/1tXPXwe EDITORIAL DROID Magazine is celebrating the beginning of its third year! All of our contributors constantly amaze us with Otheir innovations. Each month, our regular columnists like Tobias, Venkat and Nanik write fantastic in-depth tutorials and reviews that help our readers find new ways to work with and enjoy their ODROIDs. We look forward to continuing to produce the best magazine that we can. I hope that the worldwide ODROID community continues to send us great and fascinating articles, since that’s what really makes our publication thrive. This month, we present the new Universal Mo- tion Joypad to make driving games more fun. Tobias offers a set of strategy games that are sure to keep you entertained, and we highlight a few innovative operating systems such as Tizen, Lakka, Debian Jessie Server, and Android Marshmallow. We also showcase a modern aluminum case for the ODROID-XU4, teach you how to throttle your CPU to re- duce fan noise, detail the steps for compiling a kernel, and introduce a convenient way to install a new single or dual-boot operating system. Don’t forget to check out our new website at http://magazine.odroid.com, now featuring a searchable master article list. ODROID Magazine, published monthly at http://magazine.odroid.com, is your source for all things ODROIDian. Hard Kernel, Ltd. • 704 Anyang K-Center, Gwanyang, Dongan, Anyang, Gyeonggi, South Korea, 431-815 Hardkernel manufactures the ODROID family of quad-core development boards and the world’s first ARM big.LITTLE single board computer. For information on submitting articles, contact [email protected], or visit http://bit.ly/1ypImXs. You can join the growing ODROID community with members from over 135 countries at http://forum.odroid.com. Explore the new technologies offered by Hardkernel at http://www.hardkernel.com. STAFF ODROIDMagazine Rob Roy, Manuel Chief Editor Adamuz, Spanish I’m a computer Editor programmer in San Francisco, CA, design- I am 31 years old and ing and building web applications live in Seville, Spain, and for local clients on my network was born in Granada. I am married cluster of ODROIDs. My primary to a wonderful woman and have a languages are jQuery, Angular JS child. A few years ago I worked as and HTML5/CSS3. I also develop a computer technician and program- pre-built operating systems, custom mer, but my current job is related kernels and optimized applications to quality management and infor- for the ODROID platform based mation technology: ISO 9001, ISO on Hardkernel’s official releases, for 27001, and ISO 20000. I am pas- which I have won several Monthly sionate about computer science, es- Forum Awards. I use my ODROIDs pecially microcomputers such as the for a variety of purposes, including ODROID and Raspberry Pi. I love media center, web server, applica- experimenting with these computers. tion development, workstation, and My wife says I’m crazy because I just gaming console. You can check out think of ODROIDs! My other great my 100GB collection of ODROID hobby is mountain biking, and I oc- software, prebuilt kernels and OS casionally participate in semi-profes- sional competitions. images at http://bit.ly/1fsaXQs. Bruno Doiche, Nicole Scott, James Senior Art Editor LeFevour, Art Editor Art Editor Nicole is a Digital Bruno spent a Strategist and Trans- I’m a Digital Me- couple of months sniff- media Producer spe- dia Specialist who is ing networks and working like mad cializing in online optimization and also enjoying freelance work in social to get all of our publications on tar- inbound marketing strategies, social network marketing and website ad- get. As usual, it was crazy. But crazy media management, and media pro- ministration. The more I learn about fun! duction for print, web, video, and ODROID capabilities, the more film. Managing multiple accounts excited I am to try new things I’m with agencies and filmmakers, from learning about. Being a transplant to web design and programming, Ana- San Diego from the Midwest, I am lytics and Adwords, to video edit- still quite enamored with many as- ing and DVD authoring, Nicole pects that I think most West Coast helps clients with the all aspects people take for granted. I live with of online visibility. Nicole owns my lovely wife and our adorable pet anODROID-U2, and a number of rabbit; the latter keeps my books and ODROID-U3’s and looks forward computer equipment in constant to using the latest technologies for peril, the former consoles me when both personal and business endeav- said peril manifests. ors. Nicole’s web site can be found at http://www.nicolecscott.com. INDEX LOGICAL VOLUME MANAGEMENT - 6 DEBIAN - 8 LINUX KERNEL COMPILatiON - 10 UNIVERSAL INStaLLER - 13 CPU CONTROL - 14 COMMUNity WIKI - 15 ODROID MAGAZINE WEBSITE - 16 ANDROID MARSHMALLOW FOR XU4 - 17 UNIVERSAL MOTION JOYPAD - 18 PLEAse don’T TOUCH ANytHING - 21 LaKKA FOR ODROID-XU4 - 22 LINUX GAMING - 24 ODROID-XU4 CaSE - 28 TIZEN FOR XU4 - 30 MEET AN ODROIDIAN - 36 LVM THInly-PROvISIOnED LOGICAL VoluMES THE Ability to dynamically allocate capacity by David Gabriel hen you start having multiple applications running of two LVs. One large data LV that will hold the blocks for the on a single system, administering the storage allo- LV and a metadata LV that will hold metadata. The metadata Wcated to each of them starts getting a little compli- LV will keep track of which block belongs to which LV inside cated. You typically size it to be enough to run for some time the pool along with a few other pieces of information. and include a generous buffer space to avoid running out of To create the thin pool, type the following commands: storage when it’s most needed. However, some file systems’ needs tend to increase quickly over time, like databases, while $ lvcreate -n thinpool -L 10G rootvg others grow slowly, like a web server. This results in having $ lvcreate -n metathinlv -L 500M rootvg large amounts of storage being allocated when it is not always $ lvconvert --thinpool rootvg/thinpool \ being fully used but still being tied to a particular volume. This --poolmetadata rootvg/thinmetalv kind of model is known as thick provisioning and may be inef- ficient sometimes. The first two commands create the data and metadata LVs, For cases like that, we can take advantage of another great and the last is used to merge them into a thin pool LV. Then, feature that LVM offers called thin provisioning. It provides you can create the LVs you want from inside the pool: the ability to dynamically allocate capacity to the volumes as required. Usually, the blocks are written as soon as you create $ lvcreate -n mysqllv -V 1T \ the logical volume. In a thin provisioned logical volume, the --thinpool rootvg/thinpool blocks are allocated as they are written. This way, we can have an LV with a virtual size that is much larger than the physical You can check your newly created LV with the lvs com- available storage. It can then be increased as needed. mand. This will create a new LV from the thin pool with 1TB. Thin provisioning can be compared to a bank. The bank Notice that we clearly don’t have 1 TB of available space, since holds money from all of its depositors, but all that does not the thin pool has only 10GB, but the system will let us cre- exist all at one time. If every single person decides to withdraw ate that virtual space because the blocks will be allocated as their money at the same time, the bank will not have enough needed. If you don’t want to worry about the metadata part available to provide all of it to the clients. It would have to get you can create the thin volume in a single step: the cash from its investments and loans, or by selling shares. Another example is an insurance company. There are a certain $ lvcreate --thinpool thinpool -L 10G rootvg amount of people insured, but not all of them make claims every year. So there is a buffer to pay these claims, but the Or even create the pool and an LV inside it: company doesn’t have to have all of the money to cover the insurees at the same time. This also applies to other resources $ lvcreate -L 10G -V 1T -n mysqllv \ like memory and CPU on demand, especially when using vir- --thinpool rootvgvg/thinpool tual machines, but we will concentrate on the storage use case. In order to create a thin provisioned volume, first a thin You may have already figured this out, but you should have pool LV must be created, which comes from the combination the space usage on thin provisioned file systems be very con- ODROID MAGAZINE 6 LVM ODROID Magazine is now on A quick comparative of Fully Provisioning versus Thin Provisioning Reddit! trolled.
Recommended publications
  • Augmented Reality
    Augmented Reality: A Review of available Augmented Reality packages and evaluation of their potential use in an educational context November 2010 Stephen Rose Dale Potter Matthew Newcombe Unlocking the Hidden Curriculum University of Exeter Learning and Teaching Innovation Grants (04/08) 2 Contents 1. Augmented Reality Page 4 2. Augmented Reality in Education 6 3. Augmented Reality Applications 8 3.1 Marker-based Augmented Reality 8 3.2 Markerless Augmented Reality 10 4. Available Augmented Reality Technologies 12 4.1 Current Smartphone Ownership Patterns 12 4.2 Platforms 16 4.3 AR Software 19 5. Technical Considerations 22 5.1 Limitations of Current Platforms 24 6. Choosing an Augmented Reality System 24 7. Glossary 28 8. References 29 9. Appendix 1: Unlocking the Hidden Curriculum - a JISC- 31 funded Learning and Teaching Innovation Project at the University of Exeter This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.0 Licence. To view a copy of this licence, visit: http://creativecommons.org/licenses/by-nc-sa/2.0/uk or send a letter to: Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. 3 1. ‘Augmented Reality’ Every now and again a ‘new technology’ appears which seems to capture the public imagination. Invariably the technology enables a new means of interacting with screen-based entertainment or a computer game - 3DTV, the Nintendo Wii. The proliferation of so-called ‘smartphones’ with their abilities to run once-complex computer applications, in-built cameras and ‘GPS’ capability has unleashed the potential of ‘Augmented Reality’ – to date a regular feature of science fiction or ‘near future’ movies.
    [Show full text]
  • A Hardware Abstraction Layer in Java
    A Hardware Abstraction Layer in Java MARTIN SCHOEBERL Vienna University of Technology, Austria STEPHAN KORSHOLM Aalborg University, Denmark TOMAS KALIBERA Purdue University, USA and ANDERS P. RAVN Aalborg University, Denmark Embedded systems use specialized hardware devices to interact with their environment, and since they have to be dependable, it is attractive to use a modern, type-safe programming language like Java to develop programs for them. Standard Java, as a platform independent language, delegates access to devices, direct memory access, and interrupt handling to some underlying operating system or kernel, but in the embedded systems domain resources are scarce and a Java virtual machine (JVM) without an underlying middleware is an attractive architecture. The contribution of this paper is a proposal for Java packages with hardware objects and interrupt handlers that interface to such a JVM. We provide implementations of the proposal directly in hardware, as extensions of standard interpreters, and finally with an operating system middleware. The latter solution is mainly seen as a migration path allowing Java programs to coexist with legacy system components. An important aspect of the proposal is that it is compatible with the Real-Time Specification for Java (RTSJ). Categories and Subject Descriptors: D.4.7 [Operating Systems]: Organization and Design—Real-time sys- tems and embedded systems; D.3.3 [Programming Languages]: Language Classifications—Object-oriented languages; D.3.3 [Programming Languages]: Language Constructs and Features—Input/output General Terms: Languages, Design, Implementation Additional Key Words and Phrases: Device driver, embedded system, Java, Java virtual machine 1. INTRODUCTION When developing software for an embedded system, for instance an instrument, it is nec- essary to control specialized hardware devices, for instance a heating element or an inter- ferometer mirror.
    [Show full text]
  • The Usage of Smartphone and Mobile Applications from the Point of View of Customers in Poland
    information Article The Usage of Smartphone and Mobile Applications from the Point of View of Customers in Poland Witold Chmielarz Faculty of Management, University of Warsaw, 00-927 Warsaw, Poland; [email protected] Received: 20 March 2020; Accepted: 15 April 2020; Published: 17 April 2020 Abstract: The main objective of this article was to identify the conditions for the use of smartphones and mobile applications in Poland in the second half of 2018. The scope of the present analysis was limited to a selected sample of more than 470 respondents, and it examined the group of the most active users of smartphones and mobile applications. The author adopted the CAWI (computer associated web interview) method, which was previously verified by a randomly selected pilot sample, in his study. The obtained results were compared with the findings of other studies. They indicated that users of smartphones and mobile applications in Poland do not differ in their assessments from users in Europe and around the world. In this context, the key implication for researchers is the identified level of development of the use of smartphones and mobile applications in Poland at the end of 2018. The main limitation of the research was the selection of the research sample, which consisted only of members of the academic community. The scope of this article aimed to fill a gap in terms of the quantitative and qualitative methods that are applied to examine the use of mobile devices and mobile software. At the same time, this study creates the foundations for further research on intercultural differences.
    [Show full text]
  • Modeling of Hardware and Software for Specifying Hardware Abstraction
    Modeling of Hardware and Software for specifying Hardware Abstraction Layers Yves Bernard, Cédric Gava, Cédrik Besseyre, Bertrand Crouzet, Laurent Marliere, Pierre Moreau, Samuel Rochet To cite this version: Yves Bernard, Cédric Gava, Cédrik Besseyre, Bertrand Crouzet, Laurent Marliere, et al.. Modeling of Hardware and Software for specifying Hardware Abstraction Layers. Embedded Real Time Software and Systems (ERTS2014), Feb 2014, Toulouse, France. hal-02272457 HAL Id: hal-02272457 https://hal.archives-ouvertes.fr/hal-02272457 Submitted on 27 Aug 2019 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Modeling of Hardware and Software for specifying Hardware Abstraction Layers Yves BERNARD1, Cédric GAVA2, Cédrik BESSEYRE1, Bertrand CROUZET1, Laurent MARLIERE1, Pierre MOREAU1, Samuel ROCHET2 (1) Airbus Operations SAS (2) Subcontractor for Airbus Operations SAS Abstract In this paper we describe a practical approach for modeling low level interfaces between software and hardware parts based on SysML operations. This method is intended to be applied for the development of drivers involved on what is classically called the “hardware abstraction layer” or the “basic software” which provide high level services for resources management on the top of a bare hardware platform.
    [Show full text]
  • Bancontact Payconiq Company
    Bancontact Payconiq Company SEPA Rulebooks Scheme Manuals Remote Domain 46D0 – Schedules 1, 2, and 3 – News 64 Mobile App Security Guidelines Android, iOS Newsletter 64 Classification: Confidential Confidential COPYRIGHT This document is confidential and protected by copyright. Its contents must not be disclosed or reproduced in any form whatsoever without the prior written consent of Bancontact Payconiq Company sa/nv. Except with respect to the limited license to download and print certain material from this document for non-commercial and personal use only, nothing contained in this document shall grant any license or right to use any of Bancontact Payconiq Company sa/nv’s proprietary material. AUTHORS This monthly newsletter is written by NVISO Labs, experts in mobile security, on behalf of Bancontact Company sa/nv. ABOUT NVISO NVISO is a consultancy firm exclusively focusing on IT security. NVISO has a very clear sector focus with several references in the financial and governmental sectors. The Research and Development department of NVISO is NVISO Labs, whose goals are to allow our people to increase their skills and knowledge, to come up with innovative service offerings, to contribute to the security community, and to give valuable insights to our clients. The fundamental values of NVISO are client satisfaction, focus, entrepreneurship, innovation, and ability to adapt. Our mission is to be an innovative and respected partner for our clients. For more information, we are happy to refer you to our website: https://www.nviso.be.
    [Show full text]
  • A Full Stack Approach to FPGA Integration in the Cloud
    This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/MM.2018.2877290, IEEE Micro THEME ARTICLE: HARDWARE ACCELERATION Galapagos: A Full Stack Approach to FPGA Integration in the Cloud Naif Tarafdar Field-Programmable Gate Arrays (FPGAs) have University of Toronto shown to be quite beneficial in the cloud due to their Nariman Eskandari energy-efficient application-specific acceleration. University of Toronto These accelerators have always been difficult to use Varun Sharma University of Toronto and at cloud scale, the difficulty of managing these Charles Lo devices scales accordingly. We approach the University of Toronto challenge of managing large FPGA accelerator Paul Chow clusters in the cloud using abstraction layers and a University of Toronto new hardware stack that we call Galapagos. The hardware stack abstracts low-level details while providing flexibility in the amount of low-level access users require to reach their performance needs. Computing today has evolved towards using large-scale data centers that are the basis of what many call the cloud. Within the cloud, large-scale applications for Big Data and machine learn- ing can use thousands of processors. At this scale, even small efficiency gains in performance and power consumption can translate to significant amounts. In the data center, power consump- tion is particularly important as 40 % of the costs are due to power and cooling [1]. Accelerators, which are more efficient for classes of computations, have become an important approach to ad- dressing both performance and power efficiency.
    [Show full text]
  • Application Migration Guide - Bada C++ Application with Bada 2.0 to OSP-Compatible Tizen Application
    Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen Application Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0. For details, see the Content License. Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen Application Table of Contents 1. Converting a bada Application to OSP-compatible Tizen Application ........ 5 1.1. System Migration ...................................................................................................................... 7 1.1.1. Case Sensitivity ........................................................................................................ 7 1.1.2. enum Type Size ........................................................................................................ 7 1.1.3. wchar_t Type Size ................................................................................................. 7 1.1.4. Member Variable Initialization .................................................................................. 7 1.1.5. malloc() Allocation ................................................................................................ 7 1.1.6. Strong Two Phase Construction Mechanism Check ................................................ 7 1.1.7. Pure Virtual Method Implementation ........................................................................ 8 1.1.8. LLVM Compiler ........................................................................................................
    [Show full text]
  • W4118 Operating Systems OS Overview
    W4118 Operating Systems OS Overview Junfeng Yang Outline OS definitions OS abstractions/concepts OS structure OS evolution What is OS? A program that acts as an intermediary between a user of a computer and the computer hardware. User App stuff between OS HW Two popular definitions Top-down perspective: hardware abstraction layer , turn hardware into something that applications can use Bottom-up perspective: resource manager/coordinator , manage your computers resources OS = hardware abstraction layer standard library OS as virtual machine E.g. printf(hello world), shows up on screen App can make system calls to use OS services Why good? Ease of use : higher level of abstraction, easier to program Reusability : provide common functionality for reuse E.g. each app doesnt have to write a graphics driver Portability / Uniformity : stable, consistent interface, different OS/version/hardware look same E.g. scsi/ide/flash disks Why abstraction hard? What are the right abstractions ??? Too low level ? Lose advantages of abstraction Too high level? All apps pay overhead, even those dont need Worse, may work against some apps E.g. Database Next: example OS abstractions Two popular definitions Top-down perspective: hardware abstraction layer, turn hardware into something that applications can use Bottom-up perspective: resource manager/coordinator , manage your computers resources OS = resource manager/coordinator Computer has resources, OS must manage. Resource = CPU, Memory, disk, device, bandwidth, Shell ppt gcc browser System Call Interface CPU Memory File system scheduling management management OS Network Device Disk system stack drivers management CPU Memory Disk NIC Hardware OS = resource manager/coordinator (cont.) Why good? Sharing/Multiplexing : more than 1 app/user to use resource Protection : protect apps from each other, OS from app Who gets what when Performance : efficient/fair access to resources Why hard? Mechanisms v.s.
    [Show full text]
  • Vypracovane Otazky K Bakalarskym Statnicim
    Učební texty k státní bakalářské zkoušce Obecná informatika študenti MFF 15. augusta 2008 1 Vážený študent/čitateľ, toto je zbierka vypracovaných otázok pre bakalárske skúšky Informatikov. Otáz- ky boli vypracované študentmi MFF počas prípravy na tieto skúšky, a teda zatiaľ neboli overené kvalifikovanými osobami (profesormi/dokotorandmi mff atď.) - preto nie je žiadna záruka ich správnosti alebo úplnosti. Väčšina textov je vypracovaná v čestine resp. slovenčine, prosíme dodržujte túto konvenciu (a obmedzujte teda používanie napr. anglických textov). Ak nájdete ne- jakú chybu, nepresnosť alebo neúplnú informáciu - neváhajte kontaktovať adminis- trátora alebo niektorého z prispievateľov, ktorý má write-prístup k svn stromu, s opravou :-) Podobne - ak nájdete v „texteÿ veci ako ??? a TODO, znamená to že danú informáciu je potrebné skontrolovať, resp. doplniť... Texty je možné ďalej používať a šíriť pod licenciou GNU GFDL (čo pre všet- kých prispievajúcich znamená, že musia súhlasiť so zverejnením svojich úprav podľa tejto licencie). Veríme, že Vám tieto texty pomôžu k úspešnému zloženiu skúšok. Hlavní writeři :-) : • ajs • andree – http://andree.matfyz.cz/ • Hydrant • joshis / Petr Dvořák • kostej • nohis • tuetschek – http://tuetschek.wz.cz/ Úvodné verzie niektorých textov vznikli prepisom otázok vypracovaných „pí- somne na papierÿ, alebo inak ne-TEX-ovsky. Autormi týchto pôvodných verzií sú najmä nasledujúce osoby: gASK, Grafi, Kate (mat-15), Nytram, Oscar, Stando, xSty- ler. Časť je prebratá aj z pôvodných súborkových textov... Všetkým patrí naša/vaša vďaka. 2 Obsah 1 Logika 4 1.1 Logika – jazyk, formule, sémantika, tautologie . 4 1.2 Rozhodnutelnost, splnitelnost, pravdivost a dokazatelnost . 6 1.3 Věty o kompaktnosti a úplnosti výrokové a predikátové logiky . 11 1.4 Normální tvary výrokových formulí, prenexní tvary formulí prediká- tové logiky .
    [Show full text]
  • Menschen Märkte Medien Management
    Menschen Märkte Medien Management Berichte aus Forschung und Lehre 03/2007 Aspects of Digital Game Culture The Cases of Eastern Europe and China Sven Jöckel (Hrsg.) MMMM – 03/2007 Gaming Culture 2/111 Table of Content Foreword ...........................................................................................................................................3 Study 1 ...............................................................................................................................................5 Eastern European Gaming Cultures..........................................................................................6 1. Introduction..................................................................................................................................6 2. Digital games market in Eastern Europe..............................................................................7 3. Method of research ..................................................................................................................12 4. Results.........................................................................................................................................13 5. Conclusions ...............................................................................................................................26 6. Sources .......................................................................................................................................27 Study 2 .............................................................................................................................................28
    [Show full text]
  • Web Applications and the Hardware Abstraction Layer
    Web Applications Dilles, 09 Web Applications and the Evolution of the Hardware Abstraction Layer Jacob Dilles George Mason University March 15 2009 A computer is defined as a machine that manipulates data according to a list of instructions, however it has come to mean something more. Operating a modern Core class possessor that can perform 2.4 billion 64-bit operations per second (Intel Corporation, 2009) by listing one instruction at a time would not be very useful. However the first 1960 era computers, like the ENIAC, were only programmable with machine- code instructions entered by hand using switches and patch cables. This was not a significant problem at the time, when the longest program was 304 batch-operated instructions, took days to write and 5 to 10 seconds to run, and the punched card reader limited data input rate to 250 bytes per second. (Ballistic Research Laboratories, 1955). However computers grew more capable at an exponential rate while steadily decreasing in cost. By 1970 machines, like the relativity affordable DEC PDP-7 that were capable of fairly advanced timesharing, expedited the development of the operating system - an interface between the physical computer hardware and an abstract environment that allows more than one program to be run simultaneously. Due to the wide variety of hardware architecture at the time, early operating systems had to be written for a specific machine, and were not consistent or interchangeable between computer manufactures and models. In 1973 the Unix operating system developed at Bell Laboratories was ported from PDP-11/20 assembly to the C programming language, and 1 Web Applications Dilles, 09 could be used on any machine with a C compiler with minimal modification.
    [Show full text]
  • 42 a Hardware Abstraction Layer in Java
    1 A Hardware Abstraction Layer in Java 2 MARTIN SCHOEBERL, Vienna University of Technology 3 STEPHAN KORSHOLM, Aalborg University 4 TOMAS KALIBERA, Purdue University 5 ANDERS P. RAVN, Aalborg University 6 Embedded systems use specialized hardware devices to interact with their environment, and since they 7 have to be dependable, it is attractive to use a modern, type-safe programming language like Java to de- 8 velop programs for them. Standard Java, as a platform-independent language, delegates access to devices, 9 direct memory access, and interrupt handling to some underlying operating system or kernel, but in the 10 embedded systems domain resources are scarce and a Java Virtual Machine (JVM) without an underlying 11 middleware is an attractive architecture. The contribution of this article is a proposal for Java packages 12 with hardware objects and interrupt handlers that interface to such a JVM. We provide implementations 13 of the proposal directly in hardware, as extensions of standard interpreters, and finally with an operating 14 system middleware. The latter solution is mainly seen as a migration path allowing Java programs to co- 15 exist with legacy system components. An important aspect of the proposal is that it is compatible with the 16 Real-Time Specification for Java (RTSJ). 42 17 Categories and Subject Descriptors: D.4.7 [Operating Systems]: Organization and Design—Real-time 18 systems and embedded systems; D.3.3 [Programming Languages]: Language Constructs and Features— 19 Input/output 20 General Terms: Languages, Design 21 Additional Key Words and Phrases: Device driver, embedded system, Java, Java virtual machine 22 ACM Reference Format: 23 Schoeberl, M., Korsholm, S., Kalibera, T., and Ravn, A.
    [Show full text]