四月 19, 2008
» RamdiskSync Beta1 Released

Screenshot of RamdiskSync

如同Mac OS X下的Ramdisk解決方案一文所說的,RamdiskSync是我拿來練習Objective C和Cocoa所寫的一個小東西。這也是我第一個在Mac OS X獨立開發的原生軟體,設定介面的主體是Cocoa Bundle,採用Objective C和Cocoa(加上少許Carbon)完成。至於建立Ramdisk的核心程式其實是一個shell script,不喜歡GUI介面的人也能單獨拿出來用。另外RamdiskSync還會在背景偷跑一隻Observer攔截mount及unmount event,我故意用Ruby + Cocoa來寫,雖然比較吃資源,但也省了一些開發時間,還順便能做為一個RubyCocoa的小demo軟體。

RamdiskSync的功能包括了:

  • 為系統偏好設定(System Preferences)的元件,設定完就能關掉,不必一直開著。
  • Ramdisk圖示能在桌面和Finder中隱藏(只有用Terminal才看得到)。
  • 可以自由設定要自動同步的目錄。
  • 登入時自動建立Ramdisk,同步已設定的目錄。
  • 已有英文及繁體中文介面
  • 免註冊、免費而且open source。

安裝方法

下載後解開壓縮,點兩下就會自動安裝好了。之後打開系統偏好設定(System Preferences)就能看到RamdiskSync。
(我還沒設計icon,歡迎提供可愛的icon。)

下載

下載 RamdiskSync Beta 1

Copyright & Source code

RamdiskSync採用MIT License釋出

source code可以在Google Code的project page用subversion取得。

Bug Report

如果有任何bug或建議,歡迎直接留下comment。

三月 9, 2008
» Mac OS X下的Ramdisk解決方案

我常常在注意我電腦的資源使用情況,尤其是CPU和RAM的使用狀況,因為這兩項資源跟系統流暢度有非常密切的關係。最近觀察我Macbook(2.0Ghz Core 2 Duo, 2GB RAM)平常的情況,雖然平常大概會同時開13個以上的應用程式,但CPU的兩個核心平均負載大概都在20~30%以下,而RAM更是有700MB的剩餘空間。

總而言之,我的電腦太快了,RAM太多了。

嫌CPU一直閒著沒事做的話,有很多類似Seti@home之類的耗電程式可以隨時讓CPU 100%運轉。嫌RAM太多的話,可以把一部分的RAM挪出來當作一般磁碟使用,這種磁碟則稱為Ramdisk。

在Mac OS X下要做Ramdisk方法很多種,在此大概做個簡單介紹。

方法 1: 直接在Terminal下指令。(超硬派作法,geeks only)

Mac的terminal下可以做到很多神奇的事,甚至像是建立ramdisk這種程式都有提供。我想會用這方法的人是少之又少,我就不解說了。詳細指令可參考Create a RAM Disk in Mac OS X這篇文章。

方法 2: Espérance DV

這是個有點古老的Ramdisk軟體,但功能還頗完整。可以自動儲存和恢復Ramdisk的內容,也能設定把Safari Cache/Icons和xcode編譯的暫存區放到Ramdisk中。但我在Leopard中,自動儲存和恢復的功能一直沒辦法正常運作,另外它內部設定的Safari資料夾也是舊的。總之這軟體在Leopard中已經殘廢一半,而且沒有持續更新傾向..。

方法 3: Ram Disk Utility PRO

這是難得一見由台灣人開發的Mac軟體。功能強大,可以自由設定要同步進Ramdisk的目錄,空間快不夠還會有警告。雖然這軟體蠻完整的,但有幾個小地方我不太喜歡,導致我用過一次以後就不想開了XD

  • 每同步一個目錄就要建一個Ramdisk,而且Ramdisk圖示還不能隱藏,所以只要同步目錄一多就會看到一大堆Ramdisk volume…。
  • 它是獨立執行的應用程式,一login就要一直開著,在dock和alt-tab中都會佔掉一個位子。
  • 它是要註冊的shareware….

說來說去,上面三個方法都各有缺點。我理想中的解決方案是這樣的:

  • 像Espérance DV一樣是Preferences Pane裡面的元件,設定完就能關掉。
  • 同步的目錄可以自由設定,且用symbolic link連結至Ramdisk內就好。
  • Ramdisk圖示要能在桌面和Finder中隱藏。
  • 登入時自動建立Ramdisk,同步已設定的目錄。
  • open source software

剛好我最近空閒時間蠻多的,於是就決定自己動手比較快。可以順便一邊學Objective C和Cocoa,還能一邊解決這個小困擾,怎麼算都划得來。

因為建立Ramdisk已經有Espérance DV能做了,所以本來我只打算寫ramdisk內的目錄同步部份,就把這程式叫做RamdiskSync。沒想到後來寫一寫欲罷不能,就把它變成一個獨立的Ramdisk建立和設定工具了XD

RamdiskSync的詳細介紹就留待下篇再說了。

biggo.com.tw

A Django site.