Skip to content

jjwang/HanOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0bc5d95 · Mar 19, 2025
Jul 28, 2024
Jan 18, 2025
Mar 19, 2025
Mar 19, 2025
Jun 30, 2024
Sep 24, 2023
Mar 19, 2025
Feb 4, 2025
Mar 19, 2025
Jul 16, 2022
Jan 18, 2025
Jan 18, 2025
Dec 7, 2024
Feb 12, 2025

Repository files navigation

HanOS - Microkernel-based General Purpose Operating System

English | 中文

Codacy Badge

Design as below

  • Bootloader: Limine is used to get the kernel running as quickly possible. Limine boot protocol is chosed by HanOS.
  • CPU mode: x86-64 Long Mode is supported in HanOS. HanOS does not has plan to support other x86 modes.
  • GUI: GUI will not be the 1st priority for HanOS. But HanOS will port some GUI libraries in the future.

Progress update

  • Framebuffer based terminal and kernel log system
  • Initialize GDT and IDT to handle exceptions
  • Physical memory allocator and virtual memory manager
  • Parse ACPI tables and initialize MADT
  • Start up all CPUs
  • Set up APIC(Advanced Programmable Interrupt Controller) interrupt controller
  • Read RTC time from CMOS and configure HPET timer
  • Scheduling driven by APIC timer
  • Keyboard/mouse driver and command line interface
  • VFS, FAT32 and RAMFS file system. RAMFS is for loading and executing program from ELF file
  • Tasks of kernel and user space
  • Background image display for command line interface
  • Implement syscalls for bash and other system tools
  • Simple userspace shell apps ported from xv6

Fonts

bdf2psf gohufont-14.bdf /usr/share/bdf2psf/standard.equivalents /usr/share/bdf2psf/ascii.set 256 gohufont-14.psf

How to run

  • The disk image file - "hdd.img" in release folder can be used for test.

qemu-system-x86_64 -enable-kvm -serial stdio -M q35 -m 1G -smp 2 -no-reboot -rtc base=localtime -drive id=handisk,if=ide,format=raw,bus=0,unit=0,file=hdd.img

  • Execute "doxygen Doxygen" in root folder and "make" in "latex" folder to generate manual.pdf.

About

Microkernel-based General Purpose Operating System #Hobby OS#

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published