how to build a site for free

羅習五 副教授

Associate Progrmmer/Porfessor
中正大學,資訊工程學系


研究興趣:作業系統相關議題。
我花了很多時間在暸解作業系統的構造,主要是GNU/Linux,也包含嵌入式專用的作業系統,例如:microC/OS。在研究上並沒有固定的方向,而是從自己的「體驗」找尋靈感,因此閱讀文章、程式碼是我日常生活的一部分,也常常嘗試新的軟、硬體。最近(2019)也試著使用GPU執行「人工智慧的應用」,但在這個方向上,還沒有任何特殊的想法。
研讀作業系統的人,多半對於計算機結構會有一定程度的了解,除了作業系統以外,計算機結構不單單是了解,而且也是我的興趣,在這個方向上,並不是去探討如何設計更好的計算機,而是了解當前的計算機有哪些特別的加速方式或者一些特殊的功能,例如:以硬體為基礎的效能偵測工具(performance monitor unit,PMU)。

教學方面,大學部的課程為「作業系統概論」和「系統程式設計」。這二門課都是使用自編教材上課。前者是因為傳統的教科書「恐龍本」與現實差距過大,因此編撰一份與實際較為接近的教材。後者是介紹「如何在POSIX系列作業系統上,開發應用程式」,因此著重於「應用程式如何與作業系統互動」,例如:應用程式的權限。在教材上雖然「APUE」是非常經典、實用的,但著眼於APUE太過於強調「跨平台」以致於無法發揮特定平台的特性,並且跨平台對初學者來說還是一個相對遠程的目標,因此採用了自編教材。

研究所課程方面,則以小班式教學為主,包含了作業系統(GNU/Linux)和嵌入式系統(microC/OS)的教學、討論及論文報告。偏向於雙向式教學。

  1. 快速開機 - 休眠式快速開機,在休眠檔內只存放開機後立即所需的部分,其餘部分使用作業系統的「virtual memory」功能,將這不重要資料保存於檔案系統或者置換空間(swap space),在beagleboard black上啟動Android只需要3.5秒。(專利)
  2. 自旋鎖的優化 - 自旋鎖是軟體系統相當重要的一部分,在多核心的時代,以自旋鎖存取共用資料往往可以獲得比semaphore或mutex更高的效能。我們則是更近一步的研發自旋鎖,其效能在32核心的threadripper上,在高負載的情況下,比既有的GNU spinlock提升7~10倍。(專利)
  3. 非揮發式記憶體的優化 - 非揮發式記憶體(NVM),如:Intel XPoint已經開始部署於伺服器上,NVM通常必須與傳統記憶體(DRAM)一起使用,以最佳化功耗、效能、耐用度等,傳統的方法是以migration為基礎,通常是基於second chance演算法,於執行時期統計記憶體的使用情況,再以page為單位做記憶體的優化。我們以物件為單位進行優化,相較於傳統方法雖不能進一步的降低功耗、效能、耐用度等,但可以大幅度地降低migration次數(約降低為1/5)。(專利)

我的父親

在艱困的時代,每個小人物都是英雄,但只有那些被歷史加冕的人才有官方的傳記,我謹以此傳記,獻給撫育我的英雄


我的父親(前言)

家族在當地是個小農,有些田地,父親在私塾初學文後,祖父母希望父親能多讀點書,家中能出位讀書人,父親當年雖然年幼,但已經看出大時代的不穩,地是祖上留下,他希望祖父母可以用這些田地養老,於是父親棄文從軍,離開故里,這一離開就是一輩子。

那個年代軍中識字的不多,父親頗識得文字,軍隊裡面需要有救護的人才,就這樣開始了軍醫生活。在艱困的時刻,糧食不是那樣的充裕,父親回憶在20歲上下,體重也不過三四十公斤,或許還更輕一些。但這並非他一個人的不幸,而是整個時代的不幸。

推動時代的並非這樣的兵卒,甚至掌權者也不曉得時代為何而來,將往哪個方向而去。就算我以後知後覺的角度來看那個時代,還是撲朔迷離。人隨著巨流飄蕩,個人意識顯得渺小,我覺得在「慌亂時代,意識是苦」,人如同被風刮起的樹葉,離開了故里,不曉得會被帶向何處,在何處落下。

若以我的散漫個性,必定是今朝有酒今朝醉。父親不曉得局勢如何,但他相信如果上天讓他倖存,那他必須做好準備。與其他兵士「只活與現下」不同,父親拿到任何的財貨必定存下。沒儲蓄銀行,那就存在枕頭底下。哪怕是時局動盪、哪怕是通貨膨脹。只要上天願意讓他落下,就算落在沒有土壤的砂礫之地,父親也要在砂礫上耕出自己的安樂土。