Hardware Objects for Java

Martin Schoeberl, Christian Thalinger, Stephan Korsholm, A. Ravn
{"title":"Hardware Objects for Java","authors":"Martin Schoeberl, Christian Thalinger, Stephan Korsholm, A. Ravn","doi":"10.1109/ISORC.2008.63","DOIUrl":null,"url":null,"abstract":"Java, as a safe and platform independent language, avoids access to low-level I/O devices or direct memory access. In standard Java, low-level I/O it not a concern; it is handled by the operating system. However, in the embedded domain resources are scarce and a Java virtual machine (JVM) without an underlying middleware is an attractive architecture. When running the JVM on bare metal, we need access to I/O devices from Java; therefore we investigate a safe and efficient mechanism to represent I/O devices as first class Java objects, where device registers are represented by object fields. Access to those registers is safe as Java's type system regulates it. The access is also fast as it is directly performed by the bytecodes getfield and putfield. Hardware objects thus provide an object-oriented abstraction of low-level hardware devices. As a proof of concept, we have implemented hardware objects in three quite different JVMs: in the Java processor JOP, the JIT compiler CACAO, and in the interpreting embedded JVM SimpleRTJ.","PeriodicalId":378715,"journal":{"name":"2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-05-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"35","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISORC.2008.63","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 35

Abstract

Java, as a safe and platform independent language, avoids access to low-level I/O devices or direct memory access. In standard Java, low-level I/O it not a concern; it is handled by the operating system. However, in the embedded domain resources are scarce and a Java virtual machine (JVM) without an underlying middleware is an attractive architecture. When running the JVM on bare metal, we need access to I/O devices from Java; therefore we investigate a safe and efficient mechanism to represent I/O devices as first class Java objects, where device registers are represented by object fields. Access to those registers is safe as Java's type system regulates it. The access is also fast as it is directly performed by the bytecodes getfield and putfield. Hardware objects thus provide an object-oriented abstraction of low-level hardware devices. As a proof of concept, we have implemented hardware objects in three quite different JVMs: in the Java processor JOP, the JIT compiler CACAO, and in the interpreting embedded JVM SimpleRTJ.
Java硬件对象
Java作为一种安全且独立于平台的语言,避免访问低级I/O设备或直接访问内存。在标准Java中,低级I/O不是问题;它由操作系统处理。然而,在嵌入式领域,资源是稀缺的,没有底层中间件的Java虚拟机(JVM)是一种很有吸引力的体系结构。当在裸机上运行JVM时,我们需要从Java访问I/O设备;因此,我们研究了一种安全有效的机制,将I/O设备表示为第一类Java对象,其中设备寄存器由对象字段表示。对这些寄存器的访问是安全的,因为Java的类型系统规定了这一点。访问也很快,因为它是由字节码getfield和putfield直接执行的。因此,硬件对象为底层硬件设备提供了面向对象的抽象。作为概念证明,我们在三个完全不同的JVM中实现了硬件对象:在Java处理器JOP中,在JIT编译器CACAO中,在解释嵌入式JVM SimpleRTJ中。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信