{"id":21945216,"url":"https://github.com/ardaku/quantii","last_synced_at":"2025-04-22T21:12:38.105Z","repository":{"id":36990339,"uuid":"436808105","full_name":"ardaku/quantii","owner":"ardaku","description":"An operating system running the Ardaku engine.","archived":false,"fork":false,"pushed_at":"2025-04-22T11:27:45.000Z","size":1282,"stargazers_count":19,"open_issues_count":10,"forks_count":2,"subscribers_count":3,"default_branch":"v0","last_synced_at":"2025-04-22T21:12:30.685Z","etag":null,"topics":["daku","operating-system","rust","wasi","wasm","webassembly"],"latest_commit_sha":null,"homepage":"https://ardaku.org/quantii-docs/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ardaku.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-12-10T01:04:20.000Z","updated_at":"2025-04-12T20:14:10.000Z","dependencies_parsed_at":"2024-11-13T06:15:32.442Z","dependency_job_id":null,"html_url":"https://github.com/ardaku/quantii","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ardaku%2Fquantii","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ardaku%2Fquantii/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ardaku%2Fquantii/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ardaku%2Fquantii/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ardaku","download_url":"https://codeload.github.com/ardaku/quantii/tar.gz/refs/heads/v0","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250324704,"owners_count":21411946,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["daku","operating-system","rust","wasi","wasm","webassembly"],"created_at":"2024-11-29T04:18:01.028Z","updated_at":"2025-04-22T21:12:38.084Z","avatar_url":"https://github.com/ardaku.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quantii\n[Novusk](https://github.com/NathanMcMillan54/novusk/) based OS running the\n[Ardaku](https://github.com/ardaku/ardaku/) engine.\n\n## About\nAn OS where all userspace programs are compiled to WebAssembly.  Rather than\nrelying on context switching to protect memory, Quantii relies on WebAssembly\nsandboxing guarantees.  Each userspace program is contained so it can't\ninterfere with other programs (such as by tampering with their files).  Apps\ninteract with the hardware via either the Daku (for gui, multi-media, semantic\nfilesystem, async networking, etc.) or WASI (for hierarchical filesystem,\nblocking networking, etc.) APIs.  Each WebAssembly program will use a\n[custom data section](https://www.w3.org/TR/2019/REC-wasm-core-1-20191205/#binary-customsec)\nto store metadata about the program.  For porting to this OS, crates that work\non Linux and Windows will need to add support using the daku/wasi crates as\nopposed to the windows/winapi or libc/nix crates.  Luckily a lot of crates\ncan already work on WASI.  Multi-threading is supported via an async task API in\nDaku (similar to Dart/Flutter Isolates), since there is no native threading\nsupport in WebAssembly 1.0.  Quantii is a modular OS that can be compiled with\ndifferent kernels, WebAssembly runtimes, and / or WASI implementations depending\non the requirements for a specific target.  Rust programs made for the OS target\neither wasm32-wasi or wasm32-unknown-unknown.  Each program will have access to\nselect portals, which are similar to app permissions on Android, and each portal\nis a message channel for interacting with hardware.\n\n## Project Overview\nQuantii is an OS designed for the future.  Powered by WebAssembly and the Rust\nprogramming language, Quantii provides a novel take on OS security.  The main\narchitecture targets for Quantii are ARM64 and RISCV64.  Once the project gets\nto a completed and successful state, we will add X86\\_64 support as well.\n\n### Graphics\nQuantii targets desktop, server and mobile platforms by using a minimal and\nresponsive convergent GUI.  The Quantii GUI makes a trade-off, where it is\nnot designed to be familiar, but to be as easy to learn and use as possible.\nMain points are that it must be self-documenting/discoverable, and accessible\nto more people than conventional GUIs, while also looking clean and serving\nitself well to power users.\n\n### Security\nOS security is broken, and has always been tacked on.  Quantii is designed with\nsecurity in mind from the start.  Quantii runs on an app model, similar to a\nmobile operating system.  Each app is sandboxed within its own WebAssembly\ntask.  This means apps by themselves can't affect any other app.  They can't\neven access the same files.  Files have to explicitly shared from one app to\nanother by the user.\n\n### Performance\nWebAssembly has the capability for \"near-native\" performance.  Due to the\nsandboxing guarantees of WebAssembly, Quantii does not require context\nswitching.  This means Quantii has the potential to be faster than conventional\noperating systems.\n\nAdditionally, Quantii uses the asynchronous\n[Daku](https://github.com/ardaku/daku) API which means syscalls are queued up,\nthen sent together in a single syscall.  This reduces the number of calls to\nfunctions outside the sandbox, which should allow a significant performance\nimprovement for I/O bound applications over conventional operating systems.\n\n### WebAssembly\nThe WebAssembly runtime used by Quantii can be switched out, as well as even\nthe kernel due to its modular design.  This should allow Quantii to get support\nfor more target architectures quickly.\n\n## Porting\nSee the [Porting Guide](PORTING.md).\n\n## Building\nSee the [Instructions](BUILDING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fardaku%2Fquantii","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fardaku%2Fquantii","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fardaku%2Fquantii/lists"}