Sophie

Sophie

distrib > Mandriva > 9.2 > i586 > by-pkgid > a804ef007a99f7d26cf24253c2994680 > files > 2011

howto-html-ja-9.1-0.5mdk.noarch.rpm

<HTML
><HEAD
><TITLE
>$B9b$$@:EY$N%?%$%_%s%0@)8f(B</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.54"><LINK
REL="HOME"
TITLE="Linux I/O $B%]!<%H%W%m%0%i%_%s%0(B mini-HOWTO"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="$B3d$j9~$_(B (IRQ) $B$H(B DMA $B%"%/%;%9(B"
HREF="irq.html"><LINK
REL="NEXT"
TITLE="$B$=$NB>$N%W%m%0%i%_%s%08@8l$K$D$$$F(B"
HREF="other-prog.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Linux I/O $B%]!<%H%W%m%0%i%_%s%0(B mini-HOWTO</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="irq.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="other-prog.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="HIGH-RESOLUTION"
>4. $B9b$$@:EY$N%?%$%_%s%0@)8f(B</A
></H1
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN128"
>4.1. $B%G%#%l%$(B</A
></H2
><P
>$B$^$::G=i$KCG$C$F$*$-$^$9$,!"%f!<%6%W%m%0%i%`$K$*$$$F@53N$J%?%$%_%s%0J]>Z(B
$B$r$9$k$3$H$O$G$-$^$;$s!#$3$l$O!"(BLinux $B$,%^%k%A%?%9%/!&%W%j%(%s%W%F%#%V(B
$B$J%7%9%F%`$@$+$i$G$9!#$"$J$?$N%W%m%;%9$,!"Ls(B 10 $B%_%jIC$+$i?tIC(B($BHs>o$KIi2Y$N(B
$B9b$$%7%9%F%`$J$I$G(B)$B$KEO$C$F$J$s$i$+$NM}M3$G%9%1%8%e!<%j%s%0BP>]$+$i30$5$l(B
$B$k$3$H$O!"$$$D$G$b$"$jF@$^$9!#(B
$B$7$+$7!"(BI/O $B%]!<%H$r;H$&$[$H$s$I$N%"%W%j%1!<%7%g%s$G$O!"$3$l$O<B:]$K$OLdBj(B
$B$K$O$J$i$J$$$G$7$g$&!#(B
$B$3$N;~4V$r$G$-$k$@$1>.$5$/$9$k$?$a$K$O!"(Bnice ($B%^%K%e%"%k%Z!<%8(B nice(2)$B$r(B
$B;2>H$N$3$H(B) $B$r;H$C$F%W%m%;%9$NM%@h=g0L$r9b$/$7$?$j!"$^$?$O%j%"%k%?%$%`%9(B
$B%1%8%e!<%k$N%7%9%F%`(B($B2<5-$r;2>H$N$3$H(B)$B$r;H$&$H$$$&$3$H$b$G$-$^$9!#(B
($BLuCm!'(Bnice $B$rM-8z$K;H$&$3$H$G!"%W%m%;%9$N;}$A;~4V$N:F7W;;$rIQHK$K9T$$!"(B
$B$=$l$K$h$j$"$kDxEY!"M%@hE*$K%9%1%8%e!<%k$5$l$k$H$$$&8z2L$,$"$j$^$9!#(B)</P
><P
>$BDL>o$N%f!<%6%b!<%I%W%m%;%9$G07$($kHO0O$h$j$b$C$H@::Y$J%?%$%_%s%0@)8f$r(B
$B5a$a$k$N$J$i!"%f!<%6%b!<%I$G!V%j%"%k%?%$%`!W$r%5%]!<%H$9$k$?$a$NBP:v$b(B
$B$"$j$^$9!#(B
Linux 2.x $B%+!<%M%k$O%=%U%H%j%"%k%?%$%`$r%5%]!<%H$7$F$$$^$9!#(B
$B>\:Y$O(B <TT
CLASS="LITERAL"
>sched_setscheduler(2)</TT
> $B$N(B
$B%^%K%e%"%k%Z!<%8$r;2>H$7$F$/$@$5$$!#(B
$B%O!<%I%j%"%k%?%$%`$r%5%]!<%H$9$kFCJL$J%+!<%M%k$b$"$j$^$9!#(B
$B$3$l$K$D$$$F$N$b$C$H>\$7$$>pJs$O(B
<A
HREF="http://luz.cs.nmt.edu/"
TARGET="_top"
>http://luz.cs.nmt.edu/</A
>
$B$r$4Mw$/$@$5$$!#(B
($BLuCm!'>e5-0J30$K$b%O!<%I%j%"%k%?%$%`$r%5%]!<%H$9$k<BAu$,B8:_$7$^$9!#(B
$B>\:Y$O(B<A
HREF="http://www.linux.or.jp/link/kernel.html#RT"
TARGET="_top"
>http://www.linux.or.jp/link/kernel.html#RT</A
>$B$r;2>H$7$F$/$@$5$$!#(B)</P
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="AEN135"
>4.1.1. $B%9%j!<%W!'(B<TT
CLASS="FUNCTION"
>sleep()</TT
> $B$H(B <TT
CLASS="FUNCTION"
>usleep()</TT
></A
></H3
><P
>$B$5$F!"$b$C$H4JC1$J%?%$%_%s%0$K$D$$$F$*OC$7$^$7$g$&!#?tIC$N%G%#%l%$$,(B
$BM_$7$$>l9g$K$O!"$*$=$i$/(B <TT
CLASS="FUNCTION"
>sleep()</TT
> $B$,$$$$(B
$B$G$7$g$&!#(B
$B?t==%_%jIC0J>e$N%G%#%l%$(B($B:G>.$N%G%#%l%$$OLs(B 10 $B%_%jIC$N$h$&$G$9!#(B)$B$N(B
$B>l9g$K$O(B <TT
CLASS="FUNCTION"
>usleep()</TT
> $B$,$*A&$a$G$9!#(B
$B$3$l$i$N4X?t$r8F$S=P$9$H!"(BCPU $B$OB>$N%W%m%;%9$K3d$jEv$F$i$l$^$9(B($B$D$^$j(B
$B%W%m%;%9$,!VL2$k!W(B)$B$N$G!"(BCPU $B%?%$%`$,L5BL$K$J$k$3$H$O$"$j$^$;$s!#(B
$B>\:Y$K$D$$$F$O(B <TT
CLASS="LITERAL"
>sleep(3)</TT
> 
$B$H(B <TT
CLASS="LITERAL"
>usleep(3)</TT
> $B$N%^%K%e%"%k%Z!<%8$r$4Mw$/$@(B
$B$5$$!#(B</P
><P
>$BLs(B 50 $B%_%jIC$h$j$b>.$5$$%G%#%l%$$K4X$7$F$O(B($B$*$=$i$/%W%m%;%C%5$d%^%7%s$N(B
$BB.EY!"%7%9%F%`$NIi2Y$K$b0MB8$7$^$9$,(B)$B!">e$K=R$Y$?$h$&$J(B CPU $B$rJ|$7$F$7$^$&(B
$B$H$$$&%"%W%m!<%A$G$O$&$^$/$$$-$^$;$s!#DL>o!"(BLinux $B$N%9%1%8%e!<%i$,$"$J$?$N(B
$B%W%m%;%9$KBP$7$F@)8f$rLa$9A0$K(B(x86 $B%"!<%-%F%/%A%c$G$O(B)$B>/$J$/$H$b(B 10-30 $B%_(B
$B%jIC$O$+$+$k$+$i$G$9!#(B
$B$=$N$h$&$J$o$1$G!"(B<TT
CLASS="LITERAL"
>usleep(3)</TT
> $B$K>.$5$$%G%#%l%$(B
$B$r;XDj$9$k$HDL>o$O;XDj$7$?CM$r$A$g$C$H$@$11[$($k%G%#%l%$$,H/@8$7$^$9!#(B
$B$^$?:G>.$NCM$OLs(B 10 $B%_%jIC$H$$$&$3$H$K$J$j$^$9!#(B</P
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="AEN146"
>4.1.2. <TT
CLASS="FUNCTION"
>nanosleep()</TT
></A
></H3
><P
>2.0.x $B%7%j!<%:$N(B Linux $B%+!<%M%k$K$O(B <TT
CLASS="FUNCTION"
>nanosleep()</TT
> 
$B$H$$$&?7$?$J%7%9%F%`%3!<%k$,IU$12C$o$j$^$7$?!#(B($B>\:Y$O(B <TT
CLASS="LITERAL"
>nanosleep(2)</TT
> $B$N%^%K%e%"%k%Z!<%8$r;2>H$7$F$/$@$5$$!#(B)
$B$3$N%7%9%F%`%3!<%k$r;H$($P(B($B?t%^%$%/%mIC$H$$$C$?(B)$BC;$$;~4V$N%9%j!<%W$^$?$O(B
$B%G%#%l%$$,2DG=$H$J$j$^$9!#(B</P
><P
>$B%W%m%;%9$,(B (<TT
CLASS="FUNCTION"
>sched_setscheduler()</TT
>$B$r(B
$BMQ$$$F(B)$B%=%U%H%j%"%k%?%$%`%9%1%8%e!<%j%s%0$5$l$F$$$k>l9g!"(B2 $B%_%jIC0J2<$N(B
$B%G%#%l%$$KBP$7$F$O!"(B<TT
CLASS="FUNCTION"
>nanosleep()</TT
> $B$O%S%8!<%k(B
$B!<%W$r;H$$$^$9!#(B
$B$=$l0J>e$N%G%#%l%$$KBP$7$F$O(B <TT
CLASS="FUNCTION"
>usleep()</TT
> $B$HF1MM(B
$B%9%j!<%W$7$^$9!#(B
($BLuCm!'%=%U%H%j%"%k%?%$%`$G$J$1$l$P!"(B<TT
CLASS="FUNCTION"
>usleep()</TT
> 
$B$HF1DxEY$N;~4VJ,2rG=$K$J$k$h$&$G$9!#(B)</P
><P
>$B$3$N%S%8!<%k!<%W$O(B <TT
CLASS="FUNCTION"
>udelay()</TT
> ($BB?$/$N%+!<%M%k(B
$B%I%i%$%P$,;H$&%+!<%M%k$NFbIt%U%!%s%/%7%g%s(B)$B$r;H$C$F$$$F!"%k!<%W$ND9$5$O(B
BogoMips $BCM$r;H$C$F7W;;$5$l$^$9!#(B
($B$3$N<j$N%S%8!<%k!<%W$NB.$5$J$I$O(B BogoMips $BCM$,@53N$KH?1G$5$l$k$b$N$NNc$G$9!#(B)
$B$I$N$h$&$KF0:n$9$k$+$K$D$$$F>\:Y$O(B <TT
CLASS="FILENAME"
>/usr/include/asm/delay.h</TT
> $B$r;2>H$7$F$/$@$5$$!#(B</P
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="AEN160"
>4.1.3. $B%]!<%H(BI/O$B$r;H$C$?%G%#%l%$(B</A
></H3
><P
>$B%]!<%H(B I/O $B$r;H$($P?t%^%$%/%mIC$N%G%#%l%$$,$^$?0c$C$?J}K!$G:n$l$^$9!#(B
$B%]!<%H(B 0x80 $B$K2?$+%P%$%H%G!<%?$r=PNO$^$?$OF~NO$9$k$H!"%W%m%;%C%5$N<oN`$d(B
$BB.EY$K4X78$J$/!"$[$\@53N$K(B 1 $B%^%$%/%mICBT$D$3$H$,$G$-$^$9!#(B
($BF~=PNO$NJ}K!$K$D$$$F$O!"A0$NJ}$rFI$s$G2<$5$$!#(B)
$B$3$l$rI,MW$J2s?t7+$jJV$9$3$H$G?t%^%$%/%mICBT$D$3$H$b$G$-$^$9!#(B
$BI8=`E*$J%^%7%s$G$O!"$3$N%]!<%H=PNO$K$h$C$F$J$K$+JQ$JI{:nMQ$,$"$C$?$j$7(B
$B$J$$$O$:$G$9!#(B
($B%+!<%M%k%I%i%$%P$G$3$l$r;H$C$F$$$k$b$N$b$"$j$^$9$+$i!#(B)
$B$3$NJ}K!$O(B <TT
CLASS="FUNCTION"
>{in|out}[bw]_p()</TT
> $B$G$b%G%#%l%$$9$k$?$a$KDL>o$K;H$o$l$F$$$kJ}K!$G$9!#(B
(<TT
CLASS="FILENAME"
>asm/io.h</TT
> $B$r8+$F2<$5$$!#(B)</P
><P
>$B%]!<%H%"%I%l%9(B 0-0x3ff $B$NHO0O$K$"$kBgDq$N%]!<%H$X$N(B I/O $BL?Na$O<B:]$N$H$3$m(B
$B$[$\@53N$K(B 1 $B%^%$%/%mIC$+$+$j$^$9!#(B
$B$@$+$iNc$($P%Q%i%l%k%]!<%H$rD>@\07$C$F$$$k>l9g$J$i!"%G%#%l%$$r:n$k$?$a$K$O(B
$B$=$N%]!<%H$KBP$7$F(B <TT
CLASS="FUNCTION"
>inb()</TT
> $B$r$$$/$D$+DI2C$9$k$@$1(B
$B$G$$$$$o$1$G$9!#(B</P
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="AEN167"
>4.1.4. $B%"%;%s%V%iL?Na$K$h$k%G%#%l%$(B</A
></H3
><P
>$B$=$N%W%m%0%i%`$,Av$k%^%7%s$N%W%m%;%C%5$N<oN`$H%/%m%C%/B.EY$,$o$+$C$F$$$k(B
$B>l9g$K$O!"FCDj$N%"%;%s%V%iL?Na$r%O!<%I%3!<%I$9$k$3$H$G!"$b$C$HC;$$%G%#%l%$(B
$B$r<B8=$9$k$3$H$b$G$-$^$9!#(B
($B$7$+$7!"%W%m%;%9$,%9%1%8%e!<%j%s%0$+$i30$5$l!"%G%#%l%$$,D9$/$J$C$F$7$^$&(B
$B$3$H$,$"$jF@$k$3$H$rK:$l$J$$$G2<$5$$!#(B)
$B0J2<$NI=$G$O!"$=$l$>$l$NL?Na$G2?%/%m%C%/(B($BFbIt%/%m%C%/(B)$B>CHq$5$l$k$+$r<($7$F(B
$B$$$^$9!#(B
$B$3$l$K$h$C$F$I$l$/$i$$$N;~4V$r>CHq$9$k$+$rCN$k$3$H$,$G$-$^$9!#(B
$BNc$($P(B 50MHz $B$N%W%m%;%C%5(B (486DX-50 $B$H$+!"(B486DX2-50) $B$N>l9g$K$O(B 1 $B%/%m%C%/$O(B
1/50000000 $BIC(B($B!a(B 200 $B%J%NIC(B)$B$G$9!#(B</P
><P
>&#13;<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="SCREEN"
>Instruction   i386 clock cycles   i486 clock cycles
xchg %bx,%bx          3                   3
nop                   3                   1
or %ax,%ax            2                   1
mov %ax,%ax           2                   1
add %ax,0             2                   1</PRE
></TD
></TR
></TABLE
>&#13;</P
><P
>Pentium $B$N%/%m%C%/?t$O(B i486 $B$HF1$8$K$J$k$O$:$G$9!#(B
$B$?$@$7(B Pentium Pro/II $B$G$O0c$$$^$9!#(B
$B$^$?(B <TT
CLASS="FUNCTION"
>add %ax, 0</TT
> $B$OH>%/%m%C%/$7$+>CHq(B
$B$7$^$;$s!#(B
$B$3$NL?Na$O;~!9B>$NL?Na$H%Z%"$G<B9T$5$l$k$+$i$G$9!#(B
(out-of-order $B<B9T$N$?$a!"AjJ}$OL?Na<B9T%9%H%j!<%`$N$9$0$*NY$NL?Na$G$"$k(B
$BI,MW$O$J$$$N$G$9!#(B)</P
><P
>$B>e$NI=$G!"(B<TT
CLASS="LITERAL"
>nop</TT
> $B$H(B <TT
CLASS="LITERAL"
>xchg</TT
> $B$O2?$bI{:nMQ$O$J$$$O$:$G$9!#(B
$B$=$NB>$NL?Na$O%U%i%0%l%8%9%?$rJQ99$9$k2DG=@-$,$"$j$^$9!#(B
$B$G$b!"(Bgcc $B$O$=$l$r8!=P$7$F$/$l$^$9$+$i!"LdBj$K$O$J$i$J$$$O$:$G$9!#(B
<TT
CLASS="LITERAL"
>xchg %bx, %bx</TT
> $B$,%G%#%l%$MQ$N(B
$BL?Na$H$7$F$OL5Fq$JA*Br$H8@$($k$G$7$g$&!#(B</P
><P
>$B$3$l$i$r;H$&$K$O!"%W%m%0%i%`$NCf$G(B <TT
CLASS="FUNCTION"
>asm("$BL?Na(B")</TT
> $B$H$$$&=q<0$r;H$C$F!">e$NI=$NL?Na$rKd$a9~$_$^$9!#(B
$B$R$H$D$N(B <TT
CLASS="FUNCTION"
>asm()</TT
> $BJ8$GJ#?t$NL?Na$rKd$a9~$`(B
$B$K$O%;%_%3%m%s$G3FL?Na$r$D$J$2$^$9!#(B
$BNc$($P(B <TT
CLASS="FUNCTION"
>asm("nop ; nop ; nop ; nop")</TT
> 
$B$O(B <TT
CLASS="FUNCTION"
>nop</TT
> $BL?Na$r(B4$B2s<B9T$7$F!"(Bi486 $B$^$?$O(B Pentium 
$B%W%m%;%C%5$G$O(B 4 $B%/%m%C%/$N%G%#%l%$(B(i386 $B$G$O(B 12 $B%/%m%C%/(B)$B$K$J$j$^$9!#(B</P
><P
><TT
CLASS="FUNCTION"
>asm()</TT
> $BJ8$O!"(Bgcc $B$K$h$C$F!"%$%s%i%$%s%"%;(B
$B%s%V%i%3!<%I$KJQ49$5$l$k$N$G4X?t8F$S=P$7$N%*!<%P!<%X%C%I$O$"$j$^$;$s!#(B</P
><P
>Intel x86 $B%"!<%-%F%/%A%c$G$O(B 1 $B%/%m%C%/$h$jC;$$%G%#%l%$$r:n$k$3$H$O(B
$BIT2DG=$G$9!#(B</P
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="AEN186"
>4.1.5. Pentium$B$N(B<TT
CLASS="LITERAL"
>rdtsc</TT
>$B$K$D$$$F(B</A
></H3
><P
>Pentium $B%W%m%;%C%5$G$O!"%j%V!<%H$+$i8=:_$^$G$N7P2a%/%m%C%/%5%$%/%k?t(B
$B$rCN$k$3$H$,$G$-$^$9!#(B
$B0J2<$N%3!<%I$G$9(B($B$3$N%3!<%I$O(B RDTSC $B$H$$$&(B CPU $BL?Na$r<B9T$7$F$$$^$9!#(B):</P
><P
>&#13;<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>   extern __inline__ unsigned long long int rdtsc()
   {
     unsigned long long int x;
     __asm__ volatile (".byte 0x0f, 0x31" : "=A" (x));
     return x;
   }</PRE
></TD
></TR
></TABLE
>&#13;</P
><P
>$B$3$NCM$,%G%#%l%$$H$7$FI,MW$J?t$@$1JQ2=$9$k$N$r%S%8!<%k!<%WCf$G(B
$B4F;k$9$l$P$h$$$G$7$g$&!#(B</P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN193"
>4.2. $B;~4V$NB,Dj(B</A
></H2
><P
>1 $BIC$/$i$$$N@:EY$N;~4V$J$i$P!"(B<TT
CLASS="FUNCTION"
>time()</TT
> 
$B$r;H$&$N$,0lHV4JC1$G$7$g$&!#(B
$B$b$C$H@53N$J;~4V$,I,MW$J>l9g$K$O!"(B<TT
CLASS="FUNCTION"
>gettimeofday()</TT
> $B$r;H$&$HBgBN!"%^%$%/%mIC$N@:EY$,$"$j$^$9!#(B
($B$G$b!"A0$NJ}$G=R$Y$?!"%9%1%8%e!<%j%s%0$N$3$H$OK:$l$J$$$G$/$@$5$$!#(B)
Pentium $B$N>l9g$K$O!">e$N%3!<%I$r;H$&$H(B 1 $B%/%m%C%/%5%$%/%k$N@:EY$,=P$^$9!#(B</P
><P
>$B%W%m%;%9$,!"$"$k;~4V7P2a$7$?8e$K%7%0%J%k$r<u$1<h$k$h$&$K$7$?$$>l9g$K$O!"(B
<TT
CLASS="FUNCTION"
>setitimer()</TT
> $B$+(B <TT
CLASS="FUNCTION"
>alarm()</TT
> $B$r;H$$$^$9!#(B
$B$3$N4X?t$N>\:Y$K$D$$$F$O%^%K%e%"%k%Z!<%8$r$4Mw$/$@$5$$!#(B</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="irq.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="other-prog.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>$B3d$j9~$_(B (IRQ) $B$H(B DMA $B%"%/%;%9(B</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>$B$=$NB>$N%W%m%0%i%_%s%08@8l$K$D$$$F(B</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>