Skip to content

xxMichalPK/DiskOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DiskOS

DiskOS is a simple 32bit [maybe 64bit] operating system created for a school project. Its first purpose was to communicate with ATA hard drives in order to send commands to them but in the future I plan on adding more functionalities to it, like paging, file system support and maybe even a GUI.
DiskOS is mostly based on Queso Fuego's AmateurOS - https://github.com/queso-fuego/amateuros

Functionalities

State Functionality
✔️ Starting in 16bit real mode
✔️ Loading more sectors from disk to load the 2'nd stage of the bootloader
✔️ A20 Line
✔️ 32bit Protected Mode
✔️ Printing in pMode using assembly language
✔️ Loading kernel
✔️ Automatically setting needed sectors to load by the makefile
✔️ VESA support
✔️ Drawing shapes
✔️ printf implementation
✔️ Paging
✔️ Memory manager
Interrupt handling
Higher half kernel
Keyboard driver
Mouse driver
FAT32/EXT2 support
Other file system support

How to Build and Run

Requirements

  • gcc
  • nasm
  • qemu

Building and Running

To build and run DiskOS go into its main folder("DiskOS") and run "make".
DiskOS will be built and run automatically.

Screenshots

Booting process

Screenshoot 1 - Booting process Screenshoot 2 - Initializing Kernel

Graphics test

Screenshoot 3 - Graphics test