王佑中博士說:「寫一個 OS 是多麼美好的事,在有限的生命中千萬不要遺漏了它。」
快來跟著我一起體驗自幹作業系統的快樂吧!本篇文章會提到:
1. 基礎計算機科學知識 ( RISC-V 為主)
2. 開發工具包
3. 作業系統原理與部分實作
4. 並行程式設計基礎
本文目標 認識暫存器 建立 Callee save 與 Caller save 的觀念 了解呼叫慣例 進入正題 下圖列舉了 RISC-V 處理器中的通用暫存...
本文目標 學習 RV32I 進入正題 RV32I 是 32-bit 的基本整數指令集,該指令集會使用到 32 個暫存器 (x0-x31),且一共有 47 道...
一般在修讀 Operating System 時,都會學習到 Interrupt 的概念,此外,電腦在運作時也會碰到大大小小的問題。你可曾好奇電腦是如何排除這些...
你可曾想過現今的電腦是如何同時運行多個應用程式?又或是單核心電腦如何做到多工?為銜接之後的議題,我們需要先認識 RISC-V CPU 中的中斷機制。 複習: C...
本文目標 認識 PLIC, IRQ 與 ISR 綜合先前所學,應用在實際案例上 進入正題 PIC PIC (Programmable Interrupt C...
GNU Debugger,簡稱 GDB,是 GNU 軟體系統中的除錯器,由於其具有可移植的優點,在現今的主流處理器架構與作業系統平台上都可以看見 GDB 的身影...
GCC 是 GNU Compiler Collection 的簡稱,GCC 原本稱為 GNU C Compiler,隨著時代演進,陸續支援 Fortran 、...
最初,Linux Kernel 的社群採用壓縮檔或是補丁的方式進行維護工作。一直到 2002 年,開發 BitKeeper 的商業公司與社群合作,讓 Linux...
如果讀者經常泡在 GitHub 上瀏覽他人的 C 語言專案,應該很常會看到名為 Makefile 的檔案。本文會介紹 Make 這套建構工具以及撰寫 Makef...
Linux man-pages 提供與 Linux kernel 以及 GNU C library 提供的 user-space API 有關的詳細資訊,其主要...