GSoC/GCI Archive
Google Summer of Code 2013

DragonFly BSD

Web Page: http://www.dragonflybsd.org/docs/developer/gsocprojectspage/

Mailing List: http://lists.dragonflybsd.org/mailman/listinfo.cgi/kernel

DragonFly BSD is a operating system project organized around modernizing the BSD style of operating system.  Our current focus is the Hammer filesystem, designed for instant filesystem snapshots and long-term file history, able to mirror drives over the Internet.  It runs on i386 and x86_64 processors.

DragonFly currently uses pkgsrc for a packaging system, and is trying an experimental system called dports, based on FreeBSD's ports system.

Projects

  • Block compression feature in HAMMER2 This project aims to add block compression feature to HAMMER2. It consists of 2 parts: first, implementing an algorithm capable of compressing a physical block to 50% or less of its original size (in powers of 2, like 32 KB, 16 KB; the original size being 64 KB) and, second, adding a hammer2 utility command to set the compression mode on any directory, which will try to compress any written content in that directory and its subdirectories using the implemented algorithm. If the algorithm can’t compress a particular block to 50% or less of its original size, the block is written uncompressed.
  • Capsicum kernel implementation Capsicum is a fine grained capability framework for unix systems. It can be use to sandbox applications by restructing their access to various global namespaces. Capsicum is currently implemented in FreeBSD kernel. The goal of this proposal is to add capsicum support to the DragoFlyBSD kernel
  • Implement hardware nested page table support for vkernels The aim of this project is to implement support for extended/nested page tables virtualization extension in order to improve page table walkings in the vkernels.
  • Make vkernels checkpointable This project aims to make it possible to generate a checkpoint file of a vkernel and restore it later in a manner unnoticeable for the virtual processes it runs.
  • Userland System V Shared Memory / Semaphore / Message Queue implementation Implement some or all of these subsystems in their entirety, or as completely as possible in userland.