Hoshi Operating System icon

Hoshi 星 is an custom hobby operating system for the x86_64 platform. It’s not Linux but it is POSIX -compatible and runs on a custom kernel named Yukiko 幸子. It is written from scratch in C, including the kernel, standard library and all major components.

Hoshi development started in 2015.

Requirements

  • x86_64 CPU.
  • 256MB RAM.

Features

  • boots from an MBR using a custom bootloader.
  • has a Graphical User Interface with APIs.
  • multithreading.
  • has a network stack supporting IPv4 and IPv6 , DNS, ICMP, UDP and TCP.
  • supports the ISO 9660 filesystem, FAT32 and a custom filesystem named HOFS (Hoshi File System) that can store Hoshi-specific metadata.
  • implements the POSIX API using a custom C library.
  • the GNU toolchain (binutils and GCC ) can run natively on Hoshi.
  • can be compiled on a modern system using GCC 10.
  • Universal Serial Bus (USB) EHCI and xHCI support.
  • Symmetric Multiprocessing (SMP).
  • audio support and drivers.
  • runs Doom and Quake.
  • has an Internet Relay Chat (IRC) client.
  • has a Mail client with support for POP3 and SMTP.
  • has a custom web browser.

Hardware

  • Graphics: BGA for now.
  • Input devices: PS/2 mouse and keyboard.
  • PCI , VGA text mode, APIC .
  • Storage devices: AHCI and IDE.
  • Ethernet cards: Intel PRO/1000 (82540EM/82545EM) and AMD PCNet (Am79C970A/Am79C973).

Boots and runs on bare-metal and VirtualBox , QEMU or VMware .

Ports

Applications

  • Coreutils written from scratch.
  • Text file editor.
  • Code editor with syntax highlighting.
  • Internet Relay Chat client.
  • Painter, painting application.
  • SysInfo, reporting various system information.
  • Mail client.
  • Terminal.
  • Calculator.
  • Font viewer.
  • Image viewer with support for PNG and JPEG.
  • Todo and contacts.

Games

  • 2048
  • Mines
  • Tetris
  • Breakout
  • Doom
  • Space Invaders
  • Pacman
  • Quake
  • Memory

Components

Akimitsu

Akimitsu 昭光 is the GUI compositor and window manager.

Hosh

HoSH is the simple POSIX-compatible Hoshi shell.

Keiko

Keiko 恵子 is the network manager.

Masashi

Masashi 雅志 is the bootloader.