April 6, 2011

「from Source to Binary -- How GNU Toolchain Works」簡報上線

上個月底,跟 Luse 一同應臺北科技大學資訊工程所的邀請,做了一場關於 GNU Toolchain 運作原理的演講。原本想說,既然探討 GNU Toolchain 設計與運作概念的中文文件不多,藉機整理出一份入門等級的簡報資料,又因為這個題目比較冷門,實在沒保持太多期望,結果聽眾朋友竟然把整個演講廳的座位都佔滿了,看來台灣還是有很多對系統程式有熱情的開發者呢 :-)

當天的簡報已上線,請參考 [from-source-to-binary.pdf]。

一開始的切入點是簡單的 "Hello World" 程式,觀察其編譯的方式,探討 GCC 這個 compiler driver 的行為,進而擴展到 binutils 與 libc。不同於教科書的理論呈現方式,我們探討實務上面對的議題,比方說,GCC 設計初期就考慮到多個前端與後端,以及繁複的優化機制,光是 IR (中間表示式) 就歷經多次變革。在 gcc4 之後,再次大幅強化,而議程中則適時給予簡要的案例探討。另外,組譯器也並非我們預想一般單純,實務上還得充分考慮到 relocation 與位址處理的機制,最後才是連結器 / 動態連結器的引入,我們實地觀察了 x86 架構上,GNU/Linux 的執行時期行為。

感謝您的指教與討論,未來筆者也在規劃系統程式相關的題材,希望能陸續發表。
由 jserv 發表於 April 6, 2011 7:00 AM
迴響
發表迴響









記住我的資訊?