In the modern software development landscape, the demand for rapid development often outweighs concerns about low-level performance, leading to widespread adoption of platform-independent languages. Cross-platform compatibility is achieved through the use of virtual machines, which interpret intermediate bytecode rather than compiling directly to machine code. This thesis presents the design and implementation of a lightweight, cross-platform virtual machine tailored for executing procedural programs in terminal environments. Drawing conceptual inspiration from established virtual machine architectures, the project explores low-level system design, bytecode interpretation, and memory management. A key contribution is the development of a custom instruction set architecture, designed to reflect conventional processor principles while remaining compact and extensible. This ISA supports fundamental operations such as arithmetic, control flow, and memory access, enabling efficient execution of moderately complex programs. While the current implementation has limitations, such as restricted data structure support and constrained function scope, it provides a solid foundation for further development. The work highlights critical trade-offs in virtual machine design and contributes toward the creation of a platform-independent procedural programming language.
A Bytecode Virtual Machine
BATTISTI, FILIPPO
2024/2025
Abstract
In the modern software development landscape, the demand for rapid development often outweighs concerns about low-level performance, leading to widespread adoption of platform-independent languages. Cross-platform compatibility is achieved through the use of virtual machines, which interpret intermediate bytecode rather than compiling directly to machine code. This thesis presents the design and implementation of a lightweight, cross-platform virtual machine tailored for executing procedural programs in terminal environments. Drawing conceptual inspiration from established virtual machine architectures, the project explores low-level system design, bytecode interpretation, and memory management. A key contribution is the development of a custom instruction set architecture, designed to reflect conventional processor principles while remaining compact and extensible. This ISA supports fundamental operations such as arithmetic, control flow, and memory access, enabling efficient execution of moderately complex programs. While the current implementation has limitations, such as restricted data structure support and constrained function scope, it provides a solid foundation for further development. The work highlights critical trade-offs in virtual machine design and contributes toward the creation of a platform-independent procedural programming language.| File | Dimensione | Formato | |
|---|---|---|---|
|
Battisti_Filippo.pdf
accesso aperto
Dimensione
294.69 kB
Formato
Adobe PDF
|
294.69 kB | Adobe PDF | Visualizza/Apri |
The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License
https://hdl.handle.net/20.500.12608/91653