KeOS
KAIST educational Operating System (KeOS) and KAIST educational Virtualization (KeV)
Install / Use
/learn @casys-kaist/KeOSREADME
OS-projects
This repository contains KeOS (KAIST Educational Operating System) project and its virtualization extension KeV (KAIST Educational Virtualization).
Important Notes
-
Do not share or publish your code.
Public forks and redistribution of this repository are strictly prohibited by the project license. Any unauthorized disclosure, including public forks, will result in severe penalties, including zero credit for all projects.
-
During grading, all files except those explicitly whitelisted for each project will be replaced with the original versions.
Your implementation must compile and pass all test cases without modifying restricted files. Submissions that fail to meet these requirements may receive no credit for the affected components.
Requirements
- Processor
- A minimum of a 4-core x86_64 intel processor with Broadwell microarchitecture or newer is required. The CPU must also have hardware virtualization enabled.
- Memory (RAM)
- Minimum: 2 GiB or more
- Optimal: 4 GiB
- Host OS
- Supported: Ubuntu 24.04 LTS
KeOS: KAIST Educational Operating System
KeOS is an educational project designed to help students learn core operating system concepts by implementing a minimal yet functional kernel from the ground up.
Note: KeOS is an individual project. All work must be completed independently.
getting started
$ mkdir keos
$ cd keos
$ curl https://raw.githubusercontent.com/casys-kaist/keos/refs/heads/main/scripts/install-keos.sh | sh
Projects
KeOS consists of five sequential projects, each building on the last. You will implement the concepts covered in the class on each project, reinforcing your understanding through hands-on development.
- System Call – Interface between user applications and the kernel
- Memory Management – Basic memory management and user-space execution
- Advanced Memory Management – Implementation of advanced memory management
- Process Management – Advanced multi-threaded and process control
- File System – File system with Journaling
For detailed instructions and documentation, refer to the KeOS Manual.
KeV: KAIST Educational Virtualization
KeV is an educational project designed to help students learn core virtualization concepts by implementing a minimal yet functional type-2 hypervisor from the KeOS project.
Note: KeV is an individual project, except for last project. Projects except the last one must be completed independently.
getting started
$ mkdir kev
$ cd kev
$ curl https://raw.githubusercontent.com/casys-kaist/keos/refs/heads/main/scripts/install-kev.sh | sh
Projects
- KeOS
- VMCS and VMExits
- Hardware Virtualization
- Interrupt and I/O Virtualization
- Final Project
For detailed instructions and documentation, refer to the KeV Manual.
Ignore
b7902a7412af5ddbe0da6399d1b89e0385d5c0bf5696ba54c35431eb98d5e37a
<!-- Release Version: v1.1.0 (2026-2-27) -->