前言 寫一個 OS 是多麼美好的事,在有限的生命中千萬不要遺漏了它。-- 王佑中博士 筆者在開始撰寫本系列文前不曾接觸過嵌入式系統開發,也很少觸碰 C 語言...
本文目標 熟悉 UNIX 作業系統的發展 認識自由軟體運動與 GNU 計畫 了解 C 語言是被設計來解決什麼樣的問題 UNIX 的前世今生 在聊到 UNIX...
資料傳輸 常見的資料傳輸方式有兩種: Serial將一串資料拆成多個資料,一次傳一個資料。 pros: 成本低 Parallel有多條傳輸線,因此可以...
先備知識: Linker Script 的撰寫技巧 撰寫 Linker Script 可以讓編譯器在連結的階段按照我們的想法將每個 Section 放到指令的記...
課前複習: RISC-V 暫存器 在先前的文章已經有詳細介紹 RISC-V 的暫存器。由於本篇文章有閱讀原始碼的需求,所以將暫存器的對照表貼上方便讀者使用。...
本文目標 學習基本的排程演算法 閱讀原始碼以理解排程器的實際運作 常見的排程演算法 FCFS (First-Come First-Served) FCFS...
想知道我們在使用滑鼠操作電腦時作業系統在背後做了什麼事情嗎?又或者為什麼我們在寫 C 語言時,老師總是會說要盡量避免多餘的 I/O 操作呢?這些問題的答案我們可...
本文目標 理解作業系統與外部硬體的溝通方式 學習 xv6 作業系統是如何順利讀取到硬碟的資訊 本篇文章將會帶讀者探討 Virtio 以及作業系統如何處理各種...
你是否想過: 電腦是如何儲存我們所建立的檔案? 為什麼要做磁碟重組? 如果不知道問題的答案,就跟著筆者一起閱讀作業系統追尋問題的答案吧! 進入正題 參考 O...
本文目標 學習 Shell 的基本操作 Shell 的執行流程 Shell 的實作 進入正題 Shell 是一套能夠監聽使用者命令、解析命令再告知作業系統...