---
# System prepended metadata

title: Chapter 00：為何要打造一個作業系統

---

Chapter 0：為何要打造一個作業系統
===

:::info 

心靈雞湯可以撐過枯燥乏味的學習過程。

:::
>Creation Time[time=Tue, Aug 12, 2025 2:38 AM]
---

# 挑戰自我
![maslow-hierachy-of-needs-min](https://hackmd.io/_uploads/S14J9pDule.jpg)

這是大家熟知的馬斯洛需求理論：最底層的是基本的生理需求，吃喝拉撒睡；第二層是安全需求，人生安全、健康、財富財產安全；第三層是社會需求，包含家人、朋友、伴侶等歸屬感的滿足；第四層是自尊的需求，建立個人的影響力和社會地位；最後是自我實現的需求，追求自我認定的理想和目標。

> 我覺得從無到有打造作業系統應該是屬於「自我實現」層級的。

因為打造作業系統並不是任何一個企業的面試標準，就算真的打造出作業系統，它並不能保證可以得到任何一個工作，就短期效益而言真的是少得可憐，還不如多刷一些 leetcode，或是背一些面試考古題還比較實際。的確，面對研究所考試的時候，作業系統其實就是個背科，可以理解的部分就先理解再背，無法理解的部分直接生吞活剝硬背下來就對了。沒辦法，研究所考試準備時間也就頂多六到八個月，資工所的科目又特別多，同時間還有線性代數、離散數學、資料結構、演算法，當下真的只能囫圇吞棗，以求最大得分效益。之後出了社會，通過面試進入科技業，其實也不太需要對於作業系統有多深刻的了解，你懂的，大家都是糊口飯吃而已。

> 可以回答作業系統的所有問題，不代表具有解決問題的能力。

But！對～人生最重要的就是這個「But」，在科技業打滾十年後，一路從系統廠前進到半導體廠，從客戶端變成提供晶片的供應商，其實一路上都離不開要跟作業系統打交道，尤其是 Linux 這頭巨獸，我相信在業界打滾多年的人，都會有一套生存之道。每每遇到很艱難的問題時，都是因為我對作業系統的不夠深刻了解，雖然燒香拜佛後總能僥倖度過難關，但不免心裡虛虛的，也因此激發我想要找個機會好好了解作業系統的求知慾，能更有效率更專業的提升解決問題的能力。

> 求知慾是人類進步的原動力。

我之前有嘗試直接看 jserv 「Linux 核心設計」線上講座，但 Linux 這頭巨獸實在太高深莫測了，能理解三成就偷笑了，大部分都一知半解的聽完講座。畢竟 Linux 可是累積了成千上萬人的努力，說它是人類智慧的結晶都不為過，如此龐大且複雜的 Linux 我們該如何面對呢？其實就像任何複雜的東西一樣，一開始都是從最簡單粗暴的想法開始的，然後隨著時間的累積，慢慢發展成複雜的樣態。而我們之所以無法理解，常常是因為我們跳過了中間的歷史脈絡，以及當初為何如此設計的背景原因，只看到眼前晦澀難懂的表象，忽略了底層邏輯。作業系統的底層邏輯其實就是：CPU 的抽象化；記憶體的抽象化；週邊的抽象化。考驗的是你的抽象化能力。

> 說到底，作業系統跟很多抽象學科一樣，想像力就是你的超能力！

就讓我們從最間單粗暴的開始吧！就像練馬拉松一樣，一開始先出門跑步開始，先跑再說，然後你會開始遇到很多問題，很多疑問，缺什麼補什麼，然後開始加入跑班尋求更專業的協助，甚至需要心理層面的支持，看著熱血沸騰的動漫「強風吹拂」，觀賞每年驚心動魄的「箱根驛傳」，有時候就是需要這種熱血，不然真的很難度過那些痛苦的時刻。學習音樂也是一樣，先做再說，隨著接觸越多，開始會有自己的理想和目標，然後一步步朝著目標前進，雖然學習過程從來就是痛苦的，但是帶來的成就感卻是無以言喻的，或許，體驗過的才會知道吧～就如同你無法向從沒看過夕陽的人，描述夕陽的紅帶來的感動。

> 千里之行始於足下。

從無到有打造作業系統，聽起來就很屌，就如同半馬破二或是破百，鐵人挑戰226，目標具有挑戰性，過程肯定是不輕鬆的，甚至有點自虐，但是一旦達成，你會贏得所有人的尊敬。挑戰之所以挑戰，就是需要獨自忍受孤獨和痛苦，就如同那些頂尖的運動選手一樣，他們肯定經歷我們常人無法想像的訓練，才能達到如此非凡的成就。

> 挑戰自我，就有機會看到人生不一樣的風景。

# 生命就該浪費在美好事物上

[《操作系统真象还原》札记](https://github.com/yifengyou/os-elephant?tab=readme-ov-file)

這是中國作者鄭綱寫的一本書，台灣翻譯是「撰寫一個完整的作業系統」，感謝有這本書的存在，讓我有機會從無到有打造作業系統，完成資工人的三大浪漫之一：自幹作業系統、自幹編譯器、自幹(CPU/圖形學/網路/資料庫...)。

> 王佑中博士曾說過「寫一個 OS 是多麼美好的事，在有限的生命中千萬不要遺漏了它。」

雖然撰寫作業系統是個艱鉅的任務，而且帶來的經濟效益幾乎沒有，但只要想到未來如果我能憑一己之力，拍攝影片講解我是如何從無到有打造作業系統的，我就興奮到睡不著覺。除了給自己留記錄以外，其他人也可以感受一下撰寫作業系統的難度，甚至如果你有失眠困擾的，我相信講解影片應該會有蠻大的幫助。

# 自我期許

單純，我會盡可能的讓作業系統保持單純，用最低的知識儲量，完成一個最單純的作業系統，它是一個入門磚，雖然距離真正商業的作業系統有很大的一段距離，未來需要自行去摸索，但希望這份資源是個起點，足以讓你勇敢的踏上偉大航道，航行在無邊無際的程式碼中。

> Life is simple. It's just not easy.

![https___dev-to-uploads.s3.amazonaws.com_uploads_articles_rejmj5v8uhfiumssc7qa](https://hackmd.io/_uploads/rycl2kudxx.jpg)

祝福各位旅途愉快 :)
 
