specialman 板


LINE

※ [本文轉錄自 Gossiping 看板 #1YfMm8dM ] 作者: jserv (松鼠) 看板: 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 年 就加入的資深研究人員帶薪休假,鼓勵他們在學術機構交流,Thompson 選擇回母校 Cal, 他幫 Cal 安裝 1975 年五月才發布的 UNIX 第 6 版 (Version 6 UNIX,這在作業系統的 領域有著里程碑的意義,不僅因為大部分用 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 公司的程式 碼品質不佳、效率更是低落,於是出手重寫 (後來由 Sam Leffler 接手),造就當時的 奇蹟:與 DARPA 簽訂高額合約的 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 的成熟,人們意識到摻雜 AT&T 最初 UNIX 的程式碼,意味著高價的授權金與 使用上的各式限制,無法藉由方興未艾的以太網路進行廣泛散播。在許多貢獻者的投入, 1989 年六月,Networking Release 1 (Net/1) 誕生,不需 AT&T 授權也可使用,當時 一項劃時代的變革就是將 BSD 授權 (BSD License) 聲明含入:只要在新的遊戲規則, 都可自由再發佈。我們也可從這原始的四項被授權人的條件限制中 [10],看出對於原始 程式與二進位執行檔的散播形式 (需保有授權與免責聲明)、於程式本體提及 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 技術。 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 的程式碼,不過這訴訟仍曠日廢時,還拉入 BSDi 的技術 源頭 Cal,直到 1993 年六月 Novell 賣下 USL,隔年二月 Novell 和 Cal 和解,撤銷 告訴,其一條件是 Cal 要發表不包含 Novell/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 都源自前瞻的研究機構, 發布者希望以寬鬆且自由的方式,讓軟體得以流通。 做完背景描述後,我終於可回覆原提問者說的「有 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 Hubbard 等人詢問了當時的使用者意見後,決定建立 FreeBSD 計畫,並找到 Walnut Creek CD-ROM 公司商討,著眼於改進 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 的 USL。最後 當 4.4BSD-Lite 終於發行,便不再是侵佔行為,所有現有 Net/2 使用者都被強烈建議 更換新版本,這包括 FreeBSD。但「新版」不意味著更好,因為 Cal 的 CSRG 已刪除 大量在建立可開機執行的系統所需要的程式碼 (基於若干法律上的要求),且 4.4BSD-Lite 在 Intel 平台的移植不完整,於是這讓開發團隊苦不堪言。直到 1994 年 十二月,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 成為世人所熟知。不過 FreeBSD 和 Linux 與其說是競爭,不如說是合作多於競爭,畢竟 包含 Apache httpd 和 MySQL 在內的知名軟體,都在 Linux 和 FreeBSD 技術社群帶來 廣大影響力,從而奠定各式商業服務的基礎,像是 Netflix 這樣的公司,甚至是同時 採用 Linux 和 FreeBSD [23]。 或許原發者真正的問題不是「在 Linux 核心上面執行 BSD 系統」,而是「在 Linux 核心上面執行採用 BSD 授權發行的 userland」,若是如此,這樣的案例就很顯著,甚至 閱讀這篇文章的你就使用著 ——Google 公司主導開發的 Android 作業系統就採用 Linux 核心搭配若干取自 NetBSD 和 FreeBSD 的關鍵軟體元件,例如 bionic libc [16] 是 Android 的 C 執行時期函式庫 (libc)、數學標準函式庫 (libc),和動態連結器 [17] 的實作,其中 libc 源於 NetBSD,並針對 Linux 核心特有的機制,例如 futex [18], 進行改寫,使其支援 Linux 核心的 NPTL [19],這樣的案例尚有 epoll 和 memfd,儘管 FreeBSD 和 Linux 都是 UNIX-like (因為 UNIX 實際上指的是商標和產品認證的流程, 所以二者都不能宣稱自己是 UNIX) 作業系統,但基於各自的發展方向,就會有特有的 系統呼叫。至於規範在 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 初步可執行,但細部 仍存在問題 (快來提交 pull request,這專案很好玩,上個月我改程式碼不小心就忘了 睡覺,只好在茶杯塞入六片茶包,才勉強講課),在 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 的 依賴。 原本我只是品嚐早餐時翻到這則提問,沒想到一回覆就到中午,先寫到這裡。歡迎對照看 「從 Revolution OS 看作業系統生態變化」: https://hackmd.io/@sysprog/revolution-os-note 最後廣告時間:Linux 核心課程 [24] 預計在今年七月下旬到八月中旬安排暑期課程, 採用全線上方式進行、全程免費。大部分教材 (含解說錄影) 可公開存取,但顧及教學 資源,課程要求報名者先通過先決測驗題。請留意以下公告: https://www.facebook.com/JservFans [1] https://www.freebsd.org/about/ [2] 符號 R 表示 Registered (即「已註冊」),通常標示於品牌右上或右下方,藉此 告知消費者與競爭同業,該品牌已是註冊商標,若他人使用相同或近似商標於相同或 類似商品/服務上,商標專用權人可對其提起商標侵權訴訟。換言之,符號 R 宣示其 己獲得該商標專用權,要求他人勿任意使用或仿冒,猶如警示作用。 [3] Ken Thompson 出生於 1943 年 2 月 4 日,現年 79 歲。可在 YouTube 看到他的前 同事 Brian Kernighan 教授對 Thompson 的訪談錄影 (攝於 2019 年 5 月 4 日): https://youtu.be/EY6q5dv_B-o
當時 Thompson 中氣十足,並穿著書寫 UNIX 原始程式碼的 T-shirt,對應到 UNIX 第 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 目的是 提供研究人員充實學識的機會、促進教學、提升課程發展、提升創意創造。 [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/ [7] BBN Technologies 前身是 Bolt, Beranek and Newman 公司是美國高科技和國防 承包商,在 1960 年代到 1970 年代被譽為美國麻州哈佛和 MIT 之外的第三大學 ("third university" of Cambridge)。2009 年美國大型國防工業承包商雷神 (Raytheon) 公司以 3.5 億美元收告 BBN 多次分拆後的主體公司 BBNT Solutions LLC。 我以前看這些歷史時,對於 BBN 沒有特別認知,直到我有幸跟 IPSec 規格 (和一 系列工業標準,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 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 [14] 386BSD: https://386bsd.org/ [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 動態連結器: https://hackmd.io/@sysprog/c-dynamic-linkage 執行階段程式庫 (CRT): https://hackmd.io/@sysprog/c-runtime [18] futex: https://man7.org/linux/man-pages/man2/futex.2.html [19] 參見本人講座: https://hackmd.io/@sysprog/linux-process [20] Chimera Linux: https://chimera-linux.org/ [21] Lotus 1-2-3 for UNIX 在 Linux 原生移植的歷程很精彩: https://lock.cmpxchg8b.com/linux123.html [22] 123elf 的移植議題: https://github.com/taviso/123elf/issues/89 [23] 可參見 FOSDEM 2019 年的演講: 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 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Gossiping/M.1655008264.A.9D6.html
1F:推 t81511270: 老師好 111.246.112.48 06/12 12:31
2F:推 alittleghost: 嗯,跟我想得一樣 114.34.179.94 06/12 12:31
3F:推 pinkowa: 教授 你好好釣喔~~~y 114.43.192.240 06/12 12:32
4F:推 g5637128: 先推 101.12.18.141 06/12 12:32
5F:推 SyunYin:150.117.243.240 06/12 12:32
6F:推 rs6000: 老師好 175.176.71.15 06/12 12:33
7F:推 GSHARP: 原來如此 1.169.105.90 06/12 12:33
8F:推 Mtcat: 媽呀你也太專業 114.36.206.174 06/12 12:37
9F:推 cmpunk66: TL DR 61.58.180.225 06/12 12:37
10F:→ jserv: @pinkowa, 歡迎推坑,相關主題我也想講140.116.246.163 06/12 12:37
11F:→ jserv: @cmpunk66, 這些故事如今只能在八卦板聊140.116.246.163 06/12 12:38
12F:推 nh60211as: 大師 125.228.71.204 06/12 12:39
13F:推 flysonics: 每次聽老師講這些發展史都覺得很有趣 42.73.176.218 06/12 12:39
14F:→ flysonics: 希望有機會可以多聽點 42.73.176.218 06/12 12:39
15F:推 pinkowa: 謝謝老師,老師的優質課程大家有目共睹。 114.43.192.240 06/12 12:40
16F:→ jserv: @Mtcat, 我只是回憶我的童年,練習打字140.116.246.163 06/12 12:40
17F:推 ddoy7: 專業給推 1.160.26.106 06/12 12:40
18F:推 DPP48: 原來是宅瑟夫教授 193.148.16.249 06/12 12:41
19F:推 observer0117: 推 114.35.225.56 06/12 12:43
20F:→ jserv: @DPP48, 請認明「宅色夫」,多采多姿的色140.116.246.163 06/12 12:44
21F:→ jserv: @flysonics, 去問「有沒有電腦歷史」的八卦140.116.246.163 06/12 12:46
22F:推 psee: 好文推 223.137.21.167 06/12 12:46
23F:推 blanka: FreeBSD相容性還是比不過Linux 狠可惜122.116.150.230 06/12 12:48
24F:→ blanka: 最近TrueNAS也棄FreeBSD轉Linux了122.116.150.230 06/12 12:48
25F:推 ts05593818: 先推 怕被笑 27.52.9.250 06/12 12:49
26F:→ sxbear: 老師好 118.167.128.82 06/12 12:50
27F:推 SigmundFreud: 老師好 42.73.234.91 06/12 12:51
28F:推 millaker0820: 老師好 請問有GNU Hurd的故事嗎 220.132.86.77 06/12 12:53
29F:推 a6268538: 看不完推101.137.255.200 06/12 12:53
30F:推 YAYA6655: 太誇張,我的老天鵝阿223.136.119.147 06/12 12:54
31F:推 socotia: 老師好 180.218.137.31 06/12 12:55
32F:推 WindSucker: 4 111.252.46.47 06/12 12:55
33F:→ jserv: @millaker0820, 你發文,我就來講 Hurd140.116.246.163 06/12 12:57
34F:推 kamichu: 大神 114.42.12.164 06/12 12:57
35F:推 pregnpig: 不推不行 175.180.54.152 06/12 12:58
36F:推 yeangigi: 因為這段歷史,我還找機會去Berkeley2次 36.225.1.93 06/12 12:59
37F:推 sdbb: 為什麼要移植lotus123?為了浪漫?試算表軟 123.204.126.1 06/12 13:00
38F:→ sdbb: 體並不缺這一套,接下來換移植dBASE 123.204.126.1 06/12 13:00
39F:推 Xiphity: 推老師 223.141.75.83 06/12 13:00
40F:推 woifeiwen: 吃飯配優文== 61.224.61.161 06/12 13:02
41F:推 wkuochen: 真是高手!!!!! 175.183.67.111 06/12 13:06
42F:推 ericpan70096: 推,超專業 101.53.21.100 06/12 13:08
43F:推 milicic2103: 有神快拜123.240.175.134 06/12 13:10
44F:推 badruid: 老師好 211.21.4.38 06/12 13:11
45F:推 Agdanpanda: 大神推114.137.137.201 06/12 13:11
46F:推 justboa: 先推再說! 39.9.106.103 06/12 13:12
47F:→ Wangdy: 嗯,跟我想的一樣 49.217.192.227 06/12 13:15
48F:推 andyjaw: 大神推 180.176.98.150 06/12 13:18
49F:推 drajan: 好文 82.8.204.225 06/12 13:20
50F:推 speq: 哈哈 223.136.162.55 06/12 13:24
51F:推 a75088285: 煩,又要跪著看了 114.36.204.220 06/12 13:30
52F:推 alfredc: 推!太讚118.169.231.211 06/12 13:30
53F:推 YeaPa: 老師好,這篇我居然看得懂 116.241.140.32 06/12 13:30
54F:推 ashs92223: 推推 112.78.88.19 06/12 13:32
55F:推 g89227: 推 1.164.100.235 06/12 13:33
56F:推 shi21: 這篇是不是該m118.167.160.138 06/12 13:35
57F:→ jserv: @YeaPa, 知音難尋140.116.246.163 06/12 13:43
58F:推 yymeow: 推個 114.37.50.214 06/12 13:44
59F:→ jserv: @sdbb, 讓30年前的軟體可復活,是檢驗工具140.116.246.163 06/12 13:47
60F:→ jserv: 和軟工程手法的極佳案例140.116.246.163 06/12 13:49
61F:推 ShangLai: 推223.138.179.207 06/12 13:52
62F:推 fenllo: 哇 42.77.20.172 06/12 13:58
63F:推 hakosaki: 大神又有熱情教學只能推 111.249.145.48 06/12 14:19
64F:推 sdbb: 收到,就是技術展現aka恐龍復活 工程師浪漫 123.204.126.1 06/12 14:46
65F:推 Mashiro17: 大神快拜… 1.160.127.101 06/12 14:47
66F:推 Kimheeche: 推 101.10.94.180 06/12 15:04
67F:推 theedge: 謝謝老師但是我比較喜歡聽業界八卦 42.72.169.61 06/12 15:12
68F:推 gowellplayer: 太神了 推 114.44.144.232 06/12 15:13
69F:推 zero11995: 推114.136.153.133 06/12 15:16
70F:推 holebro: 準備好報名上課 116.241.111.87 06/12 15:24
71F:推 PhilHughes: 想學 39.9.168.103 06/12 15:30
72F:推 dave123: 推 101.10.12.64 06/12 15:32
73F:推 violetflames: 在寫論文嗎!?101.137.209.194 06/12 16:02
74F:推 southernwood: 推 111.83.91.212 06/12 16:11
75F:推 DarkerDuck: 推推 60.249.215.220 06/12 16:26
76F:推 legendd: J大推推 110.26.196.68 06/12 16:31
77F:→ jserv: @theedge, 關於產業八卦,我開專門課程探討140.116.246.163 06/12 16:54
78F:→ jserv: # https://hackmd.io/@sysprog/info2021140.116.246.163 06/12 16:55
79F:→ jimjim951357: 推 140.114.88.144 06/12 16:58
80F:推 hhbbookao: 和其他高手發文的氛圍相比看你文最舒服 61.62.234.33 06/12 16:59
81F:→ jserv: @violetflames, 我(論)文組,當然要寫論文140.116.246.163 06/12 16:59
※ 編輯: jserv (140.116.246.163 臺灣), 06/12/2022 17:22:28
82F:噓 daye2012: 抄wiki一堆表列的廢文 118.231.210.90 06/12 17:13
83F:推 yuiweq1999: 松鼠大必推 223.136.85.19 06/12 17:23
84F:→ jserv: @daye2012, 來自 116 的廢文,感謝肯定140.116.246.163 06/12 17:23
85F:推 rongyaya: 老師好114.137.210.133 06/12 17:43
86F:推 mion0723: 推 101.12.35.58 06/12 18:07
87F:→ jserv: @holebro, 可先從去年的題目開始:140.116.246.163 06/12 19:53
88F:→ jserv: # https://bit.ly/linux2021-summer140.116.246.163 06/12 20:00
89F:推 saedn: 老師耶!!! 可以上課了!!! 114.39.153.238 06/12 20:29
90F:推 mynewid: 詾m -rf 101.12.54.47 06/12 21:33
91F:→ jserv: @mynewid, 你想討論 rm -rf 出現在何時嗎?140.116.246.163 06/12 21:46
92F:推 wulouise: 看完的時候我已經跪在地上 61.231.136.143 06/12 22:39
93F:推 kamichu: 工程人員的浪漫是不是都藏在註解裡面 114.42.12.164 06/12 22:45
94F:推 splasky: 嗯嗯 和我想的一樣 114.46.92.55 06/12 22:49
95F:→ jserv: @kamichu, 除了 "You are expected to140.116.246.163 06/12 23:02
96F:→ jserv: understand this" 這樣的註解 (出現於 V6)140.116.246.163 06/12 23:02
97F:→ jserv: 還有很多有趣的註解,歡迎推坑給我140.116.246.163 06/12 23:03



※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: NoPTT (36.228.237.96 臺灣), 06/12/2022 23:27:30
98F:推 yzfr6: 不是 System V 跟 BSD 兩大體系的差異嗎 07/05 07:36







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP