Languages : English | 简体中文 | Français | 日本語
This is a simple operating system for ia32 and amd64 architecture.
pl_readline
by min0911Y plos-clan/pl_readlineos_terminal
by wenxuanjun plos-clan/libos-terminalplant-vfs
by min0911Y plos-clan/plant-vfsEEVDF
by xiaoyi1212 plos-clan/EEVDF
You need to install them on your computer:
- xmake
- xorriso
- QEMU
- NASM (i386 only)
- Zig (i386 only, auto installed by xmake)
- git (x86_64 only, for
GIT_VERSION
macro) - clang (x86_64 only)
- lld (x86_64 only, for linking LTO objects)
- Rust nightly toolchain (x86_64 only)
- cbindgen (x86_64 only, use
cargo install cbindgen
) - oib (x86_64 & build img only, use
cargo install oib
)
You can use the command to set the target architecture (x86_64
default):
xmake f -y --arch=i686
xmake run
- Build and run the ISO image.xmake build iso
- Build a bootable ISO image.xmake build img
- Build a bootable disk image (x86_64 only).
You can generate a compile_commands.json
file by:
xmake project -k compile_commands
Then your editor knows how to find the source files and derives syntax highlighting.
This project is licensed under MIT License.
Based on UEFI BIOS boot.
Use Limine bootloader.
- 4 Level Page Table Memory Management
- xAPIC and x2APIC
- Kernel Module
- AHCI Disk Driver
- Multi-Task (Process and Thread)
- PS/2 keyboard and Mouse
- PCIE Device Enum
- ACPI Power Management
- VFS VDisk interface
- IPC Message Queue
- Process Signal
- Multiprocessor Scheduler
- User program
- Device File System
- Floating Point Unit
- IIC Driver
- Nvme and USB Driver
- PCNET and Rtl8169 Driver
- SB16 and PCSpeaker Driver
- TTY Driver
- SATA/SATAPI Driver
Welcome to create pull requests or issues to this project. Then sit back and relax.
- Goto CoolPotOS | Website to see the contributors list.