walos
1.0.0
ระบบปฏิบัติการที่ใช้ภาษา WebAssembly เป็นระบบปฏิบัติการของเล่นโดยใช้วิธีการระบบตามภาษา
กระบวนการและไดรเวอร์ (บริการ) เป็นไบนารี WASM ที่ดำเนินการโดยการออกแบบในสภาพแวดล้อมแบบทราย ดังนั้นไดรเวอร์สามารถนำไปใช้ในภาษาใด ๆ ที่กำหนดเป้าหมาย webasseMbly
Walos ไม่สนใจการป้องกันฮาร์ดแวร์ (RING0, พื้นที่ที่อยู่เดี่ยว) ซึ่งแตกต่างจากระบบปฏิบัติการทั่วไป ความคิดนี้ทำให้สถาปัตยกรรมของระบบง่ายขึ้นและปรับปรุงประสิทธิภาพโดยหลีกเลี่ยงการสลับบริบท Syscalls เป็นฟังก์ชั่นง่าย ๆ ที่เรียกใช้โดยใช้อินเทอร์เฟซเช่น WASI ในข้อเสียระบบปฏิบัติการจะไม่ได้รับการป้องกันจากการโจมตีช่องทาง CPU
clang , lld , wasm-ld - Makeos (EFI | BIOS)efi (EFI Runtime)elf (UNIX ปฏิบัติการได้)| ระบบปฏิบัติการ | ที่ต้องการ | ไม่จำเป็น |
|---|---|---|
| Debian / Ubuntu | make clang lld | qemu-system ovmf xorriso |
| Arch / Manjaro | make clang lld | qemu edk2-ovmf libisoburn |
git clone https://github.com/CalmSystem/walos.git
cd walossample/shell เป็น ELF Binary make run ENTRY=sample/shell LOADER=elfsample/exec ด้วย qemu และ ovmf make run ENTRY=sample/execsample/hello.c make package ENTRY=sample/hello.csample/vga ด้วย qemu, limine และกราฟิก make run ENTRY=sample/vga RUN_ISO=1 RUN_VGA=1| ข้อความ | ทางออกที่เป็นไปได้ |
|---|---|
No rule to make target '.wasm' | ENTRY รายการขาดหายไป |
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 บนหน้าจอและรอembed.c โดยใช้ System WASM Engineแจกจ่ายภายใต้ใบอนุญาต GPLV3 ดูใบอนุญาตสำหรับข้อมูลเพิ่มเติม