版本 77e2eafa7a6a722fa06ea2bbe2ff415e18fdbeac
Changes from 77e2eafa7a6a722fa06ea2bbe2ff415e18fdbeac to bfcc61ba9896e64abd9efebc16a70c93c68a471e
---
title: Kevin-Shih (施泰俊)
categories: User
...
# 簡介
* 國立成功大學測量及空間資訊學系 111 級 (2018 ~ )
* 國立成功大學資訊工程學 雙主修 (2019 ~ )
* GitHub: [`Kevin-Shih`](https://github.com/Kevin-Shih)
* HackMD: [`Kevin-Shih`](https://hackmd.io/@Kevin-Shih)
# 2022 Linux 核心設計 春季班 自我評量
## 作業共筆
* lab0-c: [GitHub](https://github.com/Kevin-Shih/lab0-c) / [HackMD](https://hackmd.io/@Kevin-Shih/linux2022q1-lab0)
* fibdrv: [GitHub](https://github.com/Kevin-Shih/fibdrv) / [HackMD](https://hackmd.io/@Kevin-Shih/linux2022q1-fibdrv)
## 測驗共筆
* quiz1: [HackMD](https://hackmd.io/@Kevin-Shih/linux2022q1-quiz1)
* quiz2: [HackMD](https://hackmd.io/@Kevin-Shih/linux2022q1-quiz2)
* quiz3: [HackMD](https://hackmd.io/@Kevin-Shih/linux2022q1-quiz3)
* quiz4: [HackMD](https://hackmd.io/@Kevin-Shih/linux2022q1-quiz4)
* quiz5: [HackMD](https://hackmd.io/@Kevin-Shih/linux2022q1-quiz5)
* quiz6: [HackMD](https://hackmd.io/@Kevin-Shih/linux2022q1-quiz6)
* quiz8: [HackMD](https://hackmd.io/@Kevin-Shih/linux2022q1-quiz8)
## 期末專題
* 改進 quiz6 (A): [HackMD](https://hackmd.io/@Kevin-Shih/linux2022q1-quiz6)
* 改進 quiz6 (A): [HackMD](https://hackmd.io/@Kevin-Shih/linux2022q1-quiz6)/[GitHub](https://github.com/Kevin-Shih/Linux2022q1-final-project)
## 修課心得
當初會選這堂課是因為系上同學推薦,雖然有了解到這堂課需要花較多時間參與,但這學期實際修課後發現還是超過當初預期。相應的在看了這麼多次日出後,也有許多不同的收穫,像是一些工具程式的使用,例如繪圖用的 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 中特性的移植,擺脫現在學的四不像導致測試時效能極差的情形。