syscall.sh 是開發者 TMZ 維護的線上工具,整理 Linux 核心裡所有系統呼叫(syscall)的對照表。對寫作業系統、除錯或研究核心原始碼的工程師來說,查系統呼叫編號與參數常要翻核心原始碼或文件,這個網站把資料集中成可直接查詢的介面,省掉來回核對的麻煩。
資料直接從 Linux 核心原始碼掃描 SYSCALL_DEFINE 巨集取得,涵蓋 x64、arm64、riscv64 等 27 種架構。每個架構都有 JSON 檔,記錄系統呼叫出現或被移除的核心版本,也提供 api.syscall.sh 這個 API 讓程式查詢。
這次更新讓網站多了跨架構對照、核心版本選擇器,以及已移除系統呼叫的追蹤功能,方便比較同一個系統呼叫在不同處理器架構上的呼叫慣例與暫存器用法。在 Hacker News 上,這類把底層資料整理成好用工具的個人專案一向受到工程師社群歡迎,討論多集中在資料準確性與涵蓋的冷門架構。
這則新聞偏向系統底層與作業系統的專業領域,對剛開始學程式的孩子來說門檻較高,但可以當成一個例子:系統呼叫是程式向作業系統要資源的方式,像是開檔案、讀網路。對已經會寫程式、好奇電腦底層怎麼運作的孩子,這個網站是個可以實際動手查、對照不同處理器差異的好教材。
開發工具開源系統程式Linux