March 2, 2012

DragonFly BSD 3.x 現身

這其實已非新聞,不過既然中文介紹不多,這裡不妨簡要探討 [DragonFly BSD] 3.0 的推出。

DragonFly 專案創始人 Matthew Dillon 曾是 FreeBSD SMPng 項目的核心開發者, 同時也大幅改善包含虛擬記憶體管理與 VFS 等項目。由於 FreeBSD 5.x 的多執行緒系 統初期有很多問題,而 FreeBSD 4.11 後僅提供安全性修正,卻不再推出 4.x 系列版本 ,致使 Matthew Dillon 在 2003 年七月宣佈將在 FreeBSD 4.8-STABLE 的基礎推出一個 嶄新的 BSD 系統,專注於 x86/x86_64 平台的 SMP 與伺服器系統效能,這就是 DragonFly BSD 專案,其開發者來自 FreeBSD 團隊,雙方不定期也交換分享開發成果。

DragonFly BSD 在設計上引入 "hybrid kernel" 的概念,也就是融合傳統 BSD 或 Linux 一類追求效能的 monolithic kernel,以及 CMU Mach 一類將系統服務搬出到核心之外以 求高度模組化的 microkernel 這兩者的優點。由於 DragonFly BSD 開發者曾長期浸淫於 VFS 的開發,在借鏡了 microkernel 的 message passing 設計後,決定建立 device I/O 與 VFS 之間的 messaging capability 系統,這使得核心很多部份得以搬到 user-space, 某種角度來看,DragonFly BSD 的子系統看起來很像 CMU Mach microkernel,優點在於, 可用獨立 userspace 實現,來取代混雜在一起的大量核心程式碼,使得核心更精簡、更 容易追蹤除錯,而被允許在 user-space 執行的系統程式碼帶來的額外的好處就是,系統將 更加穩定,也就是說,即使 user-space driver 崩潰或者面臨重大的問題時,核心也不會 因此會崩潰。不只如此,連同系統呼叫也逐漸切割到 user-space,透過 message 的封裝來 實現。DragonFly BSD 走的是務實路線,除了概念引入創新研究外 (microkernel 雖然不是 新概念,但是勇敢的在BSD 引入,卻還能兼顧高效能與彈性,就非 [mklinux] 一類專案可比擬),目前 DragonFly 最值得關注的項目是 Matthew Dillon 新設計的 HAMMERFS 檔案系統,預期要提供 ZFS (Solaris/FreeBSD) 或 Btrfs (Linux) 相仿的特徵,目前的實做 有以下:
  • configurable file system history
  • snapshots
  • checksumming
  • data deduplication
而從 2010 年開始,HAMMER 2 被提出作為高效能的實做,詳情可見 [DESIGN document for HAMMER2],可預見的是,DragonFly BSD 3.x 將會相當值得期待。

DragonFly BSD 3.0 主要的幾項重大修改,依據 [Release Note] 提到:
  • 效能大幅改善的 SMP 系統,並成為預設的組態
  • HAMMER 檔案系統的效能提昇
  • 藉由提供 tcplay 工具,來支援 TrueCrypt 相容的磁碟加密
  • 一系列的 POSIX.1-2008 相容性支援
另外,也值得關注的訊息是 [MINIX] 3.2.0 的 [正式推出],這是一個大 幅功能改善的版本,在 MINIX microkernel 的基礎上,引入了許多 NetBSD 的程式碼, 諸如 NetBSD C Library 與一系列的系統工具,連同 NetBSD bootloader 也納入了,這 使得眾多的 UNIX-like 程式得以更容易移植到 MINIX 上。此外,MINIX 3.2.0 正式支援 ELF 執行檔案格式並成為預設,同時提供了支援非同步、多工的 VFS server,FUSE 也被 實現出來。這意味著,MINIX 3.x 已走出老派 UNIX 的限制,要迎向嶄新作業系統與銜接 廣大開放原始碼世界。

在一週內,DragonFly BSD 與 MINIX 都推出革命性的 3.x 新版,兩者也在身上流著 BSD 與 microkernel 的血液,而這兩個專案也都採用 GIT 作為版本控制系統,同樣都以開放的 姿態,勇敢提出創新的設計,並在實務上持續耕耘。
由 jserv 發表於 March 2, 2012 11:44 PM
迴響
發表迴響









記住我的資訊?