axle OS
Mai 20, às 01:13
·
3 min de leitura
·
0 leituras
an open source x86_64 UNIX-like OS
Blog
one wheel at a time
axle OS is a hobby UNIX-like OS. I started the project in early 2016, and have had stints of working on it
heavily since then.
axle OS's first incarnation was a multitasking monolithic kernel, with little support for IPC, user-mode or
process loading.
The current incarnation is a microkernel built around variable-length IPC messaging. It supports a userspace,
efficient compositing window manager,
a C stdlib, etc. All applications, including the desktop environment and device drivers, are ELF executables
running in userspace.
There's a kernel driver interface that's used for userspace RTL8139 (NIC), PS/2 mouse, and PS/2 keyboard
drivers.
There's also a GUI toolkit apps can use to implement interfaces and have their event loop managed.
In September 2021, I ported DOOM.
In late 2021, I ported axle to x86_64 and wrote a UEFI bootloader. I also started implementing system services
and applications in Rust, instead of C.
axle's features (2021+) also include:
- Compositing window manager with animations, alpha blending, and window clipping
- TCP/IP stack
- HTML/CSS rendering engine
- Userspace games like Snake, Breakout, and 2048
- Userspace applications like a web browser supporting HTTP
- MLFQ kernel scheduler
- C GUI toolkit
- Rust GUI toolkit
- Crash reporting
- Userspace GameBoy emulator
axle desktop environment
awm (2021)
monolithic window manager (2017)
installation and running axle
Most times, you will be running axle in an emulator such as QEMU (the recommended emulator). While axle, like any OS, can be installed on real hardware, it is much less cumbersome and easier to use an emulator.
To run a pre-built image of axle OS, check the releases page and download an ISO. To execute the axle ISO with qemu, execute the following command:
qemu-system-i386 -net nic,model=ne2k_pci -d cpu_reset -D qemu.log -serial file:syslog.log -vga std -cdrom axle.iso
axle will log kernel debug info to a file called syslog.log which will be created in the directory you run axle in. If you use one of axle's debug keystrokes (such as ctrl+m or ctrl+p), the info will be logged to this file. Additionally, anything logged through printk() will be outputted to this file.
subsystems of axle OS (2017)
kernel docs
graphics stack
axle window manager
multitasking
get involved
axle is a fully free and open source project, using the MIT license. If you would like to learn more or contribute to axle, don't hesitate to get in touch! The repo is hosted on github, and there's a slack for active contributors/discussion about axle. Feel free to submit a pull request/file an issue/ask to join the slack!
- Github project
- @phillipten on twitter
- Email me at [email protected]
Continue lendo
DEV
Hoje, às 19:52
DEV
Hoje, às 19:26
AI | Techcrunch
Hoje, às 18:08
DEV
Hoje, às 18:08
DEV
Hoje, às 17:02
DEV
Hoje, às 16:58
DEV
Hoje, às 16:37
DEV
Hoje, às 16:10
AI | Techcrunch
Hoje, às 16:03
DEV
Hoje, às 16:02