Magic number

¡iĶ¦W¡j¯«©_¼Æ¦r¡BÅ]³N¼Æ¦r¡BÅ]³N¸¹½X

¡i»¡©ú¡jÅ]³N¼Æ¦r¦WºÙÅ¥¨Ó¦ü¥G³Õ¤jºë²`¡A¨ä¹ê«o¬O­Ó«Ü¥­¹êªºªF¦è¡A¥¦©Ò°O¿ýªº¸ê®Æ¦³¨â¶µ¡A¨ä¤@¬O¥i°õ¦æÀɪº«¬ºA¡C¬Ý©xÀ³¸Ó¤F¸Ñ UNIX ªº°õ¦æÀɦ³¨âºØ¡]©Mªv·P«_ªº´µ´µ¤@¼Ë¡^¡A¤@¬O¤G¶i¦ìÀÉ¡A³o¬O¥i¥Hª½±µ°õ¦æªº¡A¥t¤@ºØ¬O©R¥OÀÉ¡]script¡^¡A¥¦­n¸g¥Ñ shell ¸ÑĶ«á¤~¯à°õ¦æªº¡CÅ]³N¼Æ¦rªº²Ä¤@¶µ¥\¯à«K¬O»¡©ú³o­Ó¥i°õ¦æªºÀɮ׬OÄݩ󨺤@Ãþ¡C¦pªG¬O©R¥OÀÉ¡A«h¥¦ªºÅ]³N¼Æ¦r¬O¥Ñ "#!" ¶}©l¡A«á­±±µµÛ¤@­Ó¦r¦ê¡A¦r¦êªº¤º®e¬O¸ÑĶ¦¹©R¥OÀɪºµ{¦¡¤§¸ô®|¦W¡C°²­Y¬O¤G¶i¦ìÀÉ¡A«hÅ]¼Æ¼Æ¦r°O¿ýªº¬O¸Óµ{¦¡¤§¥»¤å¸`°Ï¯à§_¤À¨Éµ¹¦h­Ó³B²zµ{§Ç¡C

Å]³N¼Æ¦r©Ò°O¿ýªº²Ä¤GºØ¸ê®Æ¬O¥i°õ¦æÀÉ©Ò­n°õ¦æªº¥Øªº¾÷ºØ¡]target machine¡^¬°¦ó¡H±z¤]³\·|·Q³o²ª½¬O¼o¸Ü¹À¡I¦b³o¥x¾÷¾¹¤W½sĶªºµ{¦¡¤£¦b³oùØ°õ¦æ¡AÁÙ·|¦b¨ºùØ¡H³oºØ»¡ªk´NÅã±o±z¦³¤@¨Ç...¡I¬O³o¼Ëªº¡A¦³¤@ºØ½sĶµ{¦¡¥s°µ¸ó¾÷ºØ½sĶµ{¦¡¡]cross-compilers¡^¡A¥¦¯à°÷¦b¥Ò¾÷ºØ½sĶ¥i¦b¤A¾÷ºØ°õ¦æªº¤G¶i¦ì½X¡A¦p¦¹Å]³N¼Æ¦r©Ò°O¿ýªº¸ê°T´N¦³¥Î°Õ¡C±z¥i¥H°µ¤@­Ó¹êÅç¡A§â¦b XENIX ¤W²£¥Íªº¤G¶i¦ìÀÉ¡A®³¨ì USL ªº SVR4.2 ¨Ó°õ¦æ¡A³o®É¨t²Î·|§i¶D±z¥¦¤£¯à°õ¦æ XENIX ªº¤G¶i¦ìÀÉ¡A°£«D±z¦w¸Ë¤F XENIX ¬Û®e®M¥ó¡]XENIX compatibility packages¡^¡CSVR4.2 ´N¬O¾aÀˬdÅ]³N¼Æ¦r¨Ó»{©w³o­Ó¤G¶i¦ì½X¬O¨Ó¦Û XENIX¡C

Major device

¡iĶ¦W¡j¥D­n³]³Æ

