allenliao666

@allenliao666

Joined on May 12, 2023

  • 即使 malloc() 後獲得非 0 的值,在開始使用這塊記憶體空間前,也有可能會收到記憶體不足的警告。即 Linux 在分配記憶體時有 overcommit 的特性,就像是拿到支票,但直到要兌現前才知道有沒有錢。 Guest OS 的目標和 Host OS 不同, Guest OS 重視快速重啟服務; Host OS 在意如何安全可靠地驅動硬體的 divice driver 。 Interrupt context : 當收到中斷時(鍵盤輸入之類), Interrupt controller 會告知處理器中斷發生並接續執行一連串的軟體處理。 Linux Kernel 設計:記憶體管理心得 直播內容 OS : 解決人類的問題,在意工作分配 Bottom up perspection Process 為作業系統中最小的單位,以 process 的觀點來看,記憶體可以分為核心模式和使用者模式。兩者的大小總計為4GB (在32位元架構下, $2^{32}$ byte = 4GB),常見配置為核心模式:使用者模式 = 1:3。但在手機上的配置比例則為2:2,係因手機需要支援拍照功能,其影像處理需要使用較大的記憶體空間,所以才增加核心模式的比例。
     Like  Bookmark
  • contributed by < allenliao666 > 研讀 Error-Correcting Codes (ECC) 研讀錯誤更正碼簡介 原連結掛掉,新連結如上! 當我們需要傳遞或儲存資料時,可能會發生錯誤或是資料遺失。這時就需要 Error-Correcting Codes (ECC) 把不正確的資料修正回來,所謂 ECC 就是在在資料發生缺漏時,我們可以透過數學架構,去猜出一個最可能性最高的答案。 ECC 的實作為將原有的資料加入額外的校驗碼後經由是先建構的數學規則組成碼字,碼字在面對可容忍數量的錯誤時可以發現錯誤的位置並更正,以下介紹 SEC 、 Galois Field 和 Reed Solomon code (RS Code), Linux kernel 中與 ECC 相關的程式碼。 為什麼我們需要了解 Galois Field 呢?因為 Galois Field 具有一些特別的性質,讓我們更容易在上面使用 RS Code 作為編解碼器(Codec)。
     Like  Bookmark
  • contributed by < allenliao666 > 課程教材和 CS:APP 心得及提問 Chapter 1 看完第一章後,更了解 C 語言檔案的編譯流程,再透過 vscode 查看副檔名 .o 的檔案已非純文字內容,正是因為已被編譯為二進制的 object program 的緣故。 提問:不了解內文中有關<s>抽象化</s> 的意思 As this figure suggests, files are abstractions for I/O devices, virtual memory is an abstraction for both the main memory and disk I/O devices, and processes
     Like  Bookmark
  • contributed by < allenliao666 > Quiz3 測驗1 解釋程式碼 思路:運用直式開方法的變形,找出要開平方的數的 MSB 並持續測試回傳值平方後是否超過原數,直到 LSB 。 ffs : 回傳第一個(Least significant) 被設定的位元 fls : 回傳最後一個(Most significant) 被設定的位元 可以用fls 取代題目中的__builtin_clz(),改寫如下:
     Like  Bookmark
  • contributed by < allenliao666 > Reviewed by brian049 可以補充說明為何 q_delete_dup 函式中要使用 chiankd 的程式碼。 語意通順且研究過程紀錄完整,包括適當引用規格書。 commit message 當中像是 861c80b, f8c79d6 等等,有關於 Modify 的 commit message 皆有補述使用什麼方式去更改。:+1: 已補充相關說明,感謝 review ! 開發環境
     Like  Bookmark
  • contributed by < allenliao666 > 2024quiz1 測驗1 想法及思考 typedef struct __node { struct __node *left, *right; struct __node *next; long value; } node_t;
     Like  Bookmark