Go to file
nakst a16658eed0 bitmap font renderer 2021-12-28 21:24:55 +00:00
apps bitmap font renderer 2021-12-28 21:24:55 +00:00
arch introduce Flag.PAUSE_ON_USERLAND_CRASH for easier debugging; fix list view selection index with sorted fixed items 2021-12-26 21:35:31 +00:00
boot/x86 add license header to source files 2021-11-09 20:49:34 +00:00
desktop bitmap font renderer 2021-12-28 21:24:55 +00:00
drivers bitmap font renderer 2021-12-28 21:24:55 +00:00
help documentation of build configuration options 2021-12-27 12:15:51 +00:00
kernel bitmap font renderer 2021-12-28 21:24:55 +00:00
ports set llvm=false flag on mesa 2021-12-27 14:06:32 +00:00
res bitmap font renderer 2021-12-28 21:24:55 +00:00
shared bitmap font renderer 2021-12-28 21:24:55 +00:00
util bitmap font renderer 2021-12-28 21:24:55 +00:00
.gitignore hide email 2021-08-13 21:22:26 +01:00
LICENSE.md add license header to source files 2021-11-09 20:49:34 +00:00
README.md organize help 2021-12-26 11:57:33 +00:00
start.sh rename bin/Generated Code to bin/generated_code 2021-12-17 13:51:42 +00:00

README.md

Essence — An Operating System

Screenshot showing the file manager, text editor, and bitmap image editor.

Video demonstration as of October 2021, running on real hardware: (YouTube)

Video demonstration as of October 2021.

For discussion, join our Discord server: https://discord.gg/skeP9ZGDK8

Alternatively, visit the forums (not very active): https://essence.handmade.network/forums.

To support development, you can donate to my Patreon: https://www.patreon.com/nakst.

Features

Kernel

  • Filesystem independent cache manager.
  • Memory manager with shared memory, memory-mapped files and multithreaded paging zeroing and working set balancing.
  • Networking stack for TCP/IP.
  • Scheduler with multiple priority levels and priority inversion.
  • On-demand module loading.
  • Virtual filesystem.
  • Window manager.
  • Audio mixer. (being rewritten)
  • Optional POSIX subsystem, capable of running GCC and some Busybox tools.

Applications

  • File Manager
  • Text Editor
  • IRC Client
  • System Monitor

Ports

  • Bochs
  • GCC and Binutils
  • FFmpeg
  • Mesa (for software-rendered OpenGL)
  • Musl

Drivers

  • Power management: ACPI with ACPICA.
  • Secondary storage: IDE, AHCI and NVMe.
  • Graphics: BGA and SVGA.
  • Read-write filesystems: EssenceFS.
  • Read-only filesystems: Ext2, FAT, NTFS, ISO9660.
  • Audio: HD Audio.
  • NICs: 8254x.
  • USB: XHCI, bulk storage devices, human interface devices.

Desktop

  • Custom user interface library.
  • Software vector renderer with complex animation support.
  • Tabbed windows.
  • Multi-lingual text rendering and layout with FreeType and Harfbuzz.

Building

See help/Building.md for a description of how to build and test the system.