TeachOS: Design and Implementation of an OS for Use in the Operating Systems Lecture Track

Gmür, Matteo and Imhof, Fabian (2025) TeachOS: Design and Implementation of an OS for Use in the Operating Systems Lecture Track. Other thesis, OST Ostschweizer Fachhochschule.

[thumbnail of FS 2025-BA-EP-Imhof-Gmür- TeachOS  Design and Implementation of an OS for Use in the.pdf] Text
FS 2025-BA-EP-Imhof-Gmür- TeachOS Design and Implementation of an OS for Use in the.pdf - Supplemental Material

Download (2MB)

Abstract

TeachOS is an operating System for the x86_64 CPU architecture. It is designed to be an interactive learning tool used in the «Operating Systems 1» and «Operating Systems 2» lecture track at OST.

As part of a previous thesis, a foundation in form of memory management, including physical and heap memory was created. Topics covered included parsing Multiboot2 information, implementing frame allocation and page tables, and using these components to remap the kernel. Based on this, dynamic memory allocation during kernel runtime was implemented using different allocation strategies.

This paper examines the core concept of context-switching in operating systems for the x86 processor architecture. To implement the context-switch mechanisms, multiple operating system concepts had to be researched and implemented. These concepts include Privilege Levels, the Global Descriptor Table, Interrupts and the Interrupt Descriptor Table and Procedure Calls.

To give the newly created access to user mode a purpose, the existing heap implementation has been expanded upon, by utilizing the ```cpp new``` and ```cpp delete``` operators in various data-structures. Additionally a separate user mode heap has been created, which is separated from the kernel mode heap via paging, and is dynamically extended when running out of memory.

This foundation can be extended in the future, by separating kernel-code and user-code binaries. Doing this allows for better separation of the different privilege levels inside the paging mechanism, which in turn better resembles real world operating systems, and thus better fulfills the primary goal of providing an operating system designed for education.

Item Type: Thesis (Other)
Subjects: Topics > Software
Area of Application > Academic and Education
Technologies > Operating Systems
Divisions: Bachelor of Science FHO in Informatik > Bachelor Thesis
Depositing User: OST Deposit User
Date Deposited: 29 Sep 2025 10:48
Last Modified: 29 Sep 2025 10:48
URI: https://eprints.ost.ch/id/eprint/1303

Actions (login required)

View Item
View Item