作为中央系统服务的运行时代码生成

Michael Franz
{"title":"作为中央系统服务的运行时代码生成","authors":"Michael Franz","doi":"10.1109/HOTOS.1997.595192","DOIUrl":null,"url":null,"abstract":"We are building an operating system in which an integral run time code generator constantly strives to improve the quality of already executing code. Our system is based on a platform independent software distribution format twice as dense as Java byte codes that is translated into native code only at the time of loading. This initial translation happens in a single burst and puts compilation speed ahead of code quality, so that program execution can commence immediately. However, the native code generated during loading will usually not be executed for long. Immediately after a program has started running, its code image becomes a candidate for reoptimization. A background process that executes only during otherwise idle processor cycles continuously recompiles parts of the already running system, guided by run time profiling data, and is able to substitute already executing code in situ. This reoptimization encompasses not only user programs, but also many of the system libraries, eventually combining an application program and most of its dynamically loaded extensions and libraries into a single, fully cross optimized, quasi monolithic code image. Our system is thereby able to provide the efficiency of statically optimized software in spite of being extensible at run time.","PeriodicalId":176246,"journal":{"name":"Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133)","volume":"69 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1997-05-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"17","resultStr":"{\"title\":\"Run-time code generation as a central system service\",\"authors\":\"Michael Franz\",\"doi\":\"10.1109/HOTOS.1997.595192\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We are building an operating system in which an integral run time code generator constantly strives to improve the quality of already executing code. Our system is based on a platform independent software distribution format twice as dense as Java byte codes that is translated into native code only at the time of loading. This initial translation happens in a single burst and puts compilation speed ahead of code quality, so that program execution can commence immediately. However, the native code generated during loading will usually not be executed for long. Immediately after a program has started running, its code image becomes a candidate for reoptimization. A background process that executes only during otherwise idle processor cycles continuously recompiles parts of the already running system, guided by run time profiling data, and is able to substitute already executing code in situ. This reoptimization encompasses not only user programs, but also many of the system libraries, eventually combining an application program and most of its dynamically loaded extensions and libraries into a single, fully cross optimized, quasi monolithic code image. Our system is thereby able to provide the efficiency of statically optimized software in spite of being extensible at run time.\",\"PeriodicalId\":176246,\"journal\":{\"name\":\"Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133)\",\"volume\":\"69 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1997-05-05\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"17\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/HOTOS.1997.595192\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HOTOS.1997.595192","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 17

摘要

我们正在构建一个操作系统,其中集成的运行时代码生成器不断努力提高已执行代码的质量。我们的系统基于独立于平台的软件分发格式,其密度是Java字节码的两倍,仅在加载时才转换为本机代码。这种初始翻译在一次突发中发生,并将编译速度置于代码质量之前,因此程序可以立即开始执行。但是,加载过程中生成的本机代码通常不会执行很长时间。程序开始运行后,其代码映像立即成为重新优化的候选对象。只在空闲的处理器周期中执行的后台进程,在运行时分析数据的指导下,不断地重新编译已经运行的系统的部分代码,并能够替换已经在原地执行的代码。这种重新优化不仅包括用户程序,还包括许多系统库,最终将应用程序及其大多数动态加载的扩展和库组合成一个单一的、完全交叉优化的准单片代码映像。因此,我们的系统能够提供静态优化软件的效率,尽管在运行时是可扩展的。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Run-time code generation as a central system service
We are building an operating system in which an integral run time code generator constantly strives to improve the quality of already executing code. Our system is based on a platform independent software distribution format twice as dense as Java byte codes that is translated into native code only at the time of loading. This initial translation happens in a single burst and puts compilation speed ahead of code quality, so that program execution can commence immediately. However, the native code generated during loading will usually not be executed for long. Immediately after a program has started running, its code image becomes a candidate for reoptimization. A background process that executes only during otherwise idle processor cycles continuously recompiles parts of the already running system, guided by run time profiling data, and is able to substitute already executing code in situ. This reoptimization encompasses not only user programs, but also many of the system libraries, eventually combining an application program and most of its dynamically loaded extensions and libraries into a single, fully cross optimized, quasi monolithic code image. Our system is thereby able to provide the efficiency of statically optimized software in spite of being extensible at run time.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
General purpose proxies: solved and unsolved problems Preventing denial-of-service attacks on a /spl mu/-kernel for WebOSes Security for extensible systems Secure applications need flexible operating systems Self-monitoring and self-adapting operating systems
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1