¡i»¡©ú¡j«ü¦b¶i¦æ¿é¥X¿é¤J®É³]³ÆÀÉ©Ò¹ïÀ³ªº³]³ÆÅX°Êµ{¦¡¡]device driver¡^¡C

¡i°Ñ¦Ò¡jdevice driver¡C

Mandatory locking

¡iĶ¦W¡j±j¨îÂê

¡i»¡©ú¡jUNIX ©Ò´£¨ÑªºÂê©w¼Ò¦¡¤§¤@¡C¸T¤î«D¨ó¦P§@·~¡]non cooperative¡^ªº³B²zµ{§Ç¨ú¥Î³QÂê©wªº¸ê®Æ¡C±j¨îÂê»P¿é¥X¿é¤J¦¸¨t²Îµ²¦X¡A·í¤@­ÓÀɮשΰO¿ý¥H±j¨îªº¤è¦¡¤WÂê®É¡A©Ò¦³¹H­IÂê©w¤è¦¡ªºÅª¼g§@·~³£·|³Q®Ö¤ß¥D°ÊÀÁ¸mª½¨ìÂê©w¸Ñ°£¡C¥Ñ©ó¤WÂê»P¸ÑÂꪺ°Ê§@³£¤£¶·¸g¥Ñ³B²zµ{§Ç¥s¥Î fcntl() ©Î lockf() ªºµ{§Ç¡A©Ò¥H¤SºÙ¬°·tÂê¡]implicit locking¡^¡C

¡i°Ñ¦Ò¡jadvisory locking¡C

MASSBUS

¡iĶ¦W¡jµL

¡i»¡©ú¡j³o¬O¤@ºØ¥Ñ DEC °w¹ï°ª³t«×¡B¤j¶qÀx¦s¯à¤Oªº¶gÃä³]³Æ©Ò³]­p¥X¨Óªº¿é¥X¤J¶×¬y±Æ¡A¦P®É¤]¥i¥H³Q UNIBUS ©Ò¤ä´©À³¥Î¡C

Message

¡iĶ¦W¡j°T®§

