Try   HackMD

2025q1 Homework5 (assessment)

contributed by < Brianpan >

Assignments

  • lab0c
  • homework 2 quiz 1,2
  • kxo
  • homework 3 quiz 3,4
  • quiz 5, 6
  • quiz 7, 8
  • quiz 9. 10

學習計畫

Review C and kernel data structures

  • 你所不知道的 C 語言:指標篇*
  • linked list 和非連續記憶體操作*
  • Linux 核心的 hash table 實作
  • Linux 核心的紅黑樹
  • C 語言: 數值系統
  • 浮點數運算*
  • C 語言: Bitwise 操作
  • C 語言: bit-field
  • C 語言:記憶體管理、對齊及硬體特性 (o)
  • C 語言: 函式呼叫
  • C 語言: 遞迴呼叫
  • C 語言程式設計技巧 (o)
  • C 語言: 未定義行為
  • C 語言: goto 和流程控制 (o)

compilers

  • C 編譯器原理和案例分析*
  • C 語言: 前置處理器應用
  • C 語言: 編譯器和最佳化原理*
  • 你所不知道的 C 語言:連結器和執行檔資訊
  • 錯誤更正碼 (ECC) 介紹和實作考量
  • UNIX 作業系統 fork/exec 系統呼叫的前世今生
  • 「一切皆為檔案」的理念與解讀

事件驅動

  • 事件驅動伺服器:原理和實例
  • I/O 模型演化: 高效 Web 伺服器開發
  • I/O 模型演化: 以 sendfile 和 splice 系統呼叫達到 Zero-Copy
  • I/O 模型演化: Linux 的 io_uring
  • 透過 timerfd 處理週期性任務

parallel programming

kernel design

  • Linux 核心設計: 檔案系統概念及實作手法
  • Linux 核心設計: 不只挑選任務的排程器 (閱讀中)

除錯

自動飲料機心得

依稀記得以前在ptt就有看到類似的分享
過了五六年回頭來看讓我回頭看自己這幾年的變化
漸漸的工作久 慢慢的缺少熱情
文章內給我無論多大都該保有面對,接受未知挑戰的心
在面對困難問題 我們需要的是堅實的背景知識
而非似是而非的回答
或許也是自己想要上班之餘回來學習jserv老師課程的初衷
缺什麼 補什麼

eBPF TCP echo 筆記

https://hackmd.io/@brianpan21/2025q1_kernel_project

作業補完

  • quiz 5.6
  • quiz 7.8
  • quiz 9.10
  • quiz 11.12

點子

  • 可以使用CORE對應不同核心版本
  • 用user program來添加過濾程式
  • haproxy SPOE agent

Kernel 核心小助理

  • lwn.net mcp 開發
  • jserv 課程資料 mcp
  • n8n 流程

eBPF

notes

討論二

準備

  • eBPF server 實驗
  • ftrace()
  • connect() -> send() -> recv()會有timeout, usleep()
  • MCP server on lwn.net
  • 點子