cin-cout

@IFhfI6MRSZSja7n1T2-DNg

Joined on Sep 21, 2021

  • contributed by < cin-cout > Github: cin-cout/fibdrv 開發環境 $ gcc --version gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 $ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit
     Like  Bookmark
  • github cin-cout/tlsf-bsd TLSF 架構 mapping 技術 TLSF 跟最基本的記憶體配置器不同,使用一個 free list 串接所有的 free block ,詳見測驗五第一題,而是依照 free block 的大小,將每堆類似大小的 free block 建立一個 free list。所以每次在 alloc 一個新的空間時,都直接去最適合的大小的 free list 中尋找 free block,從而實現 good fit,而 mapping 技術就是用來尋找最適合的 free list。 TLSF (Two-Level Segregated Fit) 中使用二級的結構,加快記憶體存取速度並減少記憶體碎片化 (fragmentation)。 :::warning a power of 2 的翻譯是「2 的冪」,不用加「次方」
     Like 1 Bookmark
  • contributed by < cin-cout > 題目 測驗一 延伸問題: 指出 treesort.c 程式碼的缺失並改進 利用 Linux 核心的 list.h 標頭檔改寫並整合進第一次作業的實驗程式碼中,探討 Tree sort 的效率 研讀 Linux 核心的 Red–black tree 程式碼,比較給定的 treesort.c 實作手法,指出後者的改進空間並予以實作 Question
     Like  Bookmark
  • contributed by < cin-cout > 題目 測驗一 延伸問題: 解釋上述程式碼原理,並用 __builtin_clzl 改寫 int __builtin_clz (unsigned int x) Returns the number of leading 0-bits in x, starting at the most significant bit position. If x is 0, the result is undefined. int __builtin_clzl (unsigned long) Similar to __builtin_clz, except the argument type is unsigned long.
     Like  Bookmark
  • contributed by < cin-cout > 題目 測驗一 延伸問題: 解釋上述程式碼運作原理,舉出上述 coroutine 實作的限制 (注意 stack) 並予以改進 學習 minicoro 程式碼,針對你的處理器型態 (x86-64 或 aarch64),抽取出其 Linux 相關且用 inline assembly 實作的程式碼出來,探討其手法並分析其效能表現 Question
     Like  Bookmark
  • contributed by < cin-cout > :::danger 未見 cin-cout/lab0-c 程式碼更新。 :notes: jserv ::: 開發環境 $ gcc --version gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
     Like  Bookmark
  • contributed by < cin-cout > 題目 測驗一 延伸問題: 解釋上述程式碼運作原理 針對 Quick sort 提出上述程式碼的改進方案並實作 引入上述的 hybrid sort 策略並在 Linux 核心風格的 circular doubly-linked list 實作,需要量化性能表現並探討不同資料集 (data set) 的影響 BONUS: 嘗試對 Linux 核心提出排序程式碼改進的貢獻
     Like  Bookmark