wu81177

@wu81177

Joined on Feb 25, 2024

  • 執行人: wu81177 Reviewed by kevinzxc1217 這裡僅介紹各函式功能,希望有關於如何運用這些函式來進行節點標的流程說明。 節點標記相關的函式有三個 :::success 可以參考 concurrent-ll 專案的 src/lockfree/list.c,在 list_search 中:
     Like  Bookmark
  • contributed by < wu81177 > :::spoiler 〈因為自動飲料機而延畢的那一年〉閱讀心得 我觀察自己的個性,常常會在投入某項事物前過分的想像事情的困難程度,對自己的能力沒有信心,然後不敢去做,對於必須要做的事則是因此不斷的拖延,又或者是在投入一小段時間後達不到期望的進度而喪失動力,看到文章作者願意在不熟悉的領域中投入 14 個月的時間開發,甚至不惜延畢,這樣強大的行動力和毅力給了我很大震撼。 大學做專題時學長曾在解釋完複雜的架構後和我說「不要怕,你就先試試看,要先相信自己能夠做得到」,文章中老師也提到「你最大的問題在太害怕失敗了,既然都已經決定要延畢做飲料機了,那就要好好做,才不會辜負當初自己的期望。你該學習的不是看到事情要完蛋了就去避免失敗,而是應該學習如何處理與承受失敗,你才能變得比以前更強大。」 上述兩段話大致上可以對應到我的兩個問題,前者是投入前的恐懼,後者是投入後遭遇一點挫折就失去動力,像是在修這門課的時候,常常看到同學厲害的作業成果,認為自己肯定無法做這麼好而缺乏寫作業的動力,但其實我本來就不用做的這麼好,應該要專注在自身實力的進步,理性想想因為這樣妄自菲薄而駐足不前是很不值得的。
     Like  Bookmark
  • contributed by < wu81177 > Linux 核心模組執行 完成編譯核心模組之後,即可使用 insmod 將 .ko 掛載,以 hello 模組為例: $ sudo insmod hello.ko 可以查看 hello.ko 的 modinfo $ modinfo hello.ko filename: /home/bohan/linux2024/hello/hello.ko
     Like  Bookmark
  • contributed by < wu81177 > 第 3 週測驗題 測驗一 版本一當中,可以理解為使用了 binary search 來找平方根,程式先找到 msb 作為初始值,在 msb 和兩倍 msb 之間不斷二分來勘根,而因為整數型會截斷小數部分,因此 a 就會是小於等於 n 二的冪次最大值,之後若 result 加 a 後平方超過 n 就把 a 除以二查找,而由於 a 最小單位是 1 ,對於非平方數只能找到平方根的整數部分。 版本二和一的差別在於 msb 起始值的計算方式,版本一是接使用 math.h 的 log2() ,而版本二是將 n 值不斷除以二直到小於一 ( bitwise 的操作會使 n 最終變 0),過程中用 msb 記數,一樣也能算出 $lg N$ 整數部分。 而版本三的部分,根據 Digit-by-digit calculation ,所求 $N$ 可以寫成 $N^2 = (a_n+a_{n-1}+a_{n-2}+...+a_0)^2$ ,其中 $a_n$ 為二的 $n$ 次冪或0,可整理成: $$ \begin{split} \ N^2 =& a_n^2+[2a_n+a_{n-1}]a_{n-1}+[2(a_n+a_{n-1})+a_{n-2}]a_{n-2}+...+[2(\displaystyle\sum_{i=1}^{n}a_i)+a_0]a_0 \
     Like  Bookmark
  • contributed by < wu81177 > 開發環境 $ gcc --version gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 $ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 39 bits physical, 48 bits virtual
     Like 1 Bookmark
  • contributed by < wu81177 > 第一周測驗題 測驗一 參考 Optimized QuickSort — C Implementation (Non-Recursive),實作非遞迴 (non-recursive; iterative) 的快速排序法。此處提到的方法是以 swap 為主體,利用 L 與 R 去紀錄需交換的數量,再用 begin[] 與 end[] 作為堆疊,用來紀錄比較的範圍 node_t typedef struct __node { struct __node *left, *right; struct __node *next;
     Like  Bookmark