http://chwong.net/
感謝OGC >///<
2009年10月19日星期一
2009年6月3日星期三
Using VirtualBox to Execute Windows Installed on Physical Disk
基本上這篇算是VirtualBox使用上的筆記,目標是讓VirtualBox載入位於實體磁碟上的Windows作業系統(這裡是用XP)。
首先要確認Windows本身需不要需修改或安裝不同的驅動程式或者修改虛擬機器的組態,請參考:
How to migrate existing Windows installations to VirtualBox
在建立對應的VMDK之前,要準備好開機磁區映像檔。因為VirtualBox無法讓grub載入原先儲存在linux分割裡的設定,所以我們準備好替代用的開機磁區讓VirtualBox用來載入Windows。在Ubuntu底下可以安裝"mbr"套件來取得相容Windows的簡單bootloader。安裝完"mbr"套件之後執行(參考):
值得一提的是,開啟VT-x的支援,反而會讓Windows XP的效能變差。將VT-x關閉後,我又對Windows的顯示效果做了些調整,整體的反應速度才稍微比較能讓人接受。這和執行Ubuntu的情況完全不同,真是令人費解。
總之,目前就可以把非Windows不可的程式移到VirtualBox裡面執行囉,但要打電玩的話可能還是要在實體電腦上執行Windows吧,因為VirtualBox的3D加速效能還是很差。
之後大概會再試試看VMware、kvm和xen等等方案...
首先要確認Windows本身需不要需修改或安裝不同的驅動程式或者修改虛擬機器的組態,請參考:
How to migrate existing Windows installations to VirtualBox
在建立對應的VMDK之前,要準備好開機磁區映像檔。因為VirtualBox無法讓grub載入原先儲存在linux分割裡的設定,所以我們準備好替代用的開機磁區讓VirtualBox用來載入Windows。在Ubuntu底下可以安裝"mbr"套件來取得相容Windows的簡單bootloader。安裝完"mbr"套件之後執行(參考):
install-mbr --force win.mbr就可以取得開機磁區,接著下一步就是建立對應實體分割的VMDK:
VBoxManage internalcommands createrawvmdk -filename \要注意的是,必須要在~/.VirtualBox/HardDisks目錄底下執行此命令,否則可能會有錯誤訊息。相關操作說明可以參考此網頁。接著就很直覺了,你只需要執行VirtualBox來建立新的虛擬機器,並使用win.vmdk當作虛擬磁碟。執行後應該就可以順利看到Windows在VirtualBox中執行了。
win.vmdk -rawdisk /dev/sda -partitions 1 -relative -register \
-mbr win.mbr
值得一提的是,開啟VT-x的支援,反而會讓Windows XP的效能變差。將VT-x關閉後,我又對Windows的顯示效果做了些調整,整體的反應速度才稍微比較能讓人接受。這和執行Ubuntu的情況完全不同,真是令人費解。
總之,目前就可以把非Windows不可的程式移到VirtualBox裡面執行囉,但要打電玩的話可能還是要在實體電腦上執行Windows吧,因為VirtualBox的3D加速效能還是很差。
之後大概會再試試看VMware、kvm和xen等等方案...
2009年5月30日星期六
JavaSE 6u14推出,終於支援escape analysis...
最近Sun更新了JavaSE 6推出了6u14這個更新版,裡面不少有趣的新特色,其中和VM本身最為相關的部分有三(目前都是選用或實驗性的功能):
補充:sby大神提示,Apache Harmony早在兩年前就支援escape analysis及相關的優化技術了。
第二項其實也不新了,早在兩三年前的學術界裡就出現過相關的討論了。簡單的來說,為了避免64bit pointer帶來的space overhead,可以用類似offset的方式來記錄objects的address。缺點就是,存取時會帶來一些execution time overhead,heap的大小也會有限制。優點當然就是heap空間的節省了。也可以參考這篇簡介或這裡。
第三項Garbage First (G1) Garbage Collector,主要演算法來自於2004年的一篇paper,內容還沒有時間好好看過,但據說有不少好處:比較值得注意的是,目前若想將G1應用在production的用途中,必須要與Sun簽署合約。後續發展。
以上提到的新特色,其中一部分將會成為JDK 7的標準功能,可以想見這些特色在未來將會更為成熟完整。
BTW,Hotspot中有不少功能或優化技術,實際上是學業界合作的成果,除了上面提到的部分外,像是client compiler裡的SSA support,也是學界的成果。研究的成果能夠被用在實際的產品中,其實是很棒的事,除了代表成果有實際的用途外,也代表了來自業界的肯定,真是令人嚮往啊...
- Optimization Using Escape Analysis
- Compressed Object Pointers
- Garbage First (G1) Garbage Collector
補充:sby大神提示,Apache Harmony早在兩年前就支援escape analysis及相關的優化技術了。
第二項其實也不新了,早在兩三年前的學術界裡就出現過相關的討論了。簡單的來說,為了避免64bit pointer帶來的space overhead,可以用類似offset的方式來記錄objects的address。缺點就是,存取時會帶來一些execution time overhead,heap的大小也會有限制。優點當然就是heap空間的節省了。也可以參考這篇簡介或這裡。
第三項Garbage First (G1) Garbage Collector,主要演算法來自於2004年的一篇paper,內容還沒有時間好好看過,但據說有不少好處:
Garbage First, or G1, is a low pause, server style collector. G1's primary advantages over the Concurrent Mark-Sweep (CMS) collector include incremental compaction, better predictability and ease of use.
以上提到的新特色,其中一部分將會成為JDK 7的標準功能,可以想見這些特色在未來將會更為成熟完整。
BTW,Hotspot中有不少功能或優化技術,實際上是學業界合作的成果,除了上面提到的部分外,像是client compiler裡的SSA support,也是學界的成果。研究的成果能夠被用在實際的產品中,其實是很棒的事,除了代表成果有實際的用途外,也代表了來自業界的肯定,真是令人嚮往啊...
2009年5月26日星期二
2009年5月23日星期六
Don't be afraid!!
Life is so short!! Hurry up !!
You should not be afraid!!
Just do it, just do what you really want to do!!
You know, you are not alone!!
You should not be afraid!!
Just do it, just do what you really want to do!!
You know, you are not alone!!
2009年5月22日星期五
Some Notes about Android
May not be correct and useful for you...
About WebKit in Android:
About Java Script JIT in WebKit:
About OpenGL/ES implementation:
Some Random Thoughts:
Related Code Location:
Reference:
About WebKit in Android:
- Java script JIT is disabled.
- Graphics: WebKit => Skia=> OpenGL/ES (libEGL, libGLESv1_CM)
About Java Script JIT in WebKit:
- Supports X86 currently.
- Port for ARM is announced and should be integrated later.
- The Andes Tech also claimed that they have a port for NDS.
About OpenGL/ES implementation:
- Software: agl (libagl) => PixelFlinger (libpixelflinger, JIT supports ARM only)
- Hardware: hgl (libhgl, vendor specific)
Some Random Thoughts:
- Skia => PixelFlinger for software rendering?
- Is Java script JIT in WebKit useful?
- Dalvik + JIT in WebKit or PixelFlinger?
- Dalvik, WebKit, PixelFlinger => LLVM?
Related Code Location:
- WebKit: external/webkit
- Skia: external/skia
- OpenGL/ES: frameworks/base/opengl/libs
- agl: frameworks/base/opengl/libagl
- PixelFlinger: system/core/libpixelflinger
- hgl: Not available
Reference:
訂閱:
文章 (Atom)

