# Getting Started with OneOS
## Overview
**OneOS** is a distributed operating system based on a **pseudokernel** architecture. The pseudokernel is implemented as a network of communicating middleware services, which collectively appear as a single POSIX-based operating system.
The architecture is similar to platforms like **Kubernetes**, **Kafka**, and **Flink**, including control-plane components for orchestration tasks such as job placement. However, OneOS distinguishes itself by **preserving the POSIX interface**, allowing unmodified user applications to run in a distributed environment.
OneOS supports flow-based programming via familiar POSIX APIs (e.g., files, sockets). For example:
```bash
oneos-cat file.txt | oneos-grep "error"If you're planning to build or contribute to OneOS, here's how the repository is structured:
/src
├── /OneOS # Core system components
├── /OneOS-Core # CLI entry point
├── /OneOS-WebTerminal # Web-based GUI (OneOS Desktop)
OneOS.sln # Visual Studio solution file
- Core system: C#
- Web interface: JavaScript (Vue + Express)
Visit the Releases page and download the binary appropriate for your system.
Virus Detection Warning
If you get a"Failed - Virus detected"error:• Go to
Windows Security > Virus & Threat Protection > Manage Settings
• Temporarily disable Real-time protection
• Download and exclude the file from protection
• Re-enable Real-time protection if needed
Move the downloaded file to a safe location, such as:
C:\OneOS\bin\
Rename the binary to:
oneos.exe
To run oneos from any terminal:
- Open System Properties > Environment Variables
- Under System Variables, find and edit
Path - Add the following entry:
C:\OneOS\bin\
Open Command Prompt and type:
oneosExpected output:
Example: oneos host -mount=/home/user/.oneos
Available commands:
host
Start the OneOS Runtime service on this machine, joining the OneOS cluster
specified in the configuration file.
Usage Example:
oneos host -mount=/home/user/.oneos
Run the following:
oneos configYou’ll be prompted to set up:
- Node ID
- VM and IO agent settings
- Memory and disk allocation
This creates a configuration file at:
~/.oneos
In a terminal:
oneos shellThis installs dependencies and initializes the shell environment.
In a new terminal:
oneos clusterThe command will hang to keep the local cluster running.
Then, in a third terminal:
oneos shell 127.0.0.1:8000Enter credentials when prompted:
Username: root
Password: password
You are now inside the OneOS environment and can run distributed POSIX-style applications!
- IoTDI 2024 – ImmunoPlane: Middleware for Providing Adaptivity to Distributed Internet-of-Things Applications
- SEC 2021 – OneOS: Middleware for running edge computing applications as distributed POSIX pipelines
- Middleware 2021 – OneOS: A distributed operating system for the Internet of Things
- EuroSys 2019 – Poster, abstract, and demo video (no sound)
- HotEdge 2019 – Workshop paper and slides
Note: The OneOS UI was significantly updated in 2021. Older demos may not reflect the current interface.
This project is licensed under the MIT License.