kot-org / old-kot

A 64bits operating system in c++

Home Page:https://kot-org.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KotOS

A 64-bit x86 operating system written in C/C++

C/C++ CI

Discord Banner 3

Screenshots

Features

  • Architecture specific :
    • x86-64 :
      • PMM (physical memory manager)
      • VMM (virtrual memory manager)
      • GDT (global descriptor table)
      • IDT (interrupt descriptor table)
      • APIC (advanded programmable interrupt controller)
      • SMP (symetric multiprocessing)
      • SIMD (single instruction multiple data)
      • IO (input, ouput)
      • Atomic (lock system)
    • arm :
      • WIP (Work in process)
  • Architecture agnostic :
    • Kernel :
      • Serial (console)
      • Multitask (process and thread system)
      • Syscall
    • System :
      • UISD (Universal interface for services and drivers, our interface system for drivers and services)
      • elf loading
      • pass boot informations (like framebuffer, current architecture, ...)
    • Drivers :
      • Bus :
        • PCI/PCIe
        • PS2 (mouse and keyboard)
      • Graphics :
        • Orb, windows manager
      • Filesystem :
        • ext2 (read and write) | WIP
      • Net :
        • e1000 | WIP
      • Storage :
        • AHCI (don't support optical disk)
      • Time :
        • HPET (high precision event timer)
        • RTC (real time clock)
    • Services :
      • HID :
        • Mouse
        • Keyboard | WIP
      • Shell :
        • Input system | WIP
        • Output system | WIP
      • Storage :
        • GPT partitions
        • Communicate with filesystem drivers
        • VFS | WIP
      • Time :
        • Data centralization system for date and time
    • Libraries :
      • Libc :
        • Syscall functions
        • Miscellaneous
      • Libc++ :
        • Printf
        • Java
        • Json
        • Stack
      • Kot-graphics and kot-ui :
        • For graphical apps

Required Tools

  • Build Essential
  • Xorriso
  • LLVM 14
  • NASM
  • Qemu (optional)

Build it yourself

That's easy! Run make deps-debian to install all the required build tools listed before (only if you're building on Debian/Ubuntu) and then run make build to start the building process. Right after, make run will start KotOS in Qemu.

Run Kot

Download the latest release here and make it run on your x86-64 emulator such as qemu, bochs, vmware, virtual box, ...

Credits

About

A 64bits operating system in c++

https://kot-org.github.io

License:GNU General Public License v3.0


Languages

Language:C 57.5%Language:C++ 39.7%Language:Meson 1.2%Language:Makefile 0.7%Language:Assembly 0.6%Language:Python 0.3%Language:Java 0.0%Language:Shell 0.0%