顯示廣告
隱藏 ✕
※ 本文為 kewang 轉寄自 ptt.cc 更新時間: 2011-09-30 10:27:02
看板 Soft_Job
作者 m13m13m (奇怪 還沒收到??)
標題 Re: [請益] 手機程式開發與兼顧硬體能力
時間 Sat Sep 24 21:43:27 2011


: : p.s: 在這Po文是因為這裡有許多工作多年的前輩
: : 想請益你們的經驗
:   你對底層知道得越多,你寫起上層越得心應手....
:   理論上是這樣啦,實務上寫軟體的多半會覺得寫driver真是他媽無聊。
:   而且台灣會寫driver的人還不少,但是熟系統架構的人不多,這塊算是
:   純軟要切進embedded system很好的進入點,因為現在的系統通常driver
:   和中間層都切的蠻乾淨了,出了driver基本上就是純軟的天下。

--->請問android OS是從linux裡面去再做修改的嗎?

    所以我的問題是: 要如何了解它的底層? (有沒有具體一點的說法)

    那所謂的底層是多底層? 不是到driver 又不是到application那就是

    指Operation System? Firmware的部分嗎?



:   而且系統越來越複雜,中間這層已經不是寫firmware和driver的人可以
:   處理的,對純軟來說非常有利,舉個實際的例子,今天要在Android上
:   實現外接TV輸出,台灣的硬體廠RD大概只能在driver這層動動手腳,
:   其他的部分多半無能為力,但是抓CyanogenMod的原始碼來看,中間要
:   動到EGL, gralloc這些亂七八糟的東西,其實是非常複雜的一個問題,
:   這個不是純軟來看多半直接放棄不改。
:   錢會不會比較多就不一定了,畢竟台灣還是以硬體主導軟體的產業走向。
:   但是純就學東西來看,閱讀這些底層的原始碼對你的程式設計技巧有
:   非常大的幫助,加上吸收到的OS概念,對新手可說是很好的歷練。


    上兩行是答案嗎?... 看底層的source code來了解運作 避免上端

    的stupid behavior,而且可以快速implement?



:   以Android來說的話,你可以學到系統怎麼去管理視窗,怎麼做
:   消息傳遞,怎麼處理使用者輸入,怎麼讓畫面顯示到手機上,
:   這些通通有原始碼可以看,而且都是高手寫的code,質量有保證,
:   花時間下去追是非常划算的。我自己是閱越越覺得這些人的腦袋
:   真的不知道怎麼長的,裡面一堆加速的奇怪技巧,受益良多。



    看來是答案了?

    不過我的結論就是: 就算修了embedded system的課

    了解driver的東西也沒用,因為重點在中間的OS那塊部分,要看人家

    怎麼改的,我們才能有效的運用OS的力量在有限的硬體資源上去開發軟體?


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.155.193
qrtt1:這樣做對你的人蔘有幫助,但對解決這個問題並沒有直接的幫助1F 09/24 21:52
qrtt1:對底層不夠了解,只是一個莫須有的罪名。正解還是得找出程式
qrtt1:本身的 bug,並提解法才是正途。
iincho:問題是很多狀況是底層有bug, 歡迎來到嵌入式系統的世界4F 09/24 21:55
iincho:甚至硬體就有bug一路包到軟體XDDD
qrtt1:那就退回啊xd 最近比較杯具,遇到一個版子。只要呼叫到6F 09/24 22:02
qrtt1:llrint 就 hang 在那裡。就寫個 sample 給客戶的窗口xd
leav:前輩的回答, 應該已經超過你目前所能理解的程度了...8F 09/24 23:53
leav:個人能給你的建議是1.多學一點總是好的
leav:2. 不要以為自己已經找到了final ans, 而不再往更深層去探究
leav:像你最後一段所寫, 感覺你已經建立某些成見了
diousk:同意樓上,Just do it12F 09/25 03:28
m13m13m:m...謝謝指點13F 09/25 17:37

--
※ 看板: FW 文章推薦值: 0 目前人氣: 0 累積人氣: 174 
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