Skip to content
forked from Dentrax/DentOS

Experimental Stand-alone 32-bit Kernel with Bootloader written in AT&T Assembly and Freestanding C

License

Notifications You must be signed in to change notification settings

dheart-joe/DentOS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DentOS Kernel
============

My first experimental Stand-alone 32-bit Kernel with Bootloader, written in;

- x86 AT&T Assembly
- Freestanding C
- Rust (Soon)

...with features;

- 16-bit Bootloader
- 32-bit Protected Mode
- CPU ISR's IRQ's
- Assembly level inline function calls
- Primitive data types: ``bool``, ``uint8_t`` and other sizes
- Colorful printing
- ``printf()`` function

In order to build the OS image file, use ``make os-image.bin V=1``
To run the kernel on the ``qemu-system-x86_64``, use ``make run``
To clean project build files, use ``make clean``

SS: https://prnt.sc/mw1tiz
CI: https://travis-ci.org/Dentrax/DentOS

TOOLS:

  - GCC (for native building)
  - LD (for linking Bootloader)

TODO:

  - [KERNEL] Add ``scanf()`` function
  - [KERNEL] Add ``getch`` function
  - [KERNEL] Add keyboard IO features
  - [KERNEL] Add interrupt descriptor table
  - [KERNEL] Add global descriptor table
  - [KERNEL] Add timer interrupts
  - [KERNEL] Add 64 bit support

  - [USR] Add Rust binding betweeb kernel and usr level

The DentOS Kernel is provided under: GNU GPLv3

About

Experimental Stand-alone 32-bit Kernel with Bootloader written in AT&T Assembly and Freestanding C

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 49.1%
  • Assembly 26.6%
  • Makefile 14.6%
  • C++ 7.3%
  • Rust 2.4%