※ 本文轉寄自 ptt.cc 更新時間: 2022-06-12 13:26:12
看板 Gossiping
作者 標題 Re: [問卦] 有GNU/Linux那有BSD/Linux嗎?
時間 Sun Jun 12 12:30:49 2022
※ 引述《wei115 (社畜)》之銘言:
: 大家都知道
: 林姓商人發明的作業系統linux只是核心,不能單獨使用
: 通常會和理教主(理察· 斯托曼)發明的GNU套件一起使用
: 那其實另外一個作業系統BSD,上面也有BSD套件
: 兩個同樣都符合POSIX標準 照理來說只要重新編譯就能把BSD套件移植到linux上用
: 那有BSD/Linux嗎?
: 有卦嗎?
: p.s 最近才知道FreeBSD居然不是UNIX.......然後BSD套件有夠難用= =
回答這問題之前,我們應該先思考「什麼是 BSD?」
依據 FreeBSD 網站 [1] 的描述,FreeBSD 衍生自 BSD,後者則是 "the version of
UNIX developed at the University of California, Berkeley",其中 UNIX 字眼後方
特別標注註冊商標 R (圓圈內有字母 R; U+00AD) [2],也就是源於加州大學柏克萊分校
(常用縮寫是 UC Berkeley 或 Cal,以下簡稱 Cal)。
至於 UNIX 為何跟 Cal 有關?這要從 UNIX 共同發明人 Ken Thompson [1] 談起,他是
Cal 校友 (學士和碩士學位),在 1975 年向 Bell 實驗室申請休假研究 (sabbatical
leave) [4],當時的 Bell 實驗室氣氛類似大學院校,允許像 Thompson 這樣從 1966 年
Cal 校友 (學士和碩士學位),在 1975 年向 Bell 實驗室申請休假研究 (sabbatical
leave) [4],當時的 Bell 實驗室氣氛類似大學院校,允許像 Thompson 這樣從 1966 年
就加入的資深研究人員帶薪休假,鼓勵他們在學術機構交流,Thompson 選擇回母校 Cal,
他幫 Cal 安裝 1975 年五月才發布的 UNIX 第 6 版 (Version 6 UNIX,這在作業系統的
領域有著里程碑的意義,不僅因為大部分用 C 語言撰寫,也是 AT&T 的默許,成為早期
廣泛散佈的 UNIX 作業系統 -- 在 AT&T 的律師祭以高額授權金和法律手段之前。以下
領域有著里程碑的意義,不僅因為大部分用 C 語言撰寫,也是 AT&T 的默許,成為早期
廣泛散佈的 UNIX 作業系統 -- 在 AT&T 的律師祭以高額授權金和法律手段之前。以下
簡稱 UNIX 第 6 版為 V6),這個熱騰騰的 V6 立刻就轟動 Cal 校園,畢竟前一年 Cal 的
Bob Fabry 教授 [5] 才向 Bell 實驗室申請一套 UNIX 並購買 PDP-11/45,在 1975 年
剛添購更進階 PDP-11/70 的 Cal 就遇上 Thompson 帶來「原廠支援」和第一手資訊,
鼓舞著若干作業系統和電腦網路 的先驅,其中就包含 Bill Joy [6],他不僅是 BSD 的
早期維護人,也是 vi 的原始作者,更是首個 TCP/IP 通訊協定實作的開創者。
在 AT&T 的法務留意到 UNIX 的商機之前,V6 仍是相當小眾的作業系統,不過因為 Cal
師生的推波助瀾,原本 V6 的工具程式陸續擴充,並修正若干錯誤,致使其他學術機構
對 Cal 改良的版本有著高度興致。在 1977 年 Bill Joy 整理 Cal 版本的 UNIX,稱為
Berkeley Software Distribution (BSD),而第一個公開釋出的 BSD 是 1BSD (版本號碼
在 BSD 之前),發布於 1978 年 3 月,後續加入以分頁 (paging) 為基礎的虛擬記憶體
和高速檔案系統一類現代作業系統的特徵。爾後 BSD 納入真正能用的 TCP/IP 實作,直
接改變我們所處的資訊世界面貌 ——最初 Cal 的 CSRG 依據 DARPA 的協議,本要納入
BBN 公司 [7] 的 TCP/IP 實作,但 Bill Joy 覺得 BNN 公司的程式碼品質不高、效率更
師生的推波助瀾,原本 V6 的工具程式陸續擴充,並修正若干錯誤,致使其他學術機構
對 Cal 改良的版本有著高度興致。在 1977 年 Bill Joy 整理 Cal 版本的 UNIX,稱為
Berkeley Software Distribution (BSD),而第一個公開釋出的 BSD 是 1BSD (版本號碼
在 BSD 之前),發布於 1978 年 3 月,後續加入以分頁 (paging) 為基礎的虛擬記憶體
和高速檔案系統一類現代作業系統的特徵。爾後 BSD 納入真正能用的 TCP/IP 實作,直
接改變我們所處的資訊世界面貌 ——最初 Cal 的 CSRG 依據 DARPA 的協議,本要納入
BBN 公司 [7] 的 TCP/IP 實作,但 Bill Joy 覺得 BNN 公司的程式碼品質不高、效率更
是低落,於是出手重寫 (後來由 Sam Leffler 接手),造就當時的奇蹟:與 DARPA 簽訂
高額合約的 BNN 公司,投入可觀的工程資源,最後但卻不如一位 Cal 碩士生的成果,讓
BNN 公司只好邀請 Bill Joy 開會,以得知究竟怎麼一回事。只見 Bill Joy 穿著當時仍
略帶輕浮意味的 T-shirt 到這間知名承包商,回答:
高額合約的 BNN 公司,投入可觀的工程資源,最後但卻不如一位 Cal 碩士生的成果,讓
BNN 公司只好邀請 Bill Joy 開會,以得知究竟怎麼一回事。只見 Bill Joy 穿著當時仍
略帶輕浮意味的 T-shirt 到這間知名承包商,回答:
"It's very simple — you read the protocol and write the code."
BSD 在 1980 年代就開創作業系統的新局面,融合 TCP/IP 在內的產業標準和學術研究
最前沿的成果,可將 BSD 看作技術發展的溫床,Cal 師生和當時學術單位一同醞釀的
前瞻 [8] 技術也實際在 AT&T 自家的 UNIX 系統中現身,但收取高額授權金的單位卻是
AT&T,這埋下日後衝突的種子,並在 1990 年代爆發。
最前沿的成果,可將 BSD 看作技術發展的溫床,Cal 師生和當時學術單位一同醞釀的
前瞻 [8] 技術也實際在 AT&T 自家的 UNIX 系統中現身,但收取高額授權金的單位卻是
AT&T,這埋下日後衝突的種子,並在 1990 年代爆發。
隨著 BSD 的成熟,人們意識到摻雜 AT&T 最初 UNIX 的程式碼,意味著高價的授權金與
使用上的各式限制,無法藉由當時方興未艾以太網路進行廣泛散播,是此,在許多貢獻者
的投入下,1989 年六月,Networking Release 1 (Net/1) 誕生了,不需 AT&T 授權也可
使用,當時一個劃時代的變革就是將 BSD 授權 (BSD License) 聲明含入:只要在這個新
的遊戲規則下,都可自由再發佈。我們也可從這原始的四項被授權人的條件限制中 [10],
使用上的各式限制,無法藉由當時方興未艾以太網路進行廣泛散播,是此,在許多貢獻者
的投入下,1989 年六月,Networking Release 1 (Net/1) 誕生了,不需 AT&T 授權也可
使用,當時一個劃時代的變革就是將 BSD 授權 (BSD License) 聲明含入:只要在這個新
的遊戲規則下,都可自由再發佈。我們也可從這原始的四項被授權人的條件限制中 [10],
看出對於原始程式與二進位執行檔的散播形式 (需保有授權與免責聲明)、於程式本體提及
Net/1 研發背後的加州大學、禁止以貢獻者或加州大學之名,行衍生軟體之背書、推廣、
促銷等行為,意思就是為這嶄新的系統,制定得以自由使用的規則。
Net/1 研發背後的加州大學、禁止以貢獻者或加州大學之名,行衍生軟體之背書、推廣、
促銷等行為,意思就是為這嶄新的系統,制定得以自由使用的規則。
看準 UNIX 作業系統在新式微處理器的商機 (包含當時崛起的 Intel 公司的物美價廉
CPU 產品),1991 年,Rick Adams 協同 CSRG 的成員成立 Berkeley Software Design
Inc. (公司延續到 2002 年),主要產品源於 1991 年 CSRG 發布的 4.3BSD Networking
Release 2 (Net/2) [11],其發布聲明提到:
: This software suite is Copyright (C) 1991 The Regents of the University of
: California and may be freely redistributed without further charge.
: No previous license, either from AT&T or Berkeley is required.
Net 除了是 networking 的簡稱 (完整的 TCP/IP stack 是 BSD 最令人矚目的特徵),在
英語中,"net" 也有不受污染、純淨的意思,Net/1 和 Net/2 的命名伴隨著弦外之音,
聲稱該系統的使用者不受 AT&T 的約束,可使用純粹的 Cal 技術。
英語中,"net" 也有不受污染、純淨的意思,Net/1 和 Net/2 的命名伴隨著弦外之音,
聲稱該系統的使用者不受 AT&T 的約束,可使用純粹的 Cal 技術。
BSDi 公司採用 Berkeley Software Distribution 相似的名稱,暗示 Cal 這票前瞻技術
開創者作正規生意。BSDi 販賣 BSD/OS (原名稱為 BSD/386) 的軟體授權和技術支援。
這時間很微妙,恰好是當時赫爾辛基大學部學生 Linus Torvalds 不滿 MINIX 的封閉,
於是另起爐灶開發 Linux 核心,致敬 Richard Stallman 的 GNU 計畫的起點。
1992 年 1 月,BSDi 發佈 BSD/386,整套系統包含原始程式碼售價 $995 美元,同時期
AT&T 的 UNIX System V 從 1980 年代起就要價超過 $20,000 美元。1991 年底,AT&T
旗下的 Unix System Laboratories (USL) 控告 BSDi,宣稱後者的 BSD/386 [9] 裡含有
AT&T 的商業機密 —— BSDi 公司的電話號碼 ITS-UNIX (從商標到電話號碼,都被 AT&T
視為資產來保護) 是引發 AT&T 官司訴訟的導火線。BSDi 的說法是,4.3BSD 衍生發行
版本 Net/2 已移除源於 AT&T 的程式碼,不過這訴訟仍曠日廢時,還拉入 Cal,直到
1993 年六月 Novell 賣下 USL,隔年二月 AT&T 和 Cal 和解,撤銷告訴,其一條件是
Cal 要發表不包含 AT&T 宣稱的原始碼的 4.4BSD 系統,稱為 4.4BSD-Lite,亦即,
這個 "Lite" 不是字面上的輕量級,而是妥協的結果。這樣的訴訟也導致 CSRG 的解散,
BSD 陷入一度黑暗期,時空背景卻是資訊科技產業高速發展的 1990 年代,這給 Linux
核心極好的發展舞台。就技術延續的意義上來說,1991 年七月發布的 Net/2 是最後一個
BSD,儘管 1995 年仍有最終的 4.4BSD-Lite Release 2,但後者是更多是 CSRG 配合
AT&T 的和解條件而生。
至此,我們知道:
- Linux 核心公開發佈 1991 年,一開始只是來自一位大學生的玩具,不能與 CSRG 維護
的 BSD 相提並論
- 1991 年底 BSD 發展陷入黑暗期,同時微處理器市場也因 Intel 一類廠商的產品,有
相當物美價廉的選擇,快速改變產業生態,這給予 Linux 核心發展的良好契機
- BSD License 源於 Net/1 (1989 年六月發布),訂定新的遊戲規則,不同於 AT&T 商業
條款和保障 Software Freedom 的 GNU GPL (同樣制定於 1989 年,但由於用語的不
精確,實際廣泛採納的是 1992 年頒訂的 GNU GPL version 2),用相當寬鬆的條款,
鼓勵人們自由散佈 (即 BSD 的 "D" 字母背後的 distribution 本意)
採用寬鬆的條款來發布重要軟體的方式,BSD Net/1 並非第一個,源於 MIT 的 X Window
System (簡稱 "X") 在 1985 年的 Version 6 就附帶寬鬆的授權條款,於是人們以 MIT
X License 稱之,也可簡稱 MIT License。不難發現 BSD 和 X 都源自前瞻的研究機構,
發布者希望以寬鬆且自由的方式,讓軟體得以流通。
System (簡稱 "X") 在 1985 年的 Version 6 就附帶寬鬆的授權條款,於是人們以 MIT
X License 稱之,也可簡稱 MIT License。不難發現 BSD 和 X 都源自前瞻的研究機構,
發布者希望以寬鬆且自由的方式,讓軟體得以流通。
做完背景描述後,我終於可回覆原提問者說的「有 BSD/Linux 嗎?」
Linux 核心至今仍留著一部分 BSD 的血液,例如 TCP/IP stack 就移植自 BSD,還有個
系統呼叫名為 bpf [12],是 Berkeley Packet Filters 的簡稱,指源於 Cal 的技術,
後來被 Linux 核心大幅擴充 (和變造),改名為 eBPF,即 Extended BPF [13]。Linux
核心雖然不是 UNIX 相容作業系統,但保留時代演化的軌跡,例如:
檔案 include/uapi/linux/route.h 開頭的授權聲明
: INET
: An implementation of the TCP/IP protocol suite for the LINUX operating
: system. INET is implemented using the BSD Socket interface as the means of
: communication with the user level.
: Authors: Original taken from Berkeley UNIX 4.3, (c) UCB 1986-1988
: for the purposes of compatibility only.
而 FreeBSD 和 NetBSD 這樣現代 BSD 則源自 386BSD [13],後者是 Net/2 的延續,
首次發布於 1992 年,當年 AT&T, BSDi, 和 Cal 的官司並未波及到 386BSD,儘管後者
仍包含部分 AT&T 宣稱的部分原始程式碼 (源於 4.3BSD)。在 386BSD 首個版本 v0.0
發布的前一年 (又是 1991 年!),386BSD 作者 William Jolitz 夫婦於知名的電腦刊物
Dr. Dobb's Journal (DDJ) 連載 18 個月的 "Porting Unix to the 386" 專欄 [15],
詳盡揭露 BSD UNIX 如何在 80386 微處理器移植和運用 GCC 在內的 GNU Toolchain 來
建構整個作業系統。
FreeBSD 一開始是 386BSD 的 patchkit (可想像為中華民國憲法的「增修條款」,後者
實際定義台北政府管轄的疆域,而非「固有疆域」這樣令人無所適從的模糊詞彙),由於
William Jolit 無意納入這些改進,於是 Nate Williams, Rod Grimes 和 Jordan
實際定義台北政府管轄的疆域,而非「固有疆域」這樣令人無所適從的模糊詞彙),由於
William Jolit 無意納入這些改進,於是 Nate Williams, Rod Grimes 和 Jordan
Hubbard 等人詢問了當時的使用者意見後,決定建立 FreeBSD 計畫,並找到 Walnut
Creek CD-ROM 公司商討,著眼於改進 FreeBSD 的發行通路,讓那些不便存取電腦網路的
人亦可簡單的取得 FreeBSD。Walnut Creek CD-ROM 不只贊成 CD-ROM 來發行 FreeBSD,
還提供具備高速網路連線的主機,來散佈 FreeBSD,這就是 1993 年十二月的 FreeBSD
人亦可簡單的取得 FreeBSD。Walnut Creek CD-ROM 不只贊成 CD-ROM 來發行 FreeBSD,
還提供具備高速網路連線的主機,來散佈 FreeBSD,這就是 1993 年十二月的 FreeBSD
1.0,採用 4.3BSD-Lite (即 Net/2) 及許多來自於 386BSD 和自由軟體基金會的元件為
根基。
FreeBSD 1.0 的發布這好的開始,但很快就因為接手 USL 的 Novell 對 Cal 的官司,
讓 FreeBSD 核心開發團隊 (core team) 措手不及:UC Berkeley 承認大部份的 Net/2
的程式碼都是「侵佔來的」且是屬於 Novell 的財產,後者繼承自 AT&T。最後當
讓 FreeBSD 核心開發團隊 (core team) 措手不及:UC Berkeley 承認大部份的 Net/2
的程式碼都是「侵佔來的」且是屬於 Novell 的財產,後者繼承自 AT&T。最後當
4.4BSD-Lite 終於發行,便不再是侵佔行為,所有現有 Net/2 使用者都被強烈建議更換
新版本,這包括 FreeBSD。但「新版」不意味著更好,因為 Cal 的 CSRG 已刪除了大量
在建立可開機執行的系統所需要的程式碼 (基於若干法律上的要求),且 4.4BSD-Lite
新版本,這包括 FreeBSD。但「新版」不意味著更好,因為 Cal 的 CSRG 已刪除了大量
在建立可開機執行的系統所需要的程式碼 (基於若干法律上的要求),且 4.4BSD-Lite
在 Intel 平台的移植不完整,於是這讓開發團隊苦不堪言。直到 1994 年 12 月,
FreeBSD 才發布完全沒有授權疑慮 的 v2.0,而同年 Linux 核心發布 v1.1,被 1994 年
一月由楊致遠 (Jerry Yang) 和 David Filo 創立的 Yahoo! 用作伺服器的作業系統
(搭配使用 FreeBSD)。
FreeBSD 一直給人的印象是穩定可靠,而 Linux 核心則是充斥著多種創新和靈活 (因為
授權條款,Linux 核心可用 BSD 授權的模組,但 FreeBSD 核心卻不能引入 Linux 核心
在內的 GNU GPL 授權的程式碼),且伴隨著 Red Hat 一類的「Linux 概念股」,Linux
授權條款,Linux 核心可用 BSD 授權的模組,但 FreeBSD 核心卻不能引入 Linux 核心
在內的 GNU GPL 授權的程式碼),且伴隨著 Red Hat 一類的「Linux 概念股」,Linux
成為世人所熟知。不過 FreeBSD 和 Linux 與其說是競爭,不如說是合作多於競爭,畢竟
包含 Apache httpd 和 MySQL 在內的知名軟體,都在 Linux 和 FreeBSD 技術社群帶來
廣大影響力,從而奠定各式商業服務的基礎,像是 Netflix 這樣的公司,甚至是同時
採用 Linux 和 FreeBSD [23]。
或許原發者真正的問題不是「在 Linux 核心上面執行 BSD 系統」,而是「在 Linux
核心上面執行採用 BSD 授權發行的 userland」,若是如此,這樣的案例就很顯著,甚至
閱讀這篇文章的你就使用著 ——Google 公司主導開發的 Android 作業系統就採用 Linux
核心搭配若干取自 NetBSD 和 FreeBSD 的關鍵軟體元件,例如 bionic libc [16] 是
閱讀這篇文章的你就使用著 ——Google 公司主導開發的 Android 作業系統就採用 Linux
核心搭配若干取自 NetBSD 和 FreeBSD 的關鍵軟體元件,例如 bionic libc [16] 是
Android 的 C 執行時期函式庫 (libc)、數學標準函式庫 (libc),和動態連結器 [17]
的實作,其中 libc 源於 NetBSD,並針對 Linux 核心特有的機制,例如 futex [18],
進行改寫,使其支援 Linux 核心的 NPTL [19],這樣的案例尚有 epoll 和 memfd,儘管
的實作,其中 libc 源於 NetBSD,並針對 Linux 核心特有的機制,例如 futex [18],
進行改寫,使其支援 Linux 核心的 NPTL [19],這樣的案例尚有 epoll 和 memfd,儘管
FreeBSD 和 Linux 都是 UNIX-like (因為 UNIX 實際上指的是商標和產品認證的流程,
所以二者都不能宣稱自己是 UNIX) 作業系統,但基於各自的發展方向,就會有特有的
系統呼叫。至於規範在 1980 年代的 POSIX,則是參考的 API、系統工具和開發介面的
規範,在本世紀儘管仍有更新,但幅度相當微小。
系統呼叫。至於規範在 1980 年代的 POSIX,則是參考的 API、系統工具和開發介面的
規範,在本世紀儘管仍有更新,但幅度相當微小。
原發問者提到的「照理來說,只要重新編譯就能把 BSD 套件移植到 Linux 上用」,不算
精準的表達,畢竟 FreeBSD 和 NetBSD 都具備特有的系統呼叫,一旦程式碼使用這些
系統呼叫,就必須要有對等的 Linux 模擬或者替代實作,否則光是「重新編譯」,不足
以讓這些程式在 Linux 核心上執行。而且還要考慮到標準函式庫的行為落差,例如近期
任職於 Google 的工程師 Tavis Ormandy 將 1990 年的 Lotus 1-2-3 for UNIX 執行檔
借由 GNU Toolchain 重新鏈結和改寫特定符號,解決 COFF 到 ELF 與繞過授權檢查的
幾個問題,最終讓原本的 Lotus 1-2-3 for UNIX 執行檔 (COFF 格式) 得以重新連結為
ELF/linux-i386 執行檔 [22],儘管目前 Lotus 1-2-3 在 Linux 初步可執行,但細部
以讓這些程式在 Linux 核心上執行。而且還要考慮到標準函式庫的行為落差,例如近期
任職於 Google 的工程師 Tavis Ormandy 將 1990 年的 Lotus 1-2-3 for UNIX 執行檔
借由 GNU Toolchain 重新鏈結和改寫特定符號,解決 COFF 到 ELF 與繞過授權檢查的
幾個問題,最終讓原本的 Lotus 1-2-3 for UNIX 執行檔 (COFF 格式) 得以重新連結為
ELF/linux-i386 執行檔 [22],儘管目前 Lotus 1-2-3 在 Linux 初步可執行,但細部
仍存在問題 (快來提交 pull request,這專案很好玩,上個月我改程式碼不小心就忘了
睡覺,只好在茶杯塞入六片茶包,才勉強講課),在 System V UNIX 的 system() 函式
睡覺,只好在茶杯塞入六片茶包,才勉強講課),在 System V UNIX 的 system() 函式
會等待程式執行結果,但 GNU/Linux 的 system() 函式則會等待 "wait" (這是 signal)
的結果,於是就要額外加入 WEXITSTATUS 的處理 (這段程式碼剛好是我加入的),但這樣
也會破壞行為的一致 [22]。
Android 這樣採用 Linux 核心,搭配 BSD License 的 userland 並非孤例,一直都有
開發者嘗試建構,另一個案例是 Chimera Linux [20]。Chimera 是希臘神話中會噴火的
怪物,傳聞它上半身像獅子,中間像山羊,下半身像毒蛇。Chimera Linux 借用希臘
神話的典故,描寫作業系統底層使用 Linux 核心 (山羊的部位?第三個頭會噴火),
系統工具則取自 FreeBSD,並利用 LLVM 來建構系統,從而擺脫對 GNU Toolchain 的
依賴。
怪物,傳聞它上半身像獅子,中間像山羊,下半身像毒蛇。Chimera Linux 借用希臘
神話的典故,描寫作業系統底層使用 Linux 核心 (山羊的部位?第三個頭會噴火),
系統工具則取自 FreeBSD,並利用 LLVM 來建構系統,從而擺脫對 GNU Toolchain 的
依賴。
原本我只是品嚐早餐時翻到這則提問,沒想到一回覆就到中午,先寫到這裡。歡迎對照看
「從 Revolution OS 看作業系統生態變化」:
https://hackmd.io/@sysprog/revolution-os-note
從 _Revolution OS_ 看作業系統生態變化 - HackMD
這部紀錄片《==_Revolution OS_==》在 21 世紀的第一年發布,是刻畫自由軟體和開發原始碼的經典,為了教學需求,我們透過共筆,選錄部份內容作資訊更新和補充 ...
這部紀錄片《==_Revolution OS_==》在 21 世紀的第一年發布,是刻畫自由軟體和開發原始碼的經典,為了教學需求,我們透過共筆,選錄部份內容作資訊更新和補充 ...
最後廣告時間:Linux 核心課程 [24] 預計在今年七月下旬到八月中旬安排暑期課程,
採用全線上方式進行、全程免費。大部分教材 (含解說錄影) 可公開存取,但顧及教學
資源,課程要求報名者先通過先決測驗題。請留意以下公告:
https://www.facebook.com/JservFans
[1] https://www.freebsd.org/about/
[2] 符號 R 表示 Registered (即「已註冊」),通常標示於品牌右上或右下方,藉此
告知消費者與競爭同業,該品牌已是註冊商標,若他人使用相同或近似商標於相同或
類似商品/服務上,商標專用權人可對其提起商標侵權訴訟。換言之,符號 R 宣示其
己獲得該商標專用權,要求他人勿任意使用或仿冒,猶如警示作用。
類似商品/服務上,商標專用權人可對其提起商標侵權訴訟。換言之,符號 R 宣示其
己獲得該商標專用權,要求他人勿任意使用或仿冒,猶如警示作用。
[3] Ken Thompson 出生於 1943 年 2 月 4 日,現年 79 歲。可在 YouTube 看到他的前
同事 Brian Kernighan 教授對 Thompson 的訪談錄影 (攝於 2019 年 5 月 4 日):
https://youtu.be/EY6q5dv_B-o
6 版 Lions' Commentary 的第 2238 行:
* You are not expected to understand this.
*/
if (rp->p_flag&SSWAP) {
rp->p_flag =& ~SSWAP;
aretu(u.u_ssav);
}
[4] 休假 (sabbatical) 通常是指持續工作兩個月至一年的時段中,所獲得的休息時間,
而 sabbatical 的源自希伯來語的 shabbat,即聖經中的 Sabbath (安息日),原意
是「休息之日」。sabbatical 是上帝在創造宇宙後的休息,也用在人們身上,因此
安息日被教徒認為可適當地休息,為次日的任務做準備。sabbatical leave 目的是
提供研究人員充實學識的機會、促進教學、提升課程發展、提升創意創造。
是「休息之日」。sabbatical 是上帝在創造宇宙後的休息,也用在人們身上,因此
安息日被教徒認為可適當地休息,為次日的任務做準備。sabbatical leave 目的是
提供研究人員充實學識的機會、促進教學、提升課程發展、提升創意創造。
[5] Bob Fabry 教授最知名的成就就是取得 DARPA 經費,大幅擴展 UNIX 功能,並主持
Computer Systems Research Group (CSRG):
https://en.wikipedia.org/wiki/Bob_Fabry
[6] Bill Joy:
https://engineering.berkeley.edu/bill-joy-co-founder-of-sun-microsystems/
Bill Joy: Co-founder of Sun Microsystems - Berkeley Engineering
Dubbed the “Edison of the Internet” by Fortune Magazine, Bill Joy is one of luminaries of tech. Years before personal computers were being widely used ...
Dubbed the “Edison of the Internet” by Fortune Magazine, Bill Joy is one of luminaries of tech. Years before personal computers were being widely used ...
承包商,在 1960 年代到 1970 年代被譽為美國麻州哈佛和 MIT 之外的第三大學
("third university" of Cambridge)。2009 年美國大型國防工業承包商雷神
(Raytheon) 公司以 3.5 億美元收告 BBN 多次分拆後的主體公司 BBNT Solutions
LLC。
我以前看這些歷史時,對於 BBN 沒有特別認知,直到我有幸跟 IPSec 規格 (和一
系列工業標準,BBN 公司具備重要影響) 起草人邵家健 (John K. Zao) 博士共事,
才輾轉得知二十世紀資訊科技的風起雲湧。以後我們會專門做一期影片為大家講解
(咦?)
系列工業標準,BBN 公司具備重要影響) 起草人邵家健 (John K. Zao) 博士共事,
才輾轉得知二十世紀資訊科技的風起雲湧。以後我們會專門做一期影片為大家講解
(咦?)
[8] 我因故參與若干項政府計畫的審查,希望能幫納稅人多作一層把關,不過幾年過去,
對於「前瞻」這詞已感到麻木。上面是「前瞻」原本的意思,而非台灣政府風格的新
「寓意」。
[9] 請不要將 BSD/386 和 386BSD 搞混!BSD/386 是 BSDi 公司的產品,而 386BSD 是
Net/2 的 80386 處理器移植,由 William Jolitz 和其妻 Lynne Jolitz 主導開發。
386BSD 奠定 NetBSD 與 FreeBSD 的基礎,同時,這兩個專案也繼承 BSD 授權條款,
作為發行的方針。在長期的病痛糾纏後,386BSD 作業系統的創始人 William Jolitz
(也稱為 Bill Jolitz) 在 2022 年三月過世。在 386BSD 的網站上,開頭寫著:
386BSD 奠定 NetBSD 與 FreeBSD 的基礎,同時,這兩個專案也繼承 BSD 授權條款,
作為發行的方針。在長期的病痛糾纏後,386BSD 作業系統的創始人 William Jolitz
(也稱為 Bill Jolitz) 在 2022 年三月過世。在 386BSD 的網站上,開頭寫著:
386BSD was the first open source Berkeley UNIX operating system. It was
the progenitor of Linux, iOS, and Android. Beginning with "A Modest
Proposal" in 1989, 386BSD broke from proprietary systems by having
publicly accessible code and documentation.
[10] 原始的 BSD License 也稱為 BSD 4-Clause:
https://spdx.org/licenses/BSD-4-Clause.html
[11] Net/2 的發布聲明:
https://gunkies.org/wiki/Net/2
[12] bpf 系統呼叫: https://man7.org/linux/man-pages/man2/bpf.2.html
[13] 關於 Extended BPF,可參見本人的講座:
https://hackmd.io/@sysprog/linux-ebpf
Linux 核心設計: 透過 eBPF 觀察作業系統行為 - HackMD
# [Linux 核心設計]( 透過 eBPF 觀察作業系統行為 Copyright (**慣C**) 2018 [宅色夫] ...
# [Linux 核心設計]( 透過 eBPF 觀察作業系統行為 Copyright (**慣C**) 2018 [宅色夫] ...
[15] "Porting Unix to the 386" 全文:
https://386bsd.org/releases
[16] bionic: https://android.googlesource.com/platform/bionic/
[17] 可參見本人講座:
連結器和執行檔資訊: https://hackmd.io/@sysprog/c-linker-loader
你所不知道的 C 語言: 執行階段程式庫 (CRT) - HackMD
# [你所不知道的 C 語言]( 執行階段程式庫 (CRT) Copyright (**慣C**) 2018 [宅色夫](h ...
# [你所不知道的 C 語言]( 執行階段程式庫 (CRT) Copyright (**慣C**) 2018 [宅色夫](h ...
[19] 參見本人講座: https://hackmd.io/@sysprog/linux-process
Linux 核心設計: 不僅是個執行單元的 Process - HackMD
# [Linux 核心設計]( 不僅是個執行單元的 Process Copyright (**慣C**) 2018 [宅色夫 ...
# [Linux 核心設計]( 不僅是個執行單元的 Process Copyright (**慣C**) 2018 [宅色夫 ...
Chimera Linux
Chimera Linux ...
Chimera Linux ...
https://lock.cmpxchg8b.com/linux123.html
[22] 123elf 的移植議題: https://github.com/taviso/123elf/issues/89
@INFO("osreturncode") isn't working · Issue #89 · taviso/123elf · GitHub
I think if you do this, the result should be 123: 123 -e '{system "exit 123"}@INFO("osreturncode")~' It isn't, it's 31488 ... which is 123 ...
I think if you do this, the result should be 123: 123 -e '{system "exit 123"}@INFO("osreturncode")~' It isn't, it's 31488 ... which is 123 ...
https://papers.freebsd.org/2019/fosdem/looney-netflix_and_freebsd/
[24] Linux 核心課程: http://wiki.csie.ncku.edu.tw/linux/schedule
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.246.163 (臺灣)
※ 文章代碼(AID): #1YfMm8dM (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1655008264.A.9D6.html
推 : 老師好1F 111.246.112.48 台灣 06/12 12:31
推 : 嗯,跟我想得一樣2F 114.34.179.94 台灣 06/12 12:31
推 : 教授 你好好釣喔~~~y3F 114.43.192.240 台灣 06/12 12:32
推 : 先推4F 101.12.18.141 台灣 06/12 12:32
推 :5F 150.117.243.240 台灣 06/12 12:32
推 : 老師好6F 175.176.71.15 菲律賓 06/12 12:33
推 : 原來如此7F 1.169.105.90 台灣 06/12 12:33
推 : 媽呀你也太專業8F 114.36.206.174 台灣 06/12 12:37
推 : TL DR9F 61.58.180.225 台灣 06/12 12:37
→ : @pinkowa, 歡迎推坑,相關主題我也想講10F 140.116.246.163 台灣 06/12 12:37
→ : @cmpunk66, 這些故事如今只能在八卦板聊
→ : @cmpunk66, 這些故事如今只能在八卦板聊
推 : 大師12F 125.228.71.204 台灣 06/12 12:39
推 : 每次聽老師講這些發展史都覺得很有趣13F 42.73.176.218 台灣 06/12 12:39
→ : 希望有機會可以多聽點
→ : 希望有機會可以多聽點
推 : 謝謝老師,老師的優質課程大家有目共睹。15F 114.43.192.240 台灣 06/12 12:40
→ : @Mtcat, 我只是回憶我的童年,練習打字16F 140.116.246.163 台灣 06/12 12:40
推 : 專業給推17F 1.160.26.106 台灣 06/12 12:40
推 : 原來是宅瑟夫教授18F 193.148.16.249 日本 06/12 12:41
推 : 推19F 114.35.225.56 台灣 06/12 12:43
→ : @DPP48, 請認明「宅色夫」,多采多姿的色20F 140.116.246.163 台灣 06/12 12:44
→ : @flysonics, 去問「有沒有電腦歷史」的八卦
→ : @flysonics, 去問「有沒有電腦歷史」的八卦
推 : 好文推22F 223.137.21.167 台灣 06/12 12:46
推 : FreeBSD相容性還是比不過Linux 狠可惜23F 122.116.150.230 台灣 06/12 12:48
→ : 最近TrueNAS也棄FreeBSD轉Linux了
→ : 最近TrueNAS也棄FreeBSD轉Linux了
推 : 先推 怕被笑25F 27.52.9.250 台灣 06/12 12:49
→ : 老師好26F 118.167.128.82 台灣 06/12 12:50
推 : 老師好27F 42.73.234.91 台灣 06/12 12:51
推 : 老師好 請問有GNU Hurd的故事嗎28F 220.132.86.77 台灣 06/12 12:53
推 : 看不完推29F 101.137.255.200 台灣 06/12 12:53
推 : 太誇張,我的老天鵝阿30F 223.136.119.147 台灣 06/12 12:54
推 : 老師好31F 180.218.137.31 台灣 06/12 12:55
推 : 432F 111.252.46.47 台灣 06/12 12:55
→ : @millaker0820, 你發文,我就來講 Hurd33F 140.116.246.163 台灣 06/12 12:57
推 : 大神34F 114.42.12.164 台灣 06/12 12:57
推 : 不推不行35F 175.180.54.152 台灣 06/12 12:58
推 : 因為這段歷史,我還找機會去Berkeley2次36F 36.225.1.93 台灣 06/12 12:59
推 : 為什麼要移植lotus123?為了浪漫?試算表軟37F 123.204.126.1 台灣 06/12 13:00
→ : 體並不缺這一套,接下來換移植dBASE
→ : 體並不缺這一套,接下來換移植dBASE
推 : 推老師39F 223.141.75.83 台灣 06/12 13:00
推 : 吃飯配優文==40F 61.224.61.161 台灣 06/12 13:02
推 : 真是高手!!!!!41F 175.183.67.111 台灣 06/12 13:06
推 : 推,超專業42F 101.53.21.100 越南 06/12 13:08
推 : 有神快拜43F 123.240.175.134 台灣 06/12 13:10
推 : 老師好44F 211.21.4.38 台灣 06/12 13:11
推 : 大神推45F 114.137.137.201 台灣 06/12 13:11
推 : 先推再說!46F 39.9.106.103 台灣 06/12 13:12
→ : 嗯,跟我想的一樣47F 49.217.192.227 台灣 06/12 13:15
推 : 大神推48F 180.176.98.150 台灣 06/12 13:18
推 : 好文49F 82.8.204.225 英國 06/12 13:20
--
※ 看板: Gossiping 文章推薦值: 0 目前人氣: 0 累積人氣: 305
回列表(←)
分享