Hobby OS for x86 (WIP)
Anar al arxiu
2022-10-21 18:05:00 +02:00
config Initrd multiboot module 2022-10-21 18:05:00 +02:00
scripts Initrd multiboot module 2022-10-21 18:05:00 +02:00
src Initrd multiboot module 2022-10-21 18:05:00 +02:00
.gitignore Initial code organization and GCC+binutils toolchain 2022-06-16 00:29:13 +02:00
LICENSE GPLv3 license 2022-06-16 00:37:28 +02:00
Makefile Initrd multiboot module 2022-10-21 18:05:00 +02:00
README.md Fixed typo 2022-10-19 13:45:23 +02:00
STYLE.md Basic code styling conventions 2022-08-25 20:39:02 +02:00

Quark

Hobby OS, multiboot-compliant

What is quark?

A quark is an elemental fermion described in the... Oh, the OS?

Quark is a work-in-progress open-source OS designed to be easily scalable. It has been my main project since June 16th.

But what does it do for now?

As I said, it's a WIP, so it's gonna be growing. But I have some planned milestones. Here they are:

Milestone 1: Basic kernel

  • x86-specific things
    • Interrupts (IDT, IRQ, ISR, PIC)
    • GDT
    • PIT timer
  • Basic VGA text mode output
  • PS/2 keyboard
  • UART drivers
  • Physical memory manager
  • Virtual memory manager
  • Virtual file system (mount and unmount capabilities)
  • QROFS file system

Milestone 2: Users, welcome

  • User space
  • Process management
  • ELF parser
  • Shell now is a user space program
  • Some drivers are now in user space

Milestone 3: Graphics

  • Basically everything about GUI and stuff

Milestone 4: Connections and security

  • Ethernet driver
  • IPv4 (or maybe v6?) stack
  • TCP/IP stack
  • Network application layer
    • HTTP
  • Criptography (with hardware acceleration)

Milestone 5: There you go! Free way!

  • Some WiFi drivers
  • USB drivers
  • Applications!
    • File manager
    • Web browser
    • Terminal
  • Package manager
  • Some outside-of-the-box stuff
    • A web page
      • Wiki
      • Downloads
      • Forums
    • Matrix community server

And more! (when we get there)

Are contributions accepted?

Yes, of course! Feel free to create an issue reporting a bug or requesting some feature. Or even do a pull request!

You can even fork this project, if you want to, and continue by your way (just make sure to keep GPLv3!)