Skip to content

toy operating system kernel written from scratch as a learning tool

License

Notifications You must be signed in to change notification settings

F4LCn/falcon-os

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

write an operating system (from scratch)

constraints

  • intel x86_64 arch only
  • assume hardware from 2010

main goals

  • 64bit
  • smp (symmetric multiprocessing)
  • multithreading & preemptive scheduling
  • written in c and zig (and a bit of asm)
  • (maybe) pci/e device enumeration
  • (maybe) pci/e device driver

tools

  • vm: bochs, qemu
  • assembler: fasm
  • c compiler: clang
  • zig compiler
  • binutils (llvm or gnu): objdump, objcopy, ... or better yet some sort of gnu env (linux, wsl, cygwin)

References

References moved to here

Roadmap

The roadmap for this project can be found here

Contribution

This project is meant for a YouTube series on how to write an os from scratch. PR on topics not yet covered will not be accepted (unless an issue was discussed and approved beforehand). Bug fixes and improvements for topics already covered are welcome as long as they don't deviate too much from the aim of this project (simplicity and clarity over perfection/performance)

About

toy operating system kernel written from scratch as a learning tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published