2025年10月30日 星期四

Ashtanga

Ashtanga 是真修實證的密法,雖然很多 Ashtangi 幸災樂禍但是不要理他們就好,不知為何無法養成固定練習的習慣,明明 Ashtangi 健美又性感。總之我先設法把小腹弄平身材好的人練 Ashtanga 照相很好看,Mysore 感覺也很時尚

2025年9月24日 星期三

Ash Studio

由於想體驗人生 (能賺大錢當然好) 所以想創 Ash Studio,考量到第一個產品不要太難想做 TypeA-to-TypeC 轉接頭,往後鍵盤、滑鼠USBIP Cam、網路卡、USB HUB 都會是我努力的方向,原則上就電腦周邊原本我擔憂 EE ME 不會做,但是因緣際會跟蝦皮賣家芸庭樹工作室的負責人蘇振樹 (樹哥) 搭上線,他是一位真正的 EE 大師,如果確定要創再請他來竹圍吃米塔聊聊,當然網路 Youtuber 都教得很好也有可能不用問。Ash Studio 能做起來是最好,若失敗就考回去新北市三等公職 (魔都台北太累了)Ash 的東西賣到全世界是最終目標,初期先上 MOMO 購物網,所以要請人拍照片打廣告,我認為最重要的是品質,拍廣告宣傳是照規定來,楚門是紅是黑光只聽輿論不準要看轉接頭賣不賣得出去才知道。

2025年7月9日 星期三

申請實體記憶體位址

alloc_pages 是申請一個 page page_address 是把 page 轉為實體記憶體位址,page 其實是一個指標 (unsigned int) 強制轉換編譯會有 warning,但想不到更好的做法。






2025年7月8日 星期二

jiffies 的溢位

這題是玩點小技法!jiffies 是目前系統的時拍計數,HZ 除以 2 代表半秒後超時,那為什麼我延遲 0.5 秒卻沒超時呢?因為我把 jiffies 設為 4294967295,加 1 後溢位從 0 開始所以不會超時。 




Linux 核心鎖 (spin lock)

此為核心鎖,和之前觸發函式不同這題用到簡單的邏輯,故講解一下。進入 spinlock前若 lock_factor 1 大時線程可以向下執行;若小於等於 0 則會進入無窮迴圈,也就是等待互斥釋放,unlock 會把 lock_factor 1。當另一個線程遇到 lock 函式時,新線程因為『- -』已經把 lock_factor 設為 -1,如此當然互斥等待,等原線程 + + lock_factor 變成 0 會跳出 do-while 迴圈,如此即實現核心鎖。(前面說小於等於 0 則會進入無窮迴圈,現在又說lock_factor 變成 0 會跳出 do-while 迴圈,前後矛盾)cnt 需告成 volatile 避免被優化存取不到固定記憶體,若不使用核心鎖兩線程會交錯執行每次出來的結果都不一樣,使用核心鎖可確保一次只有一個線程能執行 cnt ++






此圖是網路原作者的核心鎖函式,但我若用小於等於 0 另一線程會死鎖 (注意紅框),應該不是他的問題是我囫圇吞棗。