WayneLin1992

@WayneLin1992

AA~AAA~AA(手語)

Joined on Feb 24, 2021

  • contributed by < WayneLin1992 > 進度規劃 [x] 重現 vcam 測試紀錄 [x] 理解 framebuffer 原理 [x] 理解 V4L2 框架 [x] 理解程式運作原理 [x] 整合之前的實作
     Like 3 Bookmark
  • contributed by < WayneLin1992 > 延伸問題 [x] 解釋程式碼運作原理,包含 timeout 處理機制。 [x] 指出改進空間並實作 [x] 研讀 atomic_threadpool,指出其 atomic 操作,並說明 lock-free [x] 嘗試使用 C11 Atomics 改寫,使其有更好的 scalability 題目理解
     Like  Bookmark
  • contributed by < WayneLin1992 > 延伸問題 第一題 [x] 解釋程式碼運作原理,指出改進空間並著手實作 [x] 實作出能抽離為可單獨執行 (standalone) 的使用層級應用程式 [x] 設計效能評比的程式碼,說明 Linux 核心的 lib/list_sort.c 最佳化手法 list_head 結構 struct list_head {
     Like  Bookmark
  • contributed by < WayneLin1992 > 延伸問題 [ ] 解釋程式碼運作原理,包含 ftrace 的使用 [ ] 本程式僅在 Linux v5.4 測試,若你用的核心較新,請試著找出替代方案 [ ] 本核心模組只能隱藏單一 PID,請擴充為允許其 PPID 也跟著隱藏,或允許給定一組 PID 列表,而非僅有單一 PID [ ] 指出程式碼可改進的地方,並動手實作 開發環境
     Like  Bookmark
  • contributed by < WayneLin1992 > 延伸問題 [ ] 解釋程式碼運作原理 [ ] 指出改進空間並著手實作 [ ] 對比 rcu_list,解釋同為 lock-free 演算法,跟上述 Hazard pointer 手法有何異同?能否指出 rcu_list 實作缺陷並改進? 解釋運作原理 list_new
     Like  Bookmark
  • [ ] 說明程式碼的運作原理 [ ] 在 Linux kernel 找出類似 align_up 的程式碼,並舉例說明其用法 測驗 $\beta$ #include <stdint.h> static inline uintptr_t align_up(uintptr_t sz, size_t alignment) { uintptr_t mask = alignment - 1; if ((alignment & mask) == 0) { /* power of two? */
     Like  Bookmark
  • contributed by < WayneLin1992 > 測驗1 延伸問題 [ ] 解釋上述程式碼運作原理,指出設計和實作的缺失並改進 [ ] 研讀 sysprog21/bignum 提供一套更高效率的 arbitrary-precision arithmetic 實作 [ ] 並改寫上述程式碼,以允許階乘運算的十進位輸出 [ ] Karatsuba algorithm 和 Schönhage–Strassen algorithm 這類的快速乘法演算法相繼提出,請引入到上述程式碼 [ ] 在 Linux 核心原始程式碼中,找出大數運算的案例
     Like  Bookmark
  • contributed by < WayneLin1992 > 學習到的知識 lab0: valgrind Address Sanitize Github Generic coroutine 原理
     Like  Bookmark
  • contributed by < WayneLin1992 > 延伸問題 測驗1 [x] 解釋上述程式運作的原理 [x] 比照 第 3 週測驗題 進行效率分析 [ ] 務必參照 folly::fbvector 文件和對應原始程式碼 [x] 指出上述實作的限制並提出改進方案, [ ] 以上述程式為基礎,實作 vector 經典操作,如 insert 和 erase
     Like  Bookmark
  • contributed by < WayneLin1992 > 作業要求 [x] fork 到自己的 GitHub 上 [x] 修正 queue 及 連帶檔案 [x] 使用 make test 跑分數並修正錯誤 [x] Address Sanitize 修正 qtest [ ] 運用 Valgrind 排除 qtest 的記憶體錯誤,並透過 Massif 視覺化 [ ] 在 qtest 中實作 coroutine
     Like  Bookmark
  • contributed by < WayneLin1992 > 延伸問題 [x] 解釋運作原理,並提出改進方案 [x] 提供字串複製的函式實作 [ ] 設計實驗,確認上述字串處理最佳化 [ ] 將 string interning 機制整合,提出最佳化的字串處理工具函式庫 [ ] 在 Linux 核心碼中,找出 SSO 或 CoW 案例並解說
     Like  Bookmark
  • 測驗 1 run static void run(char *c, int t) { char *redir_stdin = NULL, *redir_stdout = NULL; int pipefds[2] = {0, 0}, outfd = 0; char *v[99] = {0}; char **u = &v[98]; /* end of words */ for (;;) { c--;
     Like  Bookmark
  • contributed by < WayneLin1992 > :::danger 作業規範要求中英文間用一個半形空白字元區隔,請留意。 征服 Linux 核心這樣的龐然巨物前,我們需要掌握各項細節。 :notes: jserv ::: 延伸問題
     Like  Bookmark
  • contributed by < WayneLin1992 > 問題清單 [ ] free software (自由軟體) 和 open source (開放原始碼) 兩者的理念有何落差?請以創始人的訴求來解讀,儘量引用第一手材料 free software: Richard Stallman 「我支持自由軟體運動、而非開放原始碼運動的理由,在於我相信有比利益更重要的事情,像是與他人自由合作、組建社群。從我們的生命品質來說,能生活在優良的社會之中,是相當重要的,這就是我的觀點」(影片時間: 00:48:30 → 00:48:52) open source:Bruce Perens 「我認為一些自由軟體圈的人對於商業化感到有些畏懼。呃,你知道的,成功必然能夠推遲反抗的到來。但我認為商業化是非常重要的,我們想要推廣這個軟體。我和 Richard Stallman 共事,而我不認為我和他有任何哲學理念上的差異,我是《開放原始碼定義》的作者,他則是自由軟體運動的發起人暨組織者。『他認為所有的軟體都必須是自由公開的;而我則認為自由軟體與非自由軟體可以同時存在。』這是我們唯一的差異。」(影片時間: 00:48:48 → 00:49:51) 由此可以知道 free software (自由軟體)有比 open source (開放原始碼) 有更高的理想性,free software (自由軟體)強調所有的 software 應該都公開,open source (開放原始碼)則強調開發者可以選擇公開及不公開的部分。 :::danger
     Like  Bookmark