Skip to content

apharms/wasmos

 
 

Repository files navigation

Wasm OS

This is a kernel for running AssemblyScript/WebAssembly applications.

It provides the following.

  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.

This project also uses a git submodule for wasa, a fork of jedisct1/wasa, which is a library for interacting with the new wasi, WebAssembly Interface, a core API imported by the runtime.

First step

After cloning,

npm install
npm run bootstrap

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.

About

OS primitives and shell for assembyscript and web assembly

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • TypeScript 89.8%
  • JavaScript 10.2%