分享到plurk 分享到twitter 分享到facebook

版本 be2710efdb681a22e6dbdc270a99241c948a4fee

jserv (黃敬群)

簡介

工作經歷

開放原始碼專案參與

課程和講座資訊

作業系統核心作品

  • Piko/RT: 針對 Arm Cortex-M 系列提出類似 Linux 核心的最小實作,支援部分 POSIX
  • F9 microkernel: 依循 L4 microkernel 設計原則,特色是針對 ARM Cortex-M 提供安全和高效能的嵌入式作業系統核心,約 3000 行 C 程式碼 [2014 年商業應用]
  • mini-arm-os: 從無到有開發 ARM 多工作業系統,支援多執行緒,僅 400 行 C 程式碼
  • rtenv+: 具體而微的類似 UNIX 作業系統,運作於 ARM Cortex-M3/M4
  • rtmux: 在 ARM Cortex-A 架構上提供輕量級的虛擬化執行環境,支援 Linux 與 RTOS
  • CuRT: 小型的即時多工作業系統核心,支援 ARMv5 與 x86 架構
  • xv6-x86_64: 將 MIT Xv6 移植到 x86_64 架構並重新整理程式碼,允許更多功能和效能提升
  • Codezero microkernel: 依循 L4 microkernel 設計原則,實作短小精悍的作業系統核心,支援 ARMv5 架構 [2011 年商業應用]

編譯器作品

  • AMaCC: 用 1500 行 C 程式打造出能夠編譯自己並支援 ARMv7-A 架構的 C 語言編譯器,可輸出 ELF 執行檔或者 JIT 編譯執行
  • MazuCC: 支援部分 C99 規格的 C 語言編譯器,可輸出 x86_64 組合語言

科普筆記

  • 軟體缺失導致的危害
    • 1970 年代推出的首款廣體民航客機波音 747 軟體由大約 40 萬行程式碼構成,而 2011 年引進的波音 787 的軟體規模則是波音 747 的 16 倍,約 650 萬行程式碼。換言之,你我的性命緊繫於一系列極為複雜的軟體系統之中,能不花點時間了解嗎?
    • 軟體開發的安全性設計和測試驗證應獲得更高的重視
  • 解讀計算機編碼
    • 人們對數學的加減運算可輕易在腦中辨識符號並理解其結果,但電腦做任何事都受限於實體資料儲存及操作方式,換言之,電腦硬體實際只認得 0 和 1,卻不知道符號 + 和 - 在數學及應用場域的意義,於是工程人員引入「補數」以表達人們認知上的正負數
    • 您有沒有想過,為何「二補數」(2’s complement) 被電腦廣泛採用呢?背後的設計考量是什麼?本文嘗試從數學觀點去解讀編碼背後的原理
  • 圖解傅立葉分析
    • 傅立葉 (Fourier) 分析不僅是個數學工具,更是種徹底顛覆一個人以前世界觀的思維模式
    • 不幸的是,傅立葉分析的公式看起來太復雜,以至於很多人囫圇吞棗,並從此對它深惡痛絕
    • 本文在不需要特別熟悉數學工具的狀況下,讓讀者體會到藉由傅立葉分析看到世界的另一個樣貌
  • 從 Revolution OS 看作業系統生態變化
    • 2001 年,J. T. S. Moore 以自由軟體和開放原始碼軟體發展為主題,導演了相當可貴的紀錄片《Revolution OS》,訪談了若干先鋒者,是理解駭客 (hacker)、 GNU 計畫、自由軟體基金會 (FSF)、Linux 核心、開放原始碼 (open source) 和自由軟體 (free software) 基於不同理念各自發展、Netscape 宣佈 Mozilla 開放原始碼專案、基於 Apache 和一系列開放原始碼技術的公司、在 NASDAQ 上市等等歷程的第一手資訊
    • 因應教學需求,試圖透過共筆,選錄部份內容作資訊更新和補充

過往在成大

  • 成大夢之大地 BBS 站長
  • 成大資工醉資心 BBS 站長
  • 成大電腦與網路愛好社 社長 / 副社長

更多資訊