作業系統主要由兩大部分組成:核心負責硬體資源分配(CPU 排程、記憶體管理、裝置驅動);系統呼叫與核心工具則提供開發介面與使用者程式,讓使用者能實際操控電腦。沒有核心,硬體無法運作;沒有工具,使用者無法發號施令。
1969 年 Ken Thompson 為了玩「太空旅行」遊戲,用組合語言寫出 Unix 雛形。1973 年 Dennis Ritchie 發明 C 語言,將 Unix 90% 程式碼改寫為 C,極大提升可移植性。隨後衍生出 BSD(Berkeley Software Distribution)、System V 等分支。
1983 年 Richard Stallman 啟動 GNU 計畫,目標是建立自由、相容 POSIX 的類 Unix 系統。GNU 推出 GCC、Bash、Glibc 等關鍵工具,但核心 GNU Hurd 遲遲無法成熟。
1987 年 Andrew Tanenbaum 發布 MINIX 供教學用,雖有原始碼但限制修改與再發布,且 16 位元設計難以發揮 Intel 80386 效能。
1991 年,赫爾辛基大學學生 Linus Torvalds 在 MINIX 上以 GCC 編譯器,開始編寫針對 386 處理器的核心。8 月 25 日他在 comp.os.minix 新聞組發布著名宣言:「只是個愛好,不會像 GNU 那麼專業……」
早期採用「主版本.次版本.釋出版本」:次版本號為偶數表穩定版,**奇數**表開發版。現代內核已改用時間為基礎的版本號(如 6.x),但偶數/奇數慣例仍具歷史參考價值。
| 年份 | 里程碑 |
|---|---|
| 1969 | Ken Thompson 開發 Unix 原型 |
| 1973 | C 語言誕生,Unix 核心重寫 |
| 1983 | Stallman 啟動 GNU 計畫 |
| 1991 | Linus 發布 Linux 0.01 |
| 1994 | Linux 1.0 正式釋出 |
| 1996 | Linux 2.0,確認 Tux 為吉祥物 |