f163659f0cba282f5eb08ac2cdd14f91730d8892
kern.
Idk why i called it that it was 3am and i needed sleep
About
Kern is a 32-bit OS based on the x86 architecture written in NASM Assembly and C. I'm working on a basic command line as well as a custom unix-esque filesystem. It has a simple shell with some commands. (Use 'help' for a list of available ones)
Since there's always more to do, here are the todos.
Features
- Filesystem
- Interactive Shell
- Disk I/O
- Font support (funky format)
- 1920x1080 Resolution, 32bpp
- Physical memory manager
- Virtual memory manager
- Syscalls
Building & Running
If you want to try kern for some reason, you can.
Tools
Unix Like Systems
On MacOS
- A cross compiler:
$ brew tap nativeos/i386-elf-toolchain && brew install i386-elf-binutils i386-elf-gcc
Commands
$ make # Or 'make os'
$ make run # Run QEMU
I personally wouldn't recommend running this on real hardware, because it's untested and will just probably break you pc, but if you really want to, you can try it, but don't blame me if something goes wrong.
Some images
These images may be outdated, Idk
Known issues
- fillCircle() in graphics.h is broken. No idea why, so no filled circles for you (i commented out the boundaryFill call in the function)
- convertColor() doesn't work right, because i should be using floating point, but -mgeneral-regs-only doesn't let me :(
- The soundtest command and sleep commands cause an unknown exception. Sleep() syscall issue
- Not really an issue, bit QEMU's PIT is really slow and inacurate
Old Version
Languages
C
93.9%
Makefile
3.1%
Assembly
2%
Linker Script
1%


