https://github.com/dentrax/dentos
Experimental Stand-alone 32-bit Kernel with Bootloader written in AT&T Assembly and Freestanding C
https://github.com/dentrax/dentos
assembly c c99 kernel operating-system os osdev standalone x86-os
Last synced: 14 days ago
JSON representation
Experimental Stand-alone 32-bit Kernel with Bootloader written in AT&T Assembly and Freestanding C
- Host: GitHub
- URL: https://github.com/dentrax/dentos
- Owner: Dentrax
- License: gpl-3.0
- Created: 2019-03-10T20:39:34.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-01-28T23:13:25.000Z (about 3 years ago)
- Last Synced: 2025-02-02T17:42:42.841Z (3 months ago)
- Topics: assembly, c, c99, kernel, operating-system, os, osdev, standalone, x86-os
- Language: C
- Homepage:
- Size: 1.72 MB
- Stars: 32
- Watchers: 4
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README
- License: LICENSE
Awesome Lists containing this project
README
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()`` functionIn 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/DentOSTOOLS:
- 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