GSoC/GCI Archive
Google Summer of Code 2009

DragonFly BSD

Web Page:

Mailing List:

DragonFly BSD, originally branched from FreeBSD on 2003, is working on a new approach to SMP and other kernel systems to enable an open source Single System Image operating system. Along the way, we've been picking up improvements from other BSDs and generally streamlining the underlying 30-year-old BSD code base, with a preference towards making systems less complex and easier to maintain.


  • C99/POSIX Conformance Audit The goal of this project is to check DragonFly's code against the C99/POSIX (1003.1-2001) standards and make sure that the system adheres to them as much as possible. In the places it doesn't, existing code will be modified or missing bits added, and the whole process be meticulously documented. Eventually, user experience is bound to be improved and the need of maintaining specific patches in the pkgsrc tree alleviated, lowering the burden for the pkgsrc developers.
  • DevFS for DragonFly BSD The aim of this project is to implement a device file system in the DragonFly BSD Kernel to replace the current way device nodes are handled. The new approach will allow for device nodes to be dynamically created every time a driver requests it instead of having to create all device nodes beforehand on a regular file system. This approach will also allow for further improvements as allowing access to different device nodes depending on a chroot/jail environment and device cloning if a device supports it.
  • Finish amd64 port of DragonFly PROJECT TITLE ============= Finish amd64 port of DragonFly. DELIVERABLES ============ 1. functional amd64 port - UP kernel (mostly functional by midterm) 2. functional amd64 port - SMP kernel (mostly functional by midterm) 3. working 64-bit vkernels (after midterm) 4. working 32-bit apps on 64-bit kernel (after midterm)
  • Support debugging of multi-threaded applications This project aims at adding support for debugging multi-threaded applications for the DragonFly BSD operating system. The way this will be accomplished is by extending the ptrace imlpementation to account for LWPs and modifying gdb to use this instrumentation.