NAKAMURA Minoru $B$NF|5-(B (2007$BG/(B2$B7n(B)

$B@h7n$NF|5-(B(2007$BG/(B01$B7n(B) $B:#7n$NF|5-(B(2007$BG/(B02$B7n(B)
2002 | 10 | 11 | 12
2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2012 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2013 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2014 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2015 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2016 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2017 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2018 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2019 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2020 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2021 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2022 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2023 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2024 | 1 | 2 | 3 | 4
$B%[!<%`%Z!<%8(B | $B:G?7$N%3%a%s%H(B50
$B%$%s%G%C%/%9(B: $B?)$YJb$-(B | Java | $B%W%m%0%i%`(B | UNIX | $B2hA|(B
$B:G?7$NF|5-$X$N%j%s%/(B | $B$3$NF|5-%Z!<%8$r$O$F$J% $B$3$NF|5-%Z!<%8$r$O$F$J%V%C%/%^!<%/$KDI2C(B
$B$O$F$J(B $B%@%$%"%j!<(B $B%"%s%F%J(B $B%V%C%/%^!<%/(B $B%V%m%0(B
Twitter | mixi | Facebook | slideshare | github | Qiita



2/28 ($B?e(B)

[Work] $B;E;v$,$@$$$?$$40N;(B

$B:rG/$N(B11$B7n$0$i$$$+$i@57n!&5YF|$J$7$G$O$?$i$$$F!"K?2>A[%a%b%j%7%9%F%`$N;E;v$,$*$*$`$MJR$E$$$?%h(B $B"A(B($B!&&X!&(B)$B"A(B

$B $BM-5k5Y2K$,$[$H$s$IL5=}(B(19.5$BF|(B)$B$G;D$C$F$$$k$N$G$d$m$&$H;W$($P(B3$B7n$O4]!95Y$a$k$N$@!D(B

[Book] $B!V(BLinux$B%G%P%$%9%I%i%$%P(B $BBh(B3$BHG!W$r9XF~(B

Book Cover

$B!D$H$$$&$h$&$JL4$N$h$&$JOC$O$5$F$*$-!"(2006$BG/(B 5/22$B!"(B7/4$B!"(B9/23$B!"(B11/15)$B!#(B $B%?%$%^!<8;$+$i$N(B IRQ $B3d$j9~$_$r7@5!$K!"(BPOSIX $B%$%s%?!<%P%k%?%$%^!<%$%Y%s%H$rH/@8$5$;$k$N$,L\E*$@!#(B

$B$?$@(B Linux $B$GHsF14|3d$j9~$_%O%s%I%i$r=q$$$?$3$H$,$J$$$N$G(BLinux$B%G%P%$%9%I%i%$%PBh(B3$BHG(B $B$r9XF~$7$FJY6/$9$k$3$H$K$9$k!#(B $B3d$j9~$_%O%s%I%i$NCf$G%?%9%/%l%C%H$r;E3]$1$k$N$,>oF;$N$h$&$@$,!"$3$A$i$NMW5a$H$7$F$O(B 10 $B%^%$%/%mIC$N@:EY$G%$%s%?!<%P%k%?%$%^!<$,5/F0$7$FM_$7$$!#(B $B$H$J$k$H%?%9%/%l%C%H$N%9%1%8%e!<%j%s%0$,$I$N$h$&$K9T$o$l$F$$$k$+D4$Y$J$$$H%@%a$@$M!#(B


2/23 ($B6b(B)

[Work] $B3+H/MQ$N(BIA-64$B%5!<%P$,$d$C$H$/$k(B

$B2q$B$k(B$B$?(B$B!#(B

Intel $B$,(B Itanium $B8~$1$N%A%C%W%;%C%H$N3+H/(B($B$HHNGd(B)$B$r;_$a$F$7$^$C$?4X78$G!"%o!<%/%9%F!<%7%g%s%/%i%9$N(B Itanium $B%^%7%s$OF~u67!#(B $BFH<+$N%A%C%W%;%C%H$r3+H/$7$F$$$k%Y%s%@!<$O(B$B$"$=$3(B$B$H(B$B$"$=$3(B$B$H(B$B$"$=$3(B$B$HJR

$B$&$A$N%W%m%8%'%/%H$G(B Montectio $B$N(B 2 CPU $B:\$C$?(B HP Integrity rx2620 $B$r(B 2 $BBf%2%C%H!#(B
$B%@%s%\!<%k$+$i=P$7$F$$$J$$$1$I(Brx2600 $B$Hc~BN$O0l=o$N$O$:!#(B $B$$$m$$$m$HK;$7$$$N%;%C%H%"%C%W$OMh=5$d$k$h!#(B

$BDI5-!'(B2/28

rx2600 $B$K$O(B Management Processor (MP) $B$H8F$P$l$k%O!<%IE*$J%5!<%P4F;kC(2004$BG/(B3/9$B!"(B2004$BG/(B5/27)$B!"(Brx2620 $B$O$=$l$,%=%U%HE*$K%P!<%8%g%s%"%C%W$5$l$F(BiLO2$B$H$$$&L>A0$K$J$C$F$$$k!#(B

iLO2 $B$O%O!<%IE*$K$O(B MP $B$HF1MM$N$h$&$@$,!"(B telnet $B$G@\B3$7$F(B LAN $B%3%s%=!<%k5!G=$rMxMQ$9$k$3$H$,2DG=$K$J$C$?$N$,4r$7$$!#(B $B0JA0$O%j%b!<%H%3%s%=!<%k$,$G$-$k$N$O%7%j%"%k@\B3$@$1$@$C$?!#(B

$B$b$C$H$b=)MU86$GGd$C$F$$$k%^%6%\!<%I$K$5$((B IPMI $B%+!<%I$H$$$&$N$,;I$5$k8f;~@$$@!#(B $B$=$s$JCf$G(B VGA $B$,(B $B%G%U%)%k%H$G(B Disable $B$r4S$/$N$,(B hp $BN.!)(B


2/22 ($BLZ(B)

[Linux] NFS $B%5!<%P$N%Q%U%)!<%^%s%9$,$"$,$i$J$$(B

RHEL4 Update4 $B%Y!<%9$N3+H/MQ(B Linux $B%5!<%P72$r(B NFS $B$r;H$C$F%G%#%9%/6&M-$7$F$$$k$,!"(B $B$J$+$J$+%Q%U%)!<%^%s%9$,$"$,$i$J$$$N$G:$$C$F$$$k!#(B

$Be$N:n6H%3%T!<$r(B update $B$H$9$k$H(B2$B!A(B3 $BIC$G=*N;$9$k$N$K!"(B NFS $B>e$N%G%#%9%/>e$N:n6H%3%T!<$r(B update $B$H$9$k$H(B120$B!A(B140$BICDxEY$+$+$k!#(B $B$`!A!#(B

JF$B$N5-;v(B$B$J$I$r;2>H$7$J$,$i%Q%i%a!<%?$rJQ$($F$_$k$,!"(B

  • mount $B%3%^%s%I$N(B risze/wsize $B$r(B 1K $B!A(B 32K $B$GJQ$($F$_$k$,!"$[$H$s$IJQ2=$J$7!#(B
  • nfsstat $B$G8+$k8B$j%Q%1%C%HMn$A$O$[$H$s$IH/@8$7$F$$$J$$!#(B

$B


2/17 ($BEZ(B)

[Linux] Usermin $B$G(B NIS $B%Q%9%o!<%I$r;H$&(B

$B2qUsermin$B$rF3F~$7$F$_$k!#(B

Usermin $B$N%G%U%)%k%H$NF0:n$O(B /etc/passwd $B$H(B /etc/shadow $B$rD>@\=q$-49$($F$7$^$&$N$G!"$3$l$r(B yppasswd $B$KJQ99$9$k$H$H$j$"$($:(B NIS $B%Q%9%o!<%I99?7$K@Z$jBX$o$k!#(B

/etc/usermin/changepass/config:
# passwd_cmd=file
passwd_cmd=/usr/bin/yppasswd

Samba $B$O(B smbpasswd $B$r;XDj$9$l$P0l=o$K99?7$7$F$/$l$k$,!"(B Apache $B$N%Q%9%o!<%I$HO"F0$7$F@Z$jBX$($k5!G=$O$J$$!#(B changepass.cgi $B$r=q$-D>$7$FFbItE*$K(B htpasswd $B$r8F$S=P$9$h$&$K$9$k!#(B

$B$3$l$G$h$&$d$/(B Samba $B$G(B /home $B$N8x3+(B & WebDAV $B7PM3$G(B Subversion $B$r;H$&$?$a$N=`Hw$,@0$C$?!#(B $B$$$^$K$J$C$F9M$($k$H:G=i$+$i(B LDAP $B$rF3F~$7$F$$$l$PNI$+$C$?$s$@$1$I$M!D(B

$BDI5-!'(B2/21

$B3+H/ $B;E;v$NJR


2/14 ($B?e(B)

$BHwK:O?(B

$BFF;V2H$NJ}$K%A%g%3%l!<%H%1!<%-$r$$$?$@$/!#(B
$B$"$j$,$?$$$3$H$G!#(B


2/12 ($B7n(B)

[Prog] C$B8@8l$N%W%m%0%i%`$G%P%C%/%H%l!<%9(B($B$r$d$j$?$$(B)

C$B$G%P%C%/%H%l!<%9$r9T$&J}K!$O(B $B9bNSE/;a(B$B$N%V%m%0$J$I$K>R2p$5$l$F$$$k$,(B $B%b%8%e!<%kL>$H(B IP $B%"%I%l%9$@$1$G$O$J$/!"(B $B%W%m%0%i%`Fb$G%=!<%9%U%!%$%kL>$H9T?t$r$:$P$jI=<($G$-$J$$$b$N$+$7$i$H%[%m%[%m9M$($k!#(B

$B%3%s%Q%$%k;~$K(B(-g$B%*%W%7%g%s$r$D$1$F(B)$B%*%V%8%'%/%HFb$K%G%P%C%0%7%s%\%k$r4^$a$F$$$F$b!"(B ld.so $B$,%a%b%jFb$K%*%V%8%'%/%H$r%m!<%I$9$k:]$K$O$+$i%G%#%9%/>e$NpJs$NC5:w$r$9$k$7$+$J$5$=$&$@!#(B $B$"$^$j%9%^!<%H$G$O$J$$$,(I%%%$B!#(B

$B;~4V$r8+$D$1$F%\%A%\%A=q$$$F$_$h$&!#(B


2/11 ($BF|(B)

$B5YM\F|(B

$B;0O"5Y$N??$sCf$H$$$&$3$H$b$"$k$N$G!":#F|$O$*5Y$_$H$9$k!#(B $B0lF|Cf?2$F2a$4$9$J$j!#(B


2/10 ($BEZ(B)

[Work] IA-64 de $B$*;E;v(B

$B:#F|$b%X%3%X%3(B IA-64 $B$N%W%m%0%i%`$@$1$I!"(B $B;W$$JV$9$H(B JVM $B$N(B JIT $B%3%s%Q%$%iItJ,$b=q$$$F$$$?$3$m$b4^$a$k$H!"(B $B$+$l$3$l0lG/0J>e(B IA-64 $B$N%W%m%0%i%`$r=q$$$F$$$?$3$H$K$J$k!#(B $B$=$N4V$K

  • Protection Key Register $B$H(B Key-miss/Key-permission Fault
  • PSR.da (Disable Data Access and Dirty-bit fault) $B$H(B PSR.dd (Data Debug fault disable)
  • Long $B7A<0$N(B VHPT
  • Big-endian $B%b!<%I(B

$B$H$*$*$h$=%U%j!<$N(B UNIX $B%/%m!<%s$d(B Windows $B$,;H$o$J$$5!G=$r(B $B:,7!$jMU7!$jO.$/$C$F$$$k$h$&$J5$$,$9$k!#(B

$B:#F|$+$i0JA0$h$j8!F$$7$F$$$?(B tick $B0J2<$N@:EY$r;}$D%?%$%^!<5!G=$N(5/22$B!"(B 7/4$B!"(B 9/19$B!"(B 9/23)$B!#(B $B%?%$%^!<8;$H$7$F4|BT$7$F$$$?(B HPET $B$O!"(B $B%?!<%2%C%H%^%7%s$K$OB8:_$9$k$1$I!V;H$($J$$!W>uBV$G$"$k$3$H$,J,$+$k!#(B $B%Q%U%)!<%^%s%9%b%K%?$N%5%$%/%k%+%&%s%?!<$r;H$&0F$b%+%&%s%?$NI}$,HyL/$J$N$G!"(B $B$3$3$OAGD>$K(B ITM/ITC $B%+%&%s%?$rJ,3d$7$F;H$&$3$H$K$9$k!#(B $B$H$$$o$1$G!"=i$a$F$N30It3d$j9~$_%W%m%0%i%`!#(B


2/7 ($B?e(B)

[Work] $B5W$7$V$j$N>BDE=PD%(B

$B%W%m%8%'%/%H$N9)Dx2q5D$H$$$&$NEvHV$,2v$C$F$-$?$N$G!"(B $BFs%v7n$V$j$K>BDE9)>l$X=PD%$9$k!#(B $B@5D>(B TV $B2q5D$G:Q$^$;$i$l$J$$$b$N$+$H;W$&$N$@$,!"(B $B$*CkA0$K?72#IM$+$i$N?744@~$N>h$C$F!"(B $B

$B;0Eg1X$+$i2qe$K!"(B $B9)>l$^$G$NF;$Oe2<:81&$KMI$i$l$k!#(B $B5W!9$KEG$-$=$&$K$J$C$?!#(B


2/4 ($BF|(B)

[Work] $B%P%0$,

IA-64 $B$N%W%m%0%i%`$NF|!9$OB3$-!"(B $B@.2LJ*$N%F%9%H%W%m%0%i%`$r%X%3%X%3=q$-B3$1$k!#(B

$B$7$+$76bMKF|$+$i$"$d$7!A%P%0$,=P8=!#(B

void load_operation(void* p, uint32_t value, int size)
{
    switch(size) {
        case 1:
            *(volatile uint8_t*)p = (uint8_t)value;
            break;

        case 2:
            *(volatile uint16_t*)p = (uint16_t)value;
            break;

        case 4:
            *(volatile uint32_t*)p = (uint32_t)value; /* $B"((B */
            break;

        default:
            fprintf(stderr,"%s(%u): size=%d\n", __FILE__, __LINE__, size);
            abort();
    }
}

$B$3$N%W%m%0%i%`$,!"(B

foo.c(100): size=4

$B$G!"=*$o$C$F$7$^$&$H$$$&!#(B

$B$A$g$C$H$"$j$($J$$%P%0$@!#(B
$B%3%s%Q%$%i$N=PNO$d(B Itanium2 $B$N%P%0$r5?$C$?$j$7$F$&$s$&$sS9$C$F$$$?$N$@$,!"(B $B<+J,$,%"%;%s%V%i$G=q$$$?3d$j9~$_%O%s%I%i$N%3!<%I(B$B$K%P%0$,$"$C$?!#(B IA-64 $B%3%s%Q%$%i$O$3$NDxEY$N(B switch $B$O%W%l%G%#%1!<%H$r;H$C$?%3!<%I$KJQ49$9$k$s$@$1$I!"(B $B"($N0LCV$G%U%)%k%H$,5/$-$F3d$j9~$_%O%s%I%i$KHt$s$@8e!"(B $B%W%l%G%#%1!<%H%l%8%9%?$rB`Hr$7B;$M$F$$$?$b$s$@$+$i!"(B $B=hM}$+$iLa$C$F$-$?;~$O(B case 4 $B$r2ZNo$K%9%k!<$7$F$7$^$C$?$N$M!#(B

$B$C$F$$$&$+!"$"$j$($J$$8=>]$J$s$@$+$i:G=i$+$i$=$3$r5?$($h(B > $B%*%l(B

$B$H$j$"$($:%P%0$,


$B@h7n$NF|5-(B(2007$BG/(B01$B7n(B) $B:#7n$NF|5-(B(2007$BG/(B02$B7n(B)
2002 | 10 | 11 | 12
2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2012 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2013 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2014 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2015 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2016 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2017 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2018 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2019 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2020 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2021 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2022 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2023 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2024 | 1 | 2 | 3 | 4
$B%[!<%`%Z!<%8(B | $B:G?7$N%3%a%s%H(B50
$B%$%s%G%C%/%9(B: $B?)$YJb$-(B | Java | $B%W%m%0%i%`(B | UNIX | $B2hA|(B
$B:G?7$NF|5-$X$N%j%s%/(B | $B$3$NF|5-%Z!<%8$r$O$F$J% $B$3$NF|5-%Z!<%8$r$O$F$J%V%C%/%^!<%/$KDI2C(B
$B$O$F$J(B $B%@%$%"%j!<(B $B%"%s%F%J(B $B%V%C%/%^!<%/(B $B%V%m%0(B
Twitter | mixi | Facebook | slideshare | github | Qiita


Written by NAKAMURA Minoru, Email: nminoru atmark nminoru dot jp, Twitter:@nminoru_jp