= 2009-05-08 = * [午餐] [http://www.ipeen.com.tw/shop/shop.php?id=15102 聯合泰國小吃店] * 拉票喔!! !SourceForge 2009 Community Choice Awards[[BR]][[Image(wiki:jazz/09-05-08:sf.net_cca09.jpg, width=400)]] == File System : Lustre == * Lustre 2.0 Alpha 已經釋出了。下載點: * 在 Lustre User Meeting 2009 的議程中,Peter Bojanic 提到了 Lustre 的 Roadmap,我比較注意的兩點是:(1) Write Back Cache 跟 (2) pNFS exports * [[Image(wiki:jazz/09-05-08:lustre_roadmap.png,width=400)]] * 目前全球 HPC 前十大有七個採用 Lustre 1.6 版本。而 I/O 最高紀錄保持者為 190 GB/s,這也意味著先前測試到 2 GB/s 算是小 case 啦!! * [[Image(wiki:jazz/09-05-08:lustre_io_record.png,width=400)]] * 1.6 版將於 2010 四月停止維護,因此想要玩的可以開始轉換到 1.8 了。 * [[Image(wiki:jazz/09-05-08:lustre_eol.png,width=400)]] * [觀念] [http://www.wretch.cc/blog/pgl/13634634 什麼是 Write Through ?? 什麼是 Write Back ??] == Linux Programming ==  * [專案] 在 Windows 底下常用的 inportb() 跟 outportb(),在 Linux 底下可以用 port I/O (有很多種 outb(), outw(), outl(), outsb(), outsw(), outsl(), inb(), inw(), inl(), insb(), insw(), insl() ) 來實現。而在 !VxWorks 則用 sysInByte() 跟 sysOutByte() 來實現 {{{ #!C static int outportb(unsigned int port, unsigned int val, int size) { static int iopldone = 0; #ifdef DEBUG printf("outportb(0x%04x)<=0x%02x\n", port, val); #endif if (port > 1024) { if (!iopldone && iopl(3)) { fprintf(stderr, "iopl(): %s\n", strerror(errno)); return 1; } iopldone++; } else if (ioperm(port,size,1)) { fprintf(stderr, "ioperm(%x): %s\n", port, strerror(errno)); return 1; } if (size == 4) outl(val, port); else if (size == 2) outw(val&0xffff, port); else outb(val&0xff, port); return 0; } static int inportb(unsigned int port, int size) { static int iopldone = 0; unsigned int val=0; if (port > 1024) { if (!iopldone && iopl(3)) { fprintf(stderr, " iopl(): %s\n", strerror(errno)); return 0; } iopldone++; } else if (ioperm(port,size,1)) { fprintf(stderr, " ioperm(%x): %s\n", port, strerror(errno)); return 0; } if (size == 4) { val=inl(port); #ifdef DEBUG printf("Read_port:(0x%04x)=>0x%08x\n", port, val); #endif } else if (size == 2) { val=inw(port); #ifdef DEBUG printf("Read_port:(0x%04x)=>0x%04x\n", port, val); #endif } else { val=inb(port); #ifdef DEBUG printf("Read_port:(0x%04x)=>0x%02x\n", port, val); #endif } return(val); } }}} == Fast Boot == * [http://www.debian-administration.org/articles/629 Concurrent boot sequence] - 一些快速開機的參考資料 * [http://translate.google.com/translate?hl=en&sl=ja&u=http://www.lineo.co.jp/products-services/services/warp.html&sa=X&oi=translate&resnum=1&ct=result&prev=/search%3Fq%3Dsite:http://www.lineo.co.jp/%2Bwarp!!%26hl%3Den%26client%3Diceweasel-a%26rls%3Dorg.debian:en-US:unofficial 日本研發的 Wrap 2 技術,讓 Linux 休眠的復原時間更短] - [http://www.linuxdevices.com/news/NS5185504436.html 原始新聞] * Fred's blog: [http://fred-zone.blogspot.com/2008/11/blog-post.html 快速開機實作瓶頸簡記]、[http://fred-zone.blogspot.com/2009/02/fastboot.html 再談 FastBoot 快速開機簡記] * [http://www.debian-administration.org/articles/620/print Booting Debian in 14 seconds]  * [http://moblin.org/projects/fast-boot Moblin Fast Boot in 5 seconds] * [http://lwn.net/Articles/299483/ LPC: Booting Linux in five seconds] * [http://endroid.blogspot.com/2009/06/booting-include-fastboot-surf-log.html Linux booting (include fastboot) surf log] * 2010-03-07 : [http://www.edn.com/contents/images/6720353.pdf Innovators get Linux to boot in 1 second] - !MontaVista 說明了簡化開機流程的三個階段,看樣子並沒有一個軟體可以幫忙簡化這個步驟,只是告訴大家一秒鐘開機完畢是可以辦到的。 * 2010-05-18: * 開機程序 Overview * [http://www.cs.nctu.edu.tw/~huangmc/works/web/Boot_x86/Boot_x86.html X86 Booting Sequence X86 開機流程小記] - 他畫的 [http://www.cs.nctu.edu.tw/~huangmc/works/web/Boot_x86/Boot_x86.swf Flash 動畫] 真的很有趣,還有俊凱機器人(梗)哩~ * [http://polishlinux.org/linux/the-linux-saga-boot-loader-initrd-sys-v/ The Linux Saga: boot loader, initrd & Sys V] - 除了大致的 overview 以外,也有談到不同 Linux Distribution 的開機流程差異。 * [http://elinux.org/Boot_Time Boot Time 定義] * Boot Loader * [http://orzlab.blogspot.com/2007/06/kboot.html kboot初探與模擬驗證] - [http://sourceforge.net/projects/kboot/ KBoot 官網 (很久沒更新了)] * [http://www.ibm.com/developerworks/cn/linux/l-btloader/ 嵌入式系統 Boot Loader 技術內幕] * Linux Kernel 部份 * 關於 Init 的部份 * [http://upstart.ubuntu.com/ upstart] - Ubuntu 帶頭開發的新版 init ,目前 [http://packages.debian.org debian testing (squeeze) 已經有套件],但還沒要改("as a option")。