星球

Blog:Jserv's blog


最後更新: 2012/8/30 20:08:00
RSS | RDF | ATOM

演講:利用 Android 學習系統程式 (台北場次)

2012/2/21 0:33:00 | Jserv's blog
去年 12 月,筆者在台南崑山科技大學演講 [用 Android 學習系統程式],除了希望是 [深入淺出 Hello World] 的實務篇,目前也規劃比照之前在台大資訊系的演講 [],從觀察 Android 的運作開始,並透過現有 Linux 核心與 Android 系統的若干機制,逐步揭開系統程式的面紗,作為驗證電腦科學理論的另一個學習方式,於是有了此系列演講,而在二月 26 日,也有台北的場次,以下引述 [活動簡介]: 時間:2012 年 02 月 26 日 (星期日) / 上午 11:00~12:30 + 下午 14:00 ~17:00 地理位置/交通路線:蘋果優仕敦南店B1 (敦化南路一段 219 號 B1 /...

"Embedded Hypervisor for ARM" 簡報上線

2012/2/9 14:02:00 | Jserv's blog
去年年底,小弟在 [JuluOSDev] 社群分享了題目為 [Embedded Hypervisor for ARM] 的演講,簡報已上線,請見 [ARM-Embedded-Hypervisor.pdf] Embedded Hypervisor for ARM View more presentations from Jim Huang 本次議程探討以下項目: Virtualization from The Past Hypervisor Design Embedded Hypervisors for ARM Toward ARM Cortex-A15 除了探討虛擬化技術的原理,本次以實際的 open source 實做作為解說對象,探討了 [Xvisor] 與 Xen-ARM...

C 編譯器跟你想的不一樣

2012/1/31 13:21:00 | Jserv's blog
2008 年筆者在 COSCUP 發表了題目為「我是軟體 -- 那些處理器教我的事」的演講,探討因為處理器架構與系統軟體組態或假設不同,導致一連串令人意外的結果,著眼於涉及跨平台開發所潛藏有如未爆彈的種種議題。日前嘗試修改某個客戶的專案,沒想到又踩到另一個地雷,自詡是「慣 C」迷的筆者,萬萬沒想到還得交叉對照組合語言輸出,才克服問題,撰文分享如下。 考慮以下程式碼:(test.c) #include <stdio.h> #define DEBUG 1 #define DBG( ... ) \ if (DEBUG) { __VA_ARGS__; } int main(int argc, char *argv[]) { char *num; switch (argc - 1) { case 0: num =...

演講:L4 microkernel 的背景知識與最新的研究發展

2012/1/19 11:36:00 | Jserv's blog
今年二月 7 日,小弟將分享關於 L4 microkernel 的背景知識與最新的研究發展,詳情請參考 [星系統社群:第5次星系主題-L4 microkernel 的背景知識與最新的研究發展]。 第一次見到 [L4 microkernel],是在 William Stallings 的 [作業系統叢書] 讀到,那時是 1997 年,僅提供七個系統呼叫但可搭建完整作業系統基礎的 microkernel,對當時還在唸高中的我,實在是不小的衝擊。高中住校沒有辦法使用電器設備,遑論使用網際網路,唯一獲取知識的方法,就是利用每天宿舍晚自習結束到關大門前的短暫一個半小時,去附近的書店啃書,William Stallings 的大作闡述作業系統非常透徹,而關於 L4 的部份,更激起我的興趣,但這類的書籍往往售出後,就很少進貨,而我身上根本沒什麼零錢,結果一時鋌而走險,竟然沒購買而擅自攜帶出去。這本書伴隨著我在高中的課餘生涯,也讓「系統程式」與我結下不解之緣。 像這樣去附近的店家「借取」(一開始真的有歸還,但後來就無疾而終) 了好幾本關於作業系統、編譯器設計、Linux / BSD 系統書籍的行徑,是高中生涯很特別的插曲,但「偷書」是事實,估計總價約台幣五千多元。後來接了案子,逐漸有能力償還時,這些店家要不倒閉,不然就是不接受我的賠償,於是愧疚了十多年。這幾年購書,往往會要求不打折,不然就是同一本書一次多買幾份,送給需要的朋友,此外,我持續地作免費的資訊技術分享,就是希望能多作點補償。因為談及 L4 microkernel,也抖出「偷書」的陳年往事,如今探討這個議題,自然是五味雜陳,本議程最早規劃在去年,追憶 L4 發明人 Jochen Liedtke 教授過世十週年,不過當時有事耽擱,只好在今年擇期探討。 L4 在上個世紀末證明,microkernel 的效能落差並非本質的限制,而是設計與實做的議題,也因此,L4 這個高效能的...

"Develop Community-based Android Distribution and Upstreaming Experience" 簡報上線

2012/1/3 14:49:00 | Jserv's blog
去年十一月有幸受 [droidcon] 的邀請,到荷蘭阿姆斯特丹分享關於 [0xlab] 兩年來的開發經驗,探討我們如何累積基於 Android 的技術,並且透過 open source 的力量,回饋到社群並為我們創造更多正向的開發機會。簡報已上線,請見: [dev-android-distribution.pdf] Develop Community-based Android Distribution and Upstreaming Experience View more presentations from Jim Huang 提綱如下: Reasons to build Android distribution Lesson learned from AOSP The methods to enhace Android software...

「用 Android 學習系統程式」簡報上線

2012/1/3 0:00:00 | Jserv's blog
上個月筆者在台南崑山科技大學演講「用 Android 學習系統程式」,簡報已上線,請參考 [discover-android-system.pdf] Discover System Facilities inside Your Android Phone View more presentations from Jim Huang 自 2006 年起,筆者分享了名為「深入淺出 Hello World」的系列演講後,獲得一些迴響與啟發,而隨著 Android 裝置的普及與整體硬體的提昇後,實際在大量使用的裝置如智慧型手機上,做觀察、分析,進而研究系統程式的原理,已是相當便利。本議程可視為「深入淺出 Hello World」的實務篇,企圖從觀察 ARM/Linux 的運作開始,延伸去年的演講主題 [自己動手,豐衣足食 -- 淺談探索 Linux 系統設計之道],透過現有 Linux 核心與 Android 系統的若干機制,逐步揭開系統程式的面紗。 議題大綱: 握在手心的 Linux...

「軟體又熱又平又擠」簡報上線

2011/12/26 16:52:00 | Jserv's blog
上週五 (Dec 23) 應國立成功大學資訊工程系盧文祥教授的邀約,給予一場標題為「軟體又熱又平又擠:淺談開放原始碼軟體衝擊下的新思維」的演講,恰好演講地點就在十二年前,我參加大學推薦甄選的面試指定教室,而這場演講可說是自己心靈與知識成長的紀錄,簡報檔案已上線,請見: 軟體又熱又平又擠:淺談開放原始碼軟體衝擊下的新思維 View more presentations from Jim Huang 在開放原始碼軟體衝擊下,不僅給予我們新的機會,也促使我們得快速的改變既有概念,我選定這個題目的考量,著眼以下三者: 熱:軟體在多樣的應用 平:軟體作為破壞性技術 擠:軟體在爆炸性的規模 感謝老師與同學們的指教。...

「淺談探索 Linux 系統設計之道」簡報上線

2011/12/28 22:01:00 | Jserv's blog
去年小弟在 Study-Area 分享一場主題為「自己動手,豐衣足食 -- 淺談探索 Linux 系統設計之道」的演講,獲得頗多迴響,該議程從 Linux 核心的經典設計,全程以軟體開發者的觀點,探訪核心與週邊硬體互動的機制,試圖找出關聯性,進而將這些「鑰匙」串連並探索系統內部,簡報已上線,請見 [linux-discovery.pdf] 淺談探索 Linux 系統設計之道 View more presentations from Jim Huang 雖然在暑期的台南舉辦,且不幸空調無法正確運作而造成遺憾,但前來指教與討論的朋友仍不少,這讓小弟對分享系統程式原理的知識,有頗大的鼓舞。預計近期除了探討 [用 Android 學習系統程式] 一類的題材外,還規劃了從分析 toolchain 原理、核心與使用者層級互動,到改善整體系統效能和穩定度的系列演講,請多多指教,謝謝!...

在 Android 上運作 X server

2011/12/29 21:19:00 | Jserv's blog
在 Android 上運作 X11 server 的想法大概從 2009 年始,就有頗多單位陸續實現,不過大部分都是 close source。整個 X11 若要在 Android bionic (libc) 上完整編譯,會面臨頗多問題,比方說缺少 SysV shm 的支援。而 Tom Marshall 則貢獻了一個 open source 的實做,專案暫時命名為 "android-x-server",完全以 Java 搭配 Android framework 來開發,程式碼維護於 github [android-x-server]。目前還在開發初期,不過大致能運作了。 下圖是我在 Nexus S 手機先執行 [android-x-server] (X server),然後接受...

2011/12/2 0:05:00 | Jserv's blog
前年九月與去年五月,小弟在 Study-Area 做了主題為「探索嵌入式 ARM 平台與 SoC」的演講,分享過往的開發經驗,並試圖透過追蹤 [CuRT] 這樣具體而微的 RTOS for ARM,作為學習 ARM 嵌入式平台的切入點。在 Part I,快速瀏覽 ARM 架構、SoC 平台,與若干基礎概念,而在 Part II,以 PXA255 為範例,討論筆者開發的 CuRT 如何進行硬體啟動程序,從而知悉 ARM 中斷、例外處理,以及系統暫存器的對應。簡報已上線,可參考 [platform:: ARM overview]。 Part I ARM and SoC Traning Part I -- Overview View...