Le système d'exploitation basé sur le langage WebAssembly est un système d'exploitation jouet utilisant l'approche système basée sur la langue.
Les processus et les pilotes (services) sont MasM Binary exécutés par conception dans un environnement sableux. Ainsi, les pilotes peuvent être implémentés dans n'importe quelle langue ciblant WebAssembly.
Contrairement au système d'exploitation généraliste, Walos ignore la protection matérielle (RING0, espace d'adresse unique). Cette idée simplifie l'architecture du système et améliore les performances en évitant la commutation de contexte. Les systèmes sont des appels de fonction simples déclenchés à l'aide d'interfaces comme Wasi. À la baisse, le système d'exploitation n'est pas protégé contre les attaques du canal latéral du processeur.
clang , lld , wasm-ld - faireos (EFI | BIOS)efi (EFI Runtime)elf (UNIX Executable)| OS | Nécessaire | Facultatif |
|---|---|---|
| Debian / Ubuntu | make clang lld | qemu-system ovmf xorriso |
| Arc / manjaro | make clang lld | qemu edk2-ovmf libisoburn |
git clone https://github.com/CalmSystem/walos.git
cd walossample/shell comme elfe binaire make run ENTRY=sample/shell LOADER=elfsample/exec avec QEMU et OVMF make run ENTRY=sample/execsample/hello.c make package ENTRY=sample/hello.csample/vga avec Qemu, Limine et Graphics make run ENTRY=sample/vga RUN_ISO=1 RUN_VGA=1| Message | Solution possible |
|---|---|
No rule to make target '.wasm' | Argument ENTRY manquant |
llvm-ar: Command not found | export PATH=$PATH:/usr/lib/llvm-10/bin |
Executable "wasm-ld" doesn't exist! | ? ? |
lld: error: unable to find library -lc | export LDPATH=/usr/lib64 |
/bin/sh: 1: ./run: not found | export DLINK=/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 |
qemu: could not load PC BIOS | export OVMF=/usr/share/ovmf/x64/OVMF.fd |
*.cHello worldwasm.tga à l'écran et attendezembed.c Utilisation du système Wasm EngineDistribué sous la licence GPLV3. Voir la licence pour plus d'informations.