Dynamic binary translators (DBTs) are becoming increasingly important because of their power and flexibility. DBT-based services are valuable for all types of platforms. However, the high memory demands of DBTs present an obstacle for embedded systems. Most research on DBT design has a performance focus, which often drives up the DBT memory demand. In this dissertation, we propose a memory-oriented approach to DBT design. We consider the class of translation-based DBTs and their sources of memory demand - cached translated code, cached auxiliary code and DBT data structures. We explore aspects of DBT design that impact these memory demand sources and propose strategies to mitigate memory demand. We also explore optimizations for DBTs that handle memory demand by placing a limit on it, thereby replacing the memory demand problem with a performance degradation problem. Our optimizations that mitigate memory demand reduce the performance degradation. Additionally, we design approaches specific to these memory-limited DBTs.
展开▼