Jserv與他愉快的小夥伴

Jserv與他愉快的小夥伴

Share

想和 jserv (黃敬群) 老師互動的朋友,請多多利用此粉絲專頁。

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

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 擴充功能圖示檢查網頁,只要內容查不出問題,就不會有人來煩你,只要還有人來煩你,此人就是網軍,就是臥底的,就是來帶風向的,讓我們一起用科技的力量讓世界更美好!✊

#歡迎分享出去

Photos from Jserv與他愉快的小夥伴's post 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

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

Want your school to be the top-listed School/college in Tainan?

Click here to claim your Sponsored Listing.

Location

Category

Telephone

Address


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