FreeBSD¶È¬O¬Ý°_¨Ó¸m´«ªÅ¶¡(swap)¥Îªº¤ñLinux¦h¦Ó¤w¡C¦b¨Æ¹ê¤W¡A ¨Ã¤£µM¡C¥Dnªº®t²§¬O¦b©ó¡AFreeBSD¿n·¥ªº±N¶¢¸mµL¥Îªº¥D°O¾ÐÅ餺®e ±À¤J¸m´«ªÅ¶¡(swap)¤¤¡A¥H¨Ï±o¥D°O¾ÐÅé¥i¥H§ó¬°¦³®Ä²vªº³Q¨Ï¥Î¡C¦Ó Linuxªºµ¦²¤¬O±N¸m´«ªÅ¶¡(swap)¥Î¨Ó§@¬°¸Ñ¨M°O¾ÐÅé°ÝÃDªº³Ì²×¤â¬q¡C ¸ûÀWÁcªº¨Ï¥Î¸m´«ªÅ¶¡(swap)¡C¬O¤@ºØ§ó¦³®Ä²vªº¨Ï¥Î¥D°O¾ÐÅ骺¤â¬q¡C
µù¡G·í¤@¤è±FreeBSD¿n·¥ªº¨Ï¥Î¸m´«ªÅ¶¡(swap)ªº¦P®É¡A§A¥²»Ýª` ·N¨ì¡AFreeBSD¨Ã¤£·|¥ô·Nªº±N©Ò¦³ªºªF¦è³£±À¤J¸m´«ªÅ¶¡(swap)¤¤¡C¦p¦¹¡A §A¤~¤£·|¦b¤@©]±J¾K°_§É«áµo²{¡A¾ãÓ¨t²Î³£³Q˶i¤F¸m´«ªÅ¶¡(swap)¤§¤¤¡C
²³æªºµª®×¬O¡A©Ò¦³¥¼¨Ï¥Î¨ìªº¶¢¸m°O¾ÐÅé³£¬O³Q®ö¶Oªº°O¾ÐÅé¡A ¥ô¦ó¥¼³Q§Aªºµ{¦¡©Ò§Q¥Î¨ìªº°O¾ÐÅé±N³Q®Ö¤ß(kernel)¥Î¨Ó·í §@ºÏºÐ§Ö¨ú(disk cache)¡C¦Ó³oºØ°O¾ÐÅé³Q top(1) ¼Ð°O¬° ¶¢¸mªº(Inact)¡A§Ö¨ú(Cache)¡A ¥H¤Î ½w½Ä°Ï(Buf)¡A¨Ãt³d¦b¦UÓ¤£¦Pªº¦ì¸mt³d ¼È¦s¸ê®Æ¡C³Q¼È¦s(cached)ªº¸ê®Æ¥Nªí¨t²Î¤£»Ýn¥h¦s¨ú¸ûºCªººÏºÐ¸Ë¸m ´N¥i¥H±o¨ì¸ê®Æ¡A¦p¦¹¡A¥i¥H´£¤É¨t²Îªº®Ä¯à¡CÁ`¦Ó¨¥¤§¡Atop(1) Åã¥Ü¥X¸û¤Öªº ¶¢¸m(Free) °O¾ÐÅé¬O¦nªº¡A¥unÅã¥Ü ¥X¨ÓªºÈ¤£¬O «D±` ªº§C¡C
n¤F¸Ñ¬°¤°»òFreebsd¨Ï¥Î ELF ®æ¦¡¡A§A¦³¥² n¥ý»{ÃѤ@¤U¤TºØ¦b¥Ø«e Unix ¨t²Î¤¤³Ì³Q¼sªxÀ³¥Î¨ìªº°õ¦æÀɮ榡¡G
Note: ¦b FreeBSD 3.x ¤§«e¡AFreeBSD ¨Ï¥Î a.out ®æ¦¡¡C
³o¬O³Ì¦¡A¦P¬O¤]¬O ¡§³Ì¨å«¬¡¨ ªºUnix¥ØªºÀÉ ®æ¦¡¡C³oºØ®æ¦¡ªºÀɮרϥΤ@ºØµu¥Bºò±KªºÀÉÀY¡A¦P®É¡A¦ñÀHµÛ¤@ ÓÅ]³N¼Æ¦r¥Î¨Ó¿ëÃѮ榡¡C(°Ñ¦Ò a.out(5) ¦³§ó¦h¸Ô²Óªº»¡ ©ú)¡C¥¦¥]§t¦³¤TÓ¸`°Ï¡G .text .data ¤Î .bss ¥[¤W¤@ӲŸ¹ªí ¤Î¦r¦êªí¡C
COFF
SVR3¥ØªºÀɮ榡¡CÀÉÀY¥]§t¤F¤@Ó¸`°Ïªí¡A©Ò¥H¥i¥H¨ã³Æ¤ñ .text .data .bss ÁÙ¦hªº¸`°Ï¡C
ELF
ELF¬° COFF ®æ¦¡ªº«áÄ~ªÌ¡A¥Dnªº¯S¼x¬° ¥i¥H¨ã¦³½Æ¼Æ¸`°Ï¬q¡A¨Ã¥i¥H¨Ï¥Î32-bits©Î¬O64-bitsªº¼ÆÈ¡C ¥Dnªº¯ÊÂI¬°¡G ELF ®æ¦¡¬O¦b¨CÓ¨t²Î¤¤¥u ·|¦³¤@ºØ ABI ªº°²³]¬°«eÃD³Q³]p¥X¨Óªº¡C¦ý¬O¡A¦b¨Æ¹ê¤W¡A³oÓ °²³]¿ùªºÂ÷ÃСC¦]¬°¡AÁa¨Ï¦b°Ó¥Îªº SYSV ¥@¬É¸Ì¡A¤]¦Ü¤Ö¦³ SVR4¡A Solaris ©M SCO ¤TºØ ABI¡C
͵ù¡GABI(Application Binary Interface)¡C¦pªG¤@©wn½Ķ¡A ´N¥s¥¦ À³¥Îµ{¦¡¤G¶i¦ì¤¶± ¦n¤F¡C ABI³Qµo ®i¥X¨Óªº¥Î·N¡A¬O¬°¤F«P¨Ï¦b¬Û¦PCPU©Òµo®i¥X¨ÓªºÀ³¥Îµ{¦¡¡A¯à°÷ ¦b¤£¦Pªº¨t²Î¤W¡A§@¨ì¤G¤¸ÀÉ(Binary Code)¬Û®e¡C¤ñ¤è»¡¡A Sun ©Ò´£¥Xªº Solaris ABI ¡A«OÃÒ°õ¦æÀɯà°÷¦b¬Û¦P CPU ªº Solaris ¨t²Î¤W°õ¦æ¡A¥t¤@Ó¨Ò¤l¬O Windows ¨t²Î¡C¦PÄÝ©ó Intel x86 ª©¥»ªº°õ¦æÀɯà°÷¦Û¥Ñªº¦bWindows 9x/me¤ÎWindows NT/2k/XP¤§¶¡°õ¦æ¡C
FreeBSD´£¨Ñ¤@Ó¤½¥Îµ{¦¡±Nµ{¦¡©Ò»ÝªºABI¸ê°T¯O¤W¡AÂǦ¹¸ÕµÛ ¥h¸Ñ¨M³oÓ°ÝÃD¡C½Ð°Ñ¦Ò brandelf(1) ¥H¨ú±o§ó¦h¸ê°T¡Ci
FreeBSD ¨Ó¦Û ¡§¶Ç²Î¡¨ ªº°}Àç¡C¦b¶Ç²Î¤W¡AFreeBSD³£ ¨Ï¥Î a.out(5) ®æ¦¡¡A³o¼Ëªº§Þ³N¦b¦n´X¥Nªº BSD ³£³QÃÒ©ú¬O¥i¾aªº¡C ÁöµM¡A¦bFreeBSD¤W¥i¥H«Ø¥ß¥H¤Î¥¿½Tªº°õ¦æì¥Í ELF ®æ¦¡ÀÉ®×(¥]§t®Ö¤ß)¡CµM¦Ó, FreeBSD¦b¤@¶}©l¤Ï¹ï±N¹w³]®æ¦¡Âà´«¬° ELF¡A ¬°¤°»ò©O¡H·íLinux¶}©lµhWªºÂà´«¦Ü ELF ®æ¦¡®É¡A ¨Ã«D¬O¬°¤Fn°kÂ÷ a.out ®æ¦¡¡C¬Û¤Ïªº¡A³o¬O¦] ¬°¤§«e Linuxªº¦@¨É¨ç¦¡®w(shared libraries)±Ä¥Î¥H¸õÅDªí®æ (jump-table)¬°°ò¦ªº§Þ³N¥h³]p¡C³o¬O¤@ºØÅýµo®iªÌ·P¨ì§xÂZ¡A¥B«D±` Ãø¥H¨Ï¥Î¡A¤£¨ã¨¬°÷¼u©Êªº¤èªk¡C¬JµM¡A¤w¸g¦s¦bªº ELF ¤u¨ã´£¨Ñ¤F¦@¨É¨ç¦¡®w(shared libraries)ªº¸Ñ ¨M¤è®×¡A¦Ó¥B¡A¨º¬Ý°_¨Ó¬OÓ ¡§«e½Ãªº¤èªk¡¨¡A¦]¦¹¡A©Ò»Ý ªºÂà´«¥N»ù´N¥i±µ¨ü¦]¦ÓÂà´«¡C
¦bFreeBSDªºª¬ªp¤¤¡A§Ú̪º¦@¨É¨ç¦¡®w(shared libraries)¾÷¨î©M SunOS ªº«¬¦¡«D±`¬Ûªñ¡A¥B©ö©ó¨Ï¥Î¡CµM¦Ó¡A ±q 3.0 ¶}©l¡AFreeBSD ¥¿¦¡±N ELF §ï¬°¹w³]®æ¦¡¡C ÁöµM¡Aa.out ®æ¦¡¨Ì¦p¥H©¹¯ëªº¦n¡A¦ý¬O¡A§ÚÌ ½sͤu¨ãªº¼¶¼gªÌ¡AGNU ªº¦¨û¡A¥L̤¤¤î¤F¹ï a.out ®æ¦¡ªº¤ä´©»PºûÅ@¡C¦b³oºØª¬ªp¤U¡A¢¨Ï §ÚÌ¥²¶·¦Û¦æºûÅ@¥t¤@¥÷ª©¥»ªº compiler ©M linker¡A¤]¨Ï±o§Ú̵Lªk ±q³Ì·sªº GNU µo®i¦¨ªG¤¤Àò±o¦n³B¡C¦¹¥~¡A¹ï ISO-C++ ªº»Ý¨D¡A¤×¨ä¬O «Øºc¤l(constructors)©M¸Ñºc¤l(destructors)¡A¤]±a°Ê¥¼¨Óª©¥»¤¤¹ï ELF ªºì¥Í¤ä´©¡C
¦b¶Â·t¦Ó»»»·ªº¹L¥h¡A¶È¦³Â²®ªºµwÅé¦s¦b¡C¦Ó¦]¬°µwÅé²®¡A·íµM¤] ¥u¯à°õ¦æ¤p¦Ó²³æªº¨t²Î¡Ca.out ®æ¦¡¬O°ò©ó¨ºÓ®É¥N©Ò»Ýn¡A¦Ó³Q³Ð³y ¥X¨Óªº(¨Ò¦p¹³PDP-11)¡C¦b³o¤§«á¡A³\¦h¤H¸ÕµÛ±N Unix ²¾´Ó¨ì¨ä¥L¥¥x ®É¡A¥L̤]«O¯d¤F a.out ®æ¦¡ªº°õ¦æÀÉ¡C¦]¬°¡A³o¹ï¦´Áªº Motorola 68k¡A VAXen ¤§Ãþªº¨t²Î¤w¸g¨¬°÷¨Ï¥Î¤F¡C
µM¦Ó¡A¤H¨Ã¤£·|º¡¨¬©ó²{ª¬¡C¤@¨ÇÁo©úªºµwÅé¤uµ{®v·Q¨ì¤F¡A¦pªG¯à Åý³nÅé¦h³B²z¤@¨Ç¨Æ¡A¨º CPU ªº¹q´¹Å鼯´N¯à¤Ö¤@ÂI¡A¨Ã¥B¶]±o§ó§Ö¡Cn ¦b³oºØ·s¦¡ªºµwÅé¤W¤u§@(²{¦bºÙ¬°RISC)¡Aa.out ³oºØ®æ¦¡´N¤£¦X¾A¤F¡C°ò©ó³o¼Ëªº²{¹ê©Ò»Ý¡A§ó¦hªº°õ¦æÀɮ榡³Qµo®i¥X ¨Ó¡A¥H´£¨Ñ¤ñ²³æ¥B¨ü¨ì³\¦h¨îªº a.out ®æ¦¡ §ó¦nªº®Ä¯à¡C¤ñ¤è¹³¬O COFF¡A ECOFF¡A¤w¤Î¤@¨Ç¸û¤£¬°¤H©Ò©Pª¾ªº®æ¦¡¯É¯É³Q³Ð³y ¥X¨Ó¡C¦ý¬O¡A³o¨Ç®æ¦¡³£¤w¹F¨ì¦U¦Ûªº·¥¡Aª½¨ì¦³¤@¤Ñ ELF ªº¥X²{¡C
¦¹¥~¡A·íµ{¦¡ªºÅé¿n¶V¨Ó¶V¤j¡A¦ÓºÏºÐªÅ¶¡©M¥D°O¾ÐÅé¬Û¹ï¨Ó»¡³£¸û ¤p®É¡A¦@¨É¨ç¦¡®w(shared libraries)ªºÆ[©À³Qµo®i¥X¨Ó¤F¡C¦b³o¦P®É¡A µêÀÀ°O¾ÐÅé¨t²Î(VM System)¤]Åܱo¶V¨Ó¶Vºë¥©¡C·í¨C¤@ºØ¶i¨B³£¦b a.out®æ¦¡¤W³Qµo®i¥X¨Ó®É¡A¥¦ªº¥i¥Î©Ê¤]¦P®ÉÅÜ ±o¶V¨Ó¶V§C¡C¥t¥~¡A¤HÌÁ٧Ʊæµ{¦¡¯à¦b°õ¦æ´Á¶¡°ÊºA¸ü¤J¡A©Î¬O±N¤w¸g °õ¦æ¹L¥B¨S¦³¥Îªºªì©l¤Æµ{¦¡½X¥á±ó¡AÂÇ¥H¸`¬Ù§ó¦hªº°O¾Ð¡Cµ{¦¡»y¨¥¦b ³oӮɴÁ¤]«K±o§óºë¥©¡A¤H̤]§Æ±æ¦b main ¤§«e¦Û°Êªº°õ¦æ§ó¦hªºªF¦è¡C ¦]¦¹¡A³\¦hÁcÂø¥B¥t¤H¹Ä¬°Æ[¤îªº§Þ¥©³Q¥Î¦b a.out ®æ¦¡¤W¥h¸Ñ¨M³o¨Ç°ÝÃD¡C¦ý¬O¡A¥Ñ©ó a.out ®æ¦¡ ¥ý¤Ñªº¨î¡An¸Ñ¨M³o¨Ç°ÝÃD¥²»Ý¥I¥X§ó¦hªº¥N»ù¤Î®É¶¡¦¨¥»¡A¨ÃÅýµ{¦¡ ªº½ÆÂø«×¤j¬°´£¤É¡C¦Ó ELF ®æ¦¡¥i¥H¤@Á|¸Ñ¨M³o¤@ ¤Á°ÝÃD¡C¦ý¬O¡An±N¾ãÓ¨t²Î±q®Ú¥»Âà´«¹L¥h¡A±N·|¦³¤£µuªº°}µh´Á¡A¦] ¦¹¡A ELF®æ¦¡±N·|¦³¤@°}¤l»P a.out ¨Ã¦s¡C
µM¦Ó¡AÀHµÛ®É¶¡ªº¹L¥h¡AFreeBSDªº build tools ºt¤Æ¦¨¥¦æªº¨âÓ ¤ä½u(¤×¨ä¬O²Õ;¹©M¸ü¤J¾¹)¡CFreeBSD³o±ø¸ô¥[¶i¤F¦@¨É¨ç¦¡®w (shared libraries)¨Ã×¥¿¤F¤@¨Ç¿ù»~¡C¦Óì¨Óµo®i³o¨Çµ{¦¡ªº GNU ¦¨û «h¬°¤F¦]À³²{ªp¡A«¼g¤F³o¨Çµ{¦¡¡A¥H§ó²³æªº¤è¦¡¹ï¸ó¥¥x½sĶ (building cross compilers)¡A¥H¤Î¦hºØ®æ¦¡ (plugging in different formats) §@¥X¤F¤ä´©¡C³\¦h¤H·Q§@¥X¥H FreeBSD ¬°¥Øªº¥¥xªº¸ó¥¥x½s;¹¡C¦ý¤£©¯ªº¬O¡AFreeBSD ªº as ©M ld ¤£¯à§@ ³o¶µ¤u§@¡C·sªº GNU ¤u¨ãµ{¦¡¥[¤J¤F¸ó¥¥x½sĶ (Cross Compiler)¡A ELF®æ¦¡¤ä´©¡A¦@¨É¨ç¦¡®w(shared libraries)¡A C++ ªºÂX¥R... µ¥µ¥¡C¦¹¥~¡A³\¦h¼t°Ó¥H ELF ®æ¦¡ µo¦æ¨ä²£«~¡A¦pªG³o¨ÇªF¦è¯à¦b FreeBSD ¤W°õ¦æªº¸Ü·íµM¬O³Ì¦nªº¡C¬JµM¡A ¯à°÷°õ¦æ ELF ®æ¦¡ªº°õ¦æÀɤF¡A¬°¤°»òÁÙ¶·n a.out ©O¡H¥¦¤w¸g¬O¤@¤Ç««««¦Ñ¨oªº°¨¤F¡A¦bºÜ¤O ºÉ©¾ªº©^Äm³o»ò¦h¦~¤§«á¡A¸Ó¬OÅý¥¦¦bªª³õªÎ¨Uªº¯ó¦a¤W¦n¦n¥ð®§ªº®ÉÔ ¤F¡C
ELF ®æ¦¡¤ñ a.out ¨ã¦³§ó¨}¦nªº®i²{¯à¤O¡A¨Ã ¥B¦b©³¼h¨t²Î¤¤¨ã¦³§ó¦hªº¥iÂX®i©Ê¡CELF ¤u¨ãµ{¦¡ §ó®e©ö³QºûÅ@¡A¥B´£¨Ñ¸ó¥¥x½sĶªº¤ä´©¡A³o¤@ÂI¹ï«Ü¦h¤H¨Ó»¡¬O«Ü«n ªº¡CELF ®æ¦¡¥i¯à¤ñ a.out ºC¤@ÂI¡A¦ý¬O¨ä®t²§«D ±`Ãø´ú¶q¥X¨Ó¡C³o¨âªÌ¶¡ÁÙ¦³³\¦h²Ó¸`¤Wªº¤£¦P¡A¤ñ¤è»¡¤À¶¹ïÀ³ªº¤è¦¡¡A µ{¦¡½Xªì©l¤Æªº¤èªk...µ¥µ¥¡C³o¨Ç¨Ã¤£¬O«Ü«n¡A¦ý¬O¡A¨âªÌ´N¬O¤£¦P¡C ¥H«á¡AGENERIC ®Ö¤ß(kernel)±N·|²¾°£¹ï a.out ®æ¦¡¡C·í¤£¦b¦³°õ¦æ¶Ç²Î a.out µ{¦¡ªº¶·n®É¡A ±N·|±q®Ö¤ß(kernel)¤¤²¾°£¡C
Symlinks ¥»¨¨Ã¨S¦³¦s¨úÅv¡A¦P®É¡A¦b¹w³]ªºª¬ªp¤U¡A chmod(1) ±N¤£·|¸òÀHµÛ symlinks ¥h§ï«K¥Ø¼ÐÀɮתº¦s¨úÅv¡C¦]¦¹¡A ¦pªG§A¦³¤@ÓÀÉ®× foo¡A¦P®É¡A¦³¤@Ó symlink bar «ü¦V³oÓÀɮסA¥H¤U³oÓ©R¥O±N¥Ã»··|¦¨¥\ ªº³Q°õ¦æ¡C
% chmod g-w bar
µM¦Ó¡A¦b foo ¤Wªº¦s¨úÅv±N¤£·|³Q§ï ÅÜ¡C
§A¥²»Ý¨Ï¥Î -H
©Î¬O±N -L
»P
-R
¿ï¶µ¤@°_¨Ï¥Î¡A°Ñ¦Ò chmod(1) ¥H¤Î symlink(7)
¥H¨ú±o§ó¦hªº¸ê°T¡C
Warning: ¨Ï¥Î¿ï¶µ
-R
·|Åý chmod(1) ¥H »¼°j(RECURSIVE) ªº¤è¦¡¤u§@¡C·í§A§â chmod(1) ¥Î¦b¥Ø¿ý©Î¬O³sµ²¨ì¥Ø¿ýªº²Å¸¹³sµ²®É§ón¤p¤ß¡C ¦pªG§An§ïÅܤ@ӲŸ¹³sµ²°Ñ¦Ò¨ìªº¥Ø¿ý¤§¦s¨úÅv chmod(1) ¡A ¥Bª`·N¤£n¥[¤W¥ô¦ó¿ï¶µ¡A¨Ã¥B¦b symlink ªºµ²§À¥[¤W±×½u (/)¡CÁ|¨Ò¨Ó»¡¡A¦pªG foo ³sµ²¨ì¥Ø¿ý bar¡A ¦Ó§An§ó§ï foo (¹ê»Ú¤W¬O bar)¡A¨º´N¨Ï¥Î¡G% chmod 555 foo/µ²§Àªº±×½u·|¨Ï±o chmod(1) §ïÅÜ foo ©Ò«ü¦Vªº¥Ø¿ý bar ªºÅv¡C
§A¥i¯à»{¬°×§ï UT_NAMESIZE «á¦b«·s½s;ãÓ ¨t²Î¬O«Ü®e©öªº¨Æ¡C¦Ó¥B¦b³o¤§«á¡A¨C¥ó¨Æ³£¥i¥H¹B§@ªº«Ü¦n¡C¤£©¯ªº¬O¡A ¦³³\¦hªºµ{¦¡©M¤u¨ã(¥]§t¨t²Î¤u¨ã)§â¼Æ¦r¼g¦º¦bµ{¦¡¸ÌÀY(¨Ã«DÁ`¬O 8 ©Î 9¡A¦³®É¥i¯à¬O¥j©Çªº 15 ©Î 20)¡C³o¤£¶È¶È¬O·|±N §Aªº¨t²Î°O¿ýÀɧËÃa¦Ó¤w(¨Ó¦Û©óÅܰʪø«×©M©T©wªø«×°O¿ýªº®t²§)¡A¦P®É ¤]·|¯}Ãa Sun ªº NIS Client ªº¹B§@¡C¦P®É¡A©M¨ä¥LªºUnix¨t²Î¤§¶¡¤] ¦³¥i¯à·|²£¥Í¥¼ª¾ªº°ÝÃD¡C
¦bFreeBSD 3.0 ¤Î¤§«áªºª©¥»¡A±b¸¹ªº³Ì¤jªø«×¼W¥[¨ì16Ó¦r¤¸¡A ¦P®É¡A¨º¨Ç±Nªø«×¼g¦ºªºµ{¦¡¤]³Q§ä¥X¨Ó¨Ã§@¤F¾A·íªº×¥¿¡C¥¿¦]¬°¼vÅT ¨t²Îªº½d³ò«Ü¼s¡A©Ò¥Hª½¨ì3.0ª©¤§«á¤~ºâ¤jP×¥¿§¹¦¨¡C
¦pªG§A¦³¦Û«H¦b¥X°ÝÃDªº®É«á¯à¦Û¦æ¸Ñ¨M¡A§A¥i¥H§Q¥Î¤U±ªº¤èªkÅý ¸û¦´Áªºª©¥»¤ä´©¸ûªøªº±b¸¹¡Cº¥ý¡A×§ï /usr/include/utmp.h ¤¤ªºUT_NAMESIZE¡C µM«á¡A§A¥²¶·§â /usr/include/sys/param.h ¤¤ªº MAXLOGNAME §ï¦¨¸ò UT_NAMESIZE ¬Û¦P¡C³Ì«á¡A¦pªG§A¬O±qì©lµ{ ¦¡«Ø¥ß¨t²Î, §O§Ñ¤F /usr/include ¨C¦¸³£·|³Q§ó·s¡C ×§ï /usr/src/.. ¤¤¾A·íªºÀɮסC
¬Oªº¡A¦Û3.0ª©°_§A¥i¥H¨Ï¥ÎBSDIªº doscmd DOS ¼ÒÀÀ¾¹¡A¦pªG§A¹ï³oÓªF¦è ¦³¿³½ì¡A©Î¬O·Q¥[¤Jµo®i¦æ¦C¡A½Ð±H¤@«Ê¹q¤l¶l¥ó¨ì FreeBSD-emulation ¶l»¼½×¾Â ¡C
¹ï©ó3.0¤§«eªº¨t²Î¡A¦b ports ¤¤¦³¤@®M³nÅé¥i¥H¼Òèö 8088¡A¨Ã´£ ¨Ñ¨¬°÷ªºBIOS¤¤Â_ªA°È¥H°õ¦æDOS¤å¦r¼Ò¦¡ªºµ{¦¡¡A³o®M³nÅé¥s°µ pcemu¡A¦P®É¡A¹B¦æ¥¦¶·n X Windows(¥ÑXFree86´£¨Ñ)¡C
°Ñ¾\FreeBSD¤å¥ó¤¤ªº ½Ķ±`¨£°Ýµª¡C
FreeBSD.org ªº¶l¥ó¨t²Î¹ï©ó¶i¨Óªº¶l¥ó±Ä¨úÄY®æªºÀˬd¡A¨Ã¥B°h¦^ ©Ò¦³³]©w¤£¥¿½T¡A©Î¬O¼ç¦bªº©U§£¶l¥ó¡C§Aªº¶l¥ó³Q°h¦^¥i¯à¬O¦]¬°¤U¦C ì¦]©Ò¤Þ°_¡G
³o«Ê¹q¤l¶l¥ó¨Ó¦Û¤wª¾ªº©U§£¶l¥ó°Ï°ì©Î¬OIP¤¤¡C
FreeBSD¶l¥ó¦øªA¾¹±N©Úµ´±µ¦¬¤wª¾ªº©U§£¶l¥ó¨Ó·½ªº¹q¤l¶l¥ó¡C ¦pªG´£¨Ñ§Aºô¸ôªA°Èªº¤½¥q©Î¬Oºô°ì¤¤¦³²£¥Í¹L©U§£¶l¥ó©Î¬O¦³©U§£ ¶l¥óÂ༽¯¸¡A½Ð§A´«¤@ÓªA°È´£¨ÑªÌ¡A©Î¬O°®¯Ü©ñ±ó¡C
¹q¤l¶l¥óªº¥»¤å¶È¦³HTML¡C
¶l¥óÀ³¸Ó¤w¯Â¤å¦r®æ¦¡µo°e¡A½Ð³]©w§Aªº¹q¤l¶l¥ó³nÅé°e¥X¯Â¤å ¦r®æ¦¡¡C
FreeBSDªº¶l¥ó³B²zµ{¦¡µLªk¥ÑIP¤Ï¬d°e¥ó¥D¾÷ªºIP¡C
³]¸m DNS ¤Ï¬d¬O±µ¨ü¤@¥x¥D¾÷¶l¥óªº¤@ӼзÇn¨D¡A½Ð¬°±zªº¶l¥ó ¥D¾÷³]¸m DNS ¤Ï¬d¡C³\¦h´£¨Ñ®a®xºô¸ôªA°È (DSL¡Acable¡Adialup µ¥) ªº¤½¥q¨Ã¤£´£¨Ñ³o¼ËªºªA°È¡C¦b³oºØ±¡ªp¤U¡A½Ð³z¹Lºô¸ôªA°È´£¨ÑªÌªº ¶l¥ó¦øªA¾¹°e¥X±zªº¹q¤l¶l¥ó¡C
¦b SMTP ¨Ï¥Î EHLO/HELO ©R¥O®É©Òµ¹¤©ªº hostname µLªk³Q¸ÑªR¨ì ¤@Ó IP ¦ì¸m¡C
¦b¶l¥ó³Q±µ¨ü¥H«e¡A¤@Ó¥R¤À¦X®æ¡A¥B¥i³Q¸ÑªRªº¥D¾÷¦WºÙ¦b SMTP ¨ó©wªº¹ï½Í¤¤¬O¥²nªº¡C¦pªG§A¨S¦³¦b DNS ¦øªA¾¹¤¤µn°O§A ªº¥D¾÷¦WºÙ¡A½Ð³z¹Lºô¸ôªA°È´£¨ÑªÌªº¶l¥ó¦øªA¾¹°e¥X±zªº¹q¤l¶l ¥ó¡C
§Aªº°T®§¤¤§¨±aµÛ¤@Ó message ID ¥H ¡§localhost¡¨ ¦r¦êµ²§ô¡C
¬Y¨Ç¶l¥ó³nÅé²£¥Í¬Y¨Ç¤£¥¿½Tªº message ID¡A³o±N¤£³Q±µ¨ü¡C §A¥²»Ý§ó§ï³]©wÅý§Aªº¶l¥ó³nÅé²£¥Í¥¿½Tªº message ID¡A¦pªG³oµL ªk¸Ñ¨M¡A¦Ò¼{»¡ªA§Aªº¶l¥ó³nÅé§@ªÌ§ó·sµ{¦¡¥H³B²z³oÓ°ÝÃD¡C
FreeBSDªº¦øªA¾¹¥»¨¤£´£¨Ñ¥ô¦ó¹ï¥~ªºªA°È¡A¨ä¥Lªº³æ¦ì¤¤¡A ¦³¤H´£¨Ñ¶}©ñªº Unix ¨t²ÎªA°È¡C¨ä¤¤¦³¨Ç¥i¯àn¦¬¨ú¨Ç³\¶O¥Î¡C
Arbornet, Inc¡A ¤]³QºÙ¬° M-Net¡A¦Û 1983 ¦~°_´N¶}©l´£¨Ñ Unix ¨t²ÎªA°È¡C¤@¶}©l¡A ¥L̨ϥΠAltos ¨Ã°õ¦æ System III¡C¥L̦b 1991 ¦~Âà´«¨t²Î¦¨¬° BSD/OS¡C¦b 2000 ¦~¤»¤ë¡A¥L̦A«×§ó´«¦¨¬° FreeBSD¡CM-Net ¯àÅý¨Ï ¥ÎªÌ³z¹L SSH ¤Î telnet ³s½u¨ì¥D¾÷¡A¨Ã´£¨Ñ§¹¾ãªº FreeBSD ³nÅé¥H ¨Ñ¨Ï¥Î¡CµM¦Ó¡AM-Net §@¬°¤@Ó«D¬Õ§Q²Õ´¹B¦æ¡A¦s¨úÅv¥u©ó¦¨û©M ÃÙ§UªÌ¡AM-Net ¤]´£¨Ñ BBS ¨t²Î©Mºô¸ô²á¤ÑªA°È¡C
Grex ´£¨Ñ¤F«D±` Ãþ¦ü M-Net ªºªA°È¡A¥]¬A¤F BBS ¨t²Î©Mºô¸ô²á¤Ñ¡CµM¦Ó¡A¾÷¾¹¬O¨Ï¥Î Sun 4M¡A¨Ã°õ¦æ SunOS¡C
¦ü¥G¡A¥L¨Ã¨S¦³¤@Ó¥¿¦¡ªº¦W¦r¡A©h¥B´NºÙ¨ä¬° ¡§BSD ¤p´cÅ]¡¨ §a¡C¦pªG§A°õ·Nn¨Ï¥Î¤@Ó¦W¦r¡C¨º´N¥s¥L ¡§¤p°Êª«(beastie)¡¨ §a¡Cµù¡G¡§beastie¡¨ ¦bŪµ¤W¸ò ¡§BSD¡¨ «Ü±µªñ¡C
§A¥i¥H¦bBSD¤p´cÅ]ªº ¥D¶ ¤W¨ú±o§ó¦hªº¸ê°T¡C
¤]³\§a¡A§Ú¤]¤£½T©w¡CBSD¤p´cÅ]¹Ï®×ªºª©Åv¬OÄݩ󰨷²º¸Ä¬®æÄõ±Ð·|ªº Marshall Kirk McKusick ©Ò¾Ö¦³¡C§A¥i¥H¸ÕµÛ¥h¬d¬Ýºô¶Ãö©óBSD¤p´cÅ]¨v¹³ ¥H¨ú±o§ó¸Ô²Óªº¨Ï¥Î²Ó¸`¡C
Á`¦Ó¨¥¤§¡A¦pªG§A¯Âºé¬°¤F¦Û¤v·QnŲ½à¡A¨º»ò¡A§A¥i¥H¦Û¥Ñªº¨Ï¥Î¨v¹³¡C¦pªG§A¬OÓ¤H¨Ï¥Î¡A¥un±¡ªp¾A·í¡AÀ³¸Ó³£·|³Q³\¥i¡C ¦pªG§A·Q¦b°Ó·~¤W¨Ï¥Î¡A«h§A¥²»ÝÁpôĬ®æÄõ±Ð·|ªº Kirk McKusick ¥H¨ú±o³\¥i¡C ¦pªG§A»Ýn§ó¶i¤@¨B¸Ô²Óªº¸ê°T¡A½Ð°Ñ¦Ò BSD¤p´cÅ]ªºº¶¡C
§A¥i¥H¦b /usr/share/examples/BSD_daemon/ §ä¨ì Xfig ¤Î eps ¨âºØ®æ¦¡ªº¹ÏÀÉ¡C
½Ð°Ñ¾\ FreeBSD ¦r·Jªí¡C
³Ìµu³Ìµuªºµª®×¬O¡G¡y¤£¥Î¦b·N¡z¡Cµy·Lªø¤@ÂIªºµª®×¬O¡G¡yÁöµM§A¦³¯à¤O¦Û¤v¥h«Ø³y¤@®y¸}½ñ¨®¨®´×¡A¦ý¬O¡A ³o¤£¥Nªí¦]¬°§A¤£³ßÅw²{¦b³oÓ¨®´×ªºÃC¦â¡A´Nn¤¤¤î¥Lªº«Ø¿v¡C¡z³oÓ¤ñ³ëªº·N«ä¬O¡A §A¤£»Ýn¥hª§½×¨C¤@Ó²Ó¶µ¯S¼x¡A¥u¦]¬°§A¦³¿ìªk¥h§@¥¦¡C ¬Y¨Ç¤Hªºµû½×¬O¡G¡yÂøµªºµ{«×¡A»PÅܤƪº½ÆÂø©Ê¬O¦¨¤Ï¤ñ¡z¡C
§óªø¥B¸û§¹¾ãªºµª®×¬O¡A¦b¸g¹Lªø®É¶¡ª§½×Ãö©ó¬O§_¸Ó±N sleep(1)
ªº¬í°Ñ¼Æ²¾°£¡APoul-Henning Kamp <phk@FreeBSD.org>
µoªí¤F¤@½gªø½× ¡§ ¦b«C»A¯ó¦a¤Wªº¸}½ñ¨®¨®´×(¥ô¦óÃC¦âªº)...¡¨¡C¥H¤U¡A¶ÈºKn¸Ó«h¤å³¹³¡¤À¤º®e¡G
¡§¤°»ò¬OÃö©ó³oÓ¸}½ñ¨®¨®´×?¡¨ ³¡¤Àªº¤H³o¼Ëªº¸ß°Ý§Ú¡C ³o¬O¤@Ó«D±`ªø»·ªº¬G¨Æ¡A§_«h´N¬O¤@Ó¥j¦Ñªº¬G¨Æ¡C¦ý¬O¨Æ¹ê¤W¡A ³oÓ¬G¨Æ«D±`ªºµu¡CC¡P¿Õ´µ¬ì¯S¡P©¬ª÷´Ë(C. Northcote Parkinson) ¦b 1960 ¦~¥Nªì´Á¼g¤F¤@¥»®Ñ¡A®Ñ¦W¬° ¡§Parkinson's Law(¤¤¤å®Ñ¦W¡G¤É©x¦³¹D¡Ð¼ÉÅS¤W¥q¤ßºA¤§©¬ª÷´Ë©w«ß)¡¨ ¡A³o¥»®Ñ¥]§t¤F«Ü¦h¨ã¦³¨ô¨£ªº°ÊºAºÞ²z¾Ç¡C [¤Þz¤@ÂI¦b³o¥»®Ñ¤Wªºµû½×] ¦b³oÓ³Q±²¤J¸}½ñ¨®¨®´×®×ªº¯S®í¨Ò¤l¡A¥Dnªºn¯À¬O®Ö¯àµo¹q³õ¡A§Ú·Q¡A³o¨¬¥H»¡©ú³o¥»®Ñªº¦~ÄÖ¡C ©¬ª÷´Ë®i¥Ü¤F¸Ó¦p¦ó¦b¸³¨Æ·|¤¤Ä¹±oÃÙ¦P¥h«Ø³y¤@®y¼Æ¦Ê¸U©Î¬Æ¦Ü¤Q»õ¬ü¤¸ªº®Ö¯àµo¹q³õ¡A ¦ý¬O¡A¦pªG§A·Qn¥h«Ø³y¤@®y¸}½ñ¨®¨®´×¡A§A±N·|³QªÈÄñ¦bµL½aµLºÉªº°Q½×¤§¤¤¡C ¥L(©¬ª÷´Ë)¨Ã¸ÑÄÀ¡A³o¬O¦]¬°¤@Ó®Ö¯àµo¹q³õ¬O³o¼Ëªº¼sÁï¡A³o¼Ëªº©ù¶Q¡A¨Ã¥B³o¼Ëªº½ÆÂø¡A ¥H¦Ü©ó¤H̵Lªk´x´¤¥¦¡A¦Ó¨Ã«D¹Á¸Õ¡A¥LÌ«æ¤Áªº§Æ±æ¦³¤H¯à°÷À°¥L̳B²z¨Ã¸Ñ¨M©Ò¦³º¾¸Hªº²Ó¶µ¡C Richard P. Feynmann µ¹¤F¤@¨Ç¦³½ì¡A¥B«D±`¤@°w¨£¦åªº½×ÂI¡A¦b¥Lªº®Ñ´£¨ì¤F Los Alamos ªº¨Ò¤l¡C ¥t¤@¤è±¡A¥ô¦ó¤H³£¯à¦Û¤v¦b¶g¥½²Õ¸Ë¤@®y¸}½ñ¨®¨®´×¥X¨Ó¡A¨Ã¥B¤´¦³¶¢²á¥i¥HÆ[½à¹qµø¤Îª±¹CÀ¸¡C ¦]¦¹¡AµL½×§A§@¤F¦h»ò§¹µ½ªº·Ç³Æ¡A¤]¤£ºÞ§A´£¥Xªº¤è®×¬O¦h»òªº§´·í¡A¬Y¨Ç¤H¤´±N§ì¦í¾÷·|¶]¥X¨Ó§i¶D§A¡A ¥L¥¿¦b§@¦P¼Ëªº¨Æ¡A¥¿¦b¥I¥X§V¤O¡A¥L´N¦b ³o¸Ì¡C ¦b¤¦³Á¡A§Ú̺ٳoÓ¥s§@¡yªê¦º¯d¥Ö¡z(setting your fingerprint)¡C³oÃö«Y¨ì§AÓ¤HªºÅº¶Æ©MÁn±æ¡A ³oÃö«Y¨ì§A¬O§_¥i¥H«üµÛ¬Y¦a«á¹ïµÛ§O¤H»¡¡G¡y³o¸Ì! ³o¬O §Ú §@ªº¡C¡z ³o¬O¬Fªv¤Hª««Ü«nªº¤@Ó¯S¼x¡C¦ý¬O¡A®É¾÷¬O¤j¦h¼Æ¤H¥Á©Ò½á»Pªº¡C·Q·Q¨º¨Ç¯d¦b¤ôªd¦a¤Wªº¸}¦L§a¡C |
||
--Poul-Henning Kamp
<phk@FreeBSD.org>
on freebsd-hackers, October 2, 1999 |
¥»¤å¤Î¨ä¥L¤å¥ó¡A¥i¥Ñ¦¹¤U¸ü¡Gftp://ftp.FreeBSD.org/pub/FreeBSD/doc/¡C
Y¦³ FreeBSD ¤è±ºÃ°Ý¡A½Ð¥ý¾\Ū FreeBSD ¬ÛÃö¤å¥ó¡A¦p¤£¯à¸Ñ¨Mªº¸Ü¡A¦A¬¢¸ß
<questions@FreeBSD.org>¡C
Ãö©ó¥»¤å¥óªº°ÝÃD¡A½Ð¬¢¸ß <doc@FreeBSD.org>¡C