Skip to content

GravisZro/SystemX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

System X

System X is a modernized implementation of a POSIX system. It can replace both UNIX System V and Linux's Systemd or be partly used to supplement an existing system.

Goals

The goals for System X are derived from the wisdom I've gained from experience as well as the wisdom of the Unix philosophy.

  • Small footprint - The entire system should fit on a floppy.
  • Portability - Only rely on POSIX, C++ and statically linked platform libraries with the same restrictions.
  • Multi-platform support - At compile-time, use custom code to support specific kernels when most beneficial.
  • Fault tolerance - Recover from errors or fail gracefully but don't hang or crash.
  • Modular but integrated - Components should be trivial to replace and able to work together or function independently.
  • Text, not binaries - Configuration and log files should be readable with a generic text editor.
  • Well documented - Generated documentation and code comments are not sufficient.

Non-POSIX Defined Components

System X components currently being worked on.

System Components

  • Service Connector File System - A FUSE filesystem to manage service sockets.
  • Initializer - A minimal init system that ensures the SCFS is mounted, Config daemon runs then Director daemon runs or bails out to an emergency shell.
  • Executor - A small tool to setup an environment for and then execute a program.
  • Director Daemon - A dependency and runlevel based daemon management daemon.
  • Configuration Daemon - Abstracts /etc configuration file interface/notifies of configuration updates.
  • System Logger Daemon - A RFC compliant system logger that logs in an efficient searchable text format.
  • Logging Daemon - A reliable file logger that refuses to fail.
  • Event Daemon - A hardware event notification daemon.
  • Device Daemon - A devfs maintenance daemon.

Development Components

  • Public Domain Toolkit - A minimalist event-driven toolkit that can be compiled into any program.
  • Incanto - A code generator for using sockets in SCFS as an IPC mechanism.

About

System X - UNIX for the modern age

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published