Synit is an experiment in applying pervasive reactivity and object capabilities to the System Layer of an operating system for personal computers. https://synit.org/
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Tony Garnock-Jones 69637cb27a Bring synit up-to-date 4 months ago
art logos 4 months ago
experiments syndicate-system -> synit 1 year ago
notes Notes 8 months ago
packaging Bring synit up-to-date 4 months ago
protocols Generalize over mappings for sources and sinks 1 year ago
scripts Split out squeak management part 1 year ago
synit-pid1 syndicate-system -> synit 1 year ago
.gitignore Add pmbootstrap to .gitignore 2 years ago
MILESTONES.md Check check check 4 months ago
README.md Update README 8 months ago
TODO.md Phone call audio now configured correctly (in the Squeak codebase) 1 year ago
dirty-upload-synit-config.sh Don't want to restart this right now 1 year ago
run-scratch-system.sh Much work from recent days 1 year ago

README.md

SYNIT: A Reactive Operating System

Synit is an experiment in applying pervasive reactivity and object capabilities to the System Layer of an operating system for personal computers, including laptops, desktops, and mobile phones. Its architecture follows the principles of the Syndicated Actor Model.

Synit builds upon the Linux kernel, but replaces many pieces of familiar Linux software, including systemd, NetworkManager, D-Bus, and so on. It makes use of many concepts that will be familiar to Linux users, but also incorporates many ideas drawn from programming languages and operating systems not closely connected with Linux's Unix heritage.

Quickstart

If you have a mobile phone or computer capable of running PostmarketOS, then you can install the software to try it out. You can also run Synit inside a virtual machine.

See the installation instructions for a list of supported devices.

Documentation

See the Synit Manual.

Repository contents

  • synit-pid1/ is a small, simple Rust program implementing a minimal PID1 for the Synit system.

  • protocols/schemas/ contains schema definitions for the protocols used among the components of the system.

  • packaging/ contains Alpine (PostmarketOS) packaging scripts and supporting files for Synit components. The packages themselves live in packaging/packages/. A particularly interesting package is synit-config.

  • scripts/ contains support scripts for uploading and installing Synit packages on a target device.