GNU Hurd

出自Local Chinese Wikipedia
跳至導覽 跳至搜尋

頁面Module:Message box/mbox.css沒有內容。頁面Template:Ambox/style.css沒有內容。

package.lua第80行Lua錯誤:module 'Module:CGroup/core' not found 頁面Module:Infobox/styles.css沒有內容。

GNU Hurd
File:Hurd-logo.svg
File:Debian GNU HURD text mode screenshot.png
Debian GNU/Hurd
開發者GNU計劃
托馬斯·布什內爾
package.lua第80行Lua錯誤:module 'Module:Ilh/data' not found
package.lua第80行Lua錯誤:module 'Module:Ilh/data' not found
package.lua第80行Lua錯誤:module 'Module:Ilh/data' not found
程式語言彙編, C
作業系統家族類Unix
運作狀態進行中
源碼模式自由及開放原始碼軟體
當前版本v0.9.git20251029 [1]
支援平台i386x86-64[2] 架構
內核類別微內核伺服器/客戶端
使用者空間GNU以及其他
默認用戶界面Bash
許可證GNU通用公共許可證
官方網站www.gnu.org/software/hurd/

GNU Hurd由一系列微內核常駐程式以及微內核GNU Mach[3]組成。GNU計劃從1990年開始開發GNU Hurd,並且將它作為一個遵循GPL的自由軟體發布。Hurd的目標是從功能、安全性和穩定性上全面超越傳統Unix內核,而同時又能保持對其兼容性,為此Hurd遵守POSIX標準

HURD」是一個間接遞歸縮寫,來自「HIRD of Unix Replacing Daemons」,其中「HIRD」表示「HURD of Interfaces Representing Depth」[4]

歷史[編輯]

1983年,理察·斯托曼提出GNU計劃,希望發展出一套完整的開放原始碼作業系統來取代Unix[5],計劃中的作業系統,名為GNU。根據湯瑪斯·布什內爾的回憶,最早自由軟體基金會使用TRIX來開發作業系統,但在1986年放棄這個計畫。在此後,他們原希望以4.4BSD-Lite的內核為基礎進行開發。[6]

1987年,理察·斯托曼決定以Mach微內核進行開發,認為可以藉此加速作業系統的開發。1989年,GNU計畫中的其他部份,如編輯器、編譯器、Shell等都已經完成,獨缺作業系統內核。決定以Mach開發後,因為一直不確定卡內基梅隆大學何時要將內核原始碼釋出,造成Hurd立項延遲至1990年。[7]

1991年,Linux內核首次發布,GNU計劃中運作在用戶層級的應用軟體經過修改移植後,可以在Linux之上使用;GNU與Linux內核的組合從很多方面講,都取得了成功。[5]

2005年,Hurd的開發者Neal Walfield完成了Hurd/L4(L4作為Hurd項目的微內核)基本的記憶體管理架構,Marcus Brinkmann移植了glibc的重要部分。[8][9]Hurd的開發團隊後來又嘗試過Coyotos與Viengoos這兩個微內核。[10]

圖片展示了64位Hurd(GNU Mach)作為內核選項的Guix System TUI安裝器
64位Hurd(GNU Mach)作為內核選項的Guix System TUI安裝器

經過多年的停滯後,開發在 2015 年和 2016 年再次加速,2 年發布了四個版本。[11]2015年8月20日,作為當年的Google Summer of Code項目,GNU Guix包管理器被移植到了GNU Hurd上。[12] [13]

相關[編輯]

誤解[編輯]

Hurd經常被人誤認為是一個內核,事實上它只是一套微核心伺服程序,而真正的內核部分則是在其下方。[3]而關於最底層的內核,除了Mach外,Hurd開發團隊還曾選擇過L4等內核。

基於GNU Hurd的作業系統發行版[編輯]

外部連結[編輯]

參考資料[編輯]

  1. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  2. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  3. 3.0 3.1 package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  4. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  5. 5.0 5.1 package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  6. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  7. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  8. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  9. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  10. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  11. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  12. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  13. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found
  14. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/Identifiers' not found

package.lua第80行Lua錯誤:module 'Module:Navbar/configuration' not found