C++ Runtime for HelenOS
C++ běhová podpora pro HelenOS
diploma thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/171762Identifiers
Study Information System: 201897
Collections
- Kvalifikační práce [11338]
Author
Advisor
Referee
Zavoral, Filip
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software Systems
Department
Department of Distributed and Dependable Systems
Date of defense
8. 2. 2022
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
C++|runtime|HelenOS|microkernelKeywords (English)
C++|runtime|HelenOS|microkernelAby operační systém podporoval běh programů napsaných v určitém programovacím jazyce, musí obsahovat běhové prostředí daného jazyka. Běhová prostředí různých programovacích jazyků se mohou lišit, ale obecně sestávají z nástroje umožňující samotný běh, jako například interpret nebo takzvaná runtime knihovna, a standardní knihovna obsahující funkce a typy použité daným programem. V této práci zhodnotíme, které části běhového prostředí jazyka C++ jsou nejvíce potřebné ke spouštění existujících programů napsaných v jazyce C++ a naimplementujeme je pro operační systém HelenOS. Následně naportujeme existující open-source program napsaný v C++ na ověření správnosti našeho vyhodnocení a implementace tohoto běhového prostředí.
In order for an operating system to support running programs written in any given programming language, it needs to provide a runtime environment for that language. The structure of the runtime varies depending on the language, but it generally consists of a tool allowing the program to run, which can be an interpreter or a runtime library, and a standard library providing functions and types used by the program. In this thesis we evaluate which parts of the C++ runtime are the most needed to support existing programs written in C++ and implement them for the HelenOS operating system. We then port an already existing open-source program written in C++ to verify the correctness of both our research and our implementation.