Yet another thing I started working on that have been on my mind since a while. (I do a lot of stuff lately please stop me)
Basically (where <=> is a bunch of interfaces between each other): DOM <=> Kernel <=> WebWorkers <=> WebAssembly
WebAssembly binaries can be compiled with LLVM/Clang (see the makefile, target wasm32-unknown-unknown-wasm). In any case, it should import kernel functions (those defined thread-level when calling the binary) and export a main function that will get executed and return a return value.
So, pretty much like a real operating system. Or at least, a framework for multi-threading in C in a webpage.
Check it out on GitHub, right now it only prints some sort of Hello World but I'll put it online when it's going to be a bit more usable: https://github.com/juju2143/YukiOSFeatures
- Keeps track of processes
- Quebec Bill 101-compatible open-source license
- Small binaries written in C (no Emscripten)
- It's in your browser!
- Small and readable source codeTo do
- Read user input
- Other misc. stuff, as needed when porting software