malwarepad / cavOS

💾 Amd64 operating system in C. Trying to make a full OS, with a simple and readable codebase!

Home Page:https://malwarepad.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cave-Like Operating System

Preview of the OS

Purpose

This is an OS I am making in my free time purely for fun. I am learning a bunch of things about OS development while writing it. I had no plans to make it a public project, but after a few suggestions I decided to do it.

Status

For now it has a basic, monolithic kernel and a few drivers built into it. In addition the whole shell is crammed up inside the kernel creating a very compact operating system.

Userspace status: I'm still trying to figure out what kind of design I will follow. In the meantime, system calls might be unreliable, so I'd suggest not relying on them...

To conclude everything, it needs a lot of polishing, time, and lines of code to be an OS that you could dual boot with your current installation.

Goals

Important to mention these goals may never be satisfied, take a very long time to be completed (we're talking years down the road) or may never be done at all. Furthermore, this list won't include every feature implemented or planned and can be changed at any time...

  • Architecture: x86 (Intel i386)
    • Interrupts: ISR, IRQ, GDT
    • Scheduling
    • Multitasking
  • Device drivers
    • ATA pio
    • PCI read
    • Serial driver
    • Keyboard
    • Mouse
  • Filesystems
    • Fat32: Read operations
    • Fat32: Write operations
    • Fat32: Full LFN support
  • Networking stack
    • RTL-8139 driver
    • RTL-8169 driver
    • ARP
    • UDP
    • IPv4
    • ICMP
    • DHCP
    • DNS
    • TCP
    • HTTP
  • Userspace
    • Some sort of LibC
    • cavOS Specific Toolchain
    • Move to ring3
    • ELF32 parsing
  • Interfaces
    • BIOS text
    • Kernel shell
    • Userland shell
    • Distinct characteristic shell
    • Vim port
    • IRC client
  • Graphics
    • VGA driver (leveraging VESA)
    • Full graphical userland switch

Compiling

Everything about this can be found over on docs/install.md. Go there for more info about building the OS correctly, cleaning unused binaries and other stuff.

License

This project is licensed under GPL v3 (GNU General Public License v3.0). For more information go to the LICENSE file.

About

💾 Amd64 operating system in C. Trying to make a full OS, with a simple and readable codebase!

https://malwarepad.com/

License:GNU General Public License v3.0


Languages

Language:C 94.8%Language:C++ 3.0%Language:Makefile 1.0%Language:Shell 0.6%Language:Assembly 0.5%Language:Python 0.1%