¥×¥í¥Õ¥£¡¼¥ë

 kosaki

Author: kosaki
Ï¢ÍíÀè¤Ï¥³¥Á¥é

¥Ö¥í¥°¸¡º÷
ºÇ¶á¤Îµ­»ö
ºÇ¶á¤Î¥³¥á¥ó¥È
ºÇ¶á¤Î¥È¥é¥Ã¥¯¥Ð¥Ã¥¯
¥ê¥ó¥¯
¥«¥Æ¥´¥ê¡¼
·îÊÌ¥¢¡¼¥«¥¤¥Ö
RSS¥Õ¥£¡¼¥É
FC2¥Ö¥í¥°¥é¥ó¥­¥ó¥°
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

ÌëÃæ¤Ë°ì¿Í¤ÇÃϸµ¤ò¤Õ¤é¤Õ¤é¤·¤Æ¤¿¤é

114 ̵̾¤·¤Ë¤«¤ï¤ê¤Þ¤·¤ÆVIP¤¬¤ªÁ÷¤ê¤·¤Þ¤¹ 2006/06/26(·î) 22:13:02.73 ID:+SUlmm/10
£±£·ºÐ¤Î²Æ¡£ÌëÃæ¤Ë°ì¿Í¤ÇÃϸµ¤ò¤Õ¤é¤Õ¤é¤·¤Æ¤¿¤é¡¢µã¤­¤Ê¤¬¤éÊ⤤¤Æ¤ë½÷¤Î¿Í¤ÈÁø¶ø¤·¤¿¡£
°ì²ó¸«¤Æ¤ß¤Ì¥Õ¥ê¤ò¤·¤Æ¤ä¤ê²á¤´¤·¤¿¤Î¤À¤¬¡¢¤Ê¤ó¤«¤¤¤¿¤¿¤Þ¤ì¤Ê¤¯¤Ê¤Ã¤ÆÏä·¤«¤±¤Æ¤ß¤¿¡£

¡Ö¤¢¡¢¤¢¤Î¤©¡¦¡¦¡¦¤À¤¤¤¸¤ç¤¦¤Ö¤Ç¤¹¤«¡©¡×

¤Ã¤Æ¡£¤¹¤ë¤È½÷¤Ï

¡Ö¤Ò¤°¤Ã¤¨¤Ã¤°¡¦¡¦¡¦¤À¤¤¤¸¤ç¤¦¤Ö¡¦¡¦¡¦¤Ç¤¹¡¦¡¦¡¦¤¨¤Ã¤°¤Ã¡×

¤ÈÁ´Á³¤À¤¤¤¸¤ç¤¦¤Ö¤¸¤ã¤Ê¤¤¡£
½½Ê¬¤¯¤é¤¤¤º¤Ã¤Èµã¤­¤¸¤ã¤¯¤ëÈà½÷¤ò¸«¼é¤Ã¤Æ¤¤¤¿¡£
¤ª¤ì¤Ï¤³¤Î¤È¤­¡¢¿ÍÀ¸¤Ç°ìÈÖͦµ¤¤ò½Ð¤·¤¿¤«¤â¤·¤ì¤Ê¤¤¡£
¤ª¤Ã¤Ñ¤¤¤â¤ó¤Çƨ¤²¤¿¡£




