Skip to content

OS primitives and shell for AssembyScript and WebAssembly

License

Notifications You must be signed in to change notification settings

ronnied1222/wasmos

 
 

Repository files navigation

Wasm OS

This is a kernel for running AssemblyScript/WebAssembly applications.

It will provide:

  1. Synchronous file system
  2. Implements the node process module.
  3. Shared Memory between kernel threads to allow for atomic wait/notify for syscalls.
  4. Networking interface for P2P applications.

Project Setup

This project is lerna, which allows this repo to host multiple project in one repo, making it a "mono-repo." The key idea is that each package in the repo must be a stand alone, but it makes it easy to have them depend on each other and you can use a scoping package name. For example, this project needs a wrapper around the assemblyscript compiler, which is conveniently called @wasmos/assemblyscript.

First step

After cloning,

npm install
npm run ci # this bootstraps all packages and runs tests.

This installs all of the top level dependencies, e.g. typescript and jest, and then installs each lerna package. This includes creating symlinks for local dependencies. And then runs tests.

Next head to this tutorial

About

OS primitives and shell for AssembyScript and WebAssembly

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 98.1%
  • JavaScript 1.9%