KLIKA-OS is small OS written in C and Asm. Some notable features:
- x86_64
- 2MB pages
- Scheduler (kernel and user space)
- Syscalls
- Blocking calls e.g. window_get_message (task WAIT state)
- Drivers: mouse, keyboard, vesa, ata, fat 12/16/32
- Double buffered vesa graphics
- GUI (window, button, label, image) in users space
Repository https://github.com/klikaba/klika-os already contains pre built CD and HD images. See readme.md for instructions how to run it with QEMU or VBox.
Contains small library for user apps. Code for basic GUI app looks like:
Code: Select all
#include <klika_os.h>
#include <windows.h>
#define MSG_USER_WIN (WINDOW_USER_MESSAGE + 1)
int main() {
message_t msg;
window_t *window = window_create(100, 100, 300, 300, "Simple Application", MSG_USER_WIN);
while(window_get_message(window, &msg)) {
window_dispatch(window, &msg);
}
return 0;
}