¤½¤ì¡¢ÈȺá(^^¡¶


¤Í¤¿ | ¡Ú2006-06-28(Wed) 09:21:05¡Û | Trackback:(0) | Comments:(2)
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

sched_clock()¤Îº¹Ê¬¡© time_after¤Ç¤¤¤¤¤¸¤ã¤ó

¤¤¤Ä¤â¤ªÀ¤ÏäˤʤäƤ¤¤ë¾åÀ¤ó¤ÎLinux Kernel Watch¤è¤ê

http://www.atmarkit.co.jp/flinux/rensai/watch2006/watch06b.html

¢¢sched_clock()¤Ë¤è¤ë»þ´Ö·×¬¤ËÃí°Õ

¡¡Ã»´ü´Ö¤Î½èÍý¤ËÍפ·¤¿»þ´Ö¤ò·×¤ê¤¿¤¤¤È¤¤¤¦¾ì¹ç¤Ï¤è¤¯¤¢¤ê¤Þ¤¹¡£ºÙ¤«¤¤»þ´Ö¤Ç¹¹¿·¤µ¤ì¤ë»þ´Ö¥«¥¦¥ó¥¿¤È¤·¤Æ¤Ï¡¢sched_clock()¤È¤¤¤¦´Ø¿ô¤¬»È¤¨¤Þ¤¹¡£Î㤨¤Ð¡¢°Ê²¼¤Î¤è¤¦¤ÊÍÑÅÓ¤¬¹Í¤¨¤é¤ì¤ë¤Ç¤·¤ç¤¦¡£

unsigned long long t0, t1, time_passed_ns;

t0 = sched_clock();
/* »þ´Ö¤ò·×¤ê¤¿¤¤½èÍý */
t1 = sched_clock();

time_passed_ns = t1 - t0;

¡¡¼Â¤Ï¡¢¾å¤Î¥³¡¼¥É¤Ï´Ö°ã¤Ã¤Æ¤¤¤ë¤ÈRussell King¤Ï»ØÅ¦¤·¤Þ¤·¤¿¡£Î㤨¤Ð¡¢x86¤Ç¤ÏTSC¥ì¥¸¥¹¥¿¤òÍøÍѤ·¤Æ¤ª¤ê¡¢TSC¥ì¥¸¥¹¥¿¤ÎÃͤÏ64bit¤Ç¤¹¡£sched_clock()¤Ï¤½¤ÎÃͤò²Ã¹©¤·¤Æ¥Ê¥ÎÉäËÊÑ´¹¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢·ë²Ì¤È¤·¤ÆÀºÅÙ¤Ï54bit¤Ë¤Ê¤ê¤Þ¤¹¡£¤Þ¤¿¡¢ARM¤Ç¤Ï¤³¤ì¤¬32bit¤·¤«¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï²¿¤ò°ÕÌ£¤¹¤ë¤Ç¤·¤ç¤¦¤«¡©

¡¡»þ´Ö¤Î·Ð²á¤È¤È¤â¤Ë¿ô»ú¤¬Áý¤¨¤ë¤ï¤±¤Ç¤¹¤¬¡¢¤¢¤ë»þÅÀ¤Ç¡Ö0¡×¤ËÌá¤ê¤Þ¤¹¡£¤½¤ì¤ò64bit¤ÎÊÑ¿ô¤Î±é»»¤È¤·¤Æ¸«¤ë¤È¡¢ÆÍÁ³Ä¹¤¤»þ´Ö¤¬²á¤®¤Æ¤·¤Þ¤Ã¤¿¤è¤¦¤Ë¸«¤¨¤Þ¤¹¡£¤³¤Î²ò·èºö¤Î1¤Ä¤È¤·¤Æ¡¢Èà¤Ïº¹Ê¬¤ò·×»»¤¹¤ëÀìÍѤδؿôsched_clock_diff()¤òÄêµÁ¤¹¤ë¤³¤È¤òÄ󰯤·¤Þ¤·¤¿¡£¤¹¤ë¤È¡¢¤½¤â¤½¤âsched_clock()¤ò¥Ê¥ÎÉäÇÄ󶡤¹¤ë¤è¤¦¤Ë²Ã¹©¤¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¤Þ¤¿¡¢SMP¤Ç¤ÏƱ´ü¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤â¤¢¤ë¤Î¤Ç¡¢TSC¥ì¥¸¥¹¥¿¤òÈÆÍѤȤ·¤ÆÍøÍѤ¹¤ë¤Î¤Ï¹¥¤Þ¤·¤¯¤Ê¤¤¡¢¤ÈNick Piggin¤¬¥³¥á¥ó¥È¤·¤Þ¤·¤¿¡£

¡¡¤³¤Î¾õ¶·¤Ï¤¢¤Þ¤êÎɤ¯¤Ê¤¤¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢¤¢¤Þ¤êʸ¶ç¤â½Ð¤Æ¤¤¤Ê¤¤¤¿¤á¡Ö¤³¤Î¥³¡¼¥É¤òÍøÍѤ·¤Æ¤¤¤ëÉôʬ¤Ï¤¢¤Þ¤ê¸ºß¤·¤Ê¤¤¤Î¤À¤Í¡×¤È¤¤¤¦·ëÏÀ¤Ë㤷¤Æ¡¢·ë¶É²¿¤â½¤Àµ¤Ï¤Ê¤µ¤ì¤Æ¤¤¤Ê¤¤¤è¤¦¤Ç¤¹¡£

¡¡sched_clock()¤òÍøÍѤ¹¤ë¾ì¹ç¤Ï¤´Ãí°Õ¤ò¡£



64bit ulong¤ÎÈϰϤÀ¤Ã¤¿¤é¤ï¤¶¤ï¤¶¿·Àߤ»¤ó¤Ç¤âtime_after¥Þ¥¯¥í¤Ç½½Ê¬¤ä¤ó¤±¡£¤È¸À¤Ã¤Æ¤ß¤ë¥Æ¥¹¥È¡£

¼ÂºÝIA64¤Î¥¢¡¼¥­°Í¸¥³¡¼¥É¤Ï¥¿¥¤¥Þ³ä¤ê¹þ¤ß¼þ¤ê¤Çitc¥ì¥¸¥¹¥¿¡ÊTSC¥ì¥¸¥¹¥¿¤ß¤¿¤¤¤Ê¤â¤ó¡£¥¯¥í¥Ã¥¯Ëè¤Ë¥¤¥ó¥¯¥ê¥á¥ó¥È¤µ¤ì¤ë64bit¥«¥¦¥ó¥¿¡Ë¤ÎÈæ³Ó¤òtime_after¤Ç¤ä¤Ã¤Æ¤ë¤¾¡£

¥Ý¥¤¥ó¥È¤Ïjiffies¤¬½êÁ§¤¿¤À¤Î64bitÀ°¿ô¤Ê¤Î¤Ç¡¢jiffiesÍѤΥޥ¯¥í¤ÏÁ´ÉôÅÓÃæ¤Ç°ì¼þ¤·¤Á¤ã¤¦¤è¤¦¤ÊÀ­¼Á¤ò¤â¤Ä»þ´Ö´Ø·¸¤Ë»È¤ï¤ì¤Æ¤¤¤ëÀ°¿ôÁàºî¤ËÈÆÍÑŪ¤Ë»È¤¨¤ë¤Ã¤Æ¤³¤È¤À¤Í¡£


¤¦¡¼¤ó¡¢¾®¥Í¥¿¤À¡£


¤¢¡¢time_after¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤Î¥Ö¥í¥°¤¬¾Ü¤·¤¤¤è¤¦¤Ç¤¹¡£

Ï©ÃÏ΢¥½¡¼¥¹²òÆÉ¸¦µæ¼¼
»þ´Ö¤Ï̵¸Â?¡Êhttp://blog.miraclelinux.com/uraura/2006/06/post_4b60.html¡Ë


¤Ç¤Ï¤Ç¤Ï



¥Î¡¼¥Ö¥é
¤½¤ó¤Ê¤ÎɬÍפ¢¤ê¤Þ¤»¤ó¡ª ¥é¥ó¥­¥ó¥°¡ª



linux | ¡Ú2006-06-28(Wed) 09:07:44¡Û | Trackback:(0) | Comments:(0)
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

i_size_write¤Çpreempt_disable()¤·¤Ê¤¤¤Î¤ÏOK¤Ê¤Î¤«¡© ¤Î³¤­

seqcount¤¬ preempt_disable¤·¤Æ¤Ê¤¤·ï¤Ë¤Ä¤¤¤Æ ¤È¤¤¤¦¥¨¥ó¥È¥ê¤Ç¡¢seqcount¤Ã¤Æ¥×¥ê¥¨¥ó¥×¥·¥ç¥ó¤ò¤Ê¡¼¤ó¤â¹Í¤¨¤Æ¤Ê¤¤¤ó¤À¤±¤É¡¢¸Æ¤Ó½Ð¤·Â¦¤Îi_size_write() ¤â¤Ê¡¼¤ó¤â¹Í¤¨¤Æ¤Ê¤¤¤è¤¦¤Ë¸«¤¨¤ë¡£¤³¤ì¤Ã¤ÆÂç¾æÉפʤΡ©

¤È¤¤¤¦µ¿Ìä¤òÌ䤤¤«¤±¤¿¤é¡¢¤Ò¤é¤µ¤ó¤«¤é¡¢i_sem¤ò˺¤ì¤Æ¤ë¡£¤È¤´»ØÅ¦¤ò¤¤¤¿¤À¤¤¤¿¡£
¤Ê¤ë¤Û¤É¡£¤ª¤Ã¤·¤ã¤ëÄ̤ê¤Ç¤¢¤ë¡£

¤È¤æ¡¼¤ï¤±¤Ç°Â¿´¤·¤Ä¤Ä¤â¡¢¤¤¤Ä¤ª¤¦kernel2.6.17¤Ç³Îǧ¤ò¤¤¤ì¤Æ¤ß¤ë¡£



¡¦¡¦¡¦¡¦




¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦






¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦






i_sem ¤¬¤½¤â¤½¤â¾Ã¤¨¤Æ¤¤¤Þ¤¹¤¬¤Ê¤Ë¤«¡©



¤¤¤ä¡¢¤«¤ï¤ê¤Ë i_mutex ¤¬Äɲäµ¤ì¤Æ¤¤¤Æ¡¢
¥»¥Þ¥Õ¥©¤¸¤ã¤Ê¤¯¤Æ¥ß¥å¡¼¥Æ¥Ã¥¯¥¹¤ÇÊݸ¤Æ¤ë¤Î¤Ç¡¢ÇÓ¾¼«ÂΤϤ·¤Æ¤ë¤À¤¬¡¢¥ß¥å¡¼¥Æ¥Ã¥¯¥¹¤Ã¤ÆÃ¯¤«¤È¥Ð¥Ã¥Æ¥£¥ó¥°¤·¤Ê¤¤¤«¤®¤ê

atomic_xchg();
smp_mb();

¤Î£²¹Ô¤ÇÈ´¤±¤Æ¤¯¤ë¤Î¤Ç¡¢¥×¥ê¥¨¥ó¥×¥·¥ç¥ó¤Ïdisable¤µ¤ì¤Æ¤Ê¤¤¤Ã¤Ý¤²¡£

¤Ê¤Î¤Ç¡¢¤ä¤Ã¤Ñ¤ê¥ï¡¼¥¹¥È¥±¡¼¥¹¤Ç¤Ï¡¢i_size_writeÃæ¤Ë¥×¥ê¥¨¥ó¥×¥·¥ç¥ó¤µ¤ì¤Æi_size_read¤¬¤¨¤é¤¤ÂÔ¤¿¤µ¤ì¤ë¥±¡¼¥¹¤¬¤¢¤ê¤½¤¦¤Êµ¤¤¬¤¹¤ë¤Ç¥´¥ï¥¹¤è¡£


º£¤Î¤È¤³¤í¤Î·ëÏÀ¡£
Á°²ó¤Î»ØÅ¦¤Î£±¤Ï¡¢¤ä¤Ã¤Ñ¤êµ¿¤ï¤·¤¤¡£
£²¤È£³¤ÏǾ¤ß¤½¤¬Éå¤Ã¤Æ¤¤¤¿¤Ã¤Ý¤²¡£


¤·¤«¤·¡¢¤Ä¤¯¤Å¤¯µ­»ö¤Ë¥ß¥¹¤¬Â¿¤¤¥Ö¥í¥°¤À¤³¤È(^^¡¶


Dont worry
ºÙ¤«¤¤»ö¤Ïµ¤¤Ë¤·¤Ê¤¤¡ª ¥é¥ó¥­¥ó¥°¡ª


linux | ¡Ú2006-06-25(Sun) 01:51:34¡Û | Trackback:(0) | Comments:(3)
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

¥°¥ê¡¼¥ó¥¢¥¹¥Ñ¥é¤È´°½Ï¥È¥Þ¥È¥«¥ì¡¼

º£Æü¤Ï¡¢Ä¶µ×¤·¤Ö¤ê¤Ë¥³¥³¥¤¥Á¤Ç¿©»ö¡£
¥­¥ã¥ó¥Ú¡¼¥óÃæ¤Î¥°¥ê¡¼¥ó¥¢¥¹¥Ñ¥é¤È´°½Ï¥È¥Þ¥È¥«¥ì¡¼¤ÈÍê¤à¡£

¡¦¡¦¡¦¤¦¤Þ¤¤¡ª


¥È¥Þ¥È¤Ã¤Æ¤Ê¤ó¤Ç¤³¤ó¤Ê¤Ë¤¦¤Þ¤¤¤ó¤À¤í¤¦¤Ê¡£²¿¤ò¤·¤Æ¤â¤¦¤Þ¤¤¡£ÍèÀ¤¤Ï¥¤¥¿¥ê¥¢¿Í¤ËÀ¸¤Þ¤ìÊѤï¤í¤¦¤ÈÂç·èÄꤷ¤¿¤è¡£


¤«¤Ë
¶Ã¤­ÎÁÍý¡ª ¥é¥ó¥­¥ó¥°¡ª


blog | ¡Ú2006-06-24(Sat) 21:17:01¡Û | Trackback:(0) | Comments:(0)
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

Ê¡°æÁíºÛ¤ÎÀÕǤ¤Ë¤Ä¤¤¤ÆÌܤ«¤é¥¦¥í¥³¤¬Íî¤Á¤¿µ­»ö

À¤´Ö¤Ç¤ÏÊ¡°æÁíºÛ¤¬Â¼¾å¥Õ¥¡¥ó¥É¤ËÅê»ñ¤·¤¿¤³¤È¤Ë¤Ä¤¤¤Æ¡¢ÀÕǤ¤¬¤¢¤ë¤ä¤Ê¤·¤ä¤ÈÂçÁû¤®¤Ç¤¹¤¬¡¢¼Â¤Ï¥ª¥¤¥é¤Ï¤Û¤È¤ó¤É¶½Ì£¤¢¤ê¤Þ¤»¤ó¡£

¤Ç¤â¡¢£±¤Ä¤À¤±Ìܤ«¤éÎÚ¤¬¤Ü¤í¤Ü¤í£²£·Ë礰¤é¤¤Íî¤Á¤Þ¤¯¤Ã¤¿¡£°Õ¸«¤ò¤¼¤Ò¤È¤â¾Ò²ð¤·¤¿¤¤¡£


isologue¤µ¤ó¤Î¡¢Ê¡°æÁíºÛ¤ÎÀÕǤ¤È¥Õ¥¡¥ó¥É¤Îvehicle¤Î·ú¤ÆÉÕ¤±¡Êhttp://www.tez.com/blog/archives/000709.html¡Ë ¤è¤ê

¼¾å¥Õ¥¡¥ó¥É¤Ï³Î¤«¡¢º£¤Ï¡¢Åê»ñ»ö¶ÈÍ­¸ÂÀÕǤÁȹç¤â»È¤Ã¤Æ¤é¤Ã¤·¤ã¤ë¤è¤¦¤Ç¤¹¤¬¡¢ÀΤϥ±¥¤¥Þ¥óÀÒ¤ÎLP¤ÈÆüËܤÎ̱ˡ¾å¤ÎÁȹç¤òÁȤ߹ç¤ï¤»¤¿¹½À®¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤Ï¤º¡£

̱ˡ¾å¤ÎÁȹç¡ÊǤ°ÕÁȹç¡Ë¤Ï¡¢¤¤¤ï¤æ¤ë¡Ö̵¸ÂÀÕǤ¡×¤Îvehicle¤Ç¤·¤Æ¡¢ºâ»º¤ÏÁȹç°÷¤Î¶¦Í­¤Ç¤¢¤ë¤È¤È¤â¤Ë¡¢Áȹç¤ÎºÄ¸¢¼Ô¤ËÂФ·¤Æ¡ÖľÀܡסÖ̵¸ÂÀÕǤ¡×¤òÉ餦¤â¤Î¤Ç¤¹¡£

¤³¤Î¤¿¤á¡¢ÉÔÆ°»ºÅê»ñ¤Ê¤É¼ÚÆþ¤ò¹Ô¤¦Åê»ñ¤Ë¤Ï¸þ¤­¤Þ¤»¤ó¤¬¡¢³ô¼°Åê»ñ¤Î¾ì¹ç¤Ë¤Ï¡Ö³ô¼°¡×¼«ÂΤ¬´ÖÀÜÍ­¸ÂÀÕǤ¤Ê¤Î¤Ç¡¢¥ì¥Ð¤ò¤«¤±¤Ê¤¤¸Â¤ê¼ÂºÝ¤Ë¤ÏÁȹç°÷¤¬½Ð»ñ³Û°Ê¾å¤ÎÀÕǤ¤òÉ餦¤³¤È¤Ï̵¤¤¡Ö¤Ï¤º¡×¡£¤³¤Î¤¿¤á¡¢ÀÇ̳¾å¥Ñ¥¹¥¹¥ë¡¼¤È¤¤¤¦¤³¤È¤â¤¢¤ê¡¢Åê»ñ»ö¶ÈÍ­¸ÂÀÕǤÁȹç¡ÊLPS¡Ë¤Î»È¤¤¾¡¼ê¤¬¤è¤¯¤Ê¤ëÁ°¤Ï¡¢¡Ê¥Ù¥ó¥Á¥ã¡¼Åê»ñ¤Ê¤É¡Ë³ô¼°Åê»ñ¤Î»äÊç¥Õ¥¡¥ó¥É¤Ë¤Ï¼ç¤Ë̱ˡ¾å¤ÎÁȹ礬»È¤ï¤ì¤Æ¤Þ¤·¤¿¡£

¤¿¤À¤·¡¢¶ä¹Ô¼ÚÆþ¤Ï¤·¤Ê¤¯¤Æ¤â¡¢Î㤨¤Ð¡¢Áȹ礬ÉÔË¡¹Ô°Ù¤ò¹Ô¤Ã¤ÆÂ»³²Çå½þÀÕǤ¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¤Ï¡¢Áȹç°÷¤ËºÄ¸¢¼Ô¤«¤é¤Î¸¢Íø¹Ô»È¤¬¹Ô¤ï¤ì¤ë¤È¤¤¤¦¤³¤È¤â¤¢¤ê¤¦¤ë¡¢¤³¤È¤Ë¤Ê¤ë¤«¤È»×¤¤¤Þ¤¹¡£

¡ÊÃæÎ¬¡Ë

¤Ç¤Ï¡¢Áȹ礬¥¤¥ó¥µ¥¤¥À¡¼¼è°ú¤ò¤·¤Á¤ã¤Ã¤¿¤é¡¢³ÆÁȹç°÷¤ÎÀÕǤ¤Ï¡©




¤ª¤ª¤ª¡¢¤¹¤Ð¤é¤·¤¤¡£
ËÍŪ¤Ë¤Ï¡¢Æ»µÁŪ±¾¡¹¤ò¸À¤¦¤è¤ê¤â¤è¤Û¤ÉÀâÆÀÎϤ¬¤¢¤Ã¤¿¤Ç¤¹¤è¡£





²æÇڤμçÄ¥
²æÇڤμçÄ¥¡ª ¥é¥ó¥­¥ó¥°¡ª



»¨ÃÌ | ¡Ú2006-06-18(Sun) 18:22:42¡Û | Trackback:(0) | Comments:(0)
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

¤Á¤ó¤³¥Ý¥¨¥à

Èù̯¤Ë¹±Îã¤Î¡¢¤ª¤â¤í¥¹¥Ñ¥à¤ò»¯¤¹¥·¥ê¡¼¥º¡£
ʸÂΤϤ¹¤´¤¤²µ½÷¤Ê¥Ý¥¨¥à¤Ê¤Î¤Ë¡¢ÈÜàС£¤â¤¦¡¢¤¢¤Û¤«¤È(Ë«¤á¸ÀÍÕ)


¤¢¤ëÄ«ËͤΤÁ¤ó¤³¤¬
¤ª¤Þ¤¨¤Ï²¶¤Î¤Ç¤Ã¤«¤¤¥ª¥Þ¥±¤Ê¤ó¤À¤È¤¦¤Á¤¢¤±¤Æ¤¯¤ì¤¿

¤¤¤ï¤ì¤Æ¤ß¤ì¤Ð¤Ê¤ë¤Û¤ÉǼÆÀ
ËͤϤÁ¤ó¤³¤¬ËͤˤĤ¤¤Æ¤ë¤È»×¤Ã¤Æ¤¿¤è
¼Â¤ÏËͤ¬¤Á¤ó¤³¤Ë¤Ä¤¤¤Æ¤¿¤ó¤À¤Í

Á´Á³¶¨ÎÏŪ¤¸¤ã¤Ê¤¤¹á¶ñ»Õ¤À¤ÈǺ¤ó¤Ç¤¿¤±¤É
¤¹¤¦¤Ã¤Èµ¤»ý¤Á¤¬³Ú¤Ë¤Ê¤Ã¤¿
º£¤Þ¤Ç°Î¤½¤¦¤Ë¤·¤Æ¤Æ°­¤¤¤³¤È¤·¤¿¤Ê
Ï¢¤ì¤ÆÊ⤤¤Æ¤ä¤Ã¤Æ¤ë¤è¤¦¤ÊÂÖÅ٤Ǥ¤¤¿¤Ê

ËͤΤۤ¦¤¬Â礭¤«¤Ã¤¿¤«¤é¡¢¤Ê¤ó¤È¤Ê¤¯´ª°ã¤¤¤·¤Æ¤¿¤è
¤Á¤ó¤³¤ÎÏäò¤è¤¯Ê¹¤¤¤Æ
¤¹¤Ê¤ª¤ËÀ¸¤­¤ì¤Ð¤¤¤¤¤ó¤À
ËͤϤÁ¤ó¤³¤Î¡¢¥ª¥Þ¥±¤Ê¤ó¤À¤«¤é

¤¢¤ëÄ«ËͤΤÁ¤ó¤³¤¬
¤ª¤Þ¤¨¤Ï²¶¤Î¤Ç¤Ã¤«¤¤¥ª¥Þ¥±¤Ê¤ó¤À¤È¤¦¤Á¤¢¤±¤Æ¤¯¤ì¤¿

¤­¤ç¤¦¤«¤éËͤϡ¢
¤Á¤ó¤³¤ËÏ¢¤ì¤Æ¹Ô¤Ã¤Æ¤â¤é¤¦¤ó¤À¤Ê
¤É¤³¤Ø¤Ç¤â¡¢¤Á¤ó¤³¤¬»Ø¤¹¤Û¤¦¤Ø
¤Á¤ó¤³¤¬¹Ô¤­¤¿¤¤¤Û¤¦¤Ø





¥¢¥¤¥¹¥¯¥ê¡¼¥à¡¢¤Ç¤«¤¹¤®¡ª
¤ª¤Þ¤±¤¹¤®¤Ç¤¹¡ª ¥é¥ó¥­¥ó¥°¡ª



¤Í¤¿ | ¡Ú2006-06-18(Sun) 11:07:01¡Û | Trackback:(0) | Comments:(0)
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

¥­¥ã¥º¥à¤È¥´¥ê¥é¥²¡¼¥à





ºÇ¶á¡¢²ñ¼Ò¤ÎÊ̤Υ°¥ë¡¼¥×¤Î¥×¥í¥¸¥§¥¯¥È¥Û¡¼¥à¥Ú¡¼¥¸¤ò¸«¤ëµ¡²ñ¤¬¤¢¤Ã¤Æ¡¢¤È¤Æ¤â¶½Ì£¿¼¤¯ÇÒ¸«¤µ¤»¤Æ¤¤¤¿¤À¤¤¤¿¡£

¤ó¤Ç¤â¤Ã¤Æ¡¢¤½¤³¤Ç¡¢¥ª¥¹¥¹¥á½ñÀҤȤ·¤Æ¡Ö¥­¥ã¥º¥à¡×¤È¡Ö¥´¥ê¥é¥²¡¼¥à¡×¤¬Ê¤٤Ƶ­½Ò¤·¤Æ¤¢¤Ã¤¿¤Î¤Ë¤Á¤ç¤Ã¤È´¶Æ°¤·¤¿¤Î¤Ç¡¢¥¨¥ó¥È¥ê¤ò½ñ¤¯¡£

¤¿¤Ö¤ó¡¢¤³¤ÎBlog¤òÆÉ¤ó¤Ç¤¤¤ëÆÉ¼ÔÁؤǥ­¥ã¥º¥à¤òʹ¤¤¤¿¤³¤È¤Ê¤¤¤Ã¤Æ¿Í¤Ï¾¯¤Ê¤¤¤È»×¤¦¡£

Life is Beautiful¤µ¤ó(http://www.satoshi.blogs.com/)¤¢¤¿¤ê¤Ë¤¤¤±¤Ð¥­¥ã¥º¥à´Ø·¸¤Îµ­»ö¤Ï°ìÇÕ¤¢¤ë¤·

¥­¥ã¥º¥à¤½¤Î¤â¤Î¤òÂêºà¤Ë¤·¤¿¡Ê¤ï¤ê¤Èͭ̾¤Ê¡Ë¥Ö¥í¥°¤â¤¢¤ë¤è¤¦¤À

¥­¥ã¥º¥à¤òͤ¨¤í¡ª
http://d.hatena.ne.jp/wa-ren/


¤·¤«¤â¡¢¤¦¤½¥Ë¥å¡¼¥¹¤Çͭ̾¤Êbogusnews¤µ¤ó¤Ç¤â¥­¥ã¥º¥à¤Í¤¿¤Î¤¦¤½¥Ë¥å¡¼¥¹µ­»ö¤¬¤¢¤Ã¤¿¤ê¤¹¤ë¡£
¤Á¤Ê¤ß¤Ë¡¢¤³¤Îµ­»ö¤Ï¥³¥á¥ó¥È¤Î
¡Ø¡Ö¤Ï¤Æ¤Ê¤È¤«¶áÆ£¤È¤«Ä¶¤­¤â¡Á¤¤¡£¡×¤Ã¤Æ¥ª¥¤¥ª¥¤ÃΤäƤ뤸¤ã¤Ê¤¤¤«¡© ¡Ù¤È¤¤¤¦¥³¥á¥ó¥È¤¬ºÇ¹â¤¹¤®¤ë¤Î¤Ç¥¤¥Á¥ª¥·¤·¤Æ¤ª¤¯¡£

bogusnews: ¤Þ¤¿¥­¥ã¥º¥àžÍî»ö¸Î¡¡ÅÔÆâ¹â¹»À¸»àË´
http://bogusnews.seesaa.net/article/15166560.html


¤½¤ì¤ËÈæ¤Ù¤ë¤È¡¢¥´¥ê¥é¥²¡¼¥à¤Ï¤È¤«¤¯±Æ¤¬Çö¤¤¡£
¤¹¤¯¤Ê¤¯¤È¤â¡¢ÆüËܤǤϡ£
¥¸¥§¥Õ¥ê¡¼¡¦¥à¡¼¥¢¤ÎÌ¾Ãø¤Ê¤Î¤À¤¬¡£

¤¿¤Ö¤ó¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥Ð¥Ö¥ë¤Î»þÂå¤Ë¡¢£É£Ô³ô¼°Åê»ñ¤Î»ØÆî½ñ¤È¤·¤ÆÇä¤ê½Ð¤·¤Æ¤·¤Þ¤Ã¤¿¤Î¤¬Îɤ¯¤Ê¤«¤Ã¤¿¤Î¤À¤È»×¤¦¡£
ÆüËܤȥ¢¥á¥ê¥«¤Ç¤Ï£É£Ô³ô¤Îư¤­¤ÏÁêÅö°ã¤¦¤·¡¢¤«¤Ä£É£Ô¥Ð¥Ö¥ëÊø²õ¤Ç£É£Ô³ô¼°±¾¡¹¤ÎËܤϸ®Ê¤ßÇä¤ì¤Ê¤¯¤Ê¤Ã¤¿¡£


¤·¤«¤·¡¢¤·¤«¤·¤À¡£
¥Ï¥¤¥Æ¥¯¥Þ¡¼¥±¥Ã¥Æ¥£¥ó¥°¤ÈËܤȤ·¤Æ¤Ï¡¢¥´¥ê¥é¥²¡¼¥à¤Î¤Û¤¦¤¬¤¤¤¤¤³¤È½ñ¤¤¤Æ¤ë¤È»×¤¦¡£

¤â¤Á¤í¤ó¡¢Ê¸Æ¬¤¬

¤Ê¤ª¡¢Åú°Æ¤Ï¥¢¥é¥Ó¥¢¸ì¤Ç½ñ¤¯¤³¤È¡£Ê¸ÂΤȥ¹¥Ú¥ê¥ó¥°¤Ï£¹À¤µª¤Îɸ½à¤Ë½¾¤¤¤Ê¤µ¤¤¡£



¤Ê¤É¤È¥®¥ã¥°¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤ë»þÅÀ¤Ç¡¢Ç¾¤ß¤½Ä¾·â¤·¤Þ¤¯¤ê¤ó¤°¤Ê¤Î¤Ç¡¢¸Ä¿ÍŪ¤Ë¤ÏÆâÍÆ¤Ë¤«¤«¤ï¤é¤º¥¤¥Á¥ª¥·³ÎÄê¤Ê¤Î¤À¤¬¡¢¤½¤ì¤òº¹¤·ÃÖ¤¤¤Æ¤â¤¤¤¤¡£

¤Ä¤Þ¤ê¡¢¡Ö¥­¥ã¥º¥à¡×¤Ï¥­¥ã¥º¥à¤È¤¤¤¦³µÇ°¤ò¾Ò²ð¤¹¤ë¤³¤È¡£¤ª¤è¤Ó¥­¥ã¥º¥à¤òͤ¨¤ë¤¿¤á¤ÎTips¤ò¤¤¤¯¤Ä¤«Ä󰯤·¤Æ¤¤¤ëËܤʤΤËÂФ·¤Æ¡¢¥´¥ê¥é¥²¡¼¥à¤Ï°ìÊâ¤Ò¤¤¤Æ¡¢µÒ´ÑŪ¤Ë¥­¥ã¥º¥à¤È¤¤¤¦³µÇ°¤¬Â¸ºß¤¹¤ë¥Þ¡¼¥±¥Ã¥È¥ë¡¼¥ë¤Ë¤ª¤¤¤Æ¡¢¤É¤Î´ë¶È¤¬¾¡¤Ä¤«¸«¶Ë¤á¤è¤¦¡£¤È¤¤¤¦¼ñ»Ý¤Ç½ñ¤«¤ì¤Æ¤¤¤ë¤Î¤Ç±þÍÑÈϰϤ¬¹­¤¤¤Î¤Ç¤¢¤ë¡£

Ũ¤òÃΤꡢ¸Ê¤òÃΤì¤ÐÉ´Àï´í¤¦¤«¤é¤º¡£¤È¤¤¤¦¤Ç¤Ï¤Ê¤¤¤«¡£


¡ô¤Æ¤æ¡¼¤«¡¢¥­¥ã¥º¥à¤òÆÉ¤ó¤À¤è¤Á¤è¤Á¥Þ¥Í¡¼¥¸¥ã¡¼¤¬
¡ô¼«¼Ò¤Î¥Þ¡¼¥±¥Ã¥Æ¥£¥ó¥°¥Ý¥¸¥·¥ç¥ó¤âʬÀϤǤ­¤Ê¤¤¤Þ¤Þ
¡ô¥­¥ã¥º¥à¥­¥ã¥º¥àÁû¤°¤Î¤Ï¤¦¤¶¤¤¤Ç¤¹


¤½¤¦¤¤¤¦¤ï¤±¤Ç¡¢¤¹¤Ç¤ËÀäÈÇ¤ÇÆþ¼êº¤Æñ¤À¤È»×¤¦¤±¤É¡¢¤â¤·Æþ¼ê¤Ç¤­¤ëµ¡²ñ¤¬¤¢¤Ã¤¿¤é¤¼¤ÒÆÉ¤ó¤Ç¤ß¤Æ¤¤¤¿¤À¤­¤¿¤¤¤Ç¤¹ ¡ä¥´¥ê¥é



ºÇ¸å¤Ë¡¢ºÇ¶á¿Í¤Ë¸«¤»¤ë¤è¤¦¤Ë³ÎÊݤ·¤Æ¤¤¤ë¥­¥ã¥º¥à¤òʬ¤«¤ê¤ä¤¹¤¯¾Ò²ð¤·¤Æ¤¤¤ëµ­»ö¤ò¾Ò²ð¤·¤Æ¤ª¤­¤Þ¤¹¡£
¤³¤ì¤Ç²Ç¤¢¤¿¤ê¤ËÆÍ¤Ã¹þ¤Þ¤ì¤¿¤È¤­¤ËÂкö¤·¤Æ¤ä¤Ã¤Æ¤¯¤À¤µ¤¤ ¡ä All

¥Ö¥í¥°¤Ï¥­¥ã¥º¥à¡Ê¥Ï¥¤¥Æ¥¯¤ÎÍî¤È¤··ê¡Ë¤ò±Û¤¨¤Æ¥Ö¥ì¥¤¥¯¤¹¤ë¤Î¤«¡©
http://www.goodpic.com/mt/archives/000227.html


½ñɾ | ¡Ú2006-06-17(Sat) 21:03:14¡Û | Trackback:(0) | Comments:(7)
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

¤¹¤´¤¤¥×¥ì¥¼¥ó¡ª ÉáµÚΨ¤òÂæ¿ô¤Ç¤Ï¤Ê¤¯ÌÌÀѤǿޤë¤È¤Ï¡ª¡ª

¤¤¤ä¤¢¡¢¤³¤Î¥×¥ì¥¼¥ó¤Ï¿´Äì¹ø¤¬È´¤±¤½¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿

2007Ç¯Ãæ¤ËWindows Vista¤ÇÃϥǥ¸Âбþ¤Ë
³¤³°¤«¤é¸«¤¿¡ÈÉԻ׵Ĥιñ¡ÉÆüËܤΡ֥ǥ¸¥¿¥ë¥Æ¥ì¥Ó¡×
http://www.watch.impress.co.jp/av/docs/20060525/winhec2.htm


¤Ê¤ó¤È¡¢ÉáµÚΨ¤ò·×¤ë¤Î¤Ëµ¡´ï¤Î½Ð²ÙÂæ¿ô¤Ç¤â¤Ê¤¯¡¢»ëݼԤοͿô¤Ç¤â¤Ê¤¯¡¢¹ñ²È¤ÎÌÌÀѤǷ׬¤¹¤ë¤È¤¤¤¦µÕž¤Î¥¢¥¤¥Ç¥¢¡£

¥¹¥Æ¥­¤¹¤®¤Þ¤¹¡£


¤Æ¤æ¡¼¤«¡¢¿¿¤Ë¼õ¤±¤¿µ­»ö¤ò½ñ¤¤¤¿µ­¼Ô¤Ï²¿¤ò¹Í¤¨¤Æ¤¤¤ë¤Î¤ä¤é¡£



¥¹¥Í¥ª
¤½¤Î²ò¼á¤Ë¤Ï̵Íý¤¬¤¢¤ê¤Þ¤¹¡ª ¥é¥ó¥­¥ó¥°¡ª


¥Æ¥¯¥Î¥í¥¸¡¼ | ¡Ú2006-06-16(Fri) 23:52:58¡Û | Trackback:(0) | Comments:(5)
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

ËÜÆü¤ä¤Ã¤Æ¤·¤Þ¤Ã¤¿Æ¬¤Î°­¤¤»Å»ö¤Î¿Ê¤áÊý

»Å»ö¤ÎÅÔ¹ç¾å¡¢¤Ó¤ß¤ç¡¼¤ËǽÎϤ¬Â­¤ê¤Æ¤Ê¤¤¿Í¤Ë»Å»ö¤ò¿¶¤Ã¤Æ¤¤¤¿¡£
¤Ç¡¢ºÇ¶á¤Ë¤Ê¤Ã¤ÆÀ­Ç½¤¬¤¼¤ó¤¼¤ó½Ð¤Æ¤¤¤Ê¤¤¤Î¤¬ÌäÂê¤Ë¤Ê¤Ã¤¿¡£


¡¦¡¦¡¦¤È¤Æ¤â¤è¤¯¤¢¤ëÏäǤ¹¤Í¡£


¤Ç¡¢¤½¤Î¥é¥¤¥Ö¥é¥ê¤Î¤Ä¤¯¤ê¤¬°­¤¤¤Î¤«OS¤È¤«¤Î´Ä¶­¤ÎÌäÂê¤Ê¤Î¤«ÀÚ¤êʬ¤±¤Æ¡£
¤È¤¤¤¦Ïäˤʤä¿¡£


¡¦¡¦¡¦¤È¤Æ¤â¤è¤¯¤¢¤ëÏäǤ¹¤Í¡£


¤Ç¡¢±ø¤¤¥½¡¼¥¹¤òÁ´ÉôÆÉ¤à¤Î¤¬¤¤¤ä¤Ê¤Î¤Ç¡¢
¡ÖÁ´Éôºî¤êľ¤·¤¿¤È¤³¤í¡¢À­Ç½¤¬·àŪ¤Ë²þÁ±¤·¤¿¤Î¤Ç¥é¥¤¥Ö¥é¥ê¤Î¼ÂÁõ¤ÎÌäÂê¤Ç¤¢¤ë¤³¤È¤Ï´Ö°ã¤¤¤¢¤ê¤Þ¤»¤ó¡×¤ÈÊó¹ð¤·¤Æ¤­¤¿¡£º£Æü¡£


¤¿¤·¤«¤ËºÇû¥ë¡¼¥È¤Ç»Å»ö¤Ï½ª¤ï¤Ã¤¿¤Î¤À¤¬¡¢
¤è¤¯¹Í¤¨¤¿¤é¡¢Ë»¤·¤¤¤«¤é»Å»ö¤ò¿Í¤Ë¿¶¤í¤¦¤È¤¤¤¦Åö½é¤ÎÌÜŪ¤Ï¤Þ¤ë¤ÇãÀ®¤Ç¤­¤Æ¤Ê¤¤¡£


¤Ê¤Ë¤¬°­¤«¤Ã¤¿¤Î¤À¤í¤¦¡©



¸ÞÂÎÉÔËþ­
ÉÔËþ­¤Ç¤¹¤¤¤Þ¤»¤ó¡ª ¥é¥ó¥­¥ó¥°¡ª



»¨ÃÌ | ¡Ú2006-06-16(Fri) 22:27:57¡Û | Trackback:(0) | Comments:(0)
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

BML¤ÎÀëÅÁ¤òÁðù¬¤¯¤ó¤¬¤¹¤ë¤È¤¤¤¦°ÕÌ£

¸ÅÀî µý ¥Ö¥í¥°
ÊüÁ÷¡¦ÄÌ¿®¤Îºß¤êÊý¤Ë´Ø¤¹¤ë¡¢»ä¸«¤½¤Î£¸¡Êhttp://furukawablog.spaces.msn.com/Blog/cns!156823E649BD3714!4228.entry¡Ë¤è¤ê

º£Ä«¡Ê2006ǯ5·î15Æü¡Ë¤Î¥Ë¥å¡¼¥¹¤Ç¤âSMAP¤ÎÁðÆå¤µ¤ó¤¬Ãϥǥ¸¤Î¥×¥í¥â¡¼¥·¥ç¥ó¤Ë¶î¤ê½Ð¤µ¤ì¡¢ÃϾåÇȥǥ¸¥¿¥ë¤Î¸úÍѤϡ֥ϥ¤¥Ó¥¸¥ç¥óÊüÁ÷¤À¤±¤Ç¤Ê¤¯¡¢¥Ç¡¼¥¿ÊüÁ÷¡¢¥µ¡¼¥Ð¡¼·¿ÊüÁ÷¡¢¥ï¥ó¥»¥°ÊüÁ÷¤¬¤¢¤Ã¤Æ¡×¤È´À¤À¤¯¤Ç¸ì¤Ã¤Æ¤¤¤ë¤Î¤òÌܤÎÁ°¤Î¥Æ¥ì¥Ó¤¬ÊüÁ÷¤·¤Æ¤¤¤Þ¤¹¤¬...¤½¤ÎÁ´¤Æ¤Ë¤ª¤¤¤ÆBML¸À¸ì¤òŸ³«¤·¤Æ¤¤¤¯¤Î¤Ç¤¢¤ì¤Ð¡¢ÆüËܤÏÀ¤³¦¤Îï¤â»È¤Ã¤Æ¤¤¤Ê¤¤¥³¥ó¥Æ¥ó¥Äº¿¹ñ¤òÃÛ¤¯¤³¤È¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£



¤³¤³¤Ï¡¢¤ï¤¶¤ï¤¶¥­¥à¥¿¥¯¤Ç¤Ï¤Ê¤¯¡¢ù¬¤Î»ú¤¬¤Á¤ã¤ó¤È½Ð¤·¤Æ¤â¤é¤¨¤Ê¤¤Áðù¬¤¯¤ó¤È¤¤¤¦¤¢¤¿¤ê¤òµâ¤ß¼è¤Ã¤Æ¡¢¤Ë¤ä¤Ë¤ä¤¹¤ë¤Î¤¬Àµ¤·¤¤¸«Êý¤Ç¤·¤ç¤¦¡£
¥Í¥¿¤Ë¥Þ¥¸¥ì¥¹¤è¤¯¤Ê¤¤¤Ç¤¹¤Ê¡£


¤È¡¢¥Ü¥±¤«¤éÆþ¤Ã¤Æ¡¢¤³¤³¤Ç̵Íý¤ä¤êÏäò¿¿ÌÌÌܥ⡼¥É¤ËÌ᤹¡£
¤È¤¤¤¦¤«¡¢¥³¥ó¥Æ¥ó¥Äº¿¹ñ¤Ã¤Æ¤¤¤¦¤¢¤«¤é¤µ¤Þ¤Ê¥Ý¥¸¥·¥ç¥ó¥È¡¼¥¯¤Ï¤ä¤á¤Þ¤»¤ó¤«¡£

¤³¤Î¸À¤¤Êý¤À¤È¤¢¤¿¤«¤âÆüËܤÀ¤±¤¬ÆÃ°Û¤Êµ¬³Ê¤òºÎÍѤ·¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¤Þ¤¹¤¬¼ÂºÝ¤Ë¤Ï¤½¤¦¤Ç¤Ï¤Ê¤¯¡¢¥¤¥®¥ê¥¹¡¦²¤½£¡¦ËÌÊÆ¤ÇÊý¼°¤Ï°Û¤Ê¤ë¤·¡¢ËÌÊÆ¤Ê¤ó¤«¤Ï¤Û¤È¤ó¤É¤Î²ÈÄí¤¬¥±¡¼¥Ö¥ëTV¤Ç¸«¤Æ¤¤¤ë¾õ¶·¤«¤Ä¡¢¤½¤Î¥±¡¼¥Ö¥ë²ñ¼Ò¤¬ÆÈ¼«µ¬³Ê¤Ç¤ä¤Ã¤Æ¤¤¤¿¤ê¤¹¤ë¤Î¤Ç¡¢¾õ¶·¤Ï¤ª´¨¤¤¤Î°ì¸À¤Ç¤·¤ç¤¦¡£
¡Ê¤Ç¤·¤¿¡£Ëͤ¬ÃΤäƤ¤¤ë¤³¤í¤Ï¡£ºÇ¶á¶È³¦¤¬°ã¤¦¿Í¤Ëtypecast¤·¤¿¤Î¤Ç²áµî·Á¡Ë

¤½¤¦¤¤¤¦¤ï¤±¤ÇBML¤¬±ø¤¤Éôʬ¤¬°ìÇÕ¤¢¤ë¤³¤È¤ÏËͤâÎɤ¯ÃΤäƤª¤ê¡¢µ»½ÑŪ¤Ë±ø¤¤¡£¤È¤¤¤¦Ïäʤ餦¤ó¤¦¤ó¡¢¤Èʹ¤¯¤Î¤Ç¤¹¤¬¡¢²¤ÊÆ¤ÈÆ±¤¸Êý¼°¤Ë¤·¤í¤È¸À¤ï¤ì¤ë¤È¡¢²¤ÊƤäƤɤ³¤Î¤³¤È¡©¤È»×¤¦¤·ËÌÊÆ¤ÈƱ¤¸Êý¼°¤Ë¤·¤í¡£¤È¸À¤ï¤ì¤ë¤È¤Ê¤¼¤è¤ê¥Þ¥¤¥Ê¡¼¤Êµ¬³Ê¤Ë¹ç¤ï¤»¤ëɬÍפ¬¤¢¤ë¤Î¡¢¤½¤ì¤ÇÃÍÃʤ¬²¼¤¬¤ë¤Î¤ÏËÌÊÆÍÑSTB¤À¤±¤è¤Í¡£¤È¤Ê¤ë¤ï¤±¤Ç¡¦¡¦¡¦

ÆüËܰʳ°¤ÎÃϰè¤À¤È¥Ç¡¼¥¿ÊüÁ÷¤¬É¬¿Ü¤¸¤ã¤Ê¤¤¤·¡¢¥Ç¥¸¥¿¥ëÊüÁ÷¼«ÂΤÎÉáµÚΨ¤¬¤¤¤Þ¤Ò¤È¤Ä¤Ê¤Î¤Ç¡¢¸½¾õÆüËܤò»Ø¤·¤Æº¿¹ñ¤È¤¤¤¦¸ÀÍդˤϰãÏ´¶¤ò³Ð¤¨¤ë¤ó¤Ç¤¹¤è¡£




¤Ç¡¢¼ØÂ­¤«¤â¡£¤È»×¤¤¤Ä¤Ä¡¢¸ÅÀ¤ó¤Î¸Ä¡¹¤Î¤´»ØÅ¦¤ËÂФ¹¤ë¥ª¥¤¥é¤Î´¶ÁÛ

1.¡¡ÆüËܸì¤Îɽµ­¤À¤±¤Ç¤Ï¤Ê¤¯¡¢Ãæ¹ñ¸ì¡¢´Ú¹ñ¸ì¡¢¥¢¥é¥Ó¥¢¸ì¡¢¥Õ¥é¥ó¥¹¸ì¤Ê¤É¤Î³Æ¹ñ¸À¸ì¤¬É½¼¨¤Ç¤­¤ëʸ»ú¥³¡¼¥ÉÂηϤòºÎÂò¤¹¤ë¤Ù¤­¤Ç¤Ï¤Ê¤¤¤«¡©(´ÝCɽµ­¤¬ÉÔ²Äǽ¤È¤¤¤¦ÅÀ¤â´Þ¤á¤Æ¡Ë



ɽ¼¨¡¢¤È¤¤¤¦´ÑÅÀ¤Ç¸«¤ë¤Ê¤é¸½ºß¤â½ÐÍè¤Æ¤¤¤Þ¤¹¤è¤Í¡£
¥À¥¦¥ó¥í¡¼¥É³°»ú¤ò¤ä¤é²èÁü¤ä¤é¤ò¤Ä¤«¤Ã¤Æ¡£
¥ª¥ê¥ó¥Ô¥Ã¥¯¤Î¤È¤­¤Ë£Î£È£Ë¤Î¥Ç¡¼¥¿ÊüÁ÷¸«¤ë¤È¡¢Ãæ¹ñ¿ÍÁª¼ê¤Î´Á»ú¤Á¤ã¤ó¤È½Ð¤Æ¤Þ¤·¤¿¤è

¤À¤«¤é¡¢Unicode¤¸¤ã¤Ê¤¤¤Î¤Èɽ¼¨¤ÎÏäϡ¢¤¹¤¯¤Ê¤¯¤È¤â¥¨¥ó¥É¥æ¡¼¥¶¤«¤é¸«¤ë¤È´Ø·¸¤Ê¤¤ÏäǤ·¤ç¤¦¡£
¤¸¤ã¤¢¡¢¤½¤¦¤¹¤ë¤È¼õ¿®µ¡¤âUnicode¤Ë¤·¤ÆÈÖÁÈÀ©ºî¤ò³Ú¤Ë¤¹¤ë¤«¡¢¥í¡¼¥«¥ë¤Ê±ø¤¤¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°ºÎÍѤ·¤Æ¤Ç¤Ç¤â¼õ¿®µ¡¤ÎÃÍÃʤò²¼¤²¤ë¤«¡¢¤È¤¤¤¦¥È¥ì¡¼¥É¥ª¥Õ¤Î´Ø·¸¤ÇÏÀ¤¸¤ë¤Ù¤­¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£

2.¡¡ÀÖ¡¢ÎС¢¤Ê¤É¤Î4¿§¤Î¥Ü¥¿¥ó¤ò»È¤¤¤½¤Îɽµ­¤ËR,G¤â¤·¤¯¤ÏRed¡¢Green¡¢¡ÖÀ֡סÖÎСפʤɤÎÊ»µ­¤Ê¤·¤Ë²èÌ̤ˡֿ§¤Î¤ßɽ¼¨¡×¤ÎÁªÂò»è¤òɽ¼¨¤·¡¢¡Ö¿§¤Î¤ßɽ¼¨¤Î¥ê¥â¥³¥ó¥Ü¥¿¥ó¡×²¡¤¹¤È¤¤¤¦»ÅÍͤϡ¢¿§³Ð¾ã³²¼Ô¤ËÂФ¹¤ëÇÛθ¤Ë·ç¤±¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«¡©



¤³¤ì¤Ï¤ª¤Ã¤·¤ã¤ë¤È¤ª¤ê¡£
¤Ç¤â¡¢¤³¤ì¤Ï¥¤¥®¥ê¥¹¤Î£Â£Â£Ã¤Î¥«¥é¡¼¥­¡¼¤ò¤½¤Î¤Þ¤ÞºÎÍѤ·¤Á¤ã¤Ã¤¿¡£¤È¤¤¤¦ÌäÂê¤À¤«¤é¡¢¥³¥ó¥Æ¥ó¥Äº¿¹ñ¤ò¸ì¤ëʸ̮¤Ç¤¢¤²¤ë¤Î¤Ï¿ʬ¤Ë¥ß¥¹¥ê¡¼¥É¤¸¤ã¤Ê¤¤¤«¤·¤é

3.¡¡¥Ñ¥ì¥ó¥¿¥ë¡¦¥Õ¥é¥°¤È¤¤¤¦°ÕÌ£ÉÔÌÀ¤ÎÍѸì¤ÈÍ­³²¥³¥ó¥Æ¥ó¥Ä»ØÄê¤Ï¡¢Êƹñ¤ÎTVPG¥Õ¥é¥°¤ä²èÌ̤ؤÎɽ¼¨¡¢ÈÖÁÈÀ©ºî¼Ô¤Î¥Õ¥é¥°»ØÄê¤Ê¤É¤Î¼Â»Ü¤ËÈæ¤Ù¤Æ¼å¤¤¤È»×¤ï¤ì¤ë¤Î¤Ç¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Ç¼Â»Ü¤µ¤ì¤Æ¤¤¤ë¥Ú¥¢¥ì¥ó¥¿¥ë¡¦¥³¥ó¥È¥í¡¼¥ë¤Ë¤è¤ëÍ­³²¥³¥ó¥Æ¥ó¥Ä¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹²½¡¢¥Ö¥é¥¦¥¶¤Ë¤ª¤±¤ë¥Õ¥£¥ë¥¿¥ê¥ó¥°¡¢°ìÈ̥桼¥¶¡¼¤Ë¤è¤ëÍ­³²»ØÄê¤ÎÄ󰯤ÈÊó¹ð¡¢¤Ê¤É¤Î¥«¥é¥¯¥ê¤òÊüÁ÷¶È³¦¤â¶¦Í­¤¹¤ë¤Ê¤É¤Î¥¢¥×¥í¡¼¥Á¤ÏÇ¡²¿¤È¤¤¤¦Äó°Æ...¡ÖÊüÁ÷¶È³¦¤ÏÀΤ«¤é¥Ñ¥ì¥ó¥¿¥ë¤È¸Æ¤ó¤Ç¤¤¤ë¡×¤È°ì³ç¤µ¤ì̵»ë



¤¨¡¼¤È¡¢Ì¾Á°¤¬ÏÂÀ½±Ñ¸ì¤À¤È狼º¤¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
¥¨¥ó¥É¥æ¡¼¥¶¤Ë¸«¤»¤ë̾¾Î¤Ç¤â¤¢¤ë¤Þ¤¤¤·¡£
µÕ¤Ë¡¢¤½¤³¤Ï¥¹¥ë¡¼¤·¤Æµ»½ÑŪ¤ÊÉôʬ¤À¤±¤òµÄÏÀ¤¹¤ë¤Ù¤­¤À¤Ã¤¿¤È»×¤¤¤Þ¤¹¡£

¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Î¥Ú¥¢¥ì¥ó¥¿¥ë¡¦¥³¥ó¥È¥í¡¼¥ë¤È¤¤¤Ã¤Æ¤â¤¤¤Þ¤À¤Ë¥Ö¥é¥¦¥¶Èó°Í¸¡¦ÃϰèÈó°Í¸¤Î¥Ú¥¢¥ì¥ó¥¿¥ë¡¦¥³¥ó¥È¥í¡¼¥ë¤Ã¤Æ¤¢¤ê¤Þ¤»¤ó¤è¤Í¡©
¤¹¤¯¤Ê¤¯¤È¤â¡¢»ä¡¢ÆüËܤˤ¤¤Æ¤¼¤ó¤¼¤ó¥Ú¥¢¥ì¥ó¥¿¥ë¡¦¥³¥ó¥È¥í¡¼¥ë¤¬Í­¸ú¤ËƯ¤¤¤Æ¤¤¤ëµ¤¤¬¤·¤Ê¤¤¤ó¤Ç¤¹¤±¤É¡£
¤³¤ì¤âñÂΤǵÄÏÀ¤¹¤ë¤Ë¤Ï¤¤¤¤¤Ç¤¹¤¬¡¢¥³¥ó¥Æ¥ó¥Äº¿¹ñ¤È¤¤¤¦Ê¸Ì®¤Ç¸ì¤ë¤Ë¤Ï¤É¤¦¤«¤Ê¡£¤È»×¤¤¤Þ¤¹¡£

¤½¤ì¤Ê¤ê¤ËÉáµÚ¤·¤Æ¤Ê¤¤¤È¡¢¥Æ¥ì¥Ó¤Î»ö¤ò¤¢¤Þ¤ê¹Í¤¨¤Æ¤¤¤Ê¤¤Êý¼°¤Ë̵Íý¤ä¤ê¤¢¤ï¤»¤ë¡£¤Ê¤ó¤Æ½ÐÍè¤Ê¤¤¤Ç¤¹¤è¡£
¥Ç¥á¥ê¥Ã¥È¿¤¯¤Æ¡£

5.¡¡²¤ÊƤÇÀ©ºî¤µ¤ì¤¿ÊüÁ÷ÈÖÁȤ˥ǡ¼¥¿ÊüÁ÷¤ÈϢư¤·¤¿¥¤¥ó¥¿¥é¥¯¥Æ¥£¥Ö¤Êµ¡Ç½¤¬Äɲäµ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ÆüËܤÎÊüÁ÷·Ðͳ¤Ç¶¡¤µ¤ì¡¢ÆüËܤΥÁ¥å¡¼¥Ê¡¼¤Ç¼õ¿®¤µ¤ì¤ë¤ÈÁ´¤¯É½¼¨¤â¤Ç¤­¤Ê¤¤¡¢¥¤¥ó¥¿¥é¥¯¥Æ¥£¥Ö¤ÊÈÖÁȤϵ¡Ç½¤·¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤¬..



²¤½£¤«¤éËÌÊÆ¤Ç¤â̵Íý¤Ç¤¹¤è¤Í¡£
¤È¤¤¤¦¤«¡¢¤³¤ÎȯÁۤϺ¬ËÜŪ¤Ë´Ö°ã¤Ã¤Æ¤Þ¤¹¤è¡£

¥Ç¡¼¥¿ÊüÁ÷¤¬ËÜÅö¤Ë¥ª¥Þ¥±Åª¤Ê¤â¤Î¤Ê¤é¡¢Ã±½ã¤Ë»ý¤Ã¤Æ¤¤¤±¤Þ¤¹¤±¤É
¤¿¤È¤¨¤Ð¡¢ÈÖÁȤÎÅÓÃæ¤Ç¡¢ÅÅÏäòȯ¸Æ¤·¤¿¤ê¤·¤¿¤é¥¢¥¦¥È¤Ê¤ï¤±¤Ç¡¢
¤½¤â¤½¤â¡¢ÆüËܤǥƥì¥Ó¤ò¸«¤ëµÒÁؤ¬ËÝÌõ¤â¤µ¤ì¤Æ¤¤¤Ê¤¤³°¹ñ¸ì
¥Ç¡¼¥¿ÊüÁ÷¤ò¤¢¤ê¤¬¤¿¤¬¤Ã¤Æ¸«¤ë¤È»×¤¦¤Î¤Ï¤«¤Ê¤êÆÃ°Û¤Ê²ÁÃʹѤÀ¤È»×¤¤¤Þ¤¹¤è¡£


¾¤ÎÏäϵ»½Ñ¤ÎÏ两ã¤Ê¤¯¡¢ÆüËܤΥƥì¥Ó¶É¤¬³¤³°¥Þ¡¼¥±¥Ã¥È¤ò¤É¤¦°·¤Ã¤Æ¤¤¤­¤Þ¤¹¤«¡£¤È¤¤¤¦¥Þ¡¼¥±¥Ã¥Æ¥£¥ó¥°¤ÎÏäÀ¤È»×¤¦¤Î¤Ç¥¹¥­¥Ã¥×¡Ê¤¹¤¤¤Þ¤»¤ó¡Ë



·ë¶É¡¢¤³¤ÎÏäνô°­¤Îº¬¸»¤Ï¥¨¥ó¥É¥æ¡¼¥¶¤Ë¤È¤Ã¤ÆËÌÊÆÊý¼°¤òºÎÍѤ¹¤ë¥á¥ê¥Ã¥È¤¬²¿¤â¤Ê¤¤¤³¤È¤Ê¤ó¤¸¤ã¤Ê¤¤¤Î¡£¤È¤«»×¤Ã¤Æ¤·¤Þ¤¦º£Æü¤³¤Îº¢¡£

¡ôDRM¤¬ÌÂÁö¤·¤Æ¤¤¤ë¤«¤é¥³¥Ô¡¼¤·¤Þ¤¯¤ê¥æ¡¼¥¶¤Ë¤Ï¤¦¤ì¤·¤¤¤Î¤«¡©



²æÇڤϥ¤¥Ì¤Ç¤¢¤ë
²æÇÚ¤âÊÙ¶¯¤¹¤ë¥ï¥ó¡ª ¥é¥ó¥­¥ó¥°¡ª


¥Æ¥¯¥Î¥í¥¸¡¼ | ¡Ú2006-06-15(Thu) 23:43:57¡Û | Trackback:(3) | Comments:(0)
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

seqcount¤¬ preempt_disable¤·¤Æ¤Ê¤¤·ï¤Ë¤Ä¤¤¤Æ

¥«¡¼¥Í¥ëÆÉ½ñ²ñ¤Ç¡¢¥·¡¼¥±¥ó¥¹¥í¥Ã¥¯¤Î¥¹¥Ô¥ó¥í¥Ã¥¯¤ò¤È¤é¤Ê¤¤·ÚÎÌÈǤ¬¡Ê´Ø¿ô̾¤Ç¤Ïseqcount_hogehoge) ¤¢¤ë¤ó¤À¤±¤É¡¢preempt_disable()¤·¤Æ¤Ê¤¤¤«¤é»È¤¦¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£¤Èȯ¸À¤·¤¿¤é

¤¤¤ä¤¤¤ä¡¢¸Æ¤Ó½Ð¤·Â¦¤ÇIRQ disable()¤·¤Æ¤ë¤«¤â¤·¤ì¤Ê¤¤¤«¤é¡¢°ì³µ¤Ë¤½¤¦¤È¤Ï¸À¤¨¤Ê¤¤¡£

¤ÈÍ¡¤µ¤ì¤Æ¤·¤Þ¤Ã¤¿¡£
¤ª¤Ã¤·¤ã¤ë¤È¤ª¤ê¡£


¤Á¤Ê¤ß¤Ë¡¢°Ê²¼¤Ë seqcount¤Îwrite lock´Ø¿ô¤ò°úÍѤ·¤Æ¤ª¤¯¡£¤´»²¹Í¤Þ¤Ç¤Ë

136 static inline void write_seqcount_begin(seqcount_t *s)
137 {
138 s->sequence++;
139 smp_wmb();
140 }
141
142 static inline void write_seqcount_end(seqcount_t *s)
143 {
144 smp_wmb();
145 s->sequence++;
146 }




¤Ç¡¢¤ª¤Ã¤·¤ã¤ë¤È¤ª¤ê¡£¤Ç½ª¤ï¤Ã¤Æ¤¤¤ë¤È¼ä¤·¤¤¤Î¤Ç»È¤Ã¤Æ¤¤¤ë¾ì½ê¤ò¸«¤Æ¤ß¤¿¡£

¥½¡¼¥¹¤ÏÎã¤Ë¤è¤Ã¤Æ lxr.linux.no ¤Î 2.6.11 ¥«¡¼¥Í¥ë¤Í¡£


¤Þ¤º¡¢»È¤Ã¤Æ¤¤¤ë¾ì½ê¤Ï°ì²Õ½ê¤Î¤ß¡£
°Ê²¼¤Ë¼¨¤¹¤è¤¦¤Ë¡¢inode->i_size ¤¤¤¸¤Ã¤Æ¤ë¾ì½ê¡£

http://lxr.linux.no/source/include/linux/fs.h#L526
523 static inline void i_size_write(struct inode *inode, loff_t i_size)
524 {
525 #if BITS_PER_LONG==32 && defined(CONFIG_SMP)
526 write_seqcount_begin(&inode->i_size_seqcount);
527 inode->i_size = i_size;
528 write_seqcount_end(&inode->i_size_seqcount);
529 #elif BITS_PER_LONG==32 && defined(CONFIG_PREEMPT)
530 preempt_disable();
531 inode->i_size = i_size;
532 preempt_enable();
533 #else
534 inode->i_size = i_size;
535 #endif
536 }



¤¢¡¢¤¢¤é¤é¡¼
¤ä¤Ã¤Ñ¤ê¡¢preempt_disable()¤·¤Ê¤¤¤È¤Þ¤º¤½¤¦¤Ç¤¹¤è¡£
IRQ disable¤·¤Æ¤Ê¤¤¤Ã¤Æ¤Î¤â¤¢¤ë¤¬¡¢¤½¤ì¤è¤ê²¿¤è¤ê¡¢
¥·¥ó¥°¥ëCPU¤Î¤È¤­¤Ï preempt_disable(); ¤·¤Æ¤ë¤Ã¤Æ¤Î¤¬¡¢
¤¤¤«¤Ë¤â¤ï¤¶¤È¤½¤¦¤·¤Æ¤ë¤ó¤¸¤ã¤Ê¤¤¤ó¤À¤è¡¼
¤È¤¤¤¦Ê·°Ïµ¤¤ò¤«¤â¤·½Ð¤·¤Æ¤¤¤ë¡£

¤¤¤ä¡¢¤½¤ì°ÊÁ°¤Ë¡¢¤³¤³seqcount¤¸¤ã¤Ê¤¯¡¢seqlock»È¤ï¤Ê¤¤¤È¤Þ¤º¤¤¾ì½ê¤Ë¸«¤¨¤ë¤ó¤Ç¤¹¤¬¡¦¡¦¡¦(n'¦Ø'`)


¥«¡¼¥Í¥ëÆÉ½ñ²ñ¤ËÍè¤Æ¤¤¤Ê¤«¤Ã¤¿¿Í¤Î¤¿¤á¤ËÊä­¤¹¤ë¤ÈÌäÂêÅÀ¤Ï°Ê²¼

£±¡¥SMP´Ä¶­¤Ë¤ª¤¤¤Æwrite_seqcount_begin() ¤·¤¿¤¢¤È¤Ç¡¢preempt¤¹¤ë¤È¡¢¥í¥Ã¥¯ÊÝ»ý´ü´Ö¤¬ÌÇÃã¶ìÃãŤ¯¤Ê¤ë
£²¡¥seqcount()¤Ï½ñ¤­¼ê¤¬Ê£¿ô¤¤¤¿¤È¤­¤ÎÇÓ¾¤ò¤Þ¤Ã¤¿¤¯¤·¤Ê¤¤¤Î¤Ç¡¢À߷׾壱¿Í¤Ë¤Ê¤ë¤³¤È¤òÊݾ㤷¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤¬¡¢i_size_write()¤¬¤½¤ó¤Ê»ö¤ò¤·¤Æ¤¤¤ë¤è¤¦¤Ë¤Ï¸«¤¨¤Ê¤¤¡£¤«¤Äi_size¤Ï64bitÊÑ¿ô¤Ê¤Î¤Ç¡¢32bit¥¢¡¼¥­¤Ç¤Ï£±Ì¿Îá¤Ç¤Ï½ñ¤±¤Ê¤¤
£³¡¥seqcount»È¤¦¤Ê¤éÆÉ¤ß¼ê¤âread lock¼è¤é¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤¬¡¢¤½¤ó¤Ê»ö¤ò¤·¤Æ¤Ê¾ì½ê¤¬Éå¤ë¤Û¤É¤¢¤ë¡£

£³¤ÏÌäÂꤸ¤ã¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¤±¤É¤Í¡£i_size¤¬ÀäÂÐ32bit¤Ç¼ý¤Þ¤ëfs¤À¤Èñ½ã¤Ë¡á±é»»»Ò¤ÇÂåÆþ¤·¤Á¤ã¤Ã¤Æ¤â¤¦¤Þ¤¯¤¤¤¯¤«¤é¡£
¤½¤³¤Ï¤Á¤ã¤ó¤È¸«¤Æ¤Ê¤¤¡£

¤Ê¤Ë¡©
2.6.11¤Ê¤ó¤Æ¸«¤Æ¤Ê¤¤¤Ç¤Á¤ã¤ó¤ÈºÇ¿·¤ò¤ª¤Ã¤«¤±¤í¡©
¤ª¤Ã¤·¤ã¤ë¤È¤ª¤ê¡£¤´¤á¤ó¤Ê¤µ¤¤¡£
¤Á¤ç¤Ã¤È¡¢¼ê´Ö·ä¤«¤«¤ë¤Î¤è¤Í¡£ºÇ¿·¤ò¥¦¥©¥Ã¥Á¤·Â³¤±¤ë¤Î¤Ã¤Æ(^^¡¶

µ¤¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç狼¥³¥á¥ó¥È¤¯¤ì¤ë¤È´ò¤·¤¤¤Ã¤¹¡£




¤·¤ç¤»¤ó¥«¥¹¤«
¤Á¤ã¤ó¤È¸«ÀÚ¤ì¤Æ¤¤¤Þ¤»¤ó¡ª ¥é¥ó¥­¥ó¥°¡ª



linux | ¡Ú2006-06-15(Thu) 22:26:43¡Û | Trackback:(1) | Comments:(6)
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

perl¤Ã¤ÆÀµµ¬É½¸½¤Ï¾ï¤ËNFA¤Ç°·¤¦¤ó¤À¤Ã¤±¡©

¤Ï¤Æ¥Ö¤ò¥¦¥©¥Ã¥Á¤·¤Æ¤¤¤Æ¤³¤ó¤ÊÏäò¤ß¤Ä¤±¤¿¡£

http://qootas.org/blog/archives/2006/06/perl_regex_perf.html

ÍèÆü¤·¤Æ¤ë US ¤Î TypePad ¥¨¥ó¥¸¥Ë¥¢ Garth ¤ÈÏäò¤·¤Æ¤¤¤ë¤È¤­¤Ë¤Ç¤Æ¤­¤¿Àµµ¬É½¸½¤ÎÏá£

$char =~ m/\p{Han}|\p{Hiragana}|\p{Katakana}/; #NG
$char =~ m/[\p{Han}\p{Hiragana}\p{Katakana}]/; #OK

return if $char =~ m/abc|def|ghi/; #NG
return if ($char =~ m/abc/ or $char =~ m/def/ or $char =~ m/ghi/); #OK

"|"(¥Ñ¥¤¥×)¤ò»È¤Ã¤¿Àµµ¬É½¸½¤Ï¤á¤Á¤ã¤¯¤Á¤ãÃÙ¤¤¤«¤é»È¤ï¤Ê¤¤¤è¤¦¤Ë¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£³Î¤«¤Ë¥Ù¥ó¥Á¥Þ¡¼¥¯¤ò¼è¤ë¤È32ÇÜ®¤¤¤Ç¤¹¡£



¤¢¤È¡¢¤³¤Ã¤Á¤Ç¡¢¤Ê¤ó¤«Â³¤­¤¬¤¢¤ë¤Ã¤Ý¤¤
http://d.hatena.ne.jp/fbis/20060615/1150333992
¤¦¡¼¤ó¡Ã¤¬ÃÙ¤¯¤Ê¤ë¤Î¤Ã¤ÆNFAÆÃÍ­¤ÎÏäǤ¹¤è¤Í¤§¡£
perl¤Ã¤Æ¾ï¤ËNFA¤Ê¤ó¤Ç¤·¤¿¤Ã¤±¡©

µ­²±¤Ç¤Ï¸åÊý»²¾È¤È¤«¤Ê¤¤Ã±½ã¤Ê¤ä¤Ä¤ÏDFA¤ËÍî¤È¤·¤Æ¤¯¤ì¤ë¤È¤Ê¤Ã¤Æ¤¤¤¿¤Î¤À¤¬¡¢¤É¤³¤Èº®Àþ¤·¤¿¤Î¤À¤í¤¦¡¦¡¦¡¦
GNU grep¤¢¤¿¤ê¡©





ÈÈ¿ÍÁü
¤ª¤Þ¤¨¤Ï²¿¤ò¤¤¤Ã¤Æ¤¤¤ë¤ó¤À¡© ¥é¥ó¥­¥ó¥°¡ª



¥×¥í¥°¥é¥ß¥ó¥° | ¡Ú2006-06-15(Thu) 19:48:07¡Û | Trackback:(1) | Comments:(2)
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

º£Æü¤Ï¥É¥ê¡¼¥à¥¸¥ã¥ó¥Ü¤ÎȯɽÆü

¤â¤Á¤í¤óÁ´Éô¤Ï¤º¤ì¤Þ¤¹¤¿ orz



¤¬¤Ã¤¯¤ê.jpg
¤¬¤Ã¤¯¤ê¡ª ¥é¥ó¥­¥ó¥°¡ª



»¨ÃÌ | ¡Ú2006-06-13(Tue) 19:38:07¡Û | Trackback:(0) | Comments:(0)
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

¤¤¤ä¤Ê¥×¥í¥Õ¥¡¥¤¥é¡¼¤òIA64¤ËÂбþ¤µ¤»¤ë

¤¤¤ä¤Ê¥Ö¥í¥°¤µ¤ó¤Îsetitimer ¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò»È¤Ã¤Æ´Êñ¤Ê¥×¥í¥Õ¥¡¥¤¥é¤òºî¤ë¤È¤¤¤¦µ­»ö¤Ç²òÀ⤵¤ì¤Æ¤¤¤ë¥×¥í¥Õ¥¡¥¤¥é¡¼¡ÊÄ̾Ρ§¤¤¤ä¤Ê¥×¥í¥Õ¥¡¥¤¥é¡¼ *1¡Ë¤òIA64¤Çư¤«¤·¤Æ¤ß¤¿¡£

*1 ¤ª¤¤¤é¤¬Ì¿Ì¾


¤»¤Ã¤«¤¯¤À¤«¤é¥Ñ¥Ã¥Á»¯¤·¤È¤¯¡£
¤·¤«¤·¡¢¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó¥Ý¥¤¥ó¥¿¤¬Â¸ºß¤·¤Ê¤¤¥¢¡¼¥­¤Ê¤ó¤ÆÂ¸ºß¤·¤Ê¤¤¤Î¤Ë¡¢µ¡¼ïÈó°Í¸¥³¡¼¥É¤Ë¤¹¤ëÊýË¡¤ò»×¤¤¤Ä¤«¤Ê¤¤¤³¤Î¤â¤É¤«¤·¤µ¡£
Ó˸ơ¦¡¦¡¦¡¦

--- itimer_prof.orig    2006-06-13 14:13:21.000000000 +0900
+++ itimer_prof.c 2006-05-18 12:12:26.000000000 +0900
@@ -9,7 +9,12 @@ static FILE *prof_fp;


static void
prof_handler(int signal, siginfo_t *siginfo, void *ucontext)
{
+#ifdef __ia64__
+ struct ucontext *uc = (struct ucontext *)ucontext;
+ unsigned long long int pc = uc->uc_mcontext.sc_ip;
+#else /* assume i386*/
struct ucontext *uc = (struct ucontext *)ucontext;
unsigned long int pc = uc->uc_mcontext.eip;
+#endif


fwrite(&pc, sizeof(pc), 1, prof_fp);





¥ô¥¡¥ë¥­¥ê¡¼¥×¥í¥Õ¥¡¥¤¥ë
½÷¿À¤µ¤Þ¤ò¤â¥×¥í¥Õ¥¡¥¤¥ë¡ª ¥é¥ó¥­¥ó¥°¡ª


linux | ¡Ú2006-06-13(Tue) 14:33:05¡Û | Trackback:(0) | Comments:(1)
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

¤¦¡¼¤à¡¢²¿¤¬¤Þ¤º¤«¤Ã¤¿¤Î¤À¤í¤¦

404 Blog Not FoundÍͤÎTB¤Ècomment¤ÎÀ°Íý¤È¤¤¤¦µ­»ö¤òÆÉ¤ó¤Ç¡¢¤¦¤à¤à¡¢¤Ê¤ë¤Û¤É¡ª
¤È¤Ð¤«¤ê¤Ë¡¢¼«Ê¬¤Î¥µ¥¤¥É¥Ð¡¼¤Î¥È¥é¥Ã¥¯¥Ð¥Ã¥¯Íó¤ò²þ¤¤·¤Æ¤ß¤ë¡£


¡¦¡¦¡¦



¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦




¤Ê¤¼¤À¡©
¤Þ¤ë¤Ç¡¢»È¤¤¤ä¤¹¤¯¤Ê¤Ã¤¿µ¤¤¬¤·¤Ê¤¤¡£

¤Á¤ã¤ó¤È¼«Ê¬¥µ¥¤¥È¤Ï¤Ï¤¸¤¤¤Æ¡¢ÌÚ¹½Â¤¤Ë¤â¤·¤¿¤Î¤À¤¬¡£
¡Ê¤è¤¯¸«¤ë¤È¡¢£±¤Ä¼«¥µ¥¤¥È¤ÎTB¤ò¤Ï¤¸¤­¤½¤³¤Ê¤Ã¤Æ¤ë¡£¤Ï¤Ï¤Ï¡Ë

¤È¤ê¤¢¤¨¤º¡¢º£Æü¤Ï¤â¤¦²ñ¼Ò¤Ë¤¤¤¯»þ´Ö¤Ê¤Î¤Ç¡¢ÌÀÆü¹Í¤¨¤è¤¦¡£

¤È¤ê¤¢¤¨¤º¡¢¥³¡¼¥É»¯¤·¤Æ¤ª¤¯¡£
FC2¤Î¶¦Í­¥×¥é¥°¥¤¥ó¤ò¤Á¤ç¤Ã¤È²þ¤¤·¤Æ¤ë¤À¤±¤Ê¤Î¤Ç¡¢±ø¤¤¤±¤É

<div class="tree" id="RT"><ul>
<!--rtrackback--><li>

<!-- ¤³¤³¤Ç title°À­¤Ë¡¢µ­»ö̾¤ò¤¤¤ì¤Æ¤ª¤¯ -->
<a href="<%rtrackback_url>" title="<%rtrackback_etitle>"
name="<%rtrackback_year>/<%rtrackback_month>/<%rtrackback_day>/<%rtrackback_hour>" >
<span>(<%rtrackback_month>/<%rtrackback_day>)</span> 
<%rtrackback_blog_name>:<%rtrackback_title></a>
</li><!--/rtrackback-->
</ul></div>

<script type="text/javascript"><!--

// BlogÀßÄê¤ÎºÇÂç¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¿ô¤Ï£³£°¡ÊºÇÂç¡Ë¤Ë¤·¤Æ¤ª¤¤¤Æ
// ¼ÂºÝ¤Îɽ¼¨¿ô¤Ï¤³¤Á¤é¤ÎÊÑ¿ô¤ò»È¤¦
// ¤â¤Ã¤È¤¤¤¤ÊýË¡¤Ï¤Ê¤¤¤Î¤«¤Ê¡¦¡¦¡¦¡¦
max_count=7;

var A=document.getElementById('RT').getElementsByTagName('A');
I="<ul>"; // I: À¸À®¥Æ¥­¥¹¥È
L=A.length; // L: AÍ×ÁÇ¿ô
display_count=0;
for (i=0;i<L;i++){
E=A[i].title;
tburl=A[i].href;
if ( E!="" & tburl.indexOf("mkosaki.blog46.fc2.com")==-1 ){
display_count++;
if( display_count == max_count ){
break;
}
var C=new Array();
c=-1;
I+='<li><p>'+E+'<br />';
for (j=i;j<L;j++){
if (A[j].title==E) { // °Ê¹ß¤ËƱ¤¸¥¿¥¤¥È¥ë¤¬¤¢¤ì¤Ð
c++;
C[c]=j
}
}
for (j=0;j<=c;j++){
k=C[j];
A[k].title="";
p=A[k].innerHTML.split(' ');
q=A[k].name;
if (j<c) {
I+=' ¨§'
} else {
I+=' ¨¦'
}
I+='<a href="'+A[k].href+'" title="'+q+'" name="'+q+'">'+p[1]+'</a><br />';
}
I+='</p></li>';
}
}
I+="</ul>";
document.getElementById('RT').innerHTML=I;
--></script>



µö¤·¤Æ¤À¥ï¥ó
¸¤¤Ç¤âÈ¿¾Ê¡ª ¥é¥ó¥­¥ó¥°¡ª



blog | ¡Ú2006-06-13(Tue) 07:02:39¡Û | Trackback:(0) | Comments:(0)
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

Amazon¤¬Æ±¿Í¤Î°ÑÂ÷ÈÎÇä¤ò³«»Ï

¤Ã¤ÆÆÉ¤ó¤Ç¤¤¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©
¤³¤Î¥Ë¥å¡¼¥¹¤Ï

http://www.itmedia.co.jp/news/articles/0606/12/news059.html


¤È¤³¤í¤Ç¡¢Çä¤ê¾å¤²¤Î£´£°¡ó¤òAmazon¤¬Ä§¼ý¤Ã¤Æ¹â¤¤¤Î¡¢°Â¤¤¤Î¡© ¡ä¤½¤Ã¤ÁÊýÌ̤οÍ


blog | ¡Ú2006-06-12(Mon) 23:20:34¡Û | Trackback:(0) | Comments:(5)
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

[½ñɾ] ´ÆÆÄÉÔ¹ÔÆÏ



ºÇ¶á¡¢¿Í¤Îºî¤Ã¤¿¤ªÏÃ¤ËÆþ¤ê¹þ¤á¤Ê¤¯¤Ê¤Ã¤Æ¤­¤Æ¤¤¤Æ¡¢¼ÂÏ÷ϤÎËܤФ«¤ê¥Ò¥Ã¥È¤·¤Æ¤¤¤ëµ¤¤¬¤¹¤ë¡£
º£²ó¤â¤½¤ó¤ÊËÜ¡£

¡Ê¥¨¥ô¥¡¤Î¡Ë°ÃÌî´ÆÆÄ¤È·ëº§¤·¤Æ¥À¥Ö¥ë¥¢¥ó¥Î¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿°ÂÌî¥â¥è¥³¡ö£± ¤Î¿·º§À¸³è¥¨¥Ã¥»¥¤¡£
¤Ï¤Ã¤­¤ê¤¤¤Ã¤Æ¡¢¥«¥ó¥È¥¯·¯¡Ê°ÃÌî´ÆÆÄ¤Î°¦¾Î¡Ë¤Î¥³¥É¥â¤Ã¤×¤ê¤¬À¨¤¹¤®¤ë¡£¤â¤Á¤í¤óÌ¡²è¤Ê¤Î¤Ç¤¢¤ëÄøÅ٤εӿ§¤Ï¤¢¤ë¤Î¤À¤í¤¦¤¬°ÃÌî¤Ê¤é¤ä¤ê¤«¤Í¤ó¡£¤È¤«ÆÉ¼Ô¤Ë»×¤ï¤»¤Æ¤·¤Þ¤¦¤¢¤¿¤ê¥µ¥¹¥¬¡¦¡¦¡¦

¡ö£± ºÇ½é¤«¤é¤³¤ì¤òÁÀ¤Ã¤Æ¤¤¤¿¥Ú¥ó¥Í¡¼¥à¤À¤Ã¤¿¤éÀ¨¤¤


ɾ²Á¡§ ¡ù¡ù¡ù¡ù¡ù ¡Ê¥ª¥¹¥¹¥á¤Ã¤¹¡Ë




½ñɾ¡Ê¤Þ¤ó¤¬¡Ë | ¡Ú2006-06-12(Mon) 15:48:04¡Û | Trackback:(0) | Comments:(0)
¤³¤Î¥¨¥ó¥È¥ê¡¼¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯

Linux¤ÇưŪ¤Ê¥á¥¸¥ã¡¼ÈÖ¹æ³ä¤êÅö¤Æ¤Ï¤É¤Î¤¯¤é¤¤°ÂÁ´¤«

ºÇ¶á¤ä¤Ã¤¿¥¢¥Û¤ÊÏÃ

Linux¤Ç¤Ï¥É¥é¥¤¥Ð¤Î¥á¥¸¥ã¡¼Èֹ椬1-4095¤ÎÈϰϤǻȤ¨¤ë¡£

Linux/include/linux/kdev_t.h

4 #define MINORBITS       20 
5 #define MINORMASK ((1U << MINORBITS) - 1)
6
7 #define MAJOR(dev) ((unsigned int) ((dev) >> MINORBITS))
8 #define MINOR(dev) ((unsigned int) ((dev) & MINORMASK))
9 #define MKDEV(ma,mi) (((ma) << MINORBITS) | (mi))


¤¿¤À¤·¡¢ÀΤÏ1-255¤À¤Ã¤¿¤Î¤Ç¡¢¤½¤ÎÈϰϤÎÈÖ¹æ¤ò»È¤¤¤¿¤¤¤Ê¤é
Documentation/devices.txt ¤ò¸«¤Ê¤¬¤é¶õ¤¤¤Æ¤ëÈÖ¹æ¤òõ¤µ¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¡£

¡¦¡¦¡¦¡¦


¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦




¤½¤¦¡¢»×¤Ã¤Æ¤¤¤¿»þ´ü¤¬Ëͤˤ⤢¤ê¤Þ¤·¤¿¡£



register_chrdev()¤Î¼ÂÁõ¤ÎÃæ³Ë¡¢__register_chrdev_region()¤Î°ìÉô¤ò¥Ô¥Ã¥¯¥¢¥Ã¥×¤¹¤ë¤È°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹


29 #define MAX_PROBE_HASH 255 /* random */
30
33 static struct char_device_struct {
34 struct char_device_struct *next;
35 unsigned int major;
36 unsigned int baseminor;
37 int minorct;
38 const char *name;
39 struct file_operations *fops;
40 struct cdev *cdev; /* will die */
41 } *chrdevs[MAX_PROBE_HASH];

¡ÊÃæÎ¬¡Ë

80 __register_chrdev_region(unsigned int major, unsigned int baseminor,
81 int minorct, const char *name)
82 {
¡ÊÃæÎ¬¡Ë
94
95 /* temporary */
96 if (major == 0) {
97 for (i = ARRAY_SIZE(chrdevs)-1; i > 0; i--) {
98 if (chrdevs[i] == NULL)
99 break;
100 }
101
102 if (i == 0) {
103 ret = -EBUSY;
104 goto out;
105 }
106 major = i;
107 ret = major;
108 }


¤Ä¤Þ¤êchar device¤Î¥Ï¥Ã¥·¥å¥Ð¥±¥Ä¤ò255¤«¤é0¤Ë¸þ¤«¤Ã¤Æ¸¡º÷¡¢
¥Ð¥±¥Ä¤¬¶õ¤À¤Ã¤¿¤é¥¤¥ó¥Ç¥Ã¥¯¥¹ÃÍ¡Êɬ¤º 1-255¤ÎÈϰϤˤʤë¡Ë¤ò¥á¥¸¥ã¡¼ÈÖ¹æ¤È¤·¤Æ³ÎÊݤ·¤Þ¤¹¡£

¤³¤Î¤È¤­¡¢Documentation/devices.txt¤Î¿Â»Î¶¨Äê¤ò¹Íθ¤¹¤ë¤è¤¦¤Ê½èÍý¤Ï°ìÀڤʤ¤¡£

¤Ä¤Þ¤êÀÅŪ¤Ë¥á¥¸¥ã¡¼ÈÖ¹æ¤ò³ÎÊݤ·¤¿¤¤¥Ç¥Ð¥¤¥¹¤Ï¡¢255°Ê²¼¤ÎÈ