¡i»¡©ú¡j©Ò¿×ªº¡u°T®§¡v¬O«ü¤@¨Ç¤Ö¶qªº¸ê®Æ¡]¨Ò¦p 512 ­Ó¦ì¤¸²Õ¡^¡C¥¦¯à¥Ñ³B²zµ{§Ç¡]process¡^²£¥Í¡A¦Ó«á°e¨ì¤@­ÓºÙ¬°¡u°T®§¦î¦C¡v¡]message queue¡^ªº¦a¤èÀx¦s¡C¥Ñ©ó¦¹¦î¦C¬O«Å§i¬°¥þ¨t²Î¦@¥Îªº¡A¦]¦¹¥u­n¯à²Å¦X¨ä¦s¨ú±ø¥óªÌ¡A«K¥i¥HÅý¥ô¦ó³B²zµ{§Ç¨ÓŪ¨úùØ­±ªº°T®§¡C

Meta-character

¡iĶ¦W¡j¸U¥Î¢A®í¦r¤¸

¡i»¡©ú¡j¦b UNIX ¨t²Î¤¤¦³¬Y¨Ç³q¥Îªº¦r¤¸¾Ö¦³¯S®íªº·N¸q¡A¥¦¯à¥Î¨Ó¨ú¥N©Î¬O³B²z¤@¯ëªº¦r¤¸¡A¦³®É¤]¥iºÙ¬° wild cards¡A±`¨£ªº¦³¡G

¸U¥Î¦r¤¸

¥Î ³~

*

¹ïÀ³©óÀɮפ¤¥ô¦ó¦r¦ê©Î¬OªÅ¦r¤¸¡C

?

¹ïÀ³©óÀɮפ¤¥ô¦ó³æ¤@¦r¤¸¡C

[ccc]

¹ïÀ³©ó¥ô¦ó¤¤¬A¸¹¤ºªº¦r¤¸¡C

&

±N«ü¥O¥H¹õ«áªº¤è¦¡°õ¦æ¡C

\

¸õ²æ²Å¸¹¥Î¥H¸Ñ°£¯S®í¦r¤¸ªº¯S®í·N¸q¡C

;

¤À¹j²Å¸¹¥Î¥H°Ï¤À©R¥O¦æ¤¤¦h­Ó«ü¥O¡C

>

±N«ü¥Oªº¿é¥X¬y­«¾É¤JÀɮפ¤¡C

<

±N«ü¥Oªº¿é¤J¬y«ü©w¬°¥ÑÀɮפ¤¸ü¤J¡C

>>

±N«ü¥Oªº¿é¥X¬y¥[¦b¤@­Ó¤v¦s¦b¤§Àɮתº«á­±¡C

|

«Ø¥ß¤@­ÓºÞ½u¨Ï¤@­Ó«ü¥Oªº¿é¥X¬°¥t¤@«ü¥Oªº¿é¤J¡C

$

Bourne Shell ªº´£¥Ü²Å¸¹¡A¦P®É¤]¬O shell »y¨¥ªº¦ì¸m°Ñ¼Æ¡]position parameters¡^¡C

#

µù¸Ñ

&&

AND¡C

||

OR¡C

'...'

³æ¤Þ¸¹¥i±N¤Þ¸¹¤º¤¤ªÅ®æ©Î¬O¯S®í·N¸qªº¦r¤¸ÂàÅܬ°¤@¯ëªº·N¸q¡C

"..."

Âù¤Þ¸¹¥i±N¤Þ¸¹¤º¤¤ªÅ®æ©Î¬O¯S®í·N¸qªº¦r¤¸°£¤F $ ¸¹¤Î ` ¸¹¥H¥~ÂàÅܬ°¤@¯ëªº·N¸q¡C

>&n

±N¿é¥X¼g¨ìÀÉ®×´y­zµü¡]file descriptor¡^¬° n ªºÀÉ®×

<&n

±N­ì¥»¥ÑÁä½L©Ò²£¥Íªº¿é¤J§ï¬°±qÀÉ®×´y­zµü¬O n ªºÀÉŪ¨ú¡C

>&-

Ãö³¬¼Ð·Ç¿é¥XÀÉ¡C

<&-

Ãö³¬¼Ð·Ç¿é¤JÀÉ¡C

¡i°Ñ¦Ò¡jfile descriptor¡C

Minor device

¡iĶ¦W¡j¦¸­n³]³Æ

¡i»¡©ú¡j¡u¦¸­n³]³Æ¡v´N¬O«ü¹ê»Úªº¿é¥X¿é¤J³]³Æ¥»¨­¡C

¡i°Ñ¦Ò¡jmajor device, device driver, device number¡C

MNLS (Multi-National Language Supplement)

¡iĶ¦W¡j¦h°ê»y¨¥¤ä´©µ{¦¡®w

¡i»¡©ú¡j¦h°ê»y¨¥¤ä´©µ{¦¡®w¬° AT&T ©Ò±À¥Xªº¤@²Õµ{¦¡®w¡A¥Î¨ÓÀ±¸É¥H ANSI C µo®i°ê»Ú©Ê³nÅé¤Wªº¯Ê³´¡C¥Ø«e³Ì·sªº¦h°ê»y¨¥¤ä´©µ{¦¡®w¤§ª©¥»¬° 4.2 ª©¡C¦h°ê»y¨¥¤ä´©µ{¦¡®w 4.2 ¬O»ù¦b UNIX SVR4.2 ¤§¤W¡M¥i¨Ï UNIX ¨t²Î¨ã¦³µo®i°ê»Ú¤Æ³nÅ骺¯à¤O¡A¨ä¬[ºc¦p¤U¹Ï¡G

mnls.gif (2989 bytes)

¦h°ê»y¨¥¤ä´©µ{¦¡®w´£¨Ñ¦p¤Uªº¥\¯à¡G

1. ¤ä´© EUC¡]Extended UNIX Code¡^¤º½X¥H¾AÀ³¤£¦P¦a°Ï¤£¦P»y¨¥ªº¤º½X¡C

2. ¨ã³Æ³B²z¼e¦r¤¸ªº¯à¤O¡C

3. ©w¸q¤F libw ¨ç¦¡À]¡A°w¹ï¦ì¤¸²Õ©Ò§Î¦¨ªº¦r¤¸°µ¯S®í³B²z¡C

4. ´£¨Ñ³]©w°Ï°ì©Ê±MÄÝ¥\¯àÅܼƪº¨ç¦¡¡A¦p setlocale()¡C

5. ¦h°ê»y¨¥¤ä«ùµ{¦¡®w¥i¨Ì LC_MESSAGES Àɪº³]©w¡A¥H¨t²Î©Ò¦b°Ï°ì©Ò³q¥Îªº¤è¦¡¨ÓÅã¥Ü¦X¥G·í¦a»y¨¥ºD¨Òªº°T®§¡C¨Ò¦p¡G¦bµØ¤å¦a°Ï®É¶¡¤§Åã¥Ü¬O¨Ì¦~¡B¤ë¡B¤éªº¦¸§Ç¡A»P¦è¤èªÀ·|¤£¦P¡C

6. ¥H STREAMS ¬°°ò¦­«·s¼¶¼g¤@¤Á¿é¥X¿é¤J¤¶­±¡C¨Ï¦U¶µ¶gÃä³]³Æªº¥\¯à¨ã¦³¸û¤jªº¼u©Ê¡C¦]¦¹¦b¶i¦æ°ê»Ú¤Æªº¤u§@®É¡A¥i©ö©ó¥[¤J·sªº¿é¥X¿é¤J¼Ò²Õ¡C

¡i°Ñ¦Ò¡jSTREAMS¡C

MOTIS (Message-Oriented Text Interchange System)

¡iĶ¦W¡jµL

¡i»¡©ú¡jÀ³¥Î¼hªº³q°T¨ó©w¡]protocol¡^¡C¥Î©ó¹q¤l¶l¥ó¶Ç»¼¡AÃþ¦ü©ó CCITT ªº

X400 «Øij®Ñ¡C

¡i°Ñ¦Ò¡jprotocol, CCITT, X.400¡C

multiplexor

¡iĶ¦W¡j¦h¤u¾¹

¡i»¡©ú¡j¦b UNIX ¨t²Î¤¤¡A¡u¦h¤u¾¹¡vÄÝ©ó¤@ºØ¡uµêÀÀÅX°Êµ{¦¡¡v¡]pseudo driver¡^¡A¥¦¤¹³\²³¦h¥Î¤á³B²zµ{§Çªº¸ê®Æ¬y¡]streams¡^ ³s¨ì³æ¤@ªºÅX°Êµ{¦¡¡]driver¡^¡A©Î¬O¦h­ÓÅX°Êµ{¦¡³s¨ì³æ¤@¥Î¤áªº³B²zµ{§Ç¡C

¡i°Ñ¦Ò¡jpseudo driver¡C

multi-tasking system

¡iĶ¦W¡j¦h¤u¨t²Î

¡i»¡©ú¡j©Ò¿×ªº¡u¦h¤u¨t²Î¡v¬O«ü¤@­Ó¨t²Î¤¹³\¦h­Óµ{¦¡¦P®ÉÀx¦s¦b°O¾ÐÅ餺¡AµM«á§Q¥Î§@·~¨t²Îªº¯S®íºÞ²zµ{¦¡±N CPU ªº®É¶¡¾A·íªº¤À°tµ¹¨C­Óµ{¦¡¨Ï¥Î¡C

Multithread process

¡iĶ¦W¡j¦h½u³B²z

¡i»¡©ú¡j·í¤@­Ó³B²zµ{§Ç±N¨ä³¡¥÷ªºµ{¦¡¦P®É°õ¦æ®É¡A¨C¤@³¡¥÷«KºÙ¬°¬O¤@­Ó thread¡A³B²zµ{§Ç¤¤©Ò¦³¸ê®Æ³£¥i³Q¥ô¦óªº thread ¦@¥Î¡AÁöµM¨C¤@­Ó thread ¤º³£¦³¦Û¤vªº°ïÅ|¡A¦Û¤vªºµ{¦¡­p¼Æ¾¹¡]program counter¡^©M°Ï°ìÅܼÆ(local variables)¡A¦ý¬O³B²zµ{§Ç¥»¨­¦³´£¨Ñ«OÅ@ªº¤èªk¡A©Ò¥H¥ô¦óªº thread ¥i¥H¨Ï¥Îªº thread ªº°ïÅ|¦Ó³y¦¨¤Ñ¤U¤j¶Ã¡A©Ò¥Hµ{¦¡³]­p®v¥²¶·¯S§O¤p¤ß³B²z¡C¦b UNIX ¤W¡A·Q­n³B²z¥t¥~¤@­Ó¥ô°È©¹©¹«K­l¥Í¡]fork¡^¤F¥t¤@­Ó³B²zµ{§Ç¡A¦ý¬O¹ï®Ö¤ß¦Ó¨¥¡A­l¥Í¬O¤@­Ó«Ü½ÆÂøªº¨BÆJ¡A°£¤F­n¦b³B²zµ{§Çªí (process table) ¤º¥[¤J·sªº°O¿ý¥~¡AÁÙ­n¦³·sªº¨Ï¥ÎªÌ°Ï°ì¡AÁöµM¤j¦h¼Æªº¨t²Î´£¨Ñ¤F" ­n¼g®É¤~«þ¨©(copy-on-write) " ªº¤èªk¡A¦ý®Ö¤ß¤´±o§ó§ï¦b¤À­¶ªí¡]page table¡^¤º©Ò¦³¬ÛÃöªº¤À­¶¡]page¡^°O¿ý¡]¨Ò¦p counter µ¥)¡A¦Ó¥B©¹©¹³B²zµ{§Ç­l¥Í¤F¥t¤@­Ó³B²zµ{§Ç¡A¥u¬O­n¥Î¨Ó©I¥s execv() ¨Ó°õ¦æ¬Y­Ó«ü¥O½}¤F¡A¦p¦¹¨Ï®Ö¤ß­«·s¦h°µ¤F¤@¦¸«Ø¥ß·s³B²zµ{§Çªº¤u§@¡C©M­l¥Í¤ñ¸û¤U¡Athread §¹¥þ¤£­n®Ö¤ß°µ¥H¤Wªº¤u§@¡A³q±`±Ò°Ê¤@­Ó·sªº³B²zµ{§Ç­n¤ñ²£¥Í¤@­Ó·sªº thread ­n¦h°õ¦æ¤Q­¿ªº®Ö¤ß«ü¥O¡A¦]¦¹ thread ¤S³QºÙ¬° Light Weight Process (LWP¡^¡C

multi-user system

¡iĶ¦W¡j¦h¥Î¤á¨t²Î

¡i»¡©ú¡j©Ò¿×ªº¡u¦h¥Î¤á¨t²Î¡v¬O«ü¤@­Ó¨t²Î¯à³s±µ¦h³¡²×ºÝ¾÷¡A¦Ó¥B¥\¯à¿W¥ß¡C¥i¨Ñ¤@­Ó¥H¤Wªº¥Î¤á¨Ó¦P®É¨Ï¥Î¦¹®M¨t²Î¡AÅý¨Ï¥ÎªÌ¦³³æ¿W¾Ö¦³¸Ó­pºâ¾÷ªº·Pı¡C