版本 bfcc61ba9896e64abd9efebc16a70c93c68a471e
Kevin-Shih (施泰俊)
簡介
國立成功大學測量及空間資訊學系 111 級 (2018 ~ )
國立成功大學資訊工程學 雙主修 (2019 ~ )
GitHub:
Kevin-Shih
HackMD:
Kevin-Shih
2022 Linux 核心設計 春季班 自我評量
作業共筆
測驗共筆
期末專題
修課心得
當初會選這堂課是因為系上同學推薦,雖然有了解到這堂課需要花較多時間參與,但這學期實際修課後發現還是超過當初預期。相應的在看了這麼多次日出後,也有許多不同的收穫,像是一些工具程式的使用,例如繪圖用的 gnuplot、debug 用的 gdb (不像其他課程的迷你程式很多時候還沒用上就解決了)、lab0-c 中檢查記憶體洩漏等情形的 valgrind、效能分析用的 perf 等等。
還有對於多線程的共享資源、critical section 的管控,了解了 spinlock、mutex、futex、semaphore 之間的不同,像是 spinlock 大多用於快速、短暫的 critical section,取得 lock 者不應進入 sleep 等等。相較於 semaphore,mutex 則有「解鈴還須繫鈴人」的特性,只能由持有者解鎖,相較於 spinlock 通常用於較長的區塊。
自我評量 (1 ~ 10)
我給自己 8 分
在作期末專題時,由於要先重現 uThreads 中的實驗以了解 M:N mapping, Cluster 等特性對於網頁伺服器應用的有效性,沒想到在重現實驗時卻遇到種種問題,才發現原來重現實驗也能這麼花時間,也很遺憾在重現實驗時消耗太多時間、其他課程期末專題及搬家等私事的轟炸下,期末專題還有許多不足,希望在暑假閒暇之餘能逐步完善對 M:N mapping, Cluster, Scheduler 等 uThreads 中特性的移植,擺脫現在學的四不像導致測試時效能極差的情形。