Jump to content

Bare machine computing

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Hamdan-2006 (talk | contribs) at 15:29, 10 November 2017. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Bare Machine Computing (BMC) is a new programming paradigm based on Bare Machine and also on a BMC programming concept. It assumes a bare machine that has no software loaded prior to running its application and it does not have any persistent storage. The BMC programming involves an application program itself managing all its needed resources in the hardware. The application program is a single or a small set of application suite that constitutes a single executable having one address space. This application suite boots, loads and runs its program without requiring any other software components or third party vendor software. This program does not have any centralized kernel or conventional OS structure to facilitate its execution. This application is a self-contained, self-managed and self-controlled entity. The application suite only contains minimal functionality as needed and controlled by its user. There is no privileged mode in the system, it only runs in user mode. As the code is statically compiled, there is no dynamic way to alter the program flow in the system. The application suite has inherent security by its design principles.

History

Since the inception of a computer, Bare Machine concept has been in existence and it was used for computer applications to directly communicate to hardware. As the applications grown larger and varied in their domains, operating systems (OSs) evolved and served as middle-ware between hardware and applications to provided hardware abstractions. Operating systems have grown immensely in their size and complexity resulting in new trends, such as Microkernel, Exokernel , Tiny-OS, OS-Kit [1], Palacio and Kitten [2],IO_Lite [3] , bare-metal Linux , IBM-Libra and other lean kernels. In addition to the above trends, many embedded systems evolved over the time, where small and dedicated portion of OS and a given set of applications are closely integrated with hardware. Cell phone, Smart phones and IPAD are examples of such embedded systems. There is also a myriad of industrial control and gaming applications that directly communicate to bare machine, where the hardware is not open to run other applications. In most of these systems, the bare machine is no open to public to run general purpose applications. Bare machine computing originated with application object (AO) concept [4] invented by Dr. Karne at Towson University. Dr. Karne along with Dr. Wijesinha at Towson University developed numerous large applications to study the feasibility of the BMC paradigm for real systems. This work led into many reputed publications and doctoral dissertations. This concept evolved over the years into dispersed operating systems (DOSC) [5]and eventually into the BMC paradigm.

BMC VS. Conventional Computing

In many ways BMC differs from conventional computing. It does not have any centralized kernel or OS running during its execution. The bare machine does not have any ownership or valuable resources. The bare machine can be used to run any general purpose computing applications. Considering these features and others, it is evident that these characteristics are not inherent in conventional computing including: embedded systems and system on a chip (SOC) . In addition, the BMC concept is a minimalistic approach [6] to achieve simplicity, smaller code sizes and security by obscurity.

BMC Applications and Research

Using the BMC paradigm, numerous complex applications have been developed that run on bare PCs. Some of these applications include: Webserver [7], Split Servers [8] [9] , VoIP [10] , SIP server [11] ,Email [12], Webmail [13], Security protocols [14] [15], File Systems [16] [17] [18], RAID [19], transformed bare SQLite [20] [21] and so on. Some research on transforming conventional applications [22] that run on Windows or Linux to bare PCs have been successfully demonstrated the large potential for BMC paradigm.

