星球

Blog:Jserv's blog


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

"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...

演講: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 這個高效能的...

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 =...

"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...

演講:利用 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 /...

"Improve Android System Component Performance" 簡報上線

2012/2/21 18:17:00 | Jserv's blog
日前很榮幸能在 Linux Foundation 舉辦的 [Android Builders Summit] 發表 [Improve Android System Component Performance] 議題,其簡報已上線,請見 [android-performance.pdf] Improve Android System Component Performance View more presentations from Jim Huang 在這個議程中,筆者嘗試探討三項在 Android 裝置產品化過程所面臨的挑戰: 2D/3D graphics Android runtime boot time 特別在非智慧型手機的產品需求來說,許多公司均投入可觀的工程資源,還無法有效克服這幾項,困難處在於細節太多,而且直接影響到使用者體驗,偏偏 (現有的) Android 就還沒充分在高解析度、較低運算能力的環境,或者繁複的第三方軟體整理等狀況下驗證或調整。筆者過去曾與一些 SoC...

演講:Android Dalvik VM 探險

2012/3/3 0:14:00 | Jserv's blog
應 [Taipei GTUG] 之邀,三月 14 日晚間,我將分享主題為「Android Dalvik VM 探險」的演講。以下摘錄 [活動資訊]: 時間:2012/03/14 19:30-21:30 地點:果子咖啡 / 台北市松山區民生東路三段140巷11號 報名網頁:http://registrano.com/events/05fecf 自從 Google 在 2008 年 Google 工程師 Dan Bornstein 揭露 Android 系統的重要元件 Dalvk VM 的 [設計概念] 後,Dalvik 就是人們相當有興趣的議題之一,而這幾年 Google 工程師陸續在 Dalvik 引入頗多經典的設計,本議程將以一個系統整合開發者的角度,去對 Dalvik VM...

DragonFly BSD 3.x 現身

2012/3/2 23:44:00 | Jserv's blog
這其實已非新聞,不過既然中文介紹不多,這裡不妨簡要探討 [DragonFly BSD] 3.0 的推出。 DragonFly 專案創始人 Matthew Dillon 曾是 FreeBSD SMPng 項目的核心開發者, 同時也大幅改善包含虛擬記憶體管理與 VFS 等項目。由於 FreeBSD 5.x 的多執行緒系 統初期有很多問題,而 FreeBSD 4.11 後僅提供安全性修正,卻不再推出 4.x 系列版本 ,致使 Matthew Dillon 在 2003 年七月宣佈將在 FreeBSD 4.8-STABLE 的基礎推出一個 嶄新的 BSD 系統,專注於 x86/x86_64 平台的 SMP...

透過 L4Ka 快速打造作業系統雛型

2012/3/7 0:33:00 | Jserv's blog
下標題時,其實頗為掙扎,開發作業系統如此重要之事,怎能講求速成呢?不過,考量到 目前無論是雲端或者移動裝置,都有比例可觀的技術是建構在已有成熟的作業系統之上, 探討實做一個作業系統的 Prototyping (雛型方法),何嘗不是引入創新的機會。Prototyping 是在 1980 年代初期興起的一種軟體發展模式,動機在於欲求在限定期限內,以最經濟而 快速的方法開發出系統的原型,以便即早澄清或驗證不明確的系統需求。本文嘗試在 [L4Ka] microkernel 的基礎上,建構一個適用於 IA32 架構的小型作業系統。 在稍早的演講議程 [L4 microkernel 的背景知識與最新的研究發展] 中,筆者提及 L4 家族中 L4Ka 專案企圖以 C++ 高階語言及物件導向描述方式,重作 Jochen Liedtke 博士提出的 L4 microkernel 原型,這部份的成果也就是 [L4Ka::Pistachio],目前一系列的專案原始碼均已在 [github] 上維護。L4Ka 不僅實做 L4 ABI,還提供了眾多核心開發的機制,如 in-kernel debugger,以及眾多的 user-level...

另一個運作於 Android 之上的 X server

2012/3/11 14:47:00 | Jserv's blog
去年年底,筆者介紹過由 Tom Marshall 開發的 [Android X server],現在一位澳洲的博士生 Matt Kwan 則提供另一個版本,以 MIT X License 釋出並放在 [Google Code] 維護。這個 X server 同樣以 Java 重新實做,約有一萬四千行。目前仍缺乏 X extension 的實做,所以依賴 X RENDER 或 RandR 一類 extension 的 X 應用程式,無法順利運作。 上圖是個實際運作起來的畫面,而 Matt Kwan 與 Tom Marshall...