TY - GEN
T1 - A robust and flexible operating system compatibility architecture
AU - Saeki, Takaya
AU - Nishiwaki, Yuichi
AU - Shinagawa, Takahiro
AU - Shinichi, Honiden
N1 - Publisher Copyright:
© 2020 ACM.
PY - 2020/3/17
Y1 - 2020/3/17
N2 - Running applications for one operating system (OS) on another OS is useful in many cases. However, porting applications requires high development costs and running applications in a virtual machine poses resource sharing problems. A promising approach is to use an OS compatibility layer that converts the guest application's interface into the host one. Unfortunately, existing OS compatibility layers sacrifice either robustness or flexibility due to in-kernel subsystems or user-space-only implementations. This paper proposes a new architecture of OS compatibility layers that achieves robustness with almost user-level implementations while improving flexibility by exploiting standardized virtualization interfaces supported by most modern OSs. Our implementation of a Linux compatibility layer for macOS called Noah can run many of Ubuntu Linux binary applications, and a prototype implementation of a Linux compatibility layer for Windows confirmed the generality of our approach. Our experimental results demonstrated that the overhead of Linux kernel build time on Noah was 16%.
AB - Running applications for one operating system (OS) on another OS is useful in many cases. However, porting applications requires high development costs and running applications in a virtual machine poses resource sharing problems. A promising approach is to use an OS compatibility layer that converts the guest application's interface into the host one. Unfortunately, existing OS compatibility layers sacrifice either robustness or flexibility due to in-kernel subsystems or user-space-only implementations. This paper proposes a new architecture of OS compatibility layers that achieves robustness with almost user-level implementations while improving flexibility by exploiting standardized virtualization interfaces supported by most modern OSs. Our implementation of a Linux compatibility layer for macOS called Noah can run many of Ubuntu Linux binary applications, and a prototype implementation of a Linux compatibility layer for Windows confirmed the generality of our approach. Our experimental results demonstrated that the overhead of Linux kernel build time on Noah was 16%.
KW - flexibility
KW - operating system compatibility architecture
KW - robustness
KW - virtualization
UR - http://www.scopus.com/inward/record.url?scp=85082865258&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85082865258&partnerID=8YFLogxK
U2 - 10.1145/3381052.3381327
DO - 10.1145/3381052.3381327
M3 - Conference contribution
AN - SCOPUS:85082865258
T3 - VEE 2020 - Proceedings of the 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments
SP - 129
EP - 142
BT - VEE 2020 - Proceedings of the 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments
PB - Association for Computing Machinery, Inc
T2 - 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE 2020
Y2 - 17 March 2020
ER -