References

  1. ^ “The OS Kit Project,” School of Computing, Universi-ty of Utah, Salt Lake, UT, June 2002, http://www.cs.utah.edu/flux/oskit.
  2. ^ J. Lange et al, “Palacios and Kitten: New high perfor-mance operating systems for scalable virtualized and native supercomputing,” 24th IEEEInternational Paral-lel and Distributed Processing Symposium (IPDPS), 2010, pp. 1-12
  3. ^ V. S. Pai, P. Druschel, and W. Zwaenepoel, “IO-Lite: A unified I/O buffering and caching system,” ACM Transactions on Computer Systems, Vol.18 (1), Feb. 2000, pp. 37-66.
  4. ^ R.K. Karne, “Object-oriented computer architectures for new generation of applications, Computer Architec-ture News,” December 1995, Vol. 23, No. 5, pp. 8-19.
  5. ^ Karne, R.K, Venkatasamy, K, Ahmed, T. Dispersed Operating System Computing (DOSC), Onward Track, OOPSLA 2005, San Diego, CA, October 2005.
  6. ^ S. Soumya, R. Guerin and K. Hosanagar, “Functionality - rich vs. Minimal ist Platforms: A Two - sided Market Analysis,” ACM Computer Communication Review, vol. 41, no. 5, pp. 36 - 43, Sept. 2011.
  7. ^ He, L., Karne, R. K., Wijesinha, A.L., and Emdadi, A. Design and Performance of a Bare PC Web Server, International Journal of Computers and Their Applications (IJCA), June 2008.
  8. ^ B. Rawal, R. K. Karne, and A. L. Wijesinha. Splitting HTTP Requests on Two Servers, The Third International Conference on Communication Systems and Networks: COMSNETS 2011, January 2011, Bangalore, India.
  9. ^ B. Rawal, R. K. Karne, and A. L. Wijesinha. “Mini Web server clusters for HTTP request splitting,” IEEE Inter-national Conference on High Performance Computing and Communications (HPCC), pp. 94-100.
  10. ^ G. H. Khaksari, A. L. Wijesinha, R. K. Karne, L. He, and S. Girumala, “”A peer-to-peer bare PC VoIP appli-cation,” 4th IEEE Consumer Communications and Networking Conference (CCNC), 2007, pp. 803-807.
  11. ^ A. Alexander, R. Yasinovskyy, A. Wijesinha, and R. Karne, "SIP Server Implementation and Performance on a Bare PC," International Journal in Advances on Telecommunications, vol. 4, no. 1 and 2, 2011.
  12. ^ Ford,G.H., Karne, R.K., Wijesinha, A.L., and Appiah-Kubi, P. The Design and Implementation of a Bare PC Email Server,33rd Annual IEEE International Computer Software and Applications Conference (COMPSAC 2009), Seattle, Washington, July 2009, p480-485.
  13. ^ P. Appiah-kubi, R. K. Karne, and A. L. Wijesinha. The Design and Performance of a Bare PC Webmail Server, The 12th IEEE International Conference on High Performance Computing and Communications, AHPCC 2010, Sept 1-3, 2010, Melbourne, Australia, p521-526.
  14. ^ N. Kazemi, A. L. Wijesinha, and R. Karne. Design and Implementation of IPsec on a Bare PC, 2nd International Conference on Computer Science and its Applications (CSA), 2009.
  15. ^ A. Emdadi, R. K. Karne, and A. L. Wijesinha. Implementing the TLS Protocol on a Bare PC, ICCRD2010, The 2nd International Conference on Computer Research and Development, Kaula Lumpur, Malaysia, May 2010.
  16. ^ W. V. Thompson, H. Alabsi, R. K. Karne, S. Linag, A.L. Wijesinha, R. Almajed, and H. Chang, A Mass Storage System for Bare PC Applications Using USBs, International Journal on Advances in Internet Technology, vol 9, no 3 and 4, year 2016. p63-74.
  17. ^ W. Thompson, R. Karne, A. Wijesinha, H. Alabsi, and H. Chang, Implementing a USB File System for Bare PC Applications, ICIW 2016: The Eleventh International Conference on Internet and Web Applications and Services, p58-63.
  18. ^ S.Liang, R. K. Karne, and A.L.Wijesinha., A Lean USB File System For Bare Machine Applications, The Proceedings of the 21st International Conference on Software Engineering and Data Engineering, ISCA, June 2012, pp.191-196.
  19. ^ H. Z. Alabsi, W. V. Thompson, R. K. Karne, A. L. Wijesinha, R. Almajed, F. Almansour, A Bare Machine RAID File System for USBs, SEDE 2017: 26th International Conference on Software Engineering and Data Engineering, pp 113-118.
  20. ^ W. Thompson, R. K. Karne and A.L. Wijesinha, Interoperable SQLite for a Bare PC, 13th International Conference Beyond Database Architectures and Structures (BDAS'17), 2017, p177-188.
  21. ^ U. Okafor, R. K. Karne, A. L. Wijesinha and B. Rawal Transforming SQLITE to Run on a Bare PC, In Proceedings of the 7th International Conference on Software Paradigm Trends, pages 311-314, Rome, Italy, July 2012.
  22. ^ A. Peter, R. Karne, A. Wijesinha, and P. Appiah-Kubi, Transforming a Bare PC Application to Run on an ARM Device, IEEE SoutheastCon, April 4-7, Jacksonville, FL, 2013.