My os development demo.
- User space
- More log info
- Memory allocation
- File system
- Shell
- Support more gcc versions and std versions
The project uses gcc14 (with c23 support) to build.
Build commands:
make all # Build all
make clean # Clean all
make rebuild # Clean and build all
make qemu # Run qemu
make qemu_debug # Run qemu with debug flagsTesters:
make test # Build all testers
make TESTER=<name> qemu_test # Build and run a testerWhen running make all or make qemu_debug, there will be a ordos.debug file in the build directory (which is a elf32-i386 file). You can use gdb to debug it.
Note that functions before
init_vpagecannot be debugged because the kernel is not running in flat memory model beforeinit_vpage.
- A os development tutorial from Charliechen114514: CCOperateSystem