JimC

@HeatCrab

Joined on Nov 17, 2023

  • contributed by < HeatCrab > 定義清楚 task_struct task_struct 是 Linux 核心用來表示一個行程或執行緒的資料型別,包含了行程的狀態、調度信息、記憶體映射等。只有真正的行程或執行緒(例如用戶行程、核心執行緒等)才會有自己的 task_struct。 什麼是 softirq ? IRQ = interrupt request 是 Linux 核心用來處理延遲工作(deferred work)的機制,屬於 bottom half 處理的一部分,用於執行那些不需要立即在 hardirq 上下文完成的任務。 通常在以下情況觸發:
     Like  Bookmark
  • contributed by < HeatCrab > 紀錄閱讀〈因為自動飲料機而延畢的那一年〉的啟發 當下在閱讀的時候,說實話,看得蠻不舒服的,因作者在整個創業的過程中,基本上都是再麻煩別人,這個創業計畫也是他腦子一熱,自以為是的產物。但是冷靜了一段時間後,我發現我蠻佩服作者的,他非常的有衝勁,做事也都很認真,不懂的事情,會去找資料,去想辦法。儘管整個故事跟過程回首來看,有些過於天馬行空與天真,但是他的在整個創造的過程中,非常的投入,跟我完全是不同的極端。 受到教育體系的影響,我是一個害怕失敗,且畏懼失敗的人。我在大學期間才意識到這件事情,並努力在改善。此外,想到之後,就勇於去嘗試的態度也令我羨慕。身為一個做事前會不停地確認計畫,並思考可能障礙的人,一旦發現實踐過程有過大的障礙,就會選擇不實踐。但這些我思考中的巨大障礙往往也是受限於我有限的認知,所有的錯誤迷思,在真正實作後,往往都不是這麼一回事。我也努力在克服這個部分,但是目前更會是偏向不去想,就是做,但這又是另一個極端,我也正在努力地找平衡中。 最後,我自認沒有受到這篇文章明顯的啟發,但我也藉助這篇文章去反思自身的問題,也從文章中看到一個人努力的過程與創業的艱辛。或許現在的我不懂,但我相信或許有一天回首,這篇文章會帶給我不一樣的感受。 課程 5 週之後的感想 依據課程規劃,我想要分為以下幾個部分來討論:
     Like  Bookmark
  • contributed by < HeatCrab > 開發環境 $ gcc --version gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 $ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian
     Like  Bookmark
  • contributed by < HeatCrab > 第三周測驗一 解釋上方程式碼運作原理首先定義 mpi 的資料型別 mpi_t ,接著定義以下四個記憶體操作函式:mpi_init:初始化 mpi_t,將 data 設為 NULL,容量設為 0。 mpi_clear:釋放 data 的內存。 mpi_enlarge:擴展 data 數組到指定容量,並填充新分配的區域為 0。 mpi_compact:去除高位為 0 的冗餘空間,縮減容量並重新分配記憶體空間。 接下來是4個基本操作的函式:
     Like  Bookmark
  • contributed by < HeatCrab > CC: Urbaner3: Reply for Review on lumynous HeatCrab, 你直接要求他 lummynous5, rebase A 分支 到主分支,我看到你有做而且也希望他做。 他CI 測試還沒過,你的已經過了,我猜他有刻意保留,因為另外兩個分支好像可以測試,不過他本人比較清楚。 link 這個是我路過留言,我老是忘記小人的功能。 [name=Urbaner3] 其實 rebase 是老師要求的檢查項目之一,也可以方便其他開發者檢視 commit ,也就是開發紀錄,而不會受到上游分支的更新影響而混合在一起。另外,他其他兩個分支應該是用於 PR 的?我好像看到跟他推送到老師(upstream)有關係的樣子。 [name=Heatcarb] 開發環境
     Like  Bookmark
  • contributed by < HeatCrab > 第一周測驗一 解釋上方程式碼運作原理首先,我們先定義串列:​​​​​​​​typedef struct list_item { ​​​​​​​​ int value; ​​​​​​​​ struct list_item *next; ​​​​​​​​} list_item_t; ​​​​​​​​typedef struct { ​​​​​​​​ struct list_item *head;
     Like  Bookmark
  • contributed by < HeatCrab > shecc 執行人: nosba0957, vacantron 開發紀錄 專題解說影片 過程中的認知需要對編譯器的運作有一定的掌握,像是 Bootstrap 如何運作的 、 Makefile 如何撰寫、 ELF 是什麼等等。 前任作者的 PR 針對 shecc 增強功能與修復問題,包括:調整記憶體分配限制、支援除法與三元運算子等語法、實現 malloc 和 free、支援迴圈中的 break 和 continue、新增全域變數初始化、保留 main 函數返回值,以及優化邏輯非與位元運算等,使 shecc 更符合標準 C 編譯器要求,並通過測試驗證。 執行人使用 SSA 優化 shecc。
     Like  Bookmark