2010年8月27日 星期五
2010年8月23日 星期一
linux 2.6 book [英文版]
下午2:52
No comments
Linux Kernel in a Nutshell
下午2:18
No comments
2010年7月12日 星期一
LinSched: The Linux Scheduler Simulator
晚上8:16
No comments
2010年7月7日 星期三
[BFS] Brain_Fuck_Scheduler
上午10:57
No comments
最近在看Scheduler的東西 , 找到幾篇文章寫關於SD vs CFS的故事
蠻有趣的!
這故事還有續集但好像沒人提過!
幾篇文章都說Ingo Molnar的CFS擊敗Con Kolivas(ck)的SD 成為主線
scheduler,然後ck退黨消失!
故事的後續就是ck於2009捲土重來, 用他的Brain FuckScheduler(BFS)跟主流CFS分庭抗禮!!
LKML上又再次槓上Ingo Molnar~果然刺激阿!
我程度不夠無法比較出誰好!
所以列出參考資料讓有興趣人人看看
BFS wiki
[http://en.wikipedia.org/wiki/Brain_Fuck_Scheduler]
ck的BFS
[http://users.on.net/~ckolivas/kernel/]
蠻有趣的!
這故事還有續集但好像沒人提過!
幾篇文章都說Ingo Molnar的CFS擊敗Con Kolivas(ck)的SD 成為主線
scheduler,然後ck退黨消失!
故事的後續就是ck於2009捲土重來, 用他的Brain FuckScheduler(BFS)跟主流CFS分庭抗禮!!
LKML上又再次槓上Ingo Molnar~果然刺激阿!
我程度不夠無法比較出誰好!
所以列出參考資料讓有興趣人人看看
BFS wiki
[http://en.wikipedia.org/wiki/Brain_Fuck_Scheduler]
ck的BFS
[http://users.on.net/~ckolivas/kernel/]
2010年7月2日 星期五
HackingThursday 7/1
下午3:13
No comments
這星期在HackingThursday 看到有人在看ohloh [http://www.ohloh.net/]
才得知這網站似乎有統計,分析能力~
查了一下我關注的project,膜拜一下 XD
可以看到有一些project資訊可看
程式碼統計~恩!很好 C code約8百萬行
貢獻度 ~呵!!非常好 Linus.Torvalds 第一名
這排名好像綜合的!而且沒在統計目前誰最強 !!XD
第二名好像是做網路部份
第三名就是CFS的發明兼維護人
這純粹是好玩!無聊時可以看看!!
才得知這網站似乎有統計,分析能力~
查了一下我關注的project,膜拜一下 XD
可以看到有一些project資訊可看
程式碼統計~恩!很好 C code約8百萬行
貢獻度 ~呵!!非常好 Linus.Torvalds 第一名
這排名好像綜合的!而且沒在統計目前誰最強 !!XD
第二名好像是做網路部份
第三名就是CFS的發明兼維護人
這純粹是好玩!無聊時可以看看!!
prex 0.8.1 for QEMU x86
下午2:36
No comments
prex 是一個RTOS似乎值得看看!
之前想把QEMU ARM版的prex跑起來!可是有點問題
無耐之下只好用x86的版本
[http://prex.sourceforge.net/]
prex-0.8.1.tar.gz //包辦了prex+bootloader
./configure --target=i386-pc
make
//用下面的scrip做floppy image(官網挖到的~) ,不過主要做的事就是做一張可以開機的floppy!!
//暫無題供!!自己去官方討論區挖!本來想貼上來~但格式好像會跑掉
sudo ./image.sh 123.img //scrip後面接要產生的img檔名
qemu -fda 123.img
之前想把QEMU ARM版的prex跑起來!可是有點問題
無耐之下只好用x86的版本
[http://prex.sourceforge.net/]
prex-0.8.1.tar.gz //包辦了prex+bootloader
./configure --target=i386-pc
make
//用下面的scrip做floppy image(官網挖到的~) ,不過主要做的事就是做一張可以開機的floppy!!
//暫無題供!!自己去官方討論區挖!本來想貼上來~但格式好像會跑掉
sudo ./image.sh 123.img //scrip後面接要產生的img檔名
qemu -fda 123.img
2010年6月1日 星期二
QEMU mini2440 半殘教學!
下午2:20
No comments
[reference]
http://opencsl.openfoundry.org/
http://trac.mixam.info/mini2440/wiki/Qemu
最近把QEMU mini2440 跑起來了!做個半殘教學~因為網路跟flash部份沒做
這兩個部份其實qemu都有模擬出來了(強大阿)
1. http://repo.or.cz/w/qemu/mini2440.git
下載qemu,u-boot,kernel ~想辦法把他們都編譯過
kernel
make ARCH=arm mini2440_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux- uImage
kernel 啟動部份我使用initramfs(很偷懶)
u-boot
make mini2440_config
make CROSS_COMPILE=arm-linux-
qemu
./configure --target-list=arm-softmmu
make
我發現qemu mini2440啟動會從u-boot.bin開始.我是用絕對路徑
所以要到hw/mini2440.c中把load_image改成你u-boot.bin存放路徑
2.sudo ./qemu-system-arm -kernel uImage -M mini2440 -singlestep -d in_asm -mtdblock mini2440_nand.bin
接下來就啟動啦!!!
Demo
u-boot
kernel
http://opencsl.openfoundry.org/
http://trac.mixam.info/mini2440/wiki/Qemu
最近把QEMU mini2440 跑起來了!做個半殘教學~因為網路跟flash部份沒做
這兩個部份其實qemu都有模擬出來了(強大阿)
1. http://repo.or.cz/w/qemu/mini2440.git
下載qemu,u-boot,kernel ~想辦法把他們都編譯過
kernel
make ARCH=arm mini2440_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux- uImage
kernel 啟動部份我使用initramfs(很偷懶)
u-boot
make mini2440_config
make CROSS_COMPILE=arm-linux-
qemu
./configure --target-list=arm-softmmu
make
我發現qemu mini2440啟動會從u-boot.bin開始.我是用絕對路徑
所以要到hw/mini2440.c中把load_image改成你u-boot.bin存放路徑
2.sudo ./qemu-system-arm -kernel uImage -M mini2440 -singlestep -d in_asm -mtdblock mini2440_nand.bin
接下來就啟動啦!!!
Demo
u-boot
kernel
2010年5月21日 星期五
2010年4月12日 星期一
Jari Operating System
晚上9:20
No comments
2010年3月9日 星期二
QEMU指令memsave ,xp
晚上8:37
No comments
看QEMU說明書有幾個跟memory相關指令
1.‘memsave addr size file’
save to disk virtual memory dump
starting at addr of size size.
2.‘pmemsave addr size file’
save to disk physical memory dump
starting at addr of size size.
3.‘xp /fmt addr’
Physical memory dump starting at addr.
一開始沒看說明書直接測試,一直得到跟想像不同的結果
原來memsave指令是用虛擬位址,xp指令用實體位址.
所以結論是在kernel mode想看兩者對應
xp /10x 0x0
memsave 0xc0000000 10 test
老師都教過一般情況kernel mode 的虛擬地址0xc0000000對應到實體位址0
由此可以觀察到 ..kerker
1.‘memsave addr size file’
save to disk virtual memory dump
starting at addr of size size.
2.‘pmemsave addr size file’
save to disk physical memory dump
starting at addr of size size.
3.‘xp /fmt addr’
Physical memory dump starting at addr.
一開始沒看說明書直接測試,一直得到跟想像不同的結果
原來memsave指令是用虛擬位址,xp指令用實體位址.
所以結論是在kernel mode想看兩者對應
xp /10x 0x0
memsave 0xc0000000 10 test
老師都教過一般情況kernel mode 的虛擬地址0xc0000000對應到實體位址0
由此可以觀察到 ..kerker
2010年2月10日 星期三
2010年2月5日 星期五
QEMU CuRT v1 單步執行
下午2:01
No comments
CuRT v1
據jserv說有v2,但不知何年何月才會release阿!!
不過可以看qemu的說明書中有singlestep跟-d選項可以玩玩
$ qemu-system-arm -d ? //可以看到原來qem可以把指令印出來喔,有點意思
Log items (comma separated):
out_asm show generated host assembly code for each compiled TB
in_asm show target assembly code for each compiled TB
op show micro ops for each compiled TB
op_opt show micro ops after liveness analysis
int show interrupts/exceptions in short format
exec show trace before each executed TB (lots of logs)
cpu show CPU state before block translation
所以啦!結合兩者,在CuRT的run-on-connex改成如下
qemu-system-arm \
-M connex \
-singlestep \
-d in_asm\
-pflash flash-image
可以到/tmp/qemu.log中看看結果摟(看程式碼覺得這好像是寫死的,所以要用root權限來執行喔)
據jserv說有v2,但不知何年何月才會release阿!!
不過可以看qemu的說明書中有singlestep跟-d選項可以玩玩
$ qemu-system-arm -d ? //可以看到原來qem可以把指令印出來喔,有點意思
Log items (comma separated):
out_asm show generated host assembly code for each compiled TB
in_asm show target assembly code for each compiled TB
op show micro ops for each compiled TB
op_opt show micro ops after liveness analysis
int show interrupts/exceptions in short format
exec show trace before each executed TB (lots of logs)
cpu show CPU state before block translation
所以啦!結合兩者,在CuRT的run-on-connex改成如下
qemu-system-arm \
-M connex \
-singlestep \
-d in_asm\
-pflash flash-image
可以到/tmp/qemu.log中看看結果摟(看程式碼覺得這好像是寫死的,所以要用root權限來執行喔)