CMPSC 293C Plumbing for CS: Virtual Machines, Binary Translators, Linkers, and Other Strange Animals
This class covers essential components of today’s computing environment, which we all use and take for granted but do often not understand very well. We will look at different types of virtual machines, i.e., process and system VMs, with a particular focus on high-level VMs (e.g., the Java JVM) and dynamic translators and how to make them run efficiently. In addition, we will touch on some other cool system tools, such as linkers or debuggers, and their internals.