Unicycle is a bare-metal OS, and bootloader is UEFI bootloader that runs the apps.
UEFI-based bootloader for Unicycle applications: UEFI bootloader that allows to load Unicycle application directly, without any support from operating system like Linux. This bootloader implements Uniboot protocol on top of UEFI specification. The bootloader supports booting from the same bootable device where bootloader.efi is located or loading from network using TFTP protocol.
Unicycle – unikernel application framework: Most modern day operating systems use idea of separating applications from kernel. Kernel has access to underlying hardware and resources. If some application needs access to the hardware (like network or disk) then it asks kernel to perform the action. Such separation to kernel vs userspace became dominant in 60s when computers were expensive and need to be shared between large number of users. And it works well for majority of use-cases. Though performing a context switch between userspace and kernel to make an action is not free. Heavy-loaded applications that need to make a large number of input/output operations spend quite a lot of time switching back and forth. But what if the application code lived in the kernel address space and thus the context switch can be avoided altogther? What if the application itself will take responsibilities on managing hardware directly? That is the main idea behind unikernel applications. And Unicycle project is a framework to create such applications. […]