skip to main content
10.1145/3124680.3124733acmconferencesArticle/Chapter ViewAbstractPublication PagesapsysConference Proceedingsconference-collections
research-article

Bash on Ubuntu on macOS

Published: 02 September 2017 Publication History

Abstract

Linux is a popular operating system (OS) as a production environment, while many developers prefer to use macOS for their daily development. One way to deal with this situation is running Linux in a virtual machine and the other is porting development environments from Linux to macOS. However, using a virtual machine has a resource sharing problem, and porting environments is costly and often incomplete. A promising approach to low-cost and seamless resource sharing is to develop a Linux compatibility layer for macOS. Unfortunately, existing methods of implementing OS compatibility layers lack robustness or flexibility. In this paper, we propose a new architecture of OS-compatibility layers. It allows user-space implementation of the core emulation layer in the host OS to improve robustness while maintaining the flexible and powerful emulation ability without heavily depending on the host OS kernel by exploiting virtualization technology. We implemented our approach and confirmed that Ubuntu's userland runs on macOS. Our experimental results show that our approach has reasonable performance for real world applications.

References

[1]
Apple. 2017. Hypervisor | Apple Developer Documentation. https://developer.apple.com/documentation/hypervisor. (2017). [accessed 2017-06-14].
[2]
Cygwin authors. 2017. Cygwin. https://www.cygwin.com. (2017). [accessed 2017-06-14].
[3]
Andrew Baumann, Paul Barham, Pierre-Evariste Dagand, Tim Harris, Rebecca Isaacs, Simon Peter, Timothy Roscoe, Adrian Schüpbach, and Akhilesh Singhania. 2009. The Multikernel: A New OS Architecture for Scalable Multicore Systems. In Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles. ACM, 29--44. https://doi.org/10.1145/1629575.1629579
[4]
Adam Belay, Andrea Bittau, Ali José Mashtizadeh, David Terei, David Mazières, and Christos Kozyrakis. 2012. Dune: Safe User-level Access to Privileged CPU Features. In Proceedings of the 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2012). 335--348.
[5]
LTP developers. 2012. LTP - Linux Test Project. https://linux-test-project.github.io/. (2012). [accessed 2017-06-17].
[6]
John R. Douceur, Jeremy Elson, Jon Howell, and Jacob R. Lorch. 2008. Leveraging Legacy Code to Deploy Desktop Applications on the Web. In Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2008). 339--354.
[7]
gyf304. 2016. MLton crashes and BSODs. https://github.com/Microsoft/BashOnWindows/issues/847. (2016). [accessed 2017-06-01].
[8]
Jack Hammons. 2016. Windows Subsystem for Linux Overview. https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/. (2016). [accessed 2017-06-14].
[9]
Brian N. Handy, Rich Murphey, and Jim Mock. 2017. Chapter 10. Linux Binary Compatibility. https://www.freebsd.org/doc/handbook/linuxemu.html. (2017). [accessed 2017-06-14].
[10]
Jon Howell, Bryan Parno, and John R. Douceur. 2013. Embassies: Radically Refactoring the Web. In Proceedings of the 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2013). 529--545.
[11]
Jon Howell, Bryan Parno, and John R. Douceur. 2013. How to Run POSIX Apps in a Minimal Picoprocess. In Proceedings of the 2013 USENIX Annual Technical Conference. 321--332.
[12]
Avi Kivity, Dor Laor, Glauber Costa, Pekka Enberg, Nadav Har'El, Don Marti, and Vlad Zolotarov. 2014. OSv - Optimizing the Operating System for Virtual Machines. In Proceedings of the 2014 USENIX Annual Technical Conference. 61--72.
[13]
Conor Hetland Kyle C. Hale and Peter Dinda. 2017. Multiverse: Easy Conversion of Runtime Systems into OS Kernels via Automatic Hybridization. In Proceedings of the 14th IEEE International Conference on Autonomic Computing (ICAC 2017).
[14]
Kelly Lucas and developers. 1989. Byte-UnixBench. https://github.com/kdlucas/byte-unixbench. (1989). [accessed 2017-06-17].
[15]
The Cloud Market. 2017. EC2 Statistics. http://thecloudmarket.com/stats. (2017). [accessed 2017-06-01].
[16]
MinGW.org. 2017. MinGW | Minimalist GNU for Windows. https://www.mingw.org. (2017). [accessed 2017-06-14].
[17]
Stack Overflow. 2016. Developer Survey Results. https://insights.stackoverflow.com/survey/2016. (2016). [accessed 2017-06-01].
[18]
Udo Steinberg and Bernhard Kauer. 2010. NOVA: A Microhypervisor-Based Secure Virtualization Architecture. In Proceedings of the 5th European Conference on Computer Systems (EuroSys 2010). 209--222. https://doi.org/10.1145/1755913.1755935
[19]
Phoronix Test Suite. 2017. Phoronix Test Suite. https://www.phoronix-test-suite.com/. (2017). [accessed 2017-06-17].
[20]
Xiangyan Sun. 2015. Foreign LINUX - Run unmodified Linux applications inside Windows. https://github.com/wishstudio/flinux. (2015). [accessed 2017-06-14].
[21]
W3Techs. 2017. World Wide Web Technology Surveys. https://w3techs.com/. (2017). [accessed 2017-06-01].

Cited By

View all
  • (2021)How to design a library OS for practical containers?Proceedings of the 17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3453933.3454011(15-28)Online publication date: 7-Apr-2021
  • (2020)A robust and flexible operating system compatibility architectureProceedings of the 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3381052.3381327(129-142)Online publication date: 17-Mar-2020
  • (2019)The Art of Bioinformatics Learning in Our Arabic WorldHighlights in BioScience10.36462/H.BioSci.20193(1-10)Online publication date: 12-Oct-2019
  • Show More Cited By

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
APSys '17: Proceedings of the 8th Asia-Pacific Workshop on Systems
September 2017
207 pages
ISBN:9781450351973
DOI:10.1145/3124680
Permission to make digital or hard copies of all or part 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 components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 September 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Operating System Compatibility
  2. Virtualization

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

APSys '17
Sponsor:

Acceptance Rates

APSys '17 Paper Acceptance Rate 27 of 51 submissions, 53%;
Overall Acceptance Rate 169 of 430 submissions, 39%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)14
  • Downloads (Last 6 weeks)1
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2021)How to design a library OS for practical containers?Proceedings of the 17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3453933.3454011(15-28)Online publication date: 7-Apr-2021
  • (2020)A robust and flexible operating system compatibility architectureProceedings of the 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3381052.3381327(129-142)Online publication date: 17-Mar-2020
  • (2019)The Art of Bioinformatics Learning in Our Arabic WorldHighlights in BioScience10.36462/H.BioSci.20193(1-10)Online publication date: 12-Oct-2019
  • (2019)Assessment of the Transparency of the Windows Subsystem for Linux (WSL)2019 International Conference on Software Security and Assurance (ICSSA)10.1109/ICSSA48308.2019.00015(60-69)Online publication date: Jul-2019

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media