分享到plurk 分享到twitter 分享到facebook

版本 77e2eafa7a6a722fa06ea2bbe2ff415e18fdbeac

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 中特性的移植,擺脫現在學的四不像導致測試時效能極差的情形。