Skip to content

falcon OS - A basic operating system targeting Intel x86 (IA-32) Architecture.

Notifications You must be signed in to change notification settings

ayaankhan98/falconOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

falcon OS - Minor Project Lab

Alt text here


falcon OS is a basic operating system from scratch aiming to follow Monolithic Kernel Architecture. It's a kind of hobby Operating System created out of interest in order to explore the fields of Kernel Development, System Programming, Thread safe Data Structures and Algorithms Design, Large Scale Software Design.

Features - so far what we have?

  • Segmentation based Memory architecture
  • PIC
  • Basic Device Drivers for Mouse and Keyboard
  • Basic Event System for Mouse and Keyboard
  • Interrupt and Exception Management
  • Device Management
  • Dynamic Memory Allocation
  • PCI
  • Basic System Calls
  • Basic GUI support of 320 x 200 with 8-bit color depth channel
  • Multitasking

Development Tools and Tech Stack

  • Intel x86 Assembly
  • C++ Toolchain
  • GNU Make
  • NASM and GAS Assembler
  • Xorriso and Grub for ISO image building
  • LLVM tools clang-format, clang-tidy
  • QEMU or Oracle Virtual Box or Bosch
  • Development Environment: Linux (Preffered)

Building

Arch Linux

Install GCC compiler

sudo pacman -Sy gcc

Install xorriso for ISO building

sudo pacman -Sy xorriso

Install mtools

sudo pacman -Sy mtools

Install NASM Assembler

sudo pacman -Sy nasm

Install Grub

sudo pacman -Sy grub

use Makefile to build kernel.iso target

make kernel.iso

once you have ISO file, run it in VBox or QEMU.

Ubuntu

install the same packages using apt package manager.


Contributors

Development Status

In Progress...

About

falcon OS - A basic operating system targeting Intel x86 (IA-32) Architecture.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published