usenix conference policies
You are here
Running BSD Kernels as User Processes by Partial Emulation and Rewriting of Machine Instructions
A user-level operating system (OS) can be implemented as a regular user process on top of another host operating system. Conventional user-level OSes, such as User Mode Linux, view the underlying host operating system as a specific hardware architecture. Therefore, the implementation of a user-level OS often requires porting of an existing kernel to a new hardware architecture. This paper proposes a new implementation method of user-level OSes by using partial emulation of hardware and static rewriting of machine instructions. In this method, privileged instructions and their related non-privileged instructions in a native operating system are statically translated into subroutine calls that perform emulation. The translated instructions of the user-level OS are executed by both the real CPU and the partial emulator. This method does not require detailed knowledge about kernel internals. By using the proposed method, NetBSD and FreeBSD are executed as user processes on NetBSD and Linux.
author = {Hideki Eiraku and Yasushi Shinjo},
title = {Running {BSD} Kernels as User Processes by Partial Emulation and Rewriting of Machine Instructions},
booktitle = {BSDCon 2003 (BSDCon 2003)},
year = {2003},
address = {San Mateo, CA},
url = {https://www.usenix.org/conference/bsdcon-2003/running-bsd-kernels-user-processes-partial-emulation-and-rewriting-machine},
publisher = {USENIX Association},
month = sep
}
connect with us