Elian

@jychen0611

Joined on Feb 23, 2024

  • contributed by < jychen0611 > 第 1 週測驗題 quiz 1 <程式運作原理> 結構體 typedef struct __node { struct __node *left, *right; struct __node *next;
     Like  Bookmark
  • contributed by <jychen0611> (Jia-Yang, Chen) quiz1 - problem C :::danger Choose one problem (A, B, or C) from Quiz1, translate it from C code to a complete RISC-V assembly program, and include the relevant test data. ::: C code static inline float fabsf(float x) { uint32_t i = *(uint32_t *)&x; // Read the bits of the float into an integer
     Like  Bookmark
  • contributed by < jychen0611 > 測驗題改進與提問 從前 4 週的測驗題選出 3 題改進 (含延伸問題,要有對應的 Linux 核心原始程式碼案例探討),觀摩其他學員並參照授課教師進行的作業檢討和回顧,若有不能理解的部分,請標註出來。善用 HackMD 的語法 :::info 和 ::: 標註你的提問,在原有的筆記頁面更新即可。 閱讀〈因為自動飲料機而延畢的那一年〉 紀錄閱讀〈因為自動飲料機而延畢的那一年〉的啟發,特別在學習本課程 5 週之後的感想,應具體描述你在課堂、課後創作,和觀摩其他學員的成果時,理解到系統軟體的開發態度、對細節的重視,以及理論和實務的融會貫通。 資工系的學生不會寫程式,機械系的學生不會做機械,電工系的學生不會焊電路 QAQ
     Like  Bookmark
  • ch2 Overview of 802.11 Networks basic service set (BSS) : a group of stations that communicate with each other independent BSS (IBSS) : communicate directly with each other, sometimes referred to as ad hoc BSSs or ad hoc networks. infrastructure BSS (never called an IBSS) : use access point Association : the process by which mobile station joins an 802.11 network extended service set (ESS) : created by chaining BSSs together with a backbone network distribution system = backbone Ethernet + bridging engine inter-access point protocol (IAPP) : many access points on the market use an inter-access point protocol (IAPP) over the backbone medium. However, no standardized method for communicating association information to other members of an ESS Different types of 802.11 networks may also overlap. Stations are identified by 48 bit IEEE 802 MAC addresses.
     Like  Bookmark
  • contributed by <jychen0611 > 自我檢查清單 [x] 研讀上述 ==Linux 效能分析的提示== 描述,在自己的實體電腦運作 GNU/Linux,做好必要的設定和準備工作 $\to$ 從中也該理解為何不希望在虛擬機器中進行實驗; [x] 閱讀〈Linux 核心模組運作原理〉並對照 Linux 核心原始程式碼 (v6.1+),解釋 insmod 後,Linux 核心模組的符號 (symbol) 如何被 Linux 核心找到 (使用 List API)、MODULE_LICENSE 巨集指定的授權條款又對核心有什麼影響 (GPL 與否對於可用的符號列表有關),以及藉由 strace 追蹤 Linux 核心的掛載,涉及哪些些系統呼叫和子系統? 〈Linux 核心模組運作原理〉列出的程式碼較舊,歡迎編輯頁面,更新到 Linux v6.1 以上。 [x] 閱讀《The Linux Kernel Module Programming Guide》(LKMPG) 並解釋 simrupt 程式碼裡頭的 mutex lock 的使用方式,並探討能否改寫為 lock-free; 參照 2021 年的筆記。歡迎貢獻 LKMPG! $\to$ 搭配閱讀〈並行和多執行緒程式設計〉 [ ] 探討 Timsort, Pattern Defeating Quicksort (pdqsort) 及 Linux 核心 lib/sort.c 在排序過程中的平均比較次數,並提供對應的數學證明;
     Like  Bookmark
  • contributed by <jychen0611 > Reviewed by jimmy01240397 善用巨集展開以減少重複的程式碼,例如:​​​​#define q_remove_base(head, sp, bufsize, from) \ ​​​​ if (!head || list_empty(head)) \ ​​​​ return NULL; \ ​​​​ element_t *tmp = list_first_entry(head, element_t, list); \ ​​​​ strncpy(sp, tmp->value, bufsize); \ ​​​​ sp[bufsize - 1] = '\0'; \ ​​​​ list_del(&tmp->list); \
     Like  Bookmark
  • contributed by < jychen0611 > 第 3 周測驗題 第 4 週測驗題
     Like  Bookmark