DragonFly BSD
システムコールとデバイスI/Oの実装はDragonFly BSDのスレッドメッセージングシステムを使うように変更されたが、これらは未だに同期して動作している。最終的には、全てのメッセージサブシステムを同期又は非同期のどちらでも動作するようにする予定である。
ユーザーランドスレッドのサポートも今後のリリースの重要な課題である。DragonFly BSDでは、今のところ、N:1スレッドしか持っていない。これについては、開発当初から取り組んでおり、近代的なスレッド実装になる予定である。
開発の初期段階では、スラブアロケーターが採用され、FreeBSD 4.xのカーネルメモリアロケーターから置き換えられた。これはメモリを割り当てるときに排他制御やブロック操作を必要とせず、MPSAFEである。
SFBUFとMSFBUFが使われている。SFBUFは短い時間しか使わない単一ページのマッピングを操作するのに用い、必要ならそれらのマッピングをキャッシュする。これらの機構は単一のVMページで保持されているデータへの参照を補うために使われる。この単純で強力な抽象化に拠って様々なことが可能になる。例えば、sendfile(2)でのゼロコピーが実現されている。
SFBUFはカーネルの様々な箇所で用いられる。例えば、vnodeオブジェクトのページャーやパイプサブシステム(XIOを用いた間接転送の場合)で広帯域な転送を行うために用いられる。SFBUFは単一のVMページでしか使えないために、MSFBUFSが短い時間しか使わない複数のページのマッピングを操作するのに用いられる。
SFBUFの概念はFreeBSDプロジェクト(英語版)のデイビッド・グリーンマン(英語版)がsendfile(2)を書いたときに考案された。そして、この概念はアラン・L.・コックス(英語版)とマシュー・ディロン(英語版)によって書き直された。また、MSFBUFはハイテン・パーンディヤ(英語版)とマシュー・ディロンにより考案された。