From owner-doc-jp@jp.freebsd.org  Sat Apr 11 23:12:32 1998
Received: by jaz.jp.freebsd.org (8.8.8+3.0Wbeta7/8.7.3) id XAA10587
	Sat, 11 Apr 1998 23:12:32 +0900 (JST)
Received: by jaz.jp.freebsd.org (8.8.8+3.0Wbeta7/8.7.3) with ESMTP id XAA10582
	for <doc-jp@jp.FreeBSD.ORG>; Sat, 11 Apr 1998 23:12:30 +0900 (JST)
Received: from hirose.kt.rim.or.jp (ppp127.kt.rim.or.jp [202.247.139.127]) by mail.kt.rim.or.jp (8.8.5/3.4W3-rim1.1) with ESMTP id XAA27429; Sat, 11 Apr 1998 23:12:23 +0900 (JST)
Message-Id: <199804111412.XAA27429@mail.kt.rim.or.jp>
Received: from localhost (localhost [127.0.0.1])
	by hirose.kt.rim.or.jp (8.8.7/3.6Wbeta5) with ESMTP id WAA00331
	for <doc-jp@jp.FreeBSD.ORG>; Sat, 11 Apr 1998 22:30:36 +0900 (JST)
To: doc-jp@jp.FreeBSD.ORG
X-Mailer: Mew version 1.90 on Emacs 19.28  / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Multipart/Mixed;
	boundary="--Next_Part(Sat_Apr_11_22:29:09_1998_86)--"
Content-Transfer-Encoding: 7bit
Date: Sat, 11 Apr 1998 22:30:35 +0900
From: HIROSE Shouichi <shou@kt.rim.or.jp>
X-Dispatcher: imput version 970826
Lines: 371
Reply-To: doc-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=24]
X-Sequence: doc-jp 4597
Subject: [doc-jp 4597] <Newsletter> martin
Errors-To: owner-doc-jp@jp.freebsd.org
Sender: owner-doc-jp@jp.freebsd.org

----Next_Part(Sat_Apr_11_22:29:09_1998_86)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit


