skip to main content
10.1145/3297280.3297592acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Binary transformation of applications to run on bare PCs

Published:08 April 2019Publication History

ABSTRACT

Operating1 systems or kernels assist in running conventional applications. Bare machine computing (BMC) applications run on bare machines without using an operating system or a kernel. BMC applications are thus independent of any execution platform promoting longevity and reducing obsolescence. We investigate the binary transformation of conventional applications enabling them to run on bare machines. Three sample applications are used to demonstrate the binary transformation process and show the feasibility of our approach. Two Visual Studio applications are transformed to run on a bare PC and one large bare PC application binary is linked dynamically and transformed to run with a bare PC Web server. The transformation process and the dynamic linking of binary modules help to identify design and research issues. Our work lays a foundation to achieve the ultimate goal of making applications independent of computing platforms and environments.

References

  1. L. He, R. K. Karne, and A. L. Wijesinha, "The design and performance of a bare PC Web server," International Journal of Computers and Their Applications, IJCA, Vol. 15, No. 2, June 2008, pp. 100--112.Google ScholarGoogle Scholar
  2. H. Chang, R. K. Karne, and A. Wijesinha, "Migrating a Bare PC Web Server to a Multi-core Architecture," 40<sup>th</sup> Annual IEEE International Computer Software and Applications Conference (COMPSAC), 2016, pp. 216--221.Google ScholarGoogle Scholar
  3. B. Rawal, R. K. Karne, and A. L. Wijesinha. "Mini Web server clusters for HTTP request splitting," IEEE Conference on High Performance, Computing and Communications (HPCC), 2011, pp. 94--100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. P. Appiah-Kubi, R.K. Karne and A.L. Wijesinha, "A Bare PC TLS webmail Server," International Conference on Computing, Networking and Communications, (ICNC), 2012, pp. 156--160.Google ScholarGoogle Scholar
  5. W. Thompson, R. Karne, A. Wijesinha, and H. Chang, "Interoperable SQLite for a bare PC," Beyond Databases, Architectures and Structures Conference (BDAS), 2017, pp. 177--188.Google ScholarGoogle Scholar
  6. U. Okafor, R. K. Karne, A. L. Wijesinha and B. Rawal, "Transforming SQLite to Run on a Bare PC," 7th International Conference on Software Paradigm Trends (ICSOFT), 2012, pp. 311--314.Google ScholarGoogle Scholar
  7. F. Almansour, R. K. Karne, A. L. Wijesinha, R. Karne, and B. S. Rawal, "Ethernet bonding on a bare PC web server with dual NICs," 33<sup>rd</sup> Annual ACM Symposium on Applied Computing (SAC), 2018, pp. 1116--1121. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. WJRSofware-PEView, http://wjradburn.com/software/, {Accessed 9-24-18}.Google ScholarGoogle Scholar
  9. ObjDump, https://sourceforge.net/projects/objdump/, {Accessed 9-24-18}.Google ScholarGoogle Scholar
  10. PE Explorer, http://www.pe-explorer.com, {Accessed 9-24-18}.Google ScholarGoogle Scholar
  11. D. R. Engler and M.F. Kaashoek, "Exterminate all operating system abstractions," Fifth Workshop on Hot Topics in Operating Systems, USENIX, 1995, p. 78. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. Lange, et. al, "Palacios and Kitten: new high performance operating systems for scalable virtualized and native supercomputing," 24th IEEE International Parallel and Distributed Processing Symposium, 2010.Google ScholarGoogle Scholar
  13. GitHub --- ReturnInfinity/BareMetal-OS, https://github.com/ReturnInfinity/BareMetal-OS, {Accessed 9-24-18}.Google ScholarGoogle Scholar
  14. Linux Kernel Tinification, https://tiny.wiki.kernel.org/, {Accessed 9-24-18}.Google ScholarGoogle Scholar
  15. A Minimal Rust Kernel, https://os.phil-opp.com/minimal-rust-kernel/, {Accessed 9-24-18}.Google ScholarGoogle Scholar
  16. NDISWrapper, http://ndiswrapper.sourceforge.net, {Accessed 9-24-18}.Google ScholarGoogle Scholar
  17. V. Chipounov and G. Candea "Reverse engineering of binary device drivers with RevNIC," 5th ACM European Conference on Computer Systems (EUROSYS), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. B. Everard, "Drive it yourself: USB Car," LINUXVOICE, March 2015. https://www.linuxvoice.com/drive-it-yourself-usb-car-6/, {Accessed 9-24-18}.Google ScholarGoogle Scholar

Index Terms

  1. Binary transformation of applications to run on bare PCs

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        SAC '19: Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing
        April 2019
        2682 pages
        ISBN:9781450359337
        DOI:10.1145/3297280

        Copyright © 2019 Owner/Author

        Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 8 April 2019

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate1,650of6,669submissions,25%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader