Tuesday, August 14, 2012

RW 4.2 Mint Choco

RW 透過攔截Linux硬碟讀寫,將讀寫資料緩衝在高速儲存裝置(目前是記憶體),提升系統效能。

RW 4.2 Mint Choco 實現以下功能:
  1. 將系統讀寫過的硬碟資料緩衝在記憶體
  2. 關機時將緩衝資料寫回硬碟
  3. 每10分鐘會掃描緩衝的資料,把很少存取的資料寫回硬碟並釋放記憶體
我把 ArchLinux x64 + Gnome 3 裝在普通USB2.0隨身碟上,並載入 RW 進行測試,實際使用的效果相當不錯,常常測試完就懶的回去用原本的OS了。(其實是因為 Gnome 3.5 比 我原本OS的 awesome wm 好看多了...)

平常使用記憶體大概用掉2G,不過Chrome本身就用掉1G... (Chrome吃記憶體真是太可怕了)

風險和問題:
  1. 目前只在 ArchLinux x64 測試過,不確定是否能在 32bit OS 運作。
  2. 這版還在測試階段,所以只支援緩衝一顆硬碟。而且沒有容錯機制,所以請隨時注意記憶體剩餘量
  3. 還未提供保護機制,如果系統非正常關閉,有很大機會導致檔案系統毀損。(重開機時 fsck 可能可以修復,不過應該會有資料遺失)
RW Mint Choco下載: https://github.com/pzread/rw/tarball/mint-choco
編譯與安裝說明在檔案 INSTALL

fio 512MB隨機讀寫跟512MB循序讀寫測試: https://github.com/pzread/rw/blob/mint-choco/testdata/result
























Saturday, August 11, 2012

拼音輸入法

今天試了一下Linux下的拼音輸入法,一開始用 Google拼音輸入法,後來改用 ibus-pinyin。自動選字都比原來的新酷音好很多,不過對拼音輸入法拼音方式十分不熟悉。



Monday, August 6, 2012

Linux Driver打印資料到螢幕上

雖然有 printk , pr_alert 等函式可以把一些debug資料打印到螢幕跟log檔中,但是用起來總是不太方便(前面都會被加上打印的時間之類的)。

所以試著直接open tty設備,write資料到tty上,沒想到真的成功把資料打印在螢幕上。

PS. 打印資料到螢幕上應該是由User Mode程式來做才對,不過某些狀況就是不太允許這麼做 (ex. 正在關機時)


















Code:
struct file *tty;
mm_segment_t old_fs;

tty = filp_open("/dev/pts/0",O_RDWR,0);
//顯示在XWindows下的terminal所以用 /dev/pts/0 ,如果是一般文字界面下用 /dev/tty0

old_fs = set_fs(KERNEL_DS);

tty->f_op->write(tty,"Hello Screen!\n",strlen("Hello Screen!\n"),NULL);

set_fs(old_fs);
filp_close(tty,0);

Sunday, August 5, 2012

rw 硬碟讀寫緩衝展示

"rw" 利用Hook的方式,不需要重新編譯Kernel就可以提供記憶體緩衝硬碟讀寫功能,增加Linux執行速度。目前有一些問題尚未解決。

圖中測試環境是在安裝在USB 2.0一般隨身碟上的Linux,連續或隨機讀寫速度都超過200MB/s。