Název:
Emulace syscallů v HelenOSu
Překlad názvu:
Syscall emulation support in HelenOS
Autoři:
Kabele, Vít ; Horký, Vojtěch (vedoucí práce) ; Tůma, Petr (oponent) Typ dokumentu: Diplomové práce
Rok:
2021
Jazyk:
eng
Abstrakt: [eng][cze] There are two main options for running a program intended for one oper- ating system on a different one. We can modify the program to use the API of the new OS. Alternatively, we can provide a compatibility layer in the new OS, transparent to the program, without changing the application. HelenOS ecosystem already allows the first. This thesis focuses on supporting the lat- ter. This thesis describes the kernel binary interface and analyses existing solutions on Linux, Windows, and specialised systems. Then we describe our prototype that transparently traps syscalls and emulates them. The emula- tion is implemented fully in userspace (except for a small kernel trampoline), and its code is executed in the context of the original application. The result allows running some of the unmodified Linux programs (focusing on GCC toolchain) on the x86_64 instance of the HelenOS system. 1Existují dva hlavní způsoby jak na jednom operačním systému spustit program určený pro jiný operační systém. Jedním z nich je modifikace samot- ného softwaru či jeho části pro cílové API. Druhý staví na poskytnutí vrstvy kompatibility transparentní z pohledu aplikace, tak aby aplikace nemusela být modifikována. První zmíněné již HelenOS umí, druhé realizujeme v této práci. Práce obsahuje popis binárního rozhraní kernelu a analýzu existujících řešení na Linuxu, Windowsu a dalších systémech. Zároveň popisuje imple- mentaci, která transparentně emuluje syscally. Emulace je implementovaná v userspace, s vyjímkou malé "trampolíny" v kernelu, a běží v kontextu emulo- vané aplikace. Výsledek umožňuje spouštění řady Linuxových utilit včetně GCC na platformě x86_64 v systému HelenOS. 1
Klíčová slova:
syscall emulation|HelenOS|POSIX; syscall emulation|HelenOS|POSIX