Skip to content
sky64redstonePublic

About

A learning by doing Operating System

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

29 Commits

Folders and files

Repository files navigation

OS

An Operating System for x86 architectures. Written in C and assembly (Intel Syntax)

screenshot of the OS running

Compiling

This project uses Makefiles with gcc, binutils and nasm to compile.
Tools you need:

  • gcc
  • ld
  • nasm
  • objcopy
  • qemu-system-i386
  • grub-file
  • xorriso
  • mformat

On arch linux:

# pacman -S gcc binutils nasm qemu-desktop grub xorriso mtools

Build and run the project

$ make

Remove build files

$ make clean

Disassemble the operating system

$ make dis

Components

Bootloader

The bootloader is located in the boot/ git submodule.

Kernel

The kernel is located in the kernel/ directory.
kmain() is the kernel entry and is implemented in the file kernel/kernel.c

CPU

Cpu architecture specific code is located in cpu/

Drivers

The drivers are located in the drivers/ directory.

About

A learning by doing Operating System

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages