Jserv與他愉快的小夥伴

Jserv與他愉快的小夥伴 想和 jserv (黃敬群) 老師互動的朋友,請多多利用此粉絲專頁。

慶祝天上聖母(媽祖)誕辰,我發布 MazuNIX (簡稱 Mazu) 作業系統,授權條款為 MIT,適合探索 RTOS 和 POSIX 實作的參照。Mazu 是個 64 位元 RISC-V 即時作業系統,以 Linux 核心的工程紀律結合 ...
09/05/2026

慶祝天上聖母(媽祖)誕辰,我發布 MazuNIX (簡稱 Mazu) 作業系統,授權條款為 MIT,適合探索 RTOS 和 POSIX 實作的參照。

Mazu 是個 64 位元 RISC-V 即時作業系統,以 Linux 核心的工程紀律結合 Plan 9 的簡潔哲學,追求可從頭到尾完整理解的小型系統。SMP 正確性、硬即時排程與核心整合網路並非事後拼裝,而是自設計之初便貫穿所有資料結構與執行路徑。

不同於將 SMP 視為選配、將網路堆疊當作中介層的傳統 RTOS,Mazu 將低延遲排程、per-CPU 執行模型與 TCP/IP 堆疊整合於同一位址空間。REST API 與 Web Shell 直接作為可搶佔核心工作執行,與 deadline-driven 控制任務並存。

其設計同時承襲 Linux 與 Plan 9。前者帶來模組化子系統、同步處理機制、buddy allocator、per-CPU 資料模型,以及預設 SMP-safe的核心文化;後者則提供「一切皆檔案」(everything is a file) 的控制機制,透過 /dev、/proc、/net 等合成檔案系統直接暴露硬體、任務與網路狀態,避免 ioctl 與特製監控介面。

Mazu 原始程式碼:
https://github.com/MazuNIX/mazu

為了準備即將投稿的論文,我在凌晨二點起身,在書房推演數學,並逐步檢視證明過程,期間意外發現 Will 保哥替我維護的 zhtw-mcp 提交 pull request,將原本以 Rust 撰寫的小工具擴展為 Chrome extension...
05/05/2026

為了準備即將投稿的論文,我在凌晨二點起身,在書房推演數學,並逐步檢視證明過程,期間意外發現 Will 保哥替我維護的 zhtw-mcp 提交 pull request,將原本以 Rust 撰寫的小工具擴展為 Chrome extension,讓使用者得以檢測網頁用語是否符合教育部詞典與臺灣出版慣例。

非常感謝保哥的貢獻與推廣,也歡迎大家協助測試、回報問題,並參與程式碼貢獻。

昨天 jserv (宅色夫) 大大來留言,跟我推薦了 zhtw-mcp 這個開源專案,這個一套針對台灣所精心設計的繁體中文(zh-TW)的語言語法檢查器,我覺得做得非常用心,可以幫大家真正深度的查核中文字是否符合《重訂標點符號手冊》修訂版、《國字標準字體》與兩岸詞彙標準化等檢查,相當不錯!🎁

我看了非常喜歡,因此幫這個做了一個 Chrome extension,現在程式已經合併了 (連結我放留言處)。我把該專案的 Rust 原封不動的編譯成了 WebAssembly 直接移植到瀏覽器上,所以沒有改太多 Code,主要就加上一些好用的 UI 而已,使用上非常的方便,我個人非常喜愛。 😘

我知道台灣很多支語警察,我覺得大家裝這套就對了,以後寫完文章發佈後按一下 zhtw-mcp Page Checker 擴充功能圖示檢查網頁,只要內容查不出問題,就不會有人來煩你,只要還有人來煩你,此人就是網軍,就是臥底的,就是來帶風向的,讓我們一起用科技的力量讓世界更美好!✊

#歡迎分享出去

源自加州大學柏克萊分校的 RISC-V 處理器架構,將過往被大量專利鎖定的 CPU 指令集重新釋放給公眾,使研究人員與各式廠商得以依自身需求使用、調整乃至擴展 RISC-V 指令集與處理器設計。自 2019 年起,我在國立成功大學資訊工程所...
04/12/2025

源自加州大學柏克萊分校的 RISC-V 處理器架構,將過往被大量專利鎖定的 CPU 指令集重新釋放給公眾,使研究人員與各式廠商得以依自身需求使用、調整乃至擴展 RISC-V 指令集與處理器設計。自 2019 年起,我在國立成功大學資訊工程所開設「計算機架構」(Computer Architecture) 課程,本著「吃自己狗食」(Eating your own dog food) 的理念,我與學生從無到有 ── 自 RISC-V 指令集模擬器、小型編譯器、即時作業系統,到極簡 CPU 原型逐一打造。

然而 CPU 開發本質上相對枯燥。光是追蹤硬體訊號、理解波形與微架構行為,就足以讓初學者望之卻步。因此我近來嘗試開發一個暫定名為 NyanCore 的教學平台,向經典的 🌈 Nyan Cat (彩虹貓) 致敬。其目的在於讓學生能以更直覺的視覺方式理解處理器微架構的差異,使 CPU 設計不再侷限於硬體波形,而能透過動畫即時呈現其運作狀態。

NyanCat 動畫天生具有固定流程、負載穩定、輸出明確的特性,因此非常適合作為觀察各種微架構效果的測試信號。無論是控制邏輯、資料相依、管線停頓、forwarding 策略或記憶體延遲,只要某個階段處理不當,畫面便會迅速呈現閃爍、破圖或刷新率異常。任何 load-use 相依、分支處理不完整或記憶體反應過慢,都會在動畫輸出中留下直接且可辨識的線索。學生不再需要大量推敲或倚賴文字除錯,而能從動畫本身看出問題所在。

NyanCat 在教學中有效的原因在於它能精準反映處理器的節奏,而微架構提升的過程,就是反覆調整、觀察與驗證的過程。學生一邊檢視動畫品質,一邊透過波形工具或模擬器理解管線行為,進而掌握 hazard 的成因、資料在暫存器與記憶體間的流動方式,以及各種微架構細節如何影響最終的執行效率。

不只 CPU 設計,我們也正著手開發一系列可在 NyanCore 上運作的軟體,包括視窗系統、電腦圖形、音樂合成器、電腦遊戲,甚至有限度的電腦網路支援。預計在 2026 年釋出,也誠摯歡迎有興趣者一同協作。

03/11/2025

身為 Kitty 終端機的使用者,我一直好奇該如何真正展現它那基於 OpenGL 的加速算繪引擎。直到上個月與女兒逛科學教育館時,靈光乍現:或許可在 Kitty 終端機內移植經典遊戲 DOOM。於是我請 ChatGPT 根據我口述的待辦事項整理成簡要規格,等回家放洗澡水的空檔,Claude Code 竟已完成初步移植,真可謂「用嘴巴寫程式」。
雖然遊戲畫面很快就能跑起來,但過程中仍有不少工程挑戰需要克服。這正顯示出為何必須具備紮實的電腦科學基礎 —— 才能有效處理多執行緒下的鍵盤事件與音效、以 SIMD 加速 base64 編碼、同時改進算繪效率並降低頻寬需求。

這個 kitty-doom 專案已可順暢處理遊戲畫面和音效,即使透過 ssh 連線,亦可運作,歡迎測試和協作: https://github.com/jserv/kitty-doom

Send a message to learn more

03/11/2025

在大學任教至今邁入第 14 年,我不僅見證並培育過無數優秀的工程人才,更以曾親自教導過二位 Linux 核心維護者 (kernel maintainer) 為榮。要成為維護者,除了長期穩定的貢獻,還必須獲得世界級 Linux 核心開發社群的高度肯定。全球至今僅有十餘位台灣人獲此殊榮,而我有幸親眼見證其中二位從學生時期一路成長至今,深感欣慰。

11 月 4 日下午,我邀請其中一位維護者、現任 Google 工程師邱冠維,回到課堂,分享他在 Linux 核心開發的第一手經驗。內容精彩可期,詳情見下方超連結。

Send a message to learn more

在全球流量前一百萬個網站中,超過 96.3% 的伺服器運行 Linux 核心 (ZDNet, 2020)。這不僅是網頁服務的事實,也是整個網際網路基礎架構的寫照。Linux 也是雲端的標準作業環境:AWS、Azure 和 GCP 等公有雲端...
05/07/2025

在全球流量前一百萬個網站中,超過 96.3% 的伺服器運行 Linux 核心 (ZDNet, 2020)。這不僅是網頁服務的事實,也是整個網際網路基礎架構的寫照。Linux 也是雲端的標準作業環境:AWS、Azure 和 GCP 等公有雲端供應商中,超過 80% 的虛擬機器與容器節點採用 Linux 作業系統。Kubernetes 與 OCI 標準原生支援 Linux 容器。

在高效能運算 (HPC) 領域,自 2017 年起,TOP500 超級電腦榜單上的所有系統皆採用 Linux,市佔率達 100%。Linux 核心的影響力亦延伸至行動與嵌入式領域。Android 系統,基於 Linux 核心修改而成,支援全球超過 30 億部行動裝置。在汽車、路由器、智慧電視與 IoT 裝置中,Linux 是最常見的作業系統核心選擇。

換言之,資料中心、雲端、超級電腦、行動裝置、嵌入式系統 ── 全都由 Linux 核心主導。

我所看見的未來:
若不掌握 Linux,將難以參與下一波運算技術的演進。

25/06/2025

作為 Linux 核心的愛好者,你或許曾因日常繁忙而無法深入參與其快速演進,對最新發展感到遺憾。沒關係!我們將於 6 月 28 日透過 YouTube 直播「Linux 核心設計」課程,向公眾分享一系列核心主題,包括 Linux 核心的 CPU 排程器原理、整合機器學習來改進 CPU 排程、底層運作機制、容器和隔離執行環境、資訊安全、數學在 Linux 核心的應用、運用 RCU 和並行處理來改進 Valkey/Redis、異質多核通訊、電源管理,和打造雲端檔案系統。

歡迎一同交流與指教,詳情請見下方連結!

Send a message to learn more

16/06/2025

本學期「Linux 核心設計」課程其中一個專題是,從無到有實作精簡作業系統,並將專案命名為 Linmo (林默),致敬千年海神林默娘 (媽祖),象徵在混沌硬體世界中默默守護使用者程式。Linmo 採用 RISC-V 32 位元處理器作為主要驗證平台,啟動程式碼與 C 語言核心總計不到二千行,支援中斷處理、搶佔式排程、記憶體配置器,及基本的字元裝置 I/O 裝置。完整 Linmo 原始程式碼預定於 6 月 28 日「Linux 核心設計」期末專題發表會上提供。

Linmo 完成後,我們將銜接下個階段的 Mazu,又稱 Mazu’s Not UNIX (MazuNIX)。Mazu 參考 MINIX 3 的微核心設計,核心僅約三千行 C 程式碼,整體含 shell、函式庫與工具在內約一萬行,支援 RISC-V 32/64 位元並預留 SMP 與平台抽象層。為了降低移植程式的門檻,Mazu 提供部分 Linux 系統呼叫的實作,如 read、write、mmap。

Mazu 核心只負責排程、I/O 多工與訊息傳遞,使用者模式服務程式構成 TCP/IP 協定堆疊與檔案系統,因此在數百 KB 的映像內即可同時扮演網頁與資料庫伺服器。排程器支援固定優先權與時間片段,強化即時處理能力,適合嵌入式與邊緣運算場景。

Linmo/Mazu 專案預計採用 MIT 授權條款,並歡迎各方的 pull request。

Send a message to learn more

02/05/2025

第 30 屆「高性能計算及嵌入式編譯技術與系統軟體研討會」(CTHPC 2025) 擬於 2025 年 5 月 28 日 (週三) 至 29 日 (週四) 假中央研究院資訊科學研究所國際會議廳舉行。我們預計發表 4 篇論文,請參見下方超連結。

Send a message to learn more

10/04/2025

整整二十年前,我拜讀 Jack Crenshaw 博士發表於 embedded.com 的一系列文章,驚覺數學與工程之間竟有如此緊密的聯繫。我們身處的世界,本質是連續的,時間猶如河流般流淌不息,放射性元素的衰變速率、電容器兩端的電壓等現象,都在時時刻刻發生著平滑而連續的變化。然而,數位電腦的世界運作方式截然不同,它們的內部時鐘以離散的節拍跳動,透過類比數位轉換器 (ADC) 在特定的時間點進行「採樣」(sampling),並藉由數位類比轉換器 (DAC) 在特定時刻施加控制。工程師人員面臨的關鍵挑戰,便是如何運用這些離散的觀測結果,來理解、預測,甚至控制本質上連續運行的實體系統。

此後在資訊科技產品的開發歷程中,我深刻體會到 e 不僅是個數學符號,而是連續隨機過程中的關鍵常數,主導著自然界中諸如衰變與散射等現象的分布規律。

以下是我近期編撰的科普文章,從物理和工程應用角度切入,試圖重現我當年受到的啟發,進而探討指數函數的數學基礎、電腦對其近似值的計算方式、與三進位平衡和人工智慧運算的關聯,最終直觀理解自然現象背後的結構與秩序。

Send a message to learn more

Address

台南市東區大學路一號國立成功大學資訊工程系
Tainan
70101

Alerts

Be the first to know and let us send you an email when Jserv與他愉快的小夥伴 posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Shortcuts

Share

Category