$B$R$m$;$G$9!#$H$j$"$($:Lu$r$7=*$($^$7$?!#(B
($B$$$D$b$I!<$j$H$f!<$+2?$H$f!<$+(B) $BE,590ULu$7$^$/$C$?$N$G!"(B
$B5$$KF~$i$J$$ItJ,$,$"$C$?$iB8J,$KFM$C9~$_$r$$$l$F$/$@$5$$!#(B
--
$B9-@%(B  $B>;0l(B (shou@kt.rim.or.jp)

----Next_Part(Sat_Apr_11_22:29:09_1998_86)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

$BBj(B: $B$$$+$K$7$F(B FreeBSD $B$O;d$N$*5$$KF~$j$K$J$C$?$+!#(B
$BCx<T(B: Martin Cracauer <cracauer@cons.org>

$B;d$O(B BIK - Aschpurwis + Behrens$B!"%I%$%D$N;T>l!&%a%G%#%"%j%5!<(B
$B%A8&5f=j(B (www.bik-gmbh.de) $B$GF/$$$F$$$^$9!#(B BIK $B$G$OB?<oB?MM(B
$B$J(B Unix $BGI@8$N(B OS $B$r;HMQ$7$F$-$^$7$?!#(BSCO$B!"(BNeXTStep$B!"(BSunOS$B!"(B
Solaris$B!"(BNetBSD$B!"$$$/$D$+$N(B PC $B%Y!<%9$N(B SVR4$B!"$=$7$F8@$&$^$G(B
$B$b$J$/(B FreeBSD $B$G$9!#(B

$B$$$+$K$7$F(B FreeBSD $B$,?&>l$N;d$N%G%9%/$G$N$*5$$KF~$j$N(B OS $B$K$J$C(B
$B$?$N$+$H$$$&OC$O$A$g$C$HB`6~$@$7!"M}M3$NBgItJ,$O8D?ME*$J(B
$BSO9%$N0h$r1[$($k$b$N$G$O$"$j$^$;$s!#;d$O(B FreeBSD $B$,0lHVNI$$(B
$B$H;W$C$?!"(BFreeBSD $B$O;d$N?($C$?(B Unix $BGI@8$N(B OS $B$NCf$G$b$C$H$b(B
$BLdBj$r5/$3$5$J$$$b$N$@$C$?$H$$$&$@$1$NOC$G$9!#$3$l$K4X$7$F!"(B
($B;d$K$O(B) NetBSD $B$@$1$,M#0l$N%i%$%P%k$G$7$?!#(B

$B$$$+$K$7$F(B FreeBSD $B$,$o$,<R$N%^%k%A%f!<%6!&%5!<%PMQ$N%^%7%s(B
$B$N$b$C$H$bM-NO$J%W%i%C%H%[!<%`$K$J$C$?$N$+$H$$$&OC$O!"$=$l$h(B
$B$j$$$/$i$+$OB`6~$G$O$J$$$G$7$g$&!#(B

1990 $BG/0J9_!"2f!9$O5!G=DI2C$N$?$a$N%U%C%/$r$?$/$5$s;}$C$?!"(B
$B%P%C%A;X8~$NI=:n@.%W%m%0%i%`$r3+H/$7$F$-$^$7$?!#$3$l$O$+$J$j(B
$B$A$c$s$H$7$?@=IJ$K$J$j$^$7$?$,!"(BGUI $B9%$_$N%f!<%6$K$O;H$&$N$,(B
$BFq$7$$$b$N$@$C$?$N$G!"$3$l$rD>@\;HMQ$9$k30It$N8\5R$O$4$/>/?t(B
$B$K$H$I$^$C$F$$$^$7$?!#$3$N@=IJ$O>e5-$9$Y$F$N%W%i%C%H%[!<%`$G(B
$BF0$-$^$7$?!#(B

World Wide Web $B$,8=$l$?$H$-!"2f!9$OFMA3!"<+J,C#$,(B 
DOS/Windows $B$d(B Macintosh $B$G%$%s%?%i%/%F%#%V$JI=7W;;%=%U%H%&%'(B
$B%"$r3+H/$7$F$$$k6%AhAj<j$h$j$b$:$C$HNI$$0LCV$K$D$1$F$$$k$3$H(B
$B$K5$$,IU$-$^$7$?!#(BHTML $B7A<0$NF~NO$r2f!9$N%W%m%0%i%`MQ$N5-=R$K(B
$BJQ49$9$k$3$H$b!"7k2L$r(B HTML $B$G=PNO$5$;$k$3$H$b4JC1$K<B8=$G$-(B
$B$?$+$i$G$9!#(B

$BI,MW$J5!G=$O4JC1$KDI2C$9$k$3$H$,$G$-$?$N$G$9$,!"2f!9$OBg$-$J(B
$B%Q%U%)!<%^%s%9>e$NLdBj$KD>LL$9$k;v$K$J$j$^$7$?!#$=$7$F!";d$?(B
$B$A$O!"(BFreeBSD $B$r;HMQ$9$l$P!"%"%W%j%1!<%7%g%s$KBgI}$J<jD>$7$r(B
$B2C$($k$3$H$J$/!"6C$/$[$I%8%g%V$N%9%T!<%I%"%C%W$,$G$-$k$3$H$r(B
$BH/8+$7$?$N$G$9!#(B

$B$^$::G=i$K!"2f!9$N%"%W%j%1!<%7%g%s$O!"D9$$%l%]!<%HMQ$KB?NL$N(B
$BI=$r=PNO$G$-$k$h$&:GE,2=$5$l$F$$$^$7$?!#(B90 $BG/BeAa4|$K$O!"$=(B
$B$N$h$&$J=PNO$O(B 30-45 $BJ,$G=*$o$l$P>eEy$@$H;W$o$l$F$$$^$7$?!#(B
$B$7$+$7!"(BWWW $BCf?4$N(B 1996 $BG/$N@$3&$G$O!"$b$C$H$:$C$H>.$5$JI=$r=P(B
$BNO$9$kI,MW$,$"$j$^$9!#2f!9$O$=$N%j%_%C%H$r(B 7 $BIC$K@_Dj$9$k(B
$B$3$H$K$7$^$7$?$,!"$3$N?t;z$O?7$7$$%^%7%s$r;H$C$?$@$1$G$OC#@.(B
$B$G$-$^$;$s$G$7$?!#(B

$B2f!9$O;0$D$NLdBj$KD>LL$7$^$7$?!#(B

- CPU $B$,%G%#%9%/$+$i%G!<%?$,E~Ce$9$k$N$rBT$?$:$K%S%8!<$G$"$jB3(B
  $B$1$k$?$a$K$O!"B(;~I,MW$H$J$k0lIt$N%G!<%?$@$1$r9bB.$K<hF@$9$k!"(B
  $B2?$i$+$N<jCJ$r9V$8$kI,MW$,$"$j$^$7$?!#(B

- $B2f!9$N%"%W%j%1!<%7%g%s$OBg$-$J%G!<%?=89g$r07$&$N$_$J$i$:!"0l(B
  $B2s$N<B9T$K$D$-FsEY!"(B($B%"%;%s%V%i$d%j%s%+$r4^$`(B) C $B%3%s%Q%$%i(B
  $B$r5/F0$7$^$9!#(B $B%3%s%Q%$%i$N<B9T<+BN$N%3%9%H$K2C$(!"2f!9$O!"(B
  $BBgItJ,$N%7%9%F%`$G$O!"%3%s%Q%$%k:n6HCf$K%a%$%s$N%G!<%?=89g$,(B
  $B%U%!%$%k%7%9%F%`$N%P%C%U%!%-%c%C%7%e$+$iDI$$=P$5$l$k$3$H!"$7(B
  $B$?$,$C$FJL$NJ,@O$,;O$^$kEY$K!"%G!<%?$r%G%#%9%/$+$i:FFI$_9~$_(B
  $B$9$kI,MW$,$"$k$3$H$K5$$,IU$-$^$7$?!#(B

- $B2f!9$K$O!"$b$A$m$s!":GBg8B$N!":G9b5i$N%G%#%9%/$,Ds6!$9$k$h$j(B
  $B$O$k$+$K9b$$%G%#%9%/%9%k!<%W%C%H$,I,MW$G$7$?!#(B

- $B2f!9$N%"%W%j%1!<%7%g%s$OC10l$N%W%m%0%i%`$G$O$J$/!"4XO"$r;}$D(B
  $B%W%m%0%i%`72$,<B9T$NEY$K:F5/F0$5$l$k7A$r<h$C$F$$$^$9!#$3$N%3(B
  $B%9%H$O(B 30 $BJ,$NJ,@O$G$O<h$k$KB-$i$J$$$b$N$G$7$?$,!"%&%'%V%Y!<(B
  $B%9$N@=IJ$G$O!"$9$Y$F$N%W%m%;%9$,==J,$JB.EY$G5/F0$G$-$k$H$$$&(B
  $B3N>Z$,I,MW$G$7$?!#$^$?!"2f!9$O$3$N%"%W%j%1!<%7%g%s$r!"$h$jB?(B
  $B$/$N%W%m%;%9$r5/F0$9$k(B CGI $B%"%W%j%1!<%7%g%s$H$7$F<BAu$7$?$$(B
  $B$H$$$&4uK>$b;}$C$F$$$^$7$?!#(B

$B$b$A$m$s!"%"%W%j%1!<%7%g%s<+BN$KJQ99$r2C$($k$N$,!"$9$Y$F$NLd(B
$BBj$KBP$9$k:GNI$N2r7h:v$@$C$?$N$G$7$g$&!#$7$+$7!"$=$N$?$a$K$O!"(B
$BK\Mh$OB>$N>l=j$X2s$9I,MW$,$"$k!"%W%m%0%i%^$N2ACM$"$k;~4V$r3d$+(B
$B$J$/$F$O$J$j$^$;$s!#%"%W%j%1!<%7%g%s$KBP$9$k$3$N<j$N!V=$@5!W(B
$B$KDq93$,@8$8$k$N$O!"@lLgE*$J%3%s%T%e!<%F%#%s%0$N$[$H$s$I$NNN(B
$B0h$K$*$$$F!"7h$7$F0[>o$J$3$H$G$O$"$j$^$;$s!#LdBj$N%"%W%j%1!<(B
$B%7%g%s$,(B ($B$"$C$H$$$&4V$KDI2C$5$l$?(B HTML$B$N%5%]!<%H$b4^$a$F(B) 
$B!VF0$$$F!W$$$k>l9g$OFC$K$=$&$G$9!#(B

$B?.$8$h$&$,?.$8$^$$$,!"%*%Z%l!<%F%#%s%0%7%9%F%`<+?H$,!"$3$N<j(B
$B$NLdBj$NB?$/$r!"%"%W%j%1!<%7%g%s$KJQ99$r2C$($k$3$H$J$/2r7h$9(B
$B$k$3$H$,$G$-$k$N$G$9!#$=$&!"(BFreeBSD $B$O3N$+$K2f!9$N=u$1$K$J$j(B
$B$^$7$?!#(B

$B:G=i$NLdBj$O!"2f!9$,Bg$-$J%G!<%?=89g$+$i!"%i%s%@%`$K>.$5$$It(B
$BJ,$@$1$rFI$s$G$$$k$3$H$G$7$?!#2f!9$,;n$7$?B>$N(B Unix $BGI@8$N(B 
OS $B$G$O!"FCDj$N(B ($B$b$A$m$s:GE,$G$O$J$$(B) $B%"%/%;%9%Q%?!<%s$KBP(B
$B$7$F==J,$K8zN(E*$K$O%G!<%?$rE>Aw$9$k$3$H$,$G$-$^$;$s$G$7$?!#(B
$B%7%9%F%`$O%G%#%9%/BT$A$GCGB3E*$K%"%$%I%k>uBV$K$*$A$$$k$+!"%+!<(B
$B%M%kFbIt$G(B ($B<g$K%-%c%C%7%e$N4IM}$H%G!<%?$N%3%T!<$K$h$C$F(B)$BB?(B
$B$/$N;~4V$rHq$d$7$F$$$^$7$?!#$=$l$i$N%7%9%F%`$N(B mmap() $B$K$O<o!9(B
$B$NLdBj$,$"$k$3$H$b$o$+$C$?$N$G$9$,!"B?$/$N%7%9%F%`$ON><T$KEv(B
$B$F$O$^$C$?$N$G!"$=$3$^$GOC$r?J$a$kI,MW$b$"$j$^$;$s$G$7$?!#$7(B
$B$+$7!"(BFreeBSD $B$O!"I,MW$H$5$l$k%G!<%?JR$r!"(BCPU $B;~4V$N(B 90% $B$r(B
$B%"%W%j%1!<%7%g%s$GHq$d$9$KB-$k!"==J,$JB.EY$GE>Aw$7$F$N$1$?$N(B
$B$G$9!#$3$l$O!"2f!9$r%"%W%j%1!<%7%g%s$N=EMW$JItJ,$r=q$-D>$9$3(B
$B$H$+$i5_$&$K$O==J,$G$7$?!#(B

$B<!$NLdBj$O!"2f!9$N%"%W%j%1!<%7%g%s$,!"%a%$%s$N%G!<%?=89g$K%"(B
$B%/%;%9$9$kA0$H8e$K(B C $B%3%s%Q%$%i$r8F$s$G$$$k$3$H$G$7$?!#2f!9(B
$B$,;n$7$?B>$N$9$Y$F$N%7%9%F%`$G$O!"%3%s%Q%$%i$N<B9T$O%G!<%?=8(B
$B9g$r%G%#%9%/%-%c%C%7%e$+$i>C$75n$k860x$K$J$C$F$$$^$7$?!#F1$8(B
$B%G!<%?$r;H$&8eB3$N%"%W%j%1!<%7%g%s$O!"%G!<%?$r:F$S%G%#%9%/$+(B
$B$i<hF@$9$kI,MW$,$"$j!"7k2L$H$7$F%Q%U%)!<%^%s%9$KBg$-$JBG7b$r(B
$BM?$($F$$$^$7$?!#$=$l$i$N%7%9%F%`$G$O!">.$5$$%U%!%$%k$,%"%/%;(B
$B%9Cf$G$"$k>l9g!"$=$l$h$jBg$-$J%U%!%$%k$r%-%c%C%7%e$7$F$*$/$3(B
$B$H$,$G$-$J$$$h$&$G!"%a%b%j$NDI2C$G$5$(==J,$J=u$1$K$J$i$J$$$h(B
$B$&$K8+$($^$7$?!#$^$?!"JL$N%-%c%C%7%e@oN,$r<h$i$;$kJ}K!$b$"$j(B
$B$^$;$s$G$7$?!#2f!9$O:G=i!"$=$N%7%9%F%`$r;H$&$K$O!"%G!<%?=89g(B
$B$r%a%b%j$K<}MF$7!"$=$N%G!<%?$r6&M-%a%b%j$r;H$C$FI=:n@.%W%m%0(B
$B%i%`$KDs6!$9$k$?$a$NFCJL$J%W%m%0%i%`$r3+H/$9$kI,MW$,$"$k$N$G(B
$B$O$J$$$+$H9M$($^$7$?!#$7$+$7!"%^%7%s>e$K$O$R$H$D0J>e$N%G!<%?(B
$B=89g$,B8:_$7$F$$$k$N$G!"$R$H$D$N%G!<%?=89g$,%a%b%j$r$9$Y$F@j(B
$BM-$9$k$o$1$K$O$$$-$^$;$s!#$=$l$G!"2f!9$K$O!"%*%Z%l!<%F%#%s%0(B
$B%7%9%F%`$N%P%C%U%!%-%c%C%7%e$N5!9=$r!"0[$J$C$?M%@h=g0L$G%8%g%V(B
$B$r=hM}$9$k$h$&$K=q$-D>$9$7$+J}K!$,$J$$$h$&$G$7$?!#$^$C$?$/!"(B
$B$b$&(B!

$B$"$j$,$?$$$3$H$K!"(BFreeBSD $B$r;H$&$3$H$G!"$9$Y$F$NLdBj$K5DO@$N(B
$BM>CO$,@8$^$l$^$7$?!#(B256MB $B%a%b%j$r:\$;$?(B FreeBSD $B%^%7%s$G$O!"(B
212 MB $B$N%G!<%?=89g$KBP$7$FJ#?t$NJ,@O$r<B9T$9$k$3$H$,2DG=$G!"(B
$B$7$+$b3FJ,@O4V$N%3%s%Q%$%k:n6H8e$G$b!"%U%!%$%k$O0MA3$H$7$F%-%c%C(B
$B%7%e$NCf$KB8:_$7$^$7$?!#$*$=$i$/$3$N?6$kIq$$$O!"@x:_E*$KB>$N(B
$B%"%W%j%1!<%7%g%s$N%Q%U%)!<%^%s%9$r=}$D$1F@$k$b$N$G$O$"$j$^$9!#(B
$B$7$+$7!"2f!9$O$=$N;vNc$rH/8+$9$k$3$H$O$G$-$^$;$s$G$7$?!#$3$l(B
$B$@$1$r$H$C$F$b!"(BFreeBSD $B$O2f!9$r2?=54V$b$N%3!<%I=q$-!"%F%9%H!"(B
$B%Q%U%)!<%^%s%9J,@O$H%A%e!<%K%s%0$N:n6H$+$i2rJ|$7$F$/$l$?$N$G(B
$B$9!#(B

$B%G%#%9%/$N%9%k!<%W%C%H$b!"$b$A$m$s!"2f!9$N:n6H$K$H$C$F=EMW$J(B
$BItJ,$G$9!#$=$7$F!"(BFreeBSD $B$N(B ccd ($B%G%#%9%/$N%9%H%i%$%T%s%0(B)
$B%I%i%$%P$O!"2f!9$K$H$C$F==J,$J2ACM$N$"$k$b$N$G$7$?!#%G%#%9%/(B
$B$H%3%s%H%m!<%i$r%9%H%i%$%W%I%\%j%e!<%`$KDI2C$7$?>l9g!"O"7k(B
$B$5$l$?%U%!%$%k%7%9%F%`$+$iF@$i$l$k%Q%U%)!<%^%s%9$O!"8D!9$N%I(B
$B%i%$%V>e$NC10l$N%U%!%$%k%7%9%F%`$+$iF@$i$l$k%9%k!<%W%C%H$NAm(B
$B7W$KHs>o$K6a$/$J$j$^$9!#K\Ev$N$H$3$m!"2f!9$O$b$C$H$:$C$HDc$$(B
$B?t;z$rA[Dj$7$F$$$^$7$?!#(BRAID $BE*$J5!G=$rDs6!$9$k$b$N$K!"!V$=(B
$B$l!"40`z$K$&$^$/Av$k$H$7$F!"C10l$N%G%#%9%/$h$jB.$$$N(B? $BCY$$$N(B?$B!W(B
$B$H?R$M$F$_$k$N$O!"%G%#%9%/$N0BDj@-$h$j%9%k!<%W%C%H$,I,MW$J?M(B
$B$K$O!"$d$C$Q$jBg;v$J$3$H$G$9$M!#(B

$B%Q%U%)!<%^%s%9>e$N6/$_$K2C$(!"(BFreeBSD $B$O:G$b4JC1$K4IM}$G$-$k(B 
Unix $B%7%9%F%`$G$"$k$3$H$b$o$+$j$^$7$?!#(B

$B2f!9$O!"$h$/%&%'%V$N%5!<%S%9MQ$KDI2C$N%^%7%s$r@_Dj$9$kI,MW$K(B
$B$;$^$i$l$k$N$G$9$,!"(BFreeBSD $B$O%G%#%9%/%\%j%e!<%`$N4IM}$,4JC1(B
$B$G!"$9$Y$F$N@_Dj$,%f!<%6$KJT=82DG=$J(B ASCII $B%U%!%$%k$rDL$7$F(B
$B9T$o$l$k$N$G!"(BFreeBSD $B$r%$%s%9%H!<%k:Q$N%^%7%s$+$i!"@_Dj%U%!(B
$B%$%k$r$9$0$K%3%T!<$9$k$3$H$,$G$-$^$9!#?7$7$$%^%7%s$K(B 
sysinstall $B$r;H$C$F%<%m$+$i(B FreeBSD $B$r%$%s%9%H!<%k$9$k$N$b!"(B
$BF1$8$h$&$K<jAa$/4JC1$K:Q$`$N$G!"%$%s%9%H!<%k$,=*$o$C$?$H$-$K(B
$B$O!"B>$NB?$/$N(B Unix $B%7%9%F%`$N%$%s%9%H!<%k:n6H$G$O$G$-$J$$$h(B
$B$&$J%+%9%?%^%$%:$^$G40N;$7$F$$$k$3$H$K$J$j$^$9(B ($B%M%C%H%o!<%/(B
$B$N@_Dj$d%5!<%I%Q!<%F%#$N%"%W%j%1!<%7%g%s$N@_Dj$^$G0l2s$N:n6H(B
$B$G:Q$`$N$G$9(B)$B!#(B

FreeBSD $B$N%3%_%e%K%F%#$b=EMW$J%;!<%k%9%]%$%s%H$G$9!#$3$l$r=q(B
$B$$$F$$$k4V$K$b!"%O%s%V%k%0$N(B BSD $B%f!<%6%0%k!<%W(B 
(www.bsdhh.org) $B$+$i!"(B 5 $B?M$,%W%m%0%i%^$H%7%9%F%`%^%M!<%8%c(B
$B$H$7$F2f!9$K;22C$7$^$7$?!#$b$7$3$l$^$G$KM%=($J%9%?%C%U$rF@$h(B
$B$&$H$7$?$3$H$,$"$k?M$J$i!"H`$i$N??2A$rA[A|$9$k$3$H$,$G$-$k$G(B
$B$7$g$&!#$=$7$F(B FreeBSD $B$N%a!<%j%s%0%j%9%H$O!"@lLgE*$J%3%s%T%e!<(B
$B%F%#%s%0$NB?J,Ln$KEO$kF@$,$?$$>pJs$N8;$G$9!#(B

$B$b$A$m$s!"(BFreeBSD $B$K$OLdBj$bB8:_$7$^$9!#$b$C$H$bBg$-$JLdBj$O(B
$B?.Mj$G$-$k(B PC $B$N%O!<%I%&%'%"$r<j$K$$$l$k$N$,Fq$7$$$3$H$G$9!#(B
1991 $BG/$K(B PC Unix $B$r;H$$;O$a$?$H$-!";d$O%7%A%e%(!<%7%g%s$,0-(B
$B$$$H;W$$$^$7$?!#%^%k%A%P%9!"?MNO$N(B I/O $B%"%I%l%94IM}!"G.LdBj!"(B
$BEy!9$G$9!#6C$/$J$+$l!";vBV$O$^$9$^$90-$/$J$j$^$7$?!#%-%c%C%7%e(B
$B$G$-$kNN0h$,(B 64 $B$7$+$J$$%^%6!<%\!<%I!"%Q%j%F%#$NL5$$%a%b%j!"(B
$B$b$C$H$R$I$$!"%Q%j%F%#$r%5%]!<%H$7$J$$%^%6!<%\!<%I!"2u$l$?(B 
PCI $B%+!<%I!"<A$N0-$$%1!<%9!"2u$l$?EE8;$d$=$N$*Cg4V!#$=$s$J$3(B
$B$s$J$G%9%?%C%U$O<j0lGU$K$J$C$F$7$^$$!"$H$F$b;E;v$K$J$j$^$;$s(B
$B$G$7$?!#(BPC $B%G%#!<%i!<$N8@$$Lu$O8@$&$^$G$b$J$$$G$7$g$&!#(B

GUI $B9%$-$N%f!<%6$rJz$($k2f!9$K$H$C$F$O!"Bg$-$J%Y%s%@$N%o!<%/(B
$B%9%F!<%7%g%s$G$O<j$KF~$k>&6H%=%U%H%&%'%"(B ($B$^$"!"(BMS-Windows 
$B$N%"%W%j%1!<%7%g%s$HHf$Y$?$i!"2A3J$K8+9g$&$@$1$N2ACM$,$"$k$N(B
$B$+$I$&$+$h$/$o$+$j$^$;$s$1$I(B) $B$,L5$$$N$b:$$j$b$N$G$9!#(B

$B2f!9<+?H$N%W%m%0%i%_%s%0G=NO$b(B FreeBSD $B$N%5%V%7%9%F%`$N$9$P(B
$B$i$7$$%3!<%I$rFI$`$3$H$G8~>e$7$^$7$?!#$3$3$K$OB>$N(B OS $B$r%$%s(B
$B%9%H!<%k$7$?%^%7%s$b@8$-;D$C$F$O$$$^$9$,!"2f!9$O(B FreeBSD $B$K(B
$BHs>o$KK~B-$7$F$$$^$9!#(BFreeBSD $B$N;HMQ7P83$H%=!<%9$K4X$9$kCN<1(B
$B$,;~$H$H$b$KA}$9$K$D$l!"$3$3$G$N(B FreeBSD $B$N%]%8%7%g%s$O6/$/(B
$B$J$k0lJ}$G$9!#$"$J$?$b(B FreeBSD $B$K6=L#$r;}$C$F!"$^$:>.$5$J%S(B
$B%8%M%9$d%j%5!<%A$N%W%m%8%'%/%H$G(B FreeBSD $B$r;H$C$F$/$l$k$3$H(B
$B$r4j$C$F$$$^$9(B!

----Next_Part(Sat_Apr_11_22:29:09_1998_86)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Title: How FreeBSD became the favorite OS on my desktop.
Author: Martin Cracauer <cracauer@cons.org>

I'm working for BIK - Aschpurwis + Behrens, a German Market- and
Mediaresearch institute (www.bik-gmbh.de). BIK used quite a lot of
different Unix derivate, SCO, NeXTStep, SunOS, Solaris, NetBSD,
several PC-based SVR4 and, of course, FreeBSD.

The story how FreeBSD became the favorite OS on my desktop at work is
somewhat boring and largely a matter of personal preference. FreeBSD
just felt best for me and I had the fewest problems from all the Unix
derivates I tried. The only rival to this (for me) has been NetBSD.

Somewhat less boring is how FreeBSD became the dominant computing
platform for the company's multiuser and server machines.

Since 1990, we developed a batch-oriented tabulation generator with a
lot of hooks for adding functionality. It became a pretty decent
product, though it remained hard to use for GUI-oriented users so only
a few outside customers used it directly. It ran on all the plaforms
listed above.

When the World Wide Web took off, we suddenly found ourself in a much
better position than those competitors who developed interactive
tabulation software on DOS/Windows or Macintosh. We could easily turn
HTML forms input into definitions for our program and display the
results in HTML.

While the needed functionality was easily added, we faced major
performance problems. What we found was that FreeBSD did an amazing
job speeding up our application without major rewrites.

First of all, our application was optimized to produce large
quantities of tables for lengthy printed reports. In the early 90's,
30-45 minutes for such a run was considered a very good time. For the
WWW-based world of 1996, we had much smaller tabulations to produce
and we set our limit to 7 seconds. That figure couldn't be reached
just by using modern machines.

We faced three problems:

- Some way had to be found to speed up getting just the portion of
  data that was immediately needed so that the CPU could be kept busy
  instead of waiting for the data to arrive from disk.

- Our application not only uses large data sets but calls the C
  compiler (including assembler and linker) two times on every
  invocation.  Besides the cost of the compiler runs itself, we also
  recognized that most systems would kick the main data set out of the
  filesystem buffer cache during these compilations and so it would need
  to be reread from disk again when another analysis was started.

- We needed maximum disk thoughput, of course, and much more than the
  best disks offered.

- Our application isn't just one program, but a collection of a number
  of connected programs that get restarted on every invocation. The
  cost were negligible on a 30-minute analysis, but for the web-based
  product we had to make sure we could start all these processes fast
  enough. We also wanted to implement this as a CGI application, adding
  even more process starts.

Of course, all of these are problems which could probably have been
best solved by changing our application, but doing so would also have
required valuable programmer hours which we really needed to apply
elsewhere.  Such resistance to "fixing" a application is also hardly
an atypical situation in almost any area of professional computing,
especially when the application in question *works* (including HTML
support, which was added in no time).

Believe it or not, the operating system alone can solve many such
problems without having to change the application, and FreeBSD
certainly came to our aid here.

The first problem was that we read only small random portions from big
data sets. All other Unix derivatives we tried could not deliver the
data efficiently enough for our specific access patterns (which were
not optimal, of course). The systems were either too often idle
waiting for the disk or spent a lot of time in the kernel (obviously
managing caches and copying data). Many did both, and I won't even
start talking about the various mmap() problems we found.  FreeBSD,
however, managed to deliver the needed pieces of data fast enough that
we achieved 90% CPU time spent in our application. This was enough to
save us from rewriting a critial part of the application.

The next problem was that our application calls the C compiler before
and after accessing the main data set. On all other systems we tried,
the result was that the compiler runs caused the data set to be
removed from the disk cache so that subsequent application runs on the
same data had to get it from the disk again, resulting in a large
performance hit. Adding memory didn't even seem to help much, these
systems just seemed not to like keeping big files cached when smaller
ones were being accessed and nothing could be done to tell them
otherwise.  Using these systems, we first thought we'd have to develop
a special program to hold the data set in memory and provide it to the
tabulation generator via shared memory. Since more than one data set
resides on a machine and one shouldn't keep all memory for itself,
we'd basically need to reimplement the job of an operating system's
buffer cache, simply with different preferences. A lot of work!

Happily, all of this became a moot point under FreeBSD. On a FreeBSD
box with 256 MB memory we can run multiple analysis on the same 212 MB
data set and the file is still in cache after the compilation runs
between each analysis. Maybe this behaviour can potentially hurt the
performance of other applications, but we didn't find any cases of
this happening.  In this alone, FreeBSD saved us weeks of
implementation, testing, performance analysis and tuning.

Disk throughput is, of course, also critical to our task and we found
that FreeBSD's ccd (disk striping) driver scales very well for us. If
we add disks and controllers to a striped volume, the resulting
performance out of the combined filesystem is pretty near the
sum-total throughput of single filesystems on individual drives.
Frankly, we expected this to be much less.  For anyone requiring disk
throughput over reliability, it is nonethless an important question to
ask of those offering other RAID solutions: Assuming that they run
properly at all, are they faster or slower than single disks?

Besides its advantages in performance, we found FreeBSD to be the Unix
system that was most easily managed.

We often have to configure machines for additional web services and,
when we do, copying an existing FreeBSD installation is done in no
time, mostly due to its simple disk volume management and the fact
that all configuration is done via user-editable ASCII
files. Installing a new machine from scratch using sysinstall is also
easy and fast, the result being already much more customized than many
other Unix system's installations leave them (network configuration,
third-party-applications, all done in one pass).

The FreeBSD community is a major selling point, too. As of this
writing, 5 people from the BSD user group Hamburg (www.bsdhh.org) have
joined us as programmers and system managers. If you've already
experienced trying to get good staff, you can imagine what the real
value is. And the FreeBSD mailing lists are an invaluable source of
information for many areas of professionaly computing.

Of course, problems with FreeBSD exist, too. The dominant problems is
getting reliable PC hardware. When I started using PC Unix in 1991, I
thought the situation was bad. Multiple busses, human-driver I/O
address management, heat problems etc. Guess what, it got
worse. Motherboards with just 64 cachable area, non-parity memory or
even worse motherboards without parity support, broken PCI cards, bad
cases, broken power supplies and friends all cause our computing staff
to keep way too many things in their heads. Not to speak of explaining
all these to PC dealers.

For our GUI users, we also miss some of the commercial software one
can get for the big vendor's workstations (although we're not sure
they are worth the prices compared to MS-Windows applications anyway).

Our own programming abilities have also improved through reading the
excellent code in some of FreeBSD's subsystems and we are very happy
with FreeBSD, only a few other machines having survived here.  As time
goes on, FreeBSD's position here also gets only stronger as our
experience using it and our familarity with the sources grows.  We
hope that you too will be motivated to try FreeBSD for your own small
business or research project!

----Next_Part(Sat_Apr_11_22:29:09_1998_86)----
