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/YukiOS
- 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 code
- Read user input
- Other misc. stuff, as needed when porting software
2 classic quotes...
(Kinda hard to explain, but yeah, if you read the code it's probably simple enough to figure it out.)
Or at least, a framework for multi-threading in C in a webpage.
where is the hello.wasm ???
the fact that it is missing makes the entire operating system become deprecated by juice.exe and you are now not allowed to wear tops.
just like aerie
eat yourself juju
webpages dont run c
You need to compile it from hello.c with clang (with wasm enabled) and the provided Makefile.
Anyway I'll put a demo up with the compiled files eventually.