2012年4月22日 星期日

static function in C

 static functions are functions that are only visable to other functions in the same file.  
也就是說static function在C語言內並不跟static variable的語意一致,static在java上面是一致的
C語言static function的控制是visability,但是在static variable則是life time

2012年4月21日 星期六

一些kernel的process/thread

ps -ef可以看到一堆kernel啟動的程式是使用[中括弧]括弧起來的,底下是我知到的有
ksoftirqd/0:軟體中斷的daemon,後面的號碼表示thread個數,比方說2cores 4threads
kworker:APIC的wait queue
kthreadd:kernel thread的parent daemon
kswapd0:swap daemon
migration:將process由某個core移動到另外一個core
其中有些process在ubuntu上面找不到
pdflush:將一些dirty pages作輸出
events/n:working queue

其實在過程中有看到kernel thread,我很好奇kernel thread在概念上跟thread有何差異?對於kernel thread跟process的對應關係又是如何也感到很好奇

參考資料
http://hi.baidu.com/nixsql/blog/item/c8f042ef2018863127979116.html
http://ubuntuforums.org/showthread.php?t=1630347

2012年4月18日 星期三

Cloud Projector

最近都在弄硬體的東西,反倒是忽略了這個blog,先放一兩張之前用BeagleBoard做的projector,理想上就是利用BB加連上投影機,然後用瀏覽器,比如說平板上面的瀏覽器來作遠端遙控,至於投影片是放在網際網路上面的
螢幕試用台代替投影機,可以看到BB只有外加上一個USB無線網卡,本來電源是想要用電池的,可惜市面上買到的電池組裝起來電流不夠穩定,所以電源還是接到變壓器,改天有空自己再來作一個。可以看到平板上面會顯示跟投影機上面一樣的縮圖

可以看到上面細項的參數,主要就是一個URL跟一個頁數還有目前頁數的顯示以及一些簡單的跳頁、上一頁、下一頁

目前可以轉換網頁跟pdf檔案,以後應該開始考慮轉換google的投影片,一樣有空在研究吧

2012年4月9日 星期一

硬體教我的事

有一陣子沒有更新了,最近看到都在使用硬體,把以前已經忘記的電子電路在撿回來,發現其實很多網路賣的產品有問題,另外就是有時候硬體並不是如我想像中的方式運作


  • 如果電子零件正負極接反了可以運作嗎?我本來以為不行,或者會燒掉,答案是可能還是可以運作,如果知道確定的電阻,可以依照分壓定律等等地去量測一下電壓,有時候接反了,元件的電阻會變得很大,但是還是可以通電
  • 網路上一些號稱使用18650組合的電路,號稱可以上5V2A,請實際量測,我發現電壓是夠了,很可惜,電流不夠,只有1.36A,看來網路上寫的跟賣的東西未必可以盡信,難怪接到beagleboard會不斷重新開機,我猜應該是開機有時候瞬間用電吃很兇,然後導致電流不足所產生的問題
  • 硬體電子零件沒那麼容易壞?這是我以前認知上的問題,我一直以為電子零件已經技術成熟,不是精密如cpu應該不會那麼容易壞(其實我還沒遇過壞掉的cpu),事實上,我使用電子零件損壞率還蠻高的,以電容式麥克風來說,十個已經壞掉三個了
  • 接頭等同規格?這是許多人的誤解,以beagleboard來說,雖然有hdmi接頭,可是實際上只有DVI-D的輸出,另外有時候硬體設計的時候,也會因為面積的關係,有時候會精簡,又比方如rs232指拉出了5個pin腳,這時候你就得小心了,可能你的程式沒問題是硬體有問題


以上是一些硬體教我的事情,算是野人獻曝的分享吧