筆者以這次鐵人賽為契機,啟動一個作業系統計畫,它的名字叫做 Hoddarla。
儘管它本身還有很多模糊且未定義清楚的目標,但有兩點作為專案的基石,將會一直維持的:
* 只支援單一計算機架構:RISC-V。
* 只包含 Golang 程式碼,以及 Golang 工具鏈所能允許的組合語言。
在這次 30 天的篇幅內,將會涵蓋的是 Golang 如何支援 RISC-V 上的系統開發。雖然沒有實用性,但筆者會引用一些參考文獻,使得有心想要深入
* RISC-V S-mode 操作
* Golang 執行期
的讀者也能夠有個小型範本可以參考。
技術寫落去,予焦啦!
本節是以 Golang 上游 8854368cb076ea9a2b71c8b3c8f675a8e19b751c 為基準做的實驗 予焦啦!今天我們就來驗收前兩...
本節是以 Golang 上游 6a79f358069195e1cddb821e81fab956d9a0c7d1 為基準做的實驗 予焦啦!昨日以前的第三章解決...
本節是以 Golang 上游 6a79f358069195e1cddb821e81fab956d9a0c7d1 為基準做的實驗 予焦啦!昨日我們觀察了 Go...
予焦啦!我們昨日實作完簡易排程,確保 Golang 執行緒(M)都會被排到 CPU 資源。但是卻有不定時炸彈會出現,那就是試圖解鎖非上鎖的鎖的錯誤;大部分時候都...
予焦啦!上一章,我們完成了基本的排程;至少,程式的流程不會再因為單一的執行緒需要睡眠或是為了取得某些鎖而卡住。雖然也和本系列文的其他機制一樣粗暴而粗糙,但我們可...
本節是以 Golang 上游 7ee4c1665477c6cf574cb9128deaf9d00906c69f 為基準做的實驗 予焦啦!針對外部中斷的機制,...
本節是以 Golang 上游 7ee4c1665477c6cf574cb9128deaf9d00906c69f 為基準做的實驗 予焦啦!昨天我們終於抵達了...
今天是 Hoddarla 系列文中的附錄第 0 篇。筆者在這一年半的準備期當中送了兩個 patch 給 Golang 上游。一次是分心想要更了解 Golang...
在 3.0 那一篇,筆者介紹時間中斷與簡單的實作。也許也有讀者注意到了不太順暢的部分,那就是直接跳躍到作業系統模式去控制,卻沒有說明機器模式的中斷相關控制暫存器...
沒有人是一座孤島,而技術與軟體亦然。早在 Hoddarla 抵達系列文本篇最後的基本命令列功能之前、甚至在任何筆者的瘋狂構想之前,就早已有無數的資訊科技如堅固的...