home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / docum / unix-prt.doc / chapend.prt < prev    next >
Encoding:
Text File  |  1991-11-06  |  54.9 KB  |  1,428 lines

  1.  
  2.  
  3.  
  4.     EÅÉêïÄåàìêà F
  5.  
  6.     EæêæÆàîì¢à ÄÅàÉÇûêêF
  7.  
  8.  
  9.  
  10.     é  »α¿½«ªÑ¡¿¿ ñáÑΓß∩ ¬αáΓ¬¿⌐ «íº«α Σπ¡¬µ¿⌐ ß¿ßΓѼδ UNIX. Å«½¡«Ñ «»¿ßá¡¿Ñ
  11. φΓ¿σ Σπ¡¬µ¿⌐ ß«ñÑনΓß∩ ó  απ¬«ó«ñßΓóÑ  »α«úαá¼¼¿ßΓá-»«½∞º«óáΓѽ∩  óÑαß¿¿  V
  12. ß¿ßΓѼδ UNIX. æóÑñÑ¡¿⌐, »α¿óÑñÑ¡¡δσ ºñÑß∞, ó»«½¡Ñ ñ«ßΓáΓ«τ¡« ñ½∩ Γ«ú«, τΓ«íδ
  13. αẫíαáΓ∞ß∩ ó »α¿¼Ñαáσ »α«úαá¼¼, »αÑñßΓáó½Ñ¡¡δσ ó ¬¡¿úÑ.
  14.     ê¼Ñ¡á Σá⌐½«ó, π»«¼¿¡áѼδÑ ó ΓѬßΓÑ, »αÑñßΓáó½∩εΓ ß«í«⌐ »«ß½Ññ«óáΓѽ∞¡«ß-
  15. Γ¿  ß¿¼ó«½«ó, ºáóÑαΦáεΘ¿Ñß∩ »πßΓδ¼ ß¿¼ó«½«¼ ¿ ß«ßΓ«∩Θ¿Ñ ¿º ¬«¼»«¡Ñ¡Γ, αáºñÑ-
  16. ½Ñ¡¡δσ ¡á¬½«¡¡«⌐ τÑαΓ«⌐. é ß½πτáÑ «Φ¿í¬¿ óßÑ Σπ¡¬µ¿¿ ó«ºóαáΘáεΓ ¬«ñ ºáóÑαΦÑ-
  17. ¡¿∩, αáó¡δ⌐ -1, á ¬«ñ ßἫ⌐ «Φ¿í¬¿ ºáßδ½áÑΓß∩ ó  »ÑαѼѡ¡πε  errno,  ¿¼ÑεΘπε
  18. Γ¿»  external.  é  ß½πτáÑ  πß»ÑΦ¡«ú« ºáóÑαΦÑ¡¿∩ ¬«ñ ó«ºóαáΓá ¿¼ÑÑΓ º¡áτÑ¡¿Ñ,
  19. αáó¡«Ñ 0. ìѬ«Γ«αδÑ ¿º «íαáΘÑ¡¿⌐ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼѠ∩ó½∩εΓß∩ Γ«τ¬«⌐ óσ«-
  20. ñá ßαáºπ ñ½∩ ¡Ñ߬«½∞¬¿σ Σπ¡¬µ¿⌐: φΓ« «º¡áτáÑΓ, τΓ« ñá¡¡δÑ Σπ¡¬µ¿¿ ¿ß»«½∞ºπεΓ
  21. «ñ¿¡ ¿ Γ«Γ ªÑ áßßѼí½Ñα¡δ⌐ ¿¡ΓÑαΣÑ⌐ß. Åα¿ó«ñ¿¼δ⌐ ß»¿ß«¬ Σπ¡¬µ¿⌐ πñ«ó½ÑΓó«α∩-
  22. ÑΓ ßΓá¡ñáαΓ¡δ¼ πß½«ó¿∩¼, »α¿¡∩Γδ¼ ó ß»αáó«τ¡δσ απ¬«ó«ñßΓóáσ »« ß¿ßΓѼѠUNIX,
  23. »α¿ φΓ«¼ ó«»α«ßδ, ßó∩ºá¡¡δÑ ß ΓѼ, ∩ó½∩ÑΓß∩ ½¿ «ñ¡« «íαáΘÑ¡¿Ñ ¬ «»Ñαᵿ«¡¡«⌐
  24. ß¿ßΓÑ¼Ñ Γ«τ¬«⌐ óσ«ñá ñ½∩ «ñ¡«⌐ ¿½¿ ¡Ñ߬«½∞¬¿σ Σπ¡¬µ¿⌐,  αáßß¼áΓα¿óáεΓß∩  «Γ-
  25. ñѽ∞¡«.
  26.  
  27.  
  28.     EaccessF
  29.       ______________________________
  30.  
  31.       access(filename,mode)
  32.       char *filename;
  33.       int mode;
  34.  
  35.     öπ¡¬µ¿∩  access »α«óÑα∩ÑΓ, ¿¼ÑÑΓ ½¿ »α«µÑßß αáºαÑΦÑ¡¿Ñ ¡á τΓÑ¡¿Ñ, ºá»¿ß∞
  36. ¿½¿ ¿ß»«½¡Ñ¡¿Ñ Σá⌐½á (»α«óÑα∩Ѽδ⌐ Γ¿» ñ«ßΓπ»á ºáó¿ß¿Γ «Γ º¡áτÑ¡¿∩  »áαá¼ÑΓαá
  37. mode).  ç¡áτÑ¡¿Ñ  mode ∩ó½∩ÑΓß∩ ¬«¼í¿¡áµ¿Ñ⌐ ñó«¿τ¡δσ ¼áß«¬ 4 (ñ½∩ τΓÑ¡¿∩), 2
  38. (ñ½∩ ºá»¿ß¿) ¿ 1 (ñ½∩ ¿ß»«½¡Ñ¡¿∩). é¼ÑßΓ« ¿ß»«½¡¿Γѽ∞¡«ú« ¬«ñá ¿ñÑ¡Γ¿Σ¿¬áµ¿¿
  39. »«½∞º«óáΓѽ∩ ó »α«óÑα¬Ñ πτáßΓóπÑΓ Σá¬Γ¿τÑ߬¿⌐ ¬«ñ.
  40.  
  41.  
  42.     EacctF
  43.       ______________________________
  44.  
  45.       acct(filename)
  46.       char *filename;
  47.  
  48.     öπ¡¬µ¿∩ acct ó¬½ετáÑΓ πτÑΓ ß¿ßΓѼ¡δσ αÑßπαß«ó,  Ñß½¿  »áαá¼ÑΓα  filename
  49. ¡Ñ»πßΓ«⌐, ¿ ó䬽ετáÑΓ - ó »α«Γ¿ó¡«¼ ß½πτáÑ.
  50.  
  51.  
  52.     EalarmF
  53.       ______________________________
  54.  
  55.       unsigned alarm(seconds)
  56.       unsigned seconds;
  57.  
  58.     öπ¡¬µ¿∩  alarm »½á¡¿απÑΓ »«ß佬π óδºδóáεΘѼπ ÑÑ »α«µÑßßπ ß¿ú¡á½á ΓαÑó«ú¿
  59. τÑαѺ π¬áºá¡¡«Ñ ¬«½¿τÑßΓó« ßѬπ¡ñ (seconds). Ä¡á  ó«ºóαáΘáÑΓ  τ¿ß½«  ßѬπ¡ñ,
  60. «ßΓáóΦÑÑß∩ ñ« »«ß佬¿ ß¿ú¡á½á «Γ ¼«¼Ñ¡Γá ó맮óá Σπ¡¬µ¿¿.
  61.  
  62.  
  63.                                     400
  64.  
  65.     EbrkF
  66.       ______________________________
  67.  
  68.       int brk(end_data_seg)
  69.       char *end_data_seg;
  70.  
  71.     öπ¡¬µ¿∩ brk πßΓá¡áó½¿óáÑΓ óÑασ¡εε úαá¡¿µπ (ßΓáαΦ¿⌐ áñαÑß) «í½áßΓ¿ ñá¡¡δσ
  72. »α«µÑßßá  ó ß««ΓóÑΓßΓó¿¿ ß« º¡áτÑ¡¿Ñ¼ »áαá¼ÑΓαá end_data_seg. àΘÑ «ñ¡á Σπ¡¬-
  73. µ¿∩, sbrk, ¿ß»«½∞ºπÑΓ Γπ ªÑ Γ«τ¬π óσ«ñá ¿ πóѽ¿τ¿óáÑΓ áñαÑß óÑασ¡Ñ⌐  úαá¡¿µδ
  74. «í½áßΓ¿ ¡á π¬áºá¡¡πε óѽ¿τ¿¡π.
  75.  
  76.  
  77.     EchdirF
  78.       ______________________________
  79.  
  80.       chdir(filename)
  81.       char *filename;
  82.  
  83.     öπ¡¬µ¿∩  chdir  ñѽáÑΓ  ΓѬπΘ¿¼  ¬áΓὫú«¼ óδºδóáεΘÑú« »α«µÑßßá ¬áΓὫú,
  84. π¬áºá¡¡δ⌐ ó »áαá¼ÑΓαÑ filename.
  85.  
  86.  
  87.     EchmodF
  88.       ______________________________
  89.  
  90.       chmod(filename,mode)
  91.       char *filename;
  92.  
  93.     öπ¡¬µ¿∩ chmod ¿º¼Ñ¡∩ÑΓ »αáóá ñ«ßΓπ»á ¬ π¬áºá¡¡«¼π Σá⌐½π  ó  ß««ΓóÑΓßΓó¿¿
  94. ß«  º¡áτÑ¡¿Ñ¼  »áαá¼ÑΓαá  mode, ∩ó½∩εΘ¿¼ß∩ ¬«¼í¿¡áµ¿Ñ⌐ ¿º ß½ÑñπεΘ¿σ ¬«ñ«ó (ó
  95. ó«ß∞¼Ñα¿τ¡«⌐ ß¿ßΓѼÑ):
  96.       04000    í¿Γ πßΓᡫ󬿠¬«ñá ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ »«½∞º«óáΓѽ∩
  97.       02000    í¿Γ πßΓᡫ󬿠úαπ»»«ó«ú« ¬«ñá ¿ñÑ¡Γ¿Σ¿¬áµ¿¿
  98.       01000    »α¿º¡á¬ sticky bit
  99.       00400    τΓÑ¡¿Ñ ó½áñѽ∞µÑ¼
  100.       00200    ºá»¿ß∞ ó½áñѽ∞µÑ¼
  101.       00100    ¿ß»«½¡Ñ¡¿Ñ ó½áñѽ∞µÑ¼
  102.       00040    τΓÑ¡¿Ñ úαπ»»«óδ¼ »«½∞º«óáΓѽѼ
  103.       00020    ºá»¿ß∞ úαπ»»«óδ¼ »«½∞º«óáΓѽѼ
  104.       00010    ¿ß»«½¡Ñ¡¿Ñ úαπ»»«óδ¼ »«½∞º«óáΓѽѼ
  105.       00004    τΓÑ¡¿Ñ »α«τ¿¼ »«½∞º«óáΓѽѼ
  106.       00002    ºá»¿ß∞ »α«τ¿¼ »«½∞º«óáΓѽѼ
  107.       00001    ¿ß»«½¡Ñ¡¿Ñ »α«τ¿¼ »«½∞º«óáΓѽѼ
  108.  
  109.  
  110.     EchownF
  111.       ______________________________
  112.  
  113.       chown(filename,owner,group)
  114.       char *filename;
  115.       int owner,group;
  116.  
  117.     öπ¡¬µ¿∩ chown ¼Ñ¡∩ÑΓ ¬«ñδ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ ó½áñѽ∞µá ¿ úαπ»»δ ñ½∩ π¬áºá¡¡«-
  118. ú« Σá⌐½á ¡á ¬«ñδ, π¬áºá¡¡δÑ ó »áαá¼ÑΓαáσ owner ¿ group.
  119.  
  120.  
  121.     EchrootF
  122.       ______________________________
  123.  
  124.  
  125.                                     401
  126.  
  127.       chroot(filename)
  128.       char *filename;
  129.  
  130.     öπ¡¬µ¿∩ chroot ¿º¼Ñ¡∩ÑΓ τáßΓ¡δ⌐ ¬«αÑ¡∞ óδºδóáεΘÑú« »α«µÑßßá ó ß««ΓóÑΓßΓ-
  131. ó¿¿ ß« º¡áτÑ¡¿Ñ¼ »áαá¼ÑΓαá filename.
  132.  
  133.  
  134.     EcloseF
  135.       ______________________________
  136.  
  137.       close(fildes)
  138.       int fildes;
  139.  
  140.     öπ¡¬µ¿∩ close ºá¬αδóáÑΓ ñÑß¬α¿»Γ«α Σá⌐½á, »«½πτÑ¡¡δ⌐ ó αѺπ½∞ΓáΓÑ óδ»«½-
  141. ¡Ñ¡¿∩ Σπ¡¬µ¿⌐ open, creat, dup, pipe ¿½¿ fcntl, ¿½¿ π¡áß½Ññ«óá¡¡δ⌐ «Γ  Σπ¡¬-
  142. µ¿¿ fork.
  143.  
  144.  
  145.     EcreatF
  146.       ______________________________
  147.  
  148.       creat(filename,mode)
  149.       char *filename;
  150.       int mode;
  151.  
  152.     öπ¡¬µ¿∩  creat ß«ºñáÑΓ ¡«óδ⌐ Σá⌐½ ß π¬áºá¡¡δ¼¿ ¿¼Ñ¡Ñ¼ ¿ »αáóἿ ñ«ßΓπ»á.
  153. Åáαá¼ÑΓα mode ¿¼ÑÑàëàªÑ ß¼δß½, τΓ« ¿ ó Σπ¡¬µ¿¿ access, »α¿  φΓ«¼  »α¿º¡á¬
  154. sticky-bit  «τ¿ΘÑ¡, á αáºα∩ñδ, πßΓá¡«ó½Ñ¡¡δÑ Σπ¡¬µ¿Ñ⌐ umask, ßíα«ΦÑ¡δ. öπ¡¬-
  155. µ¿∩ ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α Σá⌐½á ñ½∩ »«ß½ÑñπεΘÑú« ¿ß»«½∞º«óá¡¿∩ ó ñαπú¿σ Σπ¡-
  156. ¬µ¿∩σ.
  157.  
  158.  
  159.     EdupF
  160.       ______________________________
  161.  
  162.       dup(fildes)
  163.       int fildes;
  164.  
  165.     öπ¡¬µ¿∩ dup ß«ºñáÑΓ ¬«»¿ε π¬áºá¡¡«ú« ñÑß¬α¿»Γ«αá Σá⌐½á, ó«ºóαáΘá∩  ñÑ߬-
  166. α¿»Γ«α  ß ¡á¿¼Ñ¡∞Φ¿¼ ¡«¼Ñα«¼ ¿º ¿¼ÑεΘ¿σß∩ ó ß¿ßΓѼÑ. æΓáαδ⌐ ¿ ¡«óδ⌐ ñÑß¬α¿»-
  167. Γ«αδ ¿ß»«½∞ºπεΓ «ñ¿¡ ¿ Γ«Γ ªÑ π¬áºáΓѽ∞ ¡á Σá⌐½, á ΓᬪѠ¿ ñαπú¿Ñ  ß«ó»áñáε-
  168. Θ¿Ñ áΓα¿íπΓδ.
  169.  
  170.  
  171.     EexecF
  172.       ______________________________
  173.  
  174.       execve(filename,argv,envp)
  175.       char *filename;
  176.       char *argv[];
  177.       char *envp[];
  178.  
  179.     öπ¡¬µ¿∩ execve ¿ß»«½¡∩ÑΓ Σá⌐½ ß ¿¼Ñ¡Ñ¼ filename, ºáúαπªá∩ Ñú« ó áñαÑß¡«Ñ
  180. »α«ßΓαá¡ßΓó«  ΓѬπΘÑú« »α«µÑßßá. Åáαá¼ÑΓα argv ß««ΓóÑΓßΓóπÑΓ ß»¿ß¬π áαúπ¼Ñ¡-
  181. Γ«ó ß¿¼ó«½∞¡«ú« Γ¿»á, »ÑαÑñáóáѼδσ ºá»π߬áѼ«⌐ »α«úαá¼¼Ñ, »áαá¼ÑΓα envp  ß«-
  182. «ΓóÑΓßΓóπÑΓ ¼áßß¿óπ, «»¿ßδóáεΘѼπ ßαÑñπ óδ»«½¡Ñ¡¿∩ ¡«ó«ú« »α«µÑßßá.
  183.  
  184.  
  185.  
  186.  
  187.                                     402
  188.     EexitF
  189.       ______________________________
  190.  
  191.       exit(status)
  192.       int status;
  193.  
  194.     öπ¡¬µ¿∩  exit  ºáóÑαΦáÑΓ  óδºδóáεΘ¿⌐  »α«µÑßß,  ó«ºóαáΘá∩ Ñú« α«ñ¿Γѽε 8
  195. ¼½áñΦ¿σ αáºα∩ñ«ó ¿º ß½«óá ß«ßΓ«∩¡¿∩ »α«µÑßßá. ƒñα« ßἫ ¼«ªÑΓ  óδºδóáΓ∞  φΓπ
  196. Σπ¡¬µ¿ε ó «ΓóÑΓ ¡á »«ßΓπ»½Ñ¡¿Ñ «»αÑñѽѡ¡δσ ß¿ú¡á½«ó.
  197.  
  198.  
  199.     EfcntlF
  200.       ______________________________
  201.  
  202.       fcntl(fildes,cmd,arg)
  203.       int fildes,cmd,arg;
  204.  
  205.     öπ¡¬µ¿∩  fcntl  «íÑß»Ñτ¿óáÑΓ óδ»«½¡Ñ¡¿Ñ ¡áí«αá αạ««íαạδσ «»Ñαᵿ⌐ »«
  206. «Γ¡«ΦÑ¡¿ε ¬ «Γ¬αδΓδ¼ Σá⌐½á¼, ¿ñÑ¡Γ¿Σ¿µ¿απÑ¼δ¼ ß »«¼«Θ∞ε ñÑß¬α¿»Γ«αá  fildes.
  207. Åáαá¼ÑΓαδ  cmd ¿ arg ¿¡ΓÑα»αÑΓ¿απεΓß∩ ß½ÑñπεΘ¿¼ «íαẫ¼ («»αÑñѽѡ¿Ñ íπ¬óÑ¡-
  208. ¡δ󠬫¡ßΓá¡Γ σαá¡¿Γß∩ ó Σá⌐½Ñ "/usr/include/fcntl.h"):
  209.  
  210.       F_DUPFD    óÑα¡πΓ∞ ¡á¿¼Ñ¡∞ΦÑÑ º¡áτÑ¡¿Ñ ñÑß¬α¿»Γ«αá,  í«½∞ΦÑÑ
  211.                  ¿½¿  αáó¡«Ñ º¡áτÑ¡¿ε arg
  212.       F_SETFD    πßΓá¡«ó¿Γ∞ Σ½áú "close-on-exec" ó ¼½áñΦѼ αáºα∩-
  213.                  ñÑ arg (Σá⌐½ íπñÑΓ ºá¬αδΓ Σπ¡¬µ¿Ñ⌐ exec)
  214.       F_GETFD    óÑα¡πΓ∞ ß«ßΓ«∩¡¿Ñ Σ½áúá "close-on-exec"
  215.       F_SETFL    πßΓá¡«ó¿Γ∞  Σ½áú¿,  π»αáó½∩εΘ¿Ñ ß«ßΓ«∩¡¿Ñ¼ Σá⌐½á
  216.                  (O_NDELAY - ¡Ñ »α¿«ßΓá¡áó½¿óáΓ∞ß∩ ó «ª¿ñá¡¿¿ ºá-
  217.                  óÑαΦÑ¡¿∩ óó«ñá-óδó«ñá,   O_APPEND - ºá»¿ßδóáѼδÑ
  218.                  ñá¡¡δÑ ñ«íáó½∩Γ∞ ó ¬«¡Ñµ Σá⌐½á)
  219.       F_GETFL    »«½πτ¿Γ∞ º¡áτÑ¡¿∩ Σ½áú«ó, π»αáó½∩εΘ¿σ ß«ßΓ«∩¡¿Ñ¼
  220.                  Σá⌐½á
  221.  
  222.       struct flock
  223.               short l_type;   /* F_RDLCK - í½«¬¿α«ó¬á     τΓÑ¡¿∩,
  224.                                  F_WRLCK - í½«¬¿α«ó¬á     ºá»¿ß¿,
  225.                                  F_UNLCK - ß¡∩Γ¿Ñ í½«¬¿α«ó¬¿ */
  226.               short l_whence; /* áñαÑß ¡áτá½á í½«¬¿απѼ«ú« πτáßΓ-
  227.                                  ¬á ñáÑΓß∩ ó ó¿ñÑ ß¼ÑΘÑ¡¿∩  «Γ¡«-
  228.                                  ß¿Γѽ∞¡« ¡áτá½á Σá⌐½á (0), «Γ¡«-
  229.                                  ß¿Γѽ∞¡« ΓѬπΘÑ⌐ »«º¿µ¿¿  π¬áºá-
  230.                                  Γѽ∩ (1),    «Γ¡«ß¿Γѽ∞¡«  ¬«¡µá
  231.                                  Σá⌐½á (2) */
  232.               long l_start;   /* ß¼ÑΘÑ¡¿Ñ ó íá⌐Γáσ, ¿¡ΓÑα»αÑΓ¿απ-
  233.                                  Ñ¼«Ñ ó ß««ΓóÑΓßΓó¿¿ ß« º¡áτÑ¡¿Ñ¼
  234.                                  l_whence */
  235.               long l_len;     /* ñ½¿¡á  í½«¬¿απѼ«ú«  πτáßΓ¬á   ó
  236.                                  íá⌐Γáσ. àß½¿ π¬áºá¡ 0,  í½«¬¿απ-
  237.                                  ÑΓß∩ πτáßΓ«¬ «Γ l_start ñ« ¬«¡µá
  238.                                  Σá⌐½á */
  239.               long l_pid;     /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑßßá, í½«¬¿απ-
  240.                                  εΘÑú« Σá⌐½ */
  241.               long l_sysid;   /* ß¿ßΓѼ¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α  »α«µÑß-
  242.                                  ßá, í½«¬¿απεΘÑú« Σá⌐½ */
  243.  
  244.       F_GETLK    »α«τ¿ΓáΓ∞  »Ñαóδ⌐ ¬«ñ í½«¬¿α«ó¬¿,  ¼ÑΦáεΘÑ⌐  ¿ß-
  245.                  »«½∞º«óáΓ∞ º¡áτÑ¡¿Ñ arg ¿  ºáΓ¿αáΓ∞  Ñú«.   àß½¿
  246.                  í½«¬¿α«ó¬á «ΓßπΓßΓóπÑΓ, »«¼Ñ¡∩Γ∞ º¡áτÑ¡¿Ñ l_type
  247.                  ó arg ¡á F_UNLCK
  248.  
  249.                                     403
  250.  
  251.       F_SETLK    πßΓá¡«ó¿Γ∞ ¿½¿ ß¡∩Γ∞ í½«¬¿α«ó¬π Σá⌐½á ó  ºáó¿ß¿-
  252.                  ¼«ßΓ¿ «Γ º¡áτÑ¡¿∩ arg.  é  ß½πτáÑ  ¡Ñ󫺼«ª¡«ßΓ¿
  253.                  πßΓá¡«ó¿Γ∞ í½«¬¿α«ó¬π óÑα¡πΓ∞ -1
  254.       F_SETLKW   πßΓá¡«ó¿Γ∞ ¿½¿ ß¡∩Γ∞ í½«¬¿α«ó¬π  ß«ñÑαªáΘ¿σß∩  ó
  255.                  Σá⌐½Ñ ñá¡¡δσ  ó  ºáó¿ß¿¼«ßΓ¿ «Γ º¡áτÑ¡¿∩ arg.  é
  256.                  ß½πτáÑ ¡Ñ󫺼«ª¡«ßΓ¿ πßΓá¡«ó¿Γ∞ í½«¬¿α«ó¬π  »α¿-
  257.                  «ßΓá¡«ó¿Γ∞ óδ»«½¡Ñ¡¿Ñ
  258.  
  259.       ü½«¬¿α«ó¬¿,  ßó∩ºá¡¡δÑ ß τΓÑ¡¿Ñ¼ ¿º Σá⌐½á, ¼«úπΓ »ÑαѬαδóáΓ∞ ñαπú ñαπ-
  260. úá. ü½«¬¿α«ó¬¿, ßó∩ºá¡¡δÑ ß ºá»¿ß∞ε, »ÑαѬαδóáΓ∞ß∩ ¡Ñ ¼«úπΓ.
  261.  
  262.  
  263.     EforkF
  264.       ______________________________
  265.  
  266.       fork()
  267.  
  268.     öπ¡¬µ¿∩ fork ß«ºñáÑΓ ¡«óδ⌐ »α«µÑßß. Å«α«ªñáѼδ⌐ »α«µÑßß »αÑñßΓáó½∩ÑΓ ß«-
  269. í«⌐ ½«ú¿τÑ߬πε ¬«»¿ε »α«µÑßßá-α«ñ¿Γѽ∩. ìá óδσ«ñÑ ¿º Σπ¡¬µ¿¿  »α«µÑßßπ-α«ñ¿-
  270. Γѽε ó«ºóαáΘáÑΓß∩ ¬«ñ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ »«Γ«¼¬á, »«Γ«¼¬π - ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ.
  271.  
  272.  
  273.     EgetpidF
  274.       ______________________________
  275.  
  276.       getpid()
  277.  
  278.     öπ¡¬µ¿∩  getpid  ó«ºóαáΘáÑΓ  ¿ñÑ¡Γ¿Σ¿¬áΓ«α  óδºδóáεΘÑú« »α«µÑßßá. ¥Γπ ªÑ
  279. Γ«τ¬π óσ«ñá ¿ß»«½∞ºπεΓ Σπ¡¬µ¿¿: getpgrp, ó«ºóαáΘáεΘá∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α  úαπ»»δ,
  280. ó  ¬«Γ«απε  óσ«ñ¿Γ óδºδóáεΘ¿⌐ »α«µÑßß, ¿ getppid, ó«ºóαáΘáεΘá∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α
  281. »α«µÑßßá, ¬«Γ«αδ⌐ ∩ó½∩ÑΓß∩ α«ñ¿ΓѽѼ ΓѬπΘÑú« »α«µÑßßá.
  282.  
  283.  
  284.     EgetuidF
  285.       ______________________________
  286.  
  287.       getuid()
  288.  
  289.     öπ¡¬µ¿∩ getuid ó«ºóαáΘáÑΓ Σá¬Γ¿τÑ߬¿⌐ ¬«ñ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ »«½∞º«óáΓѽ∩ óδ-
  290. ºδóáεΘÑú« »α«µÑßßá. ¥Γπ ªÑ Γ«τ¬π óσ«ñá ¿ß»«½∞ºπεΓ Σπ¡¬µ¿¿: geteuid,  ó«ºóαá-
  291. ΘáεΘá∩  ¿ß»«½¡¿Γѽ∞¡δ⌐  ¬«ñ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ »«½∞º«óáΓѽ∩, getgid, ó«ºóαáΘáεΘá∩
  292. úαπ»»«ó«⌐ ¬«ñ, ¿ getegid, ó«ºóαáΘáεΘá∩ ¿ß»«½¡¿Γѽ∞¡δ⌐ úαπ»»«ó«⌐ ¬«ñ  ¿ñÑ¡Γ¿-
  293. Σ¿¬áµ¿¿ óδºδóáεΘÑú« »α«µÑßßá.
  294.  
  295.  
  296.     EioctlF
  297.       ______________________________
  298.  
  299.       ioctl(fildes,cmd,arg)
  300.       int fildes,cmd;
  301.  
  302.     öπ¡¬µ¿∩ ioctl óδ»«½¡∩ÑΓ ¡áí«α ß»Ñµ¿á½∞¡δσ «»Ñαᵿ⌐ »« «Γ¡«ΦÑ¡¿ε ¬ «Γ¬αδ-
  303. Γ«¼π πßΓα«⌐ßΓóπ, ñÑß¬α¿»Γ«α ¬«Γ«α«ú« π¬áºá¡ ó »áαá¼ÑΓαÑ fildes. Æ¿» ¬«¼á¡ñδ,
  304. óδ»«½¡∩Ѽ«⌐  »«  «Γ¡«ΦÑ¡¿ε ¬ πßΓα«⌐ßΓóπ, «»¿ßδóáÑΓß∩ »áαá¼ÑΓα«¼ cmd, á »áαá-
  305. ¼ÑΓα arg ∩ó½∩ÑΓß∩ áαúπ¼Ñ¡Γ«¼ ¬«¼á¡ñδ.
  306.  
  307.  
  308.     EkillF
  309.       ______________________________
  310.  
  311.                                     404
  312.  
  313.       kill(pid,sig)
  314.       int pid,sig;
  315.  
  316.     öπ¡¬µ¿∩ kill »«ßδ½áÑΓ »α«µÑßßá¼, ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ¬«Γ«αδσ π¬áºá¡δ ó  »áαá-
  317. ¼ÑΓαÑ pid, ß¿ú¡á½, «»¿ßδóáѼδ⌐ »áαá¼ÑΓα«¼ sig.
  318.  
  319.       pid   ¿¼ÑÑΓ        ß¿ú¡á½ »«ßδ½áÑΓß∩ »α«µÑßßπ ß ¿ñÑ¡Γ¿Σ¿¬á-
  320.       »«½«ª¿Γѽ∞-        Γ«α«¼ pid
  321.       ¡«Ñ º¡áτÑ¡¿Ñ
  322.       pid = 0            ß¿ú¡á½ »«ßδ½áÑΓß∩  »α«µÑßßá¼,  úαπ»»«ó«⌐
  323.                          ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¬«Γ«αδσ  ß«ó»áñáÑΓ ß ¿ñÑ¡-
  324.                          Γ¿Σ¿¬áΓ«α«¼ «Γ»αáó¿Γѽ∩
  325.       pid = -1           Ñß½¿ »α«µÑßß-«Γ»αáó¿Γѽ∞ ¿ß»«½¡∩ÑΓß∩ »«ñ
  326.                          ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ ßπ»Ñα»«½∞º«óáΓѽ∩,  ß¿ú-
  327.                          ¡á½ »«ßδ½áÑΓß∩ óßѼ »α«µÑßßá¼, ó »α«Γ¿ó-
  328.                          ¡«¼ ß½πτáÑ, ß¿ú¡á½ »«ßδ½áÑΓß∩ »α«µÑßßá¼,
  329.                          Σá¬Γ¿τÑ߬¿⌐ ¬«ñ  ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ »«½∞º«óá-
  330.                          Γѽ∩ π ¬«Γ«αδσ ß«ó»áñáÑΓ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«-
  331.                          α«¼ ßπ»Ñα»«½∞º«óáΓѽ∩
  332.       pid < -1           ß¿ú¡á½ »«ßδ½áÑΓß∩  »α«µÑßßá¼,  úαπ»»«ó«⌐
  333.                          ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¬«Γ«αδσ ß«ó»áñáÑΓ ß pid
  334.  
  335.     êß»«½¡¿Γѽ∞¡δ⌐  ¬«ñ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ »«½∞º«óáΓѽ∩ »α«µÑßßá-«Γ»αáó¿Γѽ∩ ñ«½-
  336. ªÑ¡ π¬áºδóáΓ∞ ¡á ßπ»Ñα»«½∞º«óáΓѽ∩, ó »α«Γ¿ó¡«¼ ß½πτáÑ, Σá¬Γ¿τÑ߬¿⌐ ¿½¿  ¿ß-
  337. »«½¡¿Γѽ∞¡δ⌐ ¬«ñδ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ «Γ»αáó¿Γѽ∩ ñ«½ª¡δ ß«ó»áñáΓ∞ ß ß««ΓóÑΓßΓóπε-
  338. Θ¿¼¿ ¬«ñἿ »α«µÑßß«ó-»«½πτáΓѽÑ⌐.
  339.  
  340.  
  341.     ElinkF
  342.       ______________________________
  343.  
  344.       link(filename1,filename2)
  345.       char *filename1,*filename2;
  346.  
  347.     öπ¡¬µ¿∩  link »α¿ßóá¿óáÑΓ Σá⌐½π filename1 ¡«ó«Ñ ¿¼∩ filename2. öá⌐½ ßΓá-
  348. ¡«ó¿Γß∩ ñ«ßΓπ»¡δ¼ »«ñ ½εíδ¼ ¿º φΓ¿σ ¿¼Ñ¡.
  349.  
  350.  
  351.     ElseekF
  352.       ______________________________
  353.  
  354.       lseek(fildes,offset,origin)
  355.       int fildes,origin;
  356.       long offset;
  357.  
  358.     öπ¡¬µ¿∩ lseek ¿º¼Ñ¡∩ÑΓ »«½«ªÑ¡¿Ñ π¬áºáΓѽ∩  τΓÑ¡¿∩-ºá»¿ß¿  ñ½∩  Σá⌐½á  ß
  359. ñÑß¬α¿»Γ«α«¼ fildes ¿ ó«ºóαáΘáÑΓ ¡«ó«Ñ º¡áτÑ¡¿Ñ. Å«½«ªÑ¡¿Ñ π¬áºáΓѽ∩ ºáó¿ß¿Γ
  360. «Γ º¡áτÑ¡¿∩ »áαá¼ÑΓαá origin:
  361.  
  362.       0    πßΓá¡«ó¿Γ∞ π¬áºáΓѽ∞ ¡á »«º¿µ¿ε,  ß««ΓóÑΓßΓóπεΘπε π¬á-
  363.            ºá¡¡«¼π ß¼ÑΘÑ¡¿ε ó íá⌐Γáσ «Γ ¡áτá½á Σá⌐½á
  364.       1    ßñó¿¡πΓ∞ π¬áºáΓѽ∞ ß Ñú« ΓѬπΘÑ⌐ »«º¿µ¿¿  ¡á π¬áºá¡¡«Ñ
  365.            ß¼ÑΘÑ¡¿Ñ
  366.       2    πßΓá¡«ó¿Γ∞ π¬áºáΓѽ∞ ¡á »«º¿µ¿ε,  ß««ΓóÑΓßΓóπεΘπε π¬á-
  367.            ºá¡¡«¼π ß¼ÑΘÑ¡¿ε ó íá⌐Γáσ «Γ ¬«¡µá Σá⌐½á
  368.  
  369.  
  370.     EmknodF
  371.       ______________________________
  372.  
  373.                                     405
  374.  
  375.       mknod(filename,modes,dev)
  376.       char *filename;
  377.       int mode,dev;
  378.  
  379.     öπ¡¬µ¿∩  mknod ß«ºñáÑΓ ß»Ñµ¿á½∞¡δ⌐ Σá⌐½, ¬áΓὫú ¿½¿ »«¿¼Ñ¡«óá¡¡δ⌐ ¬á¡á½
  380. («τÑαÑñ∞ »« »α¿¡µ¿»π "»Ñαóδ¼ »α¿Φѽ - »Ñαóδ¼ óδΦѽ") ó ºáó¿ß¿¼«ßΓ¿ «Γ º¡áτÑ-
  381. ¡¿∩ »áαá¼ÑΓαá modes:
  382.  
  383.       010000   »«¿¼Ñ¡«óá¡¡δ⌐ ¬á¡á½
  384.       020000   ß»Ñµ¿á½∞¡δ⌐ Σá⌐½ πßΓα«⌐ßΓóá óó«ñá-óδó«ñá ß¿¼ó«½á¼¿
  385.       040000   ¬áΓὫú
  386.       060000   ß»Ñµ¿á½∞¡δ⌐ Σá⌐½ πßΓα«⌐ßΓóá óó«ñá-óδó«ñá í½«¬á¼¿
  387.  
  388.     12 ¼½áñΦ¿σ αáºα∩ñ«ó »áαá¼ÑΓαá modes ¿¼ÑεàëàªÑ ßá¼δ⌐ ß¼δß½,  τΓ«  ¿  ó
  389. Σπ¡¬µ¿¿  chmod. àß½¿ Σá⌐½ ¿¼ÑÑΓ ß»Ñµ¿á½∞¡δ⌐ Γ¿», »áαá¼ÑΓα dev ß«ñÑαª¿Γ ßΓáα-
  390. Φ¿⌐ ¿ ¼½áñΦ¿⌐ ¡«¼Ñαá πßΓα«⌐ßΓóá.
  391.  
  392.  
  393.     EmountF
  394.       ______________________________
  395.  
  396.       mount(specialfile,dir,rwflag)
  397.       char *specialfile,*dir;
  398.       int rwflag;
  399.  
  400.     öπ¡¬µ¿∩ mount óδ»«½¡∩ÑΓ ¼«¡Γ¿α«óá¡¿Ñ Σá⌐½«ó«⌐ ß¿ßΓѼδ, ¡á ¬«Γ«απε π¬áºδ-
  401. óáÑΓ »áαá¼ÑΓα specialfile, ó ¬áΓὫúÑ dir. àß½¿ ¼½áñΦ¿⌐ í¿Γ »áαá¼ÑΓαá rwflag
  402. πßΓá¡«ó½Ñ¡, Σá⌐½«óá∩ ß¿ßΓѼᠼ«¡Γ¿απÑΓß∩ Γ«½∞¬« ñ½∩ τΓÑ¡¿∩.
  403.  
  404.  
  405.     EmsgctlF
  406.       ______________________________
  407.  
  408.       #include <sys/types.h>
  409.       #include <sys/ipc.h>
  410.       #include <sys/msg.h>
  411.  
  412.       msgctl(id,cmd,buf)
  413.       int id,cmd;
  414.       struct msgid_ds *buf;
  415.  
  416.     é ºáó¿ß¿¼«ßΓ¿ «Γ «»Ñαᵿ¿, π¬áºá¡¡«⌐ ó »áαá¼ÑΓαÑ cmd, Σπ¡¬µ¿∩ msgctl ñá-
  417. ÑΓ »α«µÑßßἠ󫺼«ª¡«ßΓ∞ πßΓá¡áó½¿óáΓ∞ ¿½¿ ºá»αáΦ¿óáΓ∞ ¿¡Σ«α¼áµ¿ε «  ßΓáΓπßÑ
  418. «τÑαÑñ¿  ß««íΘÑ¡¿⌐ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id, á ΓᬪѠπñá½∩Γ∞ «τÑαÑñ∞ ¿º ß¿ßΓѼδ.
  419. æΓαπ¬Γπαá msquid_ds «»αÑñѽѡá ß½ÑñπεΘ¿¼ «íαẫ¼:
  420.  
  421.     struct ipc_perm {
  422.          ushort  uid;  /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α ΓѬπΘÑú« »«½∞º«óáΓѽ∩ */
  423.          ushort  gid;  /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α ΓѬπΘÑ⌐ úαπ»»δ */
  424.          ushort cuid;  /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α »«½∞º«óáΓѽ∩-ß«ºñáΓѽ∩ */
  425.          ushort cgid;  /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α úαπ»»δ ß«ºñáΓѽ∩ */
  426.          ushort mode;  /* »αáóá ñ«ßΓπ»á */
  427.          short  pad1;  /* ¿ß»«½∞ºπÑΓß∩ ß¿ßΓѼ«⌐ */
  428.          long   pad2;  /* ¿ß»«½∞ºπÑΓß∩ ß¿ßΓѼ«⌐ */
  429.     };
  430.  
  431.     struct msquid_ds {
  432.           struct ipc_perm   msg_perm; /* ßΓαπ¬Γπαá,   «»¿ßδóáεΘá∩
  433.                                          »αáóá ñ«ßΓπ»á */
  434.  
  435.                                     406
  436.  
  437.           short             pad1[7];  /* ¿ß»«½∞ºπÑΓß∩ ß¿ßΓѼ«⌐ */
  438.           ushort            msg_qnum; /* ¬«½¿τÑßΓó«  ß««íΘÑ¡¿⌐  ó
  439.                                          «τÑαÑñ¿ */
  440.           ushort            msg_qbytes; /* ¼á¬ß¿¼á½∞¡δ⌐    αẼÑα
  441.                                            «τÑαÑñ¿ ó íá⌐Γáσ */
  442.           ushort            msg_lspid; /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑßßá,
  443.                                           ßó∩ºá¡¡«ú«  ß »«ß½Ññ¡Ñ⌐
  444.                                           »«ß佬«⌐ ß««íΘÑ¡¿∩ */
  445.           ushort            msg_lrpid; /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑßßá,
  446.                                           ßó∩ºá¡¡«ú«  ß »«ß½Ññ¡¿¼
  447.                                           »«½πτÑ¡¿Ñ¼ ß««íΘÑ¡¿∩ */
  448.           time_t            msg_stime; /* óαѼ∩ »«ß½Ññ¡Ñ⌐ »«ß佬¿
  449.                                           ß««íΘÑ¡¿∩ */
  450.           time_t            msg_rtime; /* óαѼ∩ »«ß½Ññ¡Ñú«  »«½π-
  451.                                           τÑ¡¿∩ ß««íΘÑ¡¿∩ */
  452.           time_t            msg_ctime; /* óαѼ∩ »«ß½Ññ¡Ñú«  ¿º¼Ñ-
  453.                                           ¡Ñ¡¿∩ */
  454.     };
  455.  
  456.     Æ¿»δ «»Ñαᵿ⌐:
  457.  
  458.     IPC_STAT   Åα«τ¿ΓáΓ∞ ó íπΣÑα ºáú«½«ó«¬ «τÑαÑñ¿ ß««íΘÑ¡¿⌐, áß-
  459.                ß«µ¿¿α«óá¡¡δ⌐ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id
  460.     IPC_SET    ôßΓá¡«ó¿Γ∞   º¡áτÑ¡¿∩  »ÑαѼѡ¡δσ    msg_perm.uid,
  461.                msg_perm.gid, msg_perm.mode  (9  ¼½áñΦ¿σ  αáºα∩ñ«ó
  462.                ßΓαπ¬Γπαδ msg_perm) ¿ mgr_qbytes ó ß««ΓóÑΓßΓó¿¿ ß«
  463.                º¡áτÑ¡¿∩¼¿, ß«ñÑαªáΘ¿¼¿ß∩ ó íπΣÑαÑ
  464.     IPC_RMID   ôñ὿Γ∞ ¿º ß¿ßΓÑ¼δ «τÑαÑñ∞ ß««íΘÑ¡¿⌐ ß ¿ñÑ¡Γ¿Σ¿¬á-
  465.                Γ«α«¼ id
  466.  
  467.  
  468.     EmsggetF
  469.       ______________________________
  470.  
  471.       #include <sys/types.h>
  472.       #include <sys/ipc.h>
  473.       #include <sys/msg.h>
  474.  
  475.       msgget(key,flag)
  476.       key_t key;
  477.       int flag;
  478.  
  479.     öπ¡¬µ¿∩ msgget ó«ºóαáΘáÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«α «τÑαÑñ¿ ß««íΘÑ¡¿⌐,  ¿¼∩  ¬«Γ«α«⌐
  480. π¬áºá¡«  ó key. Åáαá¼ÑΓα key ¼«ªÑΓ π¬áºδóáΓ∞ ¡á Γ«, τΓ« ó«ºóαáΘáѼδ⌐ ¿ñÑ¡Γ¿-
  481. Σ¿¬áΓ«α «Γ¡«ß¿Γß∩ ¬ τáßΓ¡«⌐ «τÑαÑñ¿ (IPC_PRIVATE), ó φΓ«¼  ß½πτáÑ  ß«ºñáÑΓß∩
  482. ¡«óá∩  «τÑαÑñ∞  ß««íΘÑ¡¿⌐. æ »«¼«Θ∞ε »áαá¼ÑΓαá flag ¼«ª¡« ßñѽáΓ∞ π¬áºá¡¿Ñ «
  483. ¡Ñ«íσ«ñ¿¼«ßΓ¿ ß«ºñá¡¿∩ «τÑαÑñ¿ (IPC_CREAT), á ΓᬪѠ« Γ«¼, τΓ« ß«ºñá¡¿Ñ «τÑ-
  484. αÑñ¿ ñ«½ª¡« óδ»«½¡∩Γ∞ß∩ ¼«¡«»«½∞¡« (IPC_EXCL). é »«ß½Ññ¡Ñ¼ ß½πτáÑ, Ñß½¿ «τÑ-
  485. αÑñ∞ πªÑ ßπΘÑßΓóπÑΓ, Σπ¡¬µ¿∩ msgget ñáÑΓ «Γ¬áº.
  486.  
  487.  
  488.     Emsgsnd ¿ msgrcvF
  489.       ______________________________
  490.  
  491.       #include <sys/types.h>
  492.       #include <sys/ipc.h>
  493.       #include <sys/msg.h>
  494.  
  495.       msgsnd(id,msgp,size,flag)
  496.  
  497.                                     407
  498.  
  499.       int id,size,flag;
  500.       struct msgbuf *msgp;
  501.  
  502.       msgrcv(id,msgp,size,type,flag)
  503.       int id,size,type,flag;
  504.       struct msgbuf *msgmp;
  505.  
  506.     öπ¡¬µ¿∩ msgsnd »«ßδ½áÑΓ ß««íΘÑ¡¿Ñ π¬áºá¡¡«ú« αẼÑαá ó íá⌐Γáσ (size)  ¿º
  507. íπΣÑαá msgp ó «τÑαÑñ∞ ß««íΘÑ¡¿⌐ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id. æΓαπ¬Γπαá msgbuf «»αÑ-
  508. ñѽѡá ß½ÑñπεΘ¿¼ «íαẫ¼:
  509.  
  510.       struct msgbuf {
  511.               long mtype;
  512.               char mtext[];
  513.       };
  514.  
  515.     àß½¿  ó »áαá¼ÑΓαÑ flag í¿Γ IPC_NOWAIT ßíα«ΦÑ¡, Σπ¡¬µ¿∩ msgsnd íπñÑΓ »α¿-
  516. «ßΓá¡áó½¿óáΓ∞ß∩ ó ΓÑσ ß½πτá∩σ, ¬«úñá αẼÑα «Γñѽ∞¡«ú« ß««íΘÑ¡¿∩  ¿½¿  τ¿ß½«
  517. ß««íΘÑ¡¿⌐ ó ß¿ßΓѼѠ»αÑóδΦáεΓ ñ«»πßΓ¿¼δ⌐ ¼á¬ß¿¼π¼. àß½¿ í¿Γ IPC_NOWAIT πßΓá-
  518. ¡«ó½Ñ¡, Σπ¡¬µ¿∩ msgsnd ó φΓ¿σ ß½πτá∩σ »αÑαδóáÑΓ ßó«Ñ óδ»«½¡Ñ¡¿Ñ.
  519.     öπ¡¬µ¿∩ msgrcv »α¿¡¿¼áÑΓ ß««íΘÑ¡¿Ñ ¿º «τÑαÑñ¿ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id. àß½¿
  520. »áαá¼ÑΓα  type  ¿¼ÑÑΓ  ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, ¿º «τÑαÑñ¿ íπñÑΓ óδíαá¡« ß««íΘÑ¡¿Ñ,
  521. »Ñαó«Ñ »« ßτÑΓπ; Ñß½¿ »«½«ª¿Γѽ∞¡«Ñ º¡áτÑ¡¿Ñ, ¿º «τÑαÑñ¿  óδí¿αáÑΓß∩  »Ñαó«Ñ
  522. ß««íΘÑ¡¿Ñ  ñá¡¡«ú«  Γ¿»á; Ñß½¿ «Γα¿µáΓѽ∞¡«Ñ º¡áτÑ¡¿Ñ, ¿º «τÑαÑñ¿ óδí¿αáÑΓß∩
  523. ß««íΘÑ¡¿Ñ, ¿¼ÑεΘÑÑ ßá¼δ⌐ ¼½áñΦ¿⌐ Γ¿» ßαÑñ¿ ΓÑσ Γ¿»«ó,  º¡áτÑ¡¿Ñ  ¬«Γ«αδσ  ¡Ñ
  524. »αÑóδΦáÑΓ  áíß«½εΓ¡«Ñ  º¡áτÑ¡¿Ñ »áαá¼ÑΓαá type. é »áαá¼ÑΓαÑ size π¬áºδóáÑΓß∩
  525. ¼á¬ß¿¼á½∞¡δ⌐ αẼÑα ß««íΘÑ¡¿∩, «ª¿ñáѼ«ú« »«½∞º«óáΓѽѼ.  àß½¿  ó  »áαá¼ÑΓαÑ
  526. flag  πßΓá¡«ó½Ñ¡ í¿Γ MSG_NOERROR, ó Γ«¼ ß½πτáÑ, ¬«úñá αẼÑα »«½πτáѼ«ú« ß«-
  527. «íΘÑ¡¿∩ »αÑóδß¿Γ »αÑñѽ, πßΓá¡«ó½Ñ¡¡δ⌐ »áαá¼ÑΓα«¼ size, ∩ñα« «íαѪÑΓ φΓ« ß«-
  528. «íΘÑ¡¿Ñ. àß½¿ ªÑ ß««ΓóÑΓßΓóπεΘ¿⌐ í¿Γ ßíα«ΦÑ¡, ó »«ñ«í¡δσ ß½πτá∩σ Σπ¡¬µ¿∩ íπ-
  529. ñÑΓ ó«ºóαáΘáΓ∞ «Φ¿í¬π. àß½¿ ó »áαá¼ÑΓαÑ flag í¿Γ IPC_NOWAIT ßíα«ΦÑ¡, Σπ¡¬µ¿∩
  530. msgrcv »α¿«ßΓá¡«ó¿Γ ßó«Ñ óδ»«½¡Ñ¡¿Ñ ñ« ΓÑσ »«α, »«¬á ß««íΘÑ¡¿Ñ, πñ«ó½ÑΓó«α∩-
  531. εΘÑÑ π¬áºá¡¡«¼π ó »áαá¼ÑΓαÑ type πß½«ó¿ε, ¡Ñ íπñÑΓ »«½πτÑ¡«. àß½¿ ß««ΓóÑΓßΓ-
  532. óπεΘ¿⌐ í¿Γ ßíα«ΦÑ¡, Σπ¡¬µ¿∩ ºáóÑαΦ¿Γ ßó«ε αáí«Γπ ¡Ñ¼Ññ½Ñ¡¡«. öπ¡¬µ¿∩  msgrcv
  533. ó«ºóαáΘáÑΓ αẼÑα »«½πτÑ¡¡«ú« ß««íΘÑ¡¿∩ (ó íá⌐Γáσ).
  534.  
  535.  
  536.     EniceF
  537.       ______________________________
  538.  
  539.       nice(increment)
  540.       int increment;
  541.  
  542.     öπ¡¬µ¿∩  nice πóѽ¿τ¿óáÑΓ º¡áτÑ¡¿Ñ ß««ΓóÑΓßΓóπεΘÑ⌐ ¬«¼»«¡Ñ¡Γδ, πτáßΓóπε-
  543. ΘÑ⌐ ó óδτ¿ß½Ñ¡¿¿ »α¿«α¿ΓÑΓá  »½á¡¿α«óá¡¿∩  ΓѬπΘÑú«  »α«µÑßßá,  ¡á  óѽ¿τ¿¡π
  544. increment.  ôóѽ¿τÑ¡¿Ñ  º¡áτÑ¡¿∩ nice óÑñÑΓ ¬ ß¡¿ªÑ¡¿ε »α¿«α¿ΓÑΓá »½á¡¿α«óá-
  545. ¡¿∩.
  546.  
  547.  
  548.     EopenF
  549.       ______________________________
  550.  
  551.       #include <fcntl.h>
  552.  
  553.       open(filename,flag,mode)
  554.       char *filename;
  555.       int flag,mode;
  556.  
  557.     öπ¡¬µ¿∩ open óδ»«½¡∩ÑΓ «Γ¬αδΓ¿Ñ π¬áºá¡¡«ú« Σá⌐½á ó ß««ΓóÑΓßΓó¿¿ ß«  º¡á-
  558.  
  559.                                     408
  560.  
  561. τÑ¡¿Ñ¼ »áαá¼ÑΓαá flag. ç¡áτÑ¡¿Ñ »áαá¼ÑΓαá flag »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¬«¼í¿¡áµ¿ε
  562. ¿º ß½ÑñπεΘ¿σ αáºα∩ñ«ó (»α¿τѼ ¿º »Ñαóδσ ΓαÑσ αáºα∩ñ«ó ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡
  563. Γ«½∞¬« «ñ¿¡):
  564.  
  565.       O_RDONLY   «Γ¬αδΓ∞ Γ«½∞¬« ñ½∩ τΓÑ¡¿∩
  566.       O_WRONLY   «Γ¬αδΓ∞ Γ«½∞¬« ñ½∩ ºá»¿ß¿
  567.       O_RDWR     «Γ¬αδΓ∞ ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿
  568.       O_NDELAY   Ñß½¿  Σá⌐½  ∩ó½∩ÑΓß∩  ß»Ñµ¿á½∞¡δ¼ Σá⌐½«¼ πßΓα«⌐-
  569.                  ßΓóá, Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ,  ¡Ñ ñ«ª¿ñá-
  570.                  ∩ß∞ «ΓóÑΓ¡«ú« ß¿ú¡á½á; Ñß½¿ Σá⌐½ ∩ó½∩ÑΓß∩ »«¿¼Ñ-
  571.                  ¡«óá¡¡δ¼ ¬á¡á½«¼,   Σπ¡¬µ¿∩  ó  ß½πτáÑ   ¡Ñπñáτ¿
  572.                  ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ  ¡Ñ¼Ññ½Ñ¡¡«  (ß ¿¡ñ¿¬áµ¿Ñ⌐
  573.                  «Φ¿í¬¿, ¬«úñá í¿Γ O_WRONLY πßΓá¡«ó½Ñ¡), ¡Ñ ñ«ª¿-
  574.                  ñá∩ß∞ «Γ¬αδΓ¿∩ Σá⌐½á ñαπú¿¼ »α«µÑßß«¼
  575.       O_APPEND   ñ«íáó½∩ѼδÑ ñá¡¡δÑ ºá»¿ßδóáΓ∞ ó ¬«¡Ñµ Σá⌐½á
  576.       O_CREAT    Ñß½¿ Σá⌐½ ¡Ñ ßπΘÑßΓóπÑΓ, ß«ºñáΓ∞ Ñú«; αѪ¿¼ ß«º-
  577.                  ñá¡¿∩ (mode) ¿¼ÑÑàëàªÑ ß¼δß½, τΓ« ¿ ó Σπ¡¬µ¿¿
  578.                  creat; Ñß½¿ Σá⌐½ πªÑ ßπΘÑßΓóπÑΓ, ñá¡¡δ⌐ Σ½áú ¿ú-
  579.                  ¡«α¿απÑΓß∩
  580.       O_TRUNC    π¬«α«Γ¿Γ∞ ñ½¿¡π Σá⌐½á ñ« 0
  581.       O_EXCL     Ñß½¿  φëàí¿Γ ¿ í¿Γ O_CREAT πßΓá¡«ó½Ñ¡δ  ¿ Σá⌐½
  582.                  ßπΘÑßΓóπÑΓ, Σπ¡¬µ¿∩  ¡Ñ  íπñÑΓ  óδ»«½¡∩Γ∞ß∩; φΓ«
  583.                  Γᬠ¡áºδóáѼ«Ñ "¼«¡«»«½∞¡«Ñ «Γ¬αδΓ¿Ñ"
  584.  
  585.     öπ¡¬µ¿∩  open ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α Σá⌐½á ñ½∩ »«ß½ÑñπεΘÑú« ¿ß»«½∞º«óá¡¿∩
  586. ó ñαπú¿σ ß¿ßΓѼ¡δσ Σπ¡¬µ¿∩σ.
  587.  
  588.  
  589.     EpauseF
  590.       ______________________________
  591.  
  592.       pause()
  593.  
  594.     öπ¡¬µ¿∩ pause »α¿«ßΓá¡áó½¿óáÑΓ óδ»«½¡Ñ¡¿Ñ ΓѬπΘÑú« »α«µÑßßá ñ« »«½πτÑ¡¿∩
  595. ß¿ú¡á½á.
  596.  
  597.  
  598.     EpipeF
  599.       ______________________________
  600.  
  601.       pipe(fildes)
  602.       int fildes[2];
  603.  
  604.     öπ¡¬µ¿∩ pipe ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«αδ τΓÑ¡¿∩ ¿ ºá»¿ß¿  (ß««ΓóÑΓßΓóÑ¡¡«,  ó
  605. fildes[0]  ¿  fildes[1]) ñ½∩ ñá¡¡«ú« ¬á¡á½á. äá¡¡δÑ »ÑαÑñáεΓß∩ τÑαѺ ¬á¡á½ ó
  606. »«α∩ñ¬Ñ »«ßΓπ»½Ñ¡¿∩; «ñ¡¿ ¿ ΓÑ ªÑ ñá¡¡δÑ ¡Ñ ¼«úπΓ íδΓ∞ »α«τ¿Γá¡δ ñóáªñδ.
  607.  
  608.  
  609.     EplockF
  610.       ______________________________
  611.  
  612.       #include <sys/lock.h>
  613.  
  614.       plock(op)
  615.       int op;
  616.  
  617.     öπ¡¬µ¿∩ plock πßΓá¡áó½¿óáÑΓ ¿ ß¡¿¼áÑΓ í½«¬¿α«ó¬π «í½áßΓÑ⌐ »α«µÑßßá ó »á-
  618. ¼∩Γ¿ ó ºáó¿ß¿¼«ßΓ¿ «Γ º¡áτÑ¡¿∩ »áαá¼ÑΓαá op:
  619.  
  620.  
  621.                                     409
  622.  
  623.       PROCLOCK   ºáí½«¬¿α«óáΓ∞ ó »á¼∩Γ¿ «í½áßΓ¿ ¬«¼á¡ñ ¿ ñá¡¡δσ
  624.       TXTLOCK    ºáí½«¬¿α«óáΓ∞ ó »á¼∩Γ¿ «í½áßΓ∞ ¬«¼á¡ñ
  625.       DATLOCK    ºáí½«¬¿α«óáΓ∞ ó »á¼∩Γ¿ «í½áßΓ∞ ñá¡¡δσ
  626.       UNLOCK     ß¡∩Γ∞ í½«¬¿α«ó¬π óßÑσ «í½áßΓÑ⌐
  627.  
  628.  
  629.     EprofilF
  630.       ______________________________
  631.  
  632.       profil(buf,size,offset,scale)
  633.       char *buf;
  634.       int size,offset,scale;
  635.  
  636.     öπ¡¬µ¿∩ profil ºá»αáΦ¿óáÑΓ π ∩ñαá »α«Σ¿½∞ óδ»«½¡Ñ¡¿∩ »α«µÑßßá.  Åáαá¼ÑΓα
  637. buf  «»αÑñѽ∩ÑΓ  ¼áßß¿ó, ¡á¬á»½¿óáεΘ¿⌐ τ¿ß½« ¬«»¿⌐ »α«µÑßßá, óδ»«½¡∩εΘ¿σß∩ ó
  638. αạδσ áñαÑßáσ. Åáαá¼ÑΓα size «»αÑñѽ∩ÑΓ αẼÑα ¼áßß¿óá buf,  offset  -  ¡á-
  639. τá½∞¡δ⌐ áñαÑß πτáßΓ¬á »α«Σ¿½¿α«óá¡¿∩, scale - ¬«φΣΣ¿µ¿Ñ¡Γ ¼áßΦΓáí¿α«óá¡¿∩.
  640.  
  641.  
  642.     EptraceF
  643.       ______________________________
  644.  
  645.       ptrace(cmd,pid,addr,data)
  646.       int cmd,pid,addr,data;
  647.  
  648.     öπ¡¬µ¿∩  ptrace ñáÑΓ ΓѬπΘѼπ »α«µÑßßπ ó«º¼«ª¡«ßΓ∞ óδ»«½¡∩Γ∞ Γαáßß¿α«ó¬π
  649. ñαπú«ú« »α«µÑßßá, ¿¼ÑεΘÑú« ¿ñÑ¡Γ¿Σ¿¬áΓ«α pid, ó  ß««ΓóÑΓßΓó¿¿  ß«  º¡áτÑ¡¿Ñ¼
  650. »áαá¼ÑΓαá cmd:
  651.  
  652.       0     αáºαÑΦ¿Γ∞ Γαáßß¿α«ó¬π »«Γ«¼¬π (»« Ñú« π¬áºá¡¿ε)
  653.       1,2   óÑα¡πΓ∞ ß½«ó«,  αáß»«½«ªÑ¡¡«Ñ »« áñαÑßπ addr ó »α«ßΓ-
  654.             αá¡ßΓóÑ Γαáßß¿απѼ«ú« »α«µÑßßá ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ pid
  655.       3     óÑα¡πΓ∞ ß½«ó«, αáß»«½«ªÑ¡¡«Ñ ó »α«ßΓαá¡ßΓóÑ Γαáßß¿απ-
  656.             Ñ¼«ú« »α«µÑßßá »« áñαÑßπ ß« ß¼ÑΘÑ¡¿Ñ¼ addr
  657.       4,5   ºá»¿ßáΓ∞ º¡áτÑ¡¿Ñ »« áñαÑßπ addr ó »α«ßΓαá¡ßΓóÑ Γαáß-
  658.             ß¿απѼ«ú« »α«µÑßßá
  659.       6     ºá»¿ßáΓ∞ º¡áτÑ¡¿Ñ »« áñαÑßπ ß« ß¼ÑΘÑ¡¿Ñ¼ addr
  660.       7     ºáßΓáó¿Γ∞ Γαáßß¿απѼδ⌐ »α«µÑßß  ó«º«í¡«ó¿Γ∞  ßó«Ñ óδ-
  661.             »«½¡Ñ¡¿Ñ
  662.       8     ºáßΓáó¿Γ∞ Γαáßß¿απѼδ⌐ »α«µÑßß ºáóÑαΦ¿Γ∞  ßó«Ñ óδ»«½-
  663.             ¡Ñ¡¿Ñ
  664.       9     ¼áΦ¿¡¡«-ºáó¿ß¿¼á∩ ¬«¼á¡ñá - πßΓá¡«ó¿Γ∞ ó ß½«óÑ ß«ßΓ«-
  665.             ∩¡¿∩ »α«úαá¼¼δ  í¿Γ  ñ½∩  «Γ½áñ¬¿ ó αѪ¿¼Ñ »«Φáú«ó«ú«
  666.             óδ»«½¡Ñ¡¿∩
  667.  
  668.  
  669.     EreadF
  670.       ______________________________
  671.  
  672.       read(fildes,buf,size)
  673.       int fildes;
  674.       char *buf;
  675.       int size;
  676.  
  677.     öπ¡¬µ¿∩ read óδ»«½¡∩ÑΓ τΓÑ¡¿Ñ ¿º Σá⌐½á ß ñÑß¬α¿»Γ«α«¼ fildes ó »«½∞º«óá-
  678. Γѽ∞߬¿⌐ íπΣÑα buf π¬áºá¡¡«ú« ó »áαá¼ÑΓαÑ size ¬«½¿τÑßΓóá íá⌐Γ. öπ¡¬µ¿∩ ó«º-
  679. óαáΘáÑΓ  τ¿ß½«  Σá¬Γ¿τÑ߬¿  »α«τ¿Γá¡¡δσ íá⌐Γ. àß½¿ Σá⌐½ ∩ó½∩ÑΓß∩ ß»Ñµ¿á½∞¡δ¼
  680. Σá⌐½«¼ πßΓα«⌐ßΓóá ¿½¿ ¬á¡á½«¼ ¿ Ñß½¿ ó ó맮óÑ Σπ¡¬µ¿¿  open  íδ½  πßΓá¡«ó½Ñ¡
  681. í¿Γ  O_NDELAY,  Σπ¡¬µ¿∩ read ó ß½πτáÑ «ΓßπΓßΓó¿∩ ñ«ßΓπ»¡δσ ñ½∩ τΓÑ¡¿∩ ñá¡¡δσ
  682.  
  683.                                     410
  684.  
  685. ó«ºóαáΓ¿Γ π»αáó½Ñ¡¿Ñ ¡Ñ¼Ññ½Ñ¡¡«.
  686.  
  687.  
  688.     EsemctlF
  689.       ______________________________
  690.  
  691.       #include <sys/types.h>
  692.       #include <sys/ipc.h>
  693.       #include <sys/sem.h>
  694.  
  695.       semctl(id,num,cmd,arg)
  696.       int id,num,cmd;
  697.       union semun {
  698.               int val;
  699.               struct semid_ds *buf;
  700.               ushort *array;
  701.       } arg;
  702.  
  703.     öπ¡¬µ¿∩ semctl óδ»«½¡∩ÑΓ π¬áºá¡¡πε ó »áαá¼ÑΓαÑ cmd «»Ñαáµ¿ε ¡áñ «τÑαÑñ∞ε
  704. ßѼáΣ«α«ó ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id.
  705.  
  706.       GETVAL    óÑα¡πΓ∞ º¡áτÑ¡¿Ñ Γ«ú« ßѼáΣ«αá, ¡á ¬«Γ«αδ⌐ π¬áºδ-
  707.                 óáÑΓ »áαá¼ÑΓα num
  708.       SETVAL    πßΓá¡«ó¿Γ∞ º¡áτÑ¡¿Ñ ßѼáΣ«αá, ¡á ¬«Γ«αδ⌐ π¬áºδóá-
  709.                 ÑΓ »áαá¼ÑΓα num, αáó¡δ¼ º¡áτÑ¡¿ε arg.val
  710.       GETPID    óÑα¡πΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑßßá, óδ»«½¡∩óΦÑú« »«ß-
  711.                 ½Ññ¡¿¼ Σπ¡¬µ¿ε semop  »« «Γ¡«ΦÑ¡¿ε ¬ Γ«¼π ßѼáΣ«-
  712.                 απ, ¡á ¬«Γ«αδ⌐ π¬áºδóáÑΓ »áαá¼ÑΓα num
  713.       GETNCNT   óÑα¡πΓ∞ τ¿ß½«  »α«µÑßß«ó, «ª¿ñáεΘ¿σ Γ«ú« ¼«¼Ñ¡Γá,
  714.                 ¬«úñá º¡áτÑ¡¿Ñ ßѼáΣ«αá ßΓá¡ÑΓ »«½«ª¿Γѽ∞¡δ¼
  715.       GETZCNT   óÑα¡πΓ∞ τ¿ß½«  »α«µÑßß«ó, «ª¿ñáεΘ¿σ Γ«ú« ¼«¼Ñ¡Γá,
  716.                 ¬«úñá º¡áτÑ¡¿Ñ ßѼáΣ«αá ßΓá¡ÑΓ ¡π½Ñóδ¼
  717.       GETALL    óÑα¡πΓ∞  º¡áτÑ¡¿∩   óßÑσ  ßѼáΣ«α«ó   ó   ¼áßß¿óÑ
  718.                 arg.array
  719.       SETALL    πßΓá¡«ó¿Γ∞ º¡áτÑ¡¿∩ óßÑσ ßѼáΣ«α«ó ó ß««ΓóÑΓßΓó¿Ñ
  720.                 ß ß«ñÑন¼δ¼ ¼áßß¿óá arg.array
  721.       IPC_STAT  ßτ¿ΓáΓ∞ ßΓαπ¬Γπαπ ºáú«½«ó¬á ßѼáΣ«αá ß  ¿ñÑ¡Γ¿Σ¿-
  722.                 ¬áΓ«α«¼ id ó íπΣÑα arg.buf
  723.       IPC_SET   πßΓá¡«ó¿Γ∞   º¡áτÑ¡¿∩   »ÑαѼѡ¡δσ  sem_perm.uid,
  724.                 sem_perm.gid ¿ sem_perm.mode (¼½áñΦ¿Ñ 9  αáºα∩ñ«ó
  725.                 ßΓαπ¬Γπαδ sem_perm)   ó ß««ΓóÑΓßΓó¿¿ ß ß«ñÑন¼δ¼
  726.                 íπΣÑαá arg.buf
  727.       IPC_RMID  πñ὿Γ∞ ßѼáΣ«αδ, ßó∩ºá¡¡δÑ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id,
  728.                 ¿º ß¿ßΓѼδ
  729.  
  730.     Åáαá¼ÑΓα num ó«ºóαáΘáÑΓ ¡á ¬«½¿τÑßΓó« ßѼáΣ«α«ó ó «íαáíáΓδóáѼ«¼ ¡áí«αÑ.
  731. æΓαπ¬Γπαá semid_ds «»αÑñѽѡá ß½ÑñπεΘ¿¼ «íαẫ¼:
  732.  
  733.       struct semid_ds {
  734.              struct ipc_perm   sem_perm;   /* ßΓαπ¬Γπαá, «»¿ßδóá-
  735.                                               εΘá∩  »αáóá  ñ«ßΓπ-
  736.                                               »á */
  737.              int *             pad;        /* ¿ß»«½∞ºπÑΓß∩ ß¿ßΓÑ-
  738.                                               ¼«⌐ */
  739.              ushort            sem_nsems;  /* ¬«½¿τÑßΓó«  ßѼáΣ«-
  740.                                               α«ó ó ¡áí«αÑ */
  741.              time_t            sem_otime;  /* óαѼ∩    óδ»«½¡Ñ¡¿∩
  742.                                               »«ß½Ññ¡Ñ⌐  «»Ñαᵿ¿
  743.                                               ¡áñ ßѼáΣ«α«¼ */
  744.  
  745.                                     411
  746.  
  747.              time_t            sem_ctime;  /* óαѼ∩    »«ß½Ññ¡Ñú«
  748.                                               ¿º¼Ñ¡Ñ¡¿∩ */
  749.       };
  750.  
  751.     æΓαπ¬Γπαá ipc_perm ¿¼ÑÑàëàªÑ ó¿ñ, τΓ« ¿ ó Σπ¡¬µ¿¿ msgctl.
  752.  
  753.  
  754.     EsemgetF
  755.       ______________________________
  756.  
  757.       #include <sys/types.h>
  758.       #include <sys/ipc.h>
  759.       #include <sys/sem.h>
  760.  
  761.       semget(key,nsems,flag)
  762.       key_t key;
  763.       int nsems,flag;
  764.  
  765.     öπ¡¬µ¿∩ semget ß«ºñáÑΓ ¼áßß¿ó ßѼáΣ«α«ó, ¬«ααÑß»«¡ñ¿απεΘ¿⌐ ß  »áαá¼ÑΓα«¼
  766. key. Åáαá¼ÑΓαδ key ¿ flag ¿¼ÑεàëàªÑ ß¼δß½, τΓ« ¿ ó Σπ¡¬µ¿¿ msgget.
  767.  
  768.  
  769.     EsemopF
  770.       ______________________________
  771.  
  772.       semop(id,ops,num)
  773.       int id,num;
  774.       struct sembuf **ops;
  775.  
  776.     öπ¡¬µ¿∩  semop  óδ»«½¡∩ÑΓ  ¡áí«α «»Ñαᵿ⌐, ß«ñÑαªáΘ¿σß∩ ó ßΓαπ¬ΓπαÑ ops,
  777. ¡áñ ¼áß߿󫼠ßѼáΣ«α«ó, ßó∩ºá¡¡δσ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id. Åáαá¼ÑΓα num  ß«ñÑα-
  778. ª¿Γ ¬«½¿τÑßΓ󫠺ỿßÑ⌐, ß«ßΓáó½∩εΘ¿σ ßΓαπ¬Γπαπ ops. æΓαπ¬Γπαá sembuf «»αÑñÑ-
  779. ½Ñ¡á ß½ÑñπεΘ¿¼ «íαẫ¼:
  780.  
  781.       struct sembuf {
  782.              short    sem_num;   /* ¡«¼Ñα ßѼáΣ«αá */
  783.              short    sem_op;    /* Γ¿» «»Ñαᵿ¿ ¡áñ ßѼáΣ«α«¼ */
  784.              short    sem_flg;   /* Σ½áú */
  785.       };
  786.  
  787.     ÅÑαѼѡ¡á∩ sem_num ß«ñÑαª¿Γ π¬áºáΓѽ∞ ó ¼áßß¿óÑ ßѼáΣ«α«ó, áßß«µ¿¿α«óá¡-
  788. ¡δ⌐  ß  ñá¡¡«⌐  «»ÑαᵿÑ⌐, á »ÑαѼѡ¡á∩ sem_flg - Σ½áú¿ ñ½∩ ñá¡¡«⌐ «»Ñαᵿ¿.
  789. ÅÑαѼѡ¡á∩ sem_op ¼«ªÑΓ »α¿¡¿¼áΓ∞ ß½ÑñπεΘ¿Ñ º¡áτÑ¡¿∩:
  790.  
  791.       «Γα¿µáΓѽ∞¡«Ñ     Ñß½¿ ßπ¼¼á º¡áτÑ¡¿∩ ßѼáΣ«αá  ¿  º¡áτÑ¡¿∩
  792.                         sem_op >= 0, º¡áτÑ¡¿Ñ ßѼáΣ«αá ¿º¼Ñ¡∩ÑΓß∩
  793.                         ¡á óѽ¿τ¿¡π sem_op; ó  »α«Γ¿ó¡«¼  ß½πτáÑ,
  794.                         Σπ¡¬µ¿∩ »α¿«ßΓá¡áó½¿óáÑΓ ßó«Ñ óδ»«½¡Ñ¡¿Ñ,
  795.                         Ñß½¿ φΓ« αáºαÑΦÑ¡« Σ½áú«¼
  796.       »«½«ª¿Γѽ∞¡«Ñ     πóѽ¿τ¿Γ∞ º¡áτÑ¡¿Ñ ßѼáΣ«αá  ¡á  óѽ¿τ¿¡π
  797.                         sem_op
  798.       ¡π½Ñó«Ñ           Ñß½¿  º¡áτÑ¡¿Ñ  ßѼáΣ«αá αáó¡« 0, »α«ñ«½-
  799.                         ª¿Γ∞ óδ»«½¡Ñ¡¿Ñ; ó »α«Γ¿ó¡«¼ ß½πτáÑ, »α¿-
  800.                         «ßΓá¡«ó¿Γ∞ óδ»«½¡Ñ¡¿Ñ,  Ñß½¿ φΓ« αáºαÑΦá-
  801.                         ÑΓß∩ Σ½áú«¼
  802.  
  803.     àß½¿  ñ½∩  ñá¡¡«⌐  «»Ñαᵿ¿  ó  »ÑαѼѡ¡«⌐   sem_flg   πßΓá¡«ó½Ñ¡   Σ½áú
  804. IPC_NOWAIT,  Σπ¡¬µ¿∩  semop  ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ ¡Ñ¼Ññ½Ñ¡¡« ó ΓÑσ ß½πτá∩σ,
  805. ¬«úñá «¡á ñ«½ª¡á íδ½á íδ »α¿«ßΓá¡«ó¿Γ∞ß∩.  àß½¿  πßΓá¡«ó½Ñ¡  Σ½áú  SEM_UNDO,
  806.  
  807.                                     412
  808.  
  809. ó«ßßΓá¡áó½¿óáÑΓß∩ »αÑñδñπΘÑÑ º¡áτÑ¡¿Ñ ßѼáΣ«αá (sem_op óδτ¿ΓáÑΓß∩ ¿º ΓѬπΘÑ⌐
  810. ßπ¼¼δ  Γ¿»«ó  «»Ñαᵿ⌐).  è«úñá  »α«µÑßß ºáóÑαΦ¿Γß∩, º¡áτÑ¡¿Ñ ßѼáΣ«αá íπñÑΓ
  811. πóѽ¿τÑ¡« ¡á φΓπ ßπ¼¼π. öπ¡¬µ¿∩ semop ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ »«ß½Ññ¡Ñ⌐ «»Ñαᵿ¿
  812. ¡áñ ßѼáΣ«α«¼.
  813.  
  814.  
  815.     EsetpgrpF
  816.       ______________________________
  817.  
  818.       setpgrp()
  819.  
  820.     öπ¡¬µ¿∩ setpgrp »α¿αáó¡¿óáÑΓ º¡áτÑ¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá úαπ»»δ,  ¬  ¬«Γ«α«⌐
  821. »α¿¡áñ½Ñª¿Γ ΓѬπΘ¿⌐ »α«µÑßß, º¡áτÑ¡¿ε ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ßἫú« »α«µÑßßá ¿ ó«ºó-
  822. αáΘáÑΓ ¡«ó«Ñ º¡áτÑ¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá úαπ»»δ.
  823.  
  824.  
  825.     EsetuidF
  826.       ______________________________
  827.  
  828.       setuid(uid)
  829.       int uid;
  830.  
  831.       setgid(gid)
  832.       int gid;
  833.  
  834.     öπ¡¬µ¿∩ setuid πßΓá¡áó½¿óáÑΓ º¡áτÑ¡¿∩ Σá¬Γ¿τÑ߬«ú« ¿ ¿ß»«½¡¿Γѽ∞¡«ú« ¬«-
  835. ñ«ó  ¿ñÑ¡Γ¿Σ¿¬áµ¿¿  »«½∞º«óáΓѽ∩  ΓѬπΘÑú« »α«µÑßßá. àß½¿ óδºδóáεΘ¿⌐ »α«µÑßß
  836. ¿ß»«½¡∩ÑΓß∩ »«ñ π»αáó½Ñ¡¿Ñ¼ ßπ»Ñα»«½∞º«óáΓѽ∩, Σπ¡¬µ¿∩  ßíαáßδóáÑΓ  º¡áτÑ¡¿∩
  837. π¬áºá¡¡δσ  ¬«ñ«ó.  é  »α«Γ¿ó¡«¼  ß½πτáÑ,  Ñß½¿ Σá¬Γ¿τÑ߬¿⌐ ¬«ñ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿
  838. »«½∞º«óáΓѽ∩ ¿¼ÑÑΓ º¡áτÑ¡¿Ñ, αáó¡«Ñ º¡áτÑ¡¿ε uid, Σπ¡¬µ¿∩ setuid ñѽáÑΓ αáó-
  839. ¡δ¼ φΓ«¼π º¡áτÑ¡¿ε ¿ ¿ß»«½¡¿Γѽ∞¡δ⌐ ¬«ñ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿  »«½∞º«óáΓѽ∩.  Æ«  ªÑ
  840. ßἫѠ »α«¿ßσ«ñ¿Γ, Ñß½¿ º¡áτÑ¡¿ε uid αáóÑ¡ ¬«ñ, ß«σαá¡Ñ¡¡δ⌐ »«ß½Ñ óδ»«½¡Ñ¡¿∩
  841. setuid-»α«úαá¼¼δ, ºá»π߬áѼ«⌐ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ exec. öπ¡¬µ¿∩  setgid  ¿¼ÑÑΓ
  842. ëàªÑ ß¼δß½ »« «Γ¡«ΦÑ¡¿ε ¬ á¡á½«ú¿τ¡δ¼ úαπ»»«óδ¼ ¬«ñá¼.
  843.  
  844.  
  845.     EshmctlF
  846.       ______________________________
  847.  
  848.       #include <sys/types.h>
  849.       #include <sys/ipc.h>
  850.       #include <sys/shm.h>
  851.  
  852.       shmctl(id,cmd,buf)
  853.       int id,cmd;
  854.       struct shmid_ds *buf;
  855.  
  856.     öπ¡¬µ¿∩ shmctl óδ»«½¡∩ÑΓ αẽ¿τ¡δÑ «»Ñαᵿ¿ ¡áñ «í½áßΓ∞ε αáºñѽ∩Ѽ«⌐ »á-
  857. ¼∩Γ¿,  áßß«µ¿¿α«óá¡¡«⌐  ß  ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id. æΓαπ¬Γπαá shmid_ds «»αÑñѽѡá
  858. ß½ÑñπεΘ¿¼ «íαẫ¼:
  859.  
  860.       struct shmid_ds {
  861.             struct ipc_perm   shm_perm;   /* ßΓαπ¬Γπαá, «»¿ßδóáε-
  862.                                              Θá∩ »αáóá ñ«ßΓπ»á */
  863.             int               shm_segsz;  /* αẼÑα ßÑú¼Ñ¡Γá */
  864.             int *             pad1;       /* ¿ß»«½∞ºπÑΓß∩  ß¿ßΓÑ-
  865.                                              ¼«⌐ */
  866.             ushort            shm_lpid;   /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α   »α«-
  867.                                              µÑßßá, ßó∩ºá¡¡«ú«  ß
  868.  
  869.                                     413
  870.  
  871.                                              »«ß½Ññ¡Ñ⌐  «»ÑαᵿÑ⌐
  872.                                              ¡áñ «í½áßΓ∞ε */
  873.             ushort            shm_cpid;   /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α   »α«-
  874.                                              µÑßßá-ß«ºñáΓѽ∩ */
  875.             ushort            shm_nattch; /* ¬«½¿τÑßΓó« »α¿ß«Ññ¿-
  876.                                              ¡Ñ¡¿⌐ ¬ »α«µÑßßá¼ */
  877.             short             pad2;       /* ¿ß»«½∞ºπÑΓß∩  ß¿ßΓÑ-
  878.                                              ¼«⌐ */
  879.             time_t            shm_atime;  /* óαѼ∩     »«ß½Ññ¡Ñú«
  880.                                              »α¿ß«Ññ¿¡Ñ¡¿∩ */
  881.             time_t            shm_dtime;  /* óαѼ∩     »«ß½Ññ¡Ñú«
  882.                                              «Γß«Ññ¿¡Ñ¡¿∩ */
  883.             time_t            shm_ctime;  /* óαѼ∩     »«ß½Ññ¡Ñú«
  884.                                              ó¡ÑßÑ¡¿∩     ¿º¼Ñ¡Ñ-
  885.                                              ¡¿⌐ */
  886.       };
  887.  
  888.     Ä»Ñαᵿ¿:
  889.  
  890.       IPC_STAT    »α«τ¿ΓáΓ∞  ó íπΣÑα buf ß«ñÑন¼«Ñ ºáú«½«ó¬á «í-
  891.                   ½áßΓ¿, áßß«µ¿¿α«óá¡¡«⌐ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id
  892.       IPC_SET     πßΓá¡«ó¿Γ∞  º¡áτÑ¡¿∩  »ÑαѼѡ¡δσ  shm_perm.uid,
  893.                   shm_perm.gid ¿ shm_perm.mode (9 ¼½áñΦ¿σ  αáºα∩-
  894.                   ñ«ó ßΓαπ¬Γπαδ)  ó ºáú«½«ó¬Ñ «í½áßΓ¿ ó ß««ΓóÑΓß-
  895.                   Γó¿¿ ß ß«ñÑন¼δ¼ íπΣÑαá buf
  896.       IPC_RMID    πñ὿Γ∞ ¿º ß¿ßΓÑ¼δ «í½áßΓ∞  αáºñѽ∩Ѽ«⌐ »á¼∩Γ¿,
  897.                   áßß«µ¿¿α«óá¡¡«⌐ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id
  898.  
  899.  
  900.     EshmgetF
  901.       ______________________________
  902.  
  903.       #include <sys/types.h>
  904.       #include <sys/ipc.h>
  905.       #include <sys/shm.h>
  906.  
  907.       shmget(key,size,flag)
  908.       key_t key;
  909.       int size,flag;
  910.  
  911.     öπ¡¬µ¿∩ shmget «íαáΘáÑΓß∩ ¬ «í½áßΓ¿ αáºñѽ∩Ѽ«⌐ »á¼∩Γ¿ ¿½¿  ß«ºñáÑΓ  ÑÑ.
  912. Åáαá¼ÑΓα size ºáñáÑΓ αẼÑα «í½áßΓ¿ ó íá⌐Γáσ. Åáαá¼ÑΓαδ key ¿ flag ¿¼ÑεΓ Γ«Γ
  913. ªÑ ß¼δß½, τΓ« ¿ ó Σπ¡¬µ¿¿ msgget.
  914.  
  915.  
  916.     EshmopF
  917.       ______________________________
  918.  
  919.       #include <sys/types.h>
  920.       #include <sys/ipc.h>
  921.       #include <sys/shm.h>
  922.  
  923.       shmat(id,addr,flag)
  924.       int id,flag;
  925.       char *addr;
  926.  
  927.       shmdt(addr)
  928.       char *addr;
  929.  
  930.  
  931.                                     414
  932.  
  933.     öπ¡¬µ¿∩ shmat »α¿ß«Ññ¿¡∩ÑΓ «í½áßΓ∞ αáºñѽ∩Ѽ«⌐ »á¼∩Γ¿, áßß«µ¿¿α«óá¡¡πε ß
  934. ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼  id,  ¬  áñαÑß¡«¼π »α«ßΓαá¡ßΓóπ »α«µÑßßá. àß½¿ »áαá¼ÑΓα addr
  935. ¿¼ÑÑΓ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, ∩ñα« ßἫ óδí¿αáÑΓ ñ½∩ »α¿ß«Ññ¿¡Ñ¡¿∩ «í½áßΓ¿  »«ñσ«-
  936. ñ∩Θ¿⌐ áñαÑß. é »α«Γ¿ó¡«¼ ß½πτáÑ «¡« »δΓáÑΓß∩ »α¿ß«Ññ¿¡¿Γ∞ «í½áßΓ∞, ¿ß»«½∞ºπ∩
  937. ó  ¬áτÑßΓóÑ º¡áτÑ¡¿Ñ »áαá¼ÑΓαá addr ó ¬áτÑßΓóÑ áñαÑßá. àß½¿ ó »áαá¼ÑΓαÑ flag
  938. πßΓá¡«ó½Ñ¡ í¿Γ SHM_RND, ∩ñα« ó ß½πτáÑ ¡Ñ«íσ«ñ¿¼«ßΓ¿ «¬απú½∩ÑΓ áñαÑß. öπ¡¬µ¿∩
  939. shmat ó«ºóαáΘáÑΓ áñαÑß, »« ¬«Γ«α«¼π «í½áßΓ∞ »α¿ß«Ññ¿¡∩ÑΓß∩ Σá¬Γ¿τÑ߬¿.
  940.     öπ¡¬µ¿∩ shmdt «Γß«Ññ¿¡∩ÑΓ «í½áßΓ∞ αáºñѽ∩Ѽ«⌐ »á¼∩Γ¿, »α¿ß«Ññ¿¡Ñ¡¡πε αá-
  941. ¡ÑÑ »« áñαÑßπ addr.
  942.  
  943.  
  944.     EsignalF
  945.       ______________________________
  946.  
  947.       #include <signal.h>
  948.  
  949.       signal(sig,function)
  950.       int sig;
  951.       void (*func)();
  952.  
  953.     öπ¡¬µ¿∩ signal ñáÑΓ ΓѬπΘѼπ »α«µÑßßπ ó«º¼«ª¡«ßΓ∞  π»αáó½∩Γ∞  «íαáí«Γ¬«⌐
  954. ß¿ú¡á½«ó. Åáαá¼ÑΓα sig ¼«ªÑΓ »α¿¡¿¼áΓ∞ ß½ÑñπεΘ¿Ñ º¡áτÑ¡¿∩:
  955.  
  956.       SIGHUP    "ºáó¿ßá¡¿Ñ"
  957.       SIGINT    »αÑαδóá¡¿Ñ
  958.       SIGQUIT   »αѬαáΘÑ¡¿Ñ αáí«Γδ
  959.       SIGILL    ºá»αÑΘÑ¡¡á∩ ¬«¼á¡ñá
  960.       SIGTRAP   ó¡πΓαÑ¡¡ÑÑ »αÑαδóá¡¿Ñ, ßó∩ºá¡¡«Ñ ß Γαáßß¿α«ó¬«⌐
  961.       SIGIOT    ¿¡ßΓαπ¬µ¿∩ IOT
  962.       SIGEMT    ¿¡ßΓαπ¬µ¿∩ EMT
  963.       SIGFPE    «ß«íá∩ ß¿Γπᵿ∩ »α¿ αáí«ΓÑ  ß τ¿ß½á¼¿ ß »½áóáεΘÑ⌐ ºá»∩Γ«⌐
  964.       SIGKILL   πñá½Ñ¡¿Ñ ¿º ß¿ßΓѼδ
  965.       SIGBUS    «Φ¿í¬á ó Φ¿¡Ñ
  966.       SIGSEGV   ¡áαπΦÑ¡¿Ñ ßÑú¼Ñ¡Γᵿ¿
  967.       SIGSYS    ¡Ññ«»πßΓ¿¼δ⌐ áαúπ¼Ñ¡Γ ó ó맮óÑ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿
  968.       SIGPIPE   ºá»¿ß∞ ó ¬á¡á½ »α¿ «ΓßπΓßΓó¿¿ ßτ¿ΓδóáεΘ¿σ »α«µÑßß«ó
  969.       SIGALRM   ß¿ú¡á½ ΓαÑó«ú¿
  970.       SIGTERM   ºáóÑαΦÑ¡¿Ñ »α«úαá¼¼δ
  971.       SIGUSR1   ß¿ú¡á½, «»αÑñѽ∩Ѽδ⌐ »«½∞º«óáΓѽѼ
  972.       SIGUSR2   óΓ«α«⌐ ß¿ú¡á½, «»αÑñѽ∩Ѽδ⌐ »«½∞º«óáΓѽѼ
  973.       SIGCLD    ú¿íѽ∞ »«Γ«¼¬á
  974.       SIGPWR    «Γ¬áº »¿Γá¡¿∩
  975.  
  976.     Åáαá¼ÑΓα function ¿¡ΓÑα»αÑΓ¿απÑΓß∩ ß½ÑñπεΘ¿¼ «íαẫ¼:
  977.       SIG_DFL   ñÑ⌐ßΓó¿Ñ  »«  π¼«½τá¡¿ε. Äº¡áτáÑΓ ºáóÑαΦÑ¡¿Ñ »α«-
  978.                 µÑßßá ó ß½πτáÑ »«ßΓπ»½Ñ¡¿∩ ½εíδσ ß¿ú¡á½«ó, ºá ¿ß-
  979.                 ¬½ετÑ¡¿Ñ¼ SIGPWR ¿ SIGCLD.  àß½¿ ß¿ú¡á½ ¿¼ÑÑΓ Γ¿»
  980.                 SIGQUIT, SIGILL, SIGTRAP, SIGIOT, SIGEMT, SIGFPE,
  981.                 SIGBUS, SIGSEGV   ¿½¿   SIGSYS,   ß«ºñáÑΓß∩  Σá⌐½
  982.                 "core", ß«ñÑαªáΘ¿⌐ ñá¼» «íαáºá »α«µÑßßá ó »á¼∩Γ¿
  983.       SIG_IGN   ¿ú¡«α¿α«óáΓ∞ »«ßΓπ»½Ñ¡¿Ñ ß¿ú¡á½á
  984.       Σπ¡¬µ¿∩   áñαÑß »α«µÑñπαδ ó »α«ßΓαá¡ßΓóÑ »α«µÑßßá.  Å« ó«º-
  985.                 óαáΘÑ¡¿¿ ó  αѪ¿¼ ºáñáτ¿ »α«¿ºó«ñ¿Γß∩ «íαáΘÑ¡¿Ñ ¬
  986.                 π¬áºá¡¡«⌐ Σπ¡¬µ¿¿ ß »ÑαÑñáτÑ⌐ Ñ⌐ ¡«¼Ñαá ß¿ú¡á½á ó
  987.                 ¬áτÑßΓóÑ áαúπ¼Ñ¡Γá. àß½¿ ß¿ú¡á½ ¿¼ÑÑΓ Γ¿», «Γ½¿τ-
  988.                 ¡δ⌐ «Γ SIGILL,  SIGTRAP ¿ SIGPWR,  ∩ñα« áóΓ«¼áΓ¿-
  989.                 τÑ߬¿ »ÑαÑπßΓá¡áó½¿óáÑΓ  ¿¼∩  »α«úαá¼¼δ «íαáí«Γ¬¿
  990.                 ß¿ú¡á½á ó SIG_DFL. æ¿ú¡á½δ Γ¿»á SIGKILL »α«µÑßß«¼
  991.                 ¡Ñ «íαáíáΓδóáεΓß∩
  992.  
  993.                                     415
  994.  
  995.  
  996.  
  997. .te1    EstatF
  998.       ______________________________
  999.  
  1000.       stat(filename,statbuf)
  1001.       char *filename;
  1002.       struct stat *statbuf;
  1003.  
  1004.       fstat(fd,statbuf)
  1005.       int fd;
  1006.       struct stat *statbuf;
  1007.  
  1008.     öπ¡¬µ¿∩ stat ó«ºóαáΘáÑΓ ¿¡Σ«α¼áµ¿ε « ßΓáΓπßÑ (ß«ßΓ«∩¡¿¿) π¬áºá¡¡«ú« Σá⌐-
  1009. ½á. öπ¡¬µ¿∩ fstat óδ»«½¡∩ÑΓ Γ« ªÑ ßἫѠó «Γ¡«ΦÑ¡¿¿ «Γ¬αδΓ«ú« Σá⌐½á, ¿¼ÑεΘÑ-
  1010. ú« ñÑß¬α¿»Γ«α fd. æΓαπ¬Γπαá statbuf «»αÑñѽѡá ß½ÑñπεΘ¿¼ «íαẫ¼:
  1011.  
  1012.       struct stat {
  1013.             dev_t   st_dev;   /* ¡«¼Ñα πßΓα«⌐ßΓóá, ¡á ¬«Γ«α«¼ ¡á-
  1014.                                  σ«ñ¿Γß∩ Σá⌐½ */
  1015.             ino_t   st_ino;   /* ¡«¼Ñα ¿¡ñѬßá */
  1016.             ushort  st_mode;  /* Γ¿» Σá⌐½á  (ß¼. mknod)  ¿  »αáóá
  1017.                                  ñ«ßΓπ»á ¬ ¡Ñ¼π (ß¼. chmod) */
  1018.             short   st_nlink; /* τ¿ß½«  ßó∩ºÑ⌐,  π¬áºδóáεΘ¿σ ¡á Σá⌐½ */
  1019.             ushort  st_uid;   /* ¬«ñ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ ó½áñѽ∞µá Σá⌐½á */
  1020.             ushort  st_gid;   /* ¬«ñ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ úαπ»»δ */
  1021.             dev_t   st_rdev;  /* ßΓáαΦ¿⌐ ¿ ¼½áñΦ¿⌐ ¡«¼Ñαá πßΓα«⌐ßΓóá */
  1022.             off_t   st_size;  /* αẼÑα ó íá⌐Γáσ */
  1023.             time_t  st_atime; /* óαѼ∩ »«ß½Ññ¡Ñú« «íαáΘÑ¡¿∩ */
  1024.             time_t  st_mtime; /* óαѼ∩ »«ß½Ññ¡Ñú« ó¡ÑßÑ¡¿∩  ¿º¼Ñ¡Ñ¡¿⌐ */
  1025.             time_t  st_ctime; /* óαѼ∩ »«ß½Ññ¡Ñú« ¿º¼Ñ¡Ñ¡¿∩  ßΓáΓπßá */
  1026.       };
  1027.  
  1028.  
  1029.     EstimeF
  1030.       ______________________________
  1031.  
  1032.       stime(tptr)
  1033.       long *tptr;
  1034.  
  1035.     öπ¡¬µ¿∩  stime  πßΓá¡áó½¿óáÑΓ  ß¿ßΓѼ¡«Ñ  óαѼ∩ ¿ ñáΓπ ó ß««ΓóÑΓßΓó¿Ñ ß«
  1036. º¡áτÑ¡¿Ñ¼, π¬áºá¡¡δ¼ ó »áαá¼ÑΓαÑ  tptr.  éαѼ∩  π¬áºδóáÑΓß∩  ó  ßѬπ¡ñáσ  «Γ
  1037. 00:00:00 1 ∩¡óáα∩ 1970 ú«ñá »« âα¿¡ó¿τπ.
  1038.  
  1039.  
  1040.     EsyncF
  1041.       ______________________________
  1042.  
  1043.       sync()
  1044.  
  1045.     öπ¡¬µ¿∩  sync óδúαπªáÑΓ ß«ñÑαªáΘπεß∩ ó ß¿ßΓѼ¡δσ íπΣÑαáσ ¿¡Σ«α¼áµ¿ε («Γ-
  1046. ¡«ß∩Θπεß∩ ¬ Σá⌐½«ó«⌐ ß¿ßΓѼÑ) ¡á ñ¿ß¬.
  1047.  
  1048.  
  1049.     EtimeF
  1050.       ______________________________
  1051.  
  1052.       time(tloc)
  1053.  
  1054.  
  1055.                                     416
  1056.  
  1057.       long *tloc;
  1058.  
  1059.     öπ¡¬µ¿∩ time ó«ºóαáΘáÑΓ ß¿ßΓѼ¡«Ñ óαѼ∩ ó ßѬπ¡ñáσ «Γ 00:00:00 1  ∩¡óáα∩
  1060. 1970 ú«ñá »« âα¿¡ó¿τπ.
  1061.  
  1062.  
  1063.     EtimesF
  1064.       ______________________________
  1065.  
  1066.       #include <sys/types.h>
  1067.       #include <sys/times.h>
  1068.  
  1069.       times(tbuf)
  1070.       struct tms *tbuf;
  1071.  
  1072.     öπ¡¬µ¿∩  times  ó«ºóαáΘáÑΓ  óαѼ∩ ó Γá⌐¼Ñα¡δσ Γ¿¬áσ, αÑá½∞¡« »α«ΦÑñΦÑÑ ß
  1073. ½εí«ú« »α«¿ºó«½∞¡«ú« ¼«¼Ñ¡Γá ó »α«Φ½«¼, ¿  ºá»«½¡∩ÑΓ  íπΣÑα  tbuf  ß½ÑñπεΘÑ⌐
  1074. πτÑΓ¡«⌐ ¿¡Σ«α¼áµ¿Ñ⌐:
  1075.  
  1076.       struct tms {
  1077.             time_t   tms_utime;  /* »α«ñ«½ª¿Γѽ∞¡«ßΓ∞ ¿ß»«½∞º«óá-
  1078.                                     ¡¿∩ ûÅ ó αѪ¿¼Ñ ºáñáτ¿ */
  1079.             time_t   tms_stime;  /* »α«ñ«½ª¿Γѽ∞¡«ßΓ∞ ¿ß»«½∞º«óá-
  1080.                                     ¡¿∩ ûÅ ó αѪ¿¼Ñ ∩ñαá */
  1081.             time_t   tms_cutime; /* ßπ¼¼á  º¡áτÑ¡¿⌐  tms_utime  ¿
  1082.                                     tms_cutime π »«Γ«¼¬«ó */
  1083.             time_t   tms_sutime; /* ßπ¼¼á  º¡áτÑ¡¿⌐  tms_stime  ¿
  1084.                                     tms_sutime π »«Γ«¼¬«ó */
  1085.       };
  1086.  
  1087.  
  1088.     EulimitF
  1089.       ______________________________
  1090.  
  1091.       ulimit(cmd,limit)
  1092.       int cmd;
  1093.       long limit;
  1094.  
  1095.     öπ¡¬µ¿∩ ulimit ñáÑΓ »α«µÑßßπ ó«º¼«ª¡«ßΓ∞ πßΓá¡áó½¿óáΓ∞ αẽ¿τ¡δÑ «úαá¡¿-
  1096. τÑ¡¿∩ ó ºáó¿ß¿¼«ßΓ¿ «Γ º¡áτÑ¡¿∩ »áαá¼ÑΓαá cmd:
  1097.  
  1098.       1  óÑα¡πΓ∞ ¼á¬ß¿¼á½∞¡δ⌐ αẼÑα Σá⌐½á (ó í½«¬áσ »« 512 íá⌐Γ), ó ¬«Γ«αδ⌐
  1099.            »α«µÑßß ¼«ªÑΓ óÑßΓ¿ ºá»¿ß∞
  1100.       2 πßΓá¡«ó¿Γ∞ «úαá¡¿τÑ¡¿Ñ ßóÑασπ ¡á αẼÑα Σá⌐½á αáó¡δ¼ º¡áτÑ¡¿ε  »áαá-
  1101.            ¼ÑΓαá limit
  1102.       3  óÑα¡πΓ∞  º¡áτÑ¡¿Ñ  óÑασ¡Ñ⌐ Γ«τ¬¿ »αÑαδóá¡¿∩ (¼á¬ß¿¼á½∞¡δ⌐ ñ«ßΓπ»¡δ⌐
  1103.            áñαÑß ó «í½áßΓ¿ ñá¡¡δσ)
  1104.  
  1105.  
  1106.     EumaskF
  1107.       ______________________________
  1108.  
  1109.       umask(mask)
  1110.       int mask;
  1111.  
  1112.     öπ¡¬µ¿∩ umask πßΓá¡áó½¿óáÑΓ º¡áτÑ¡¿Ñ ¼á߬¿, «»¿ßδóáεΘÑ⌐  αѪ¿¼  ß«ºñá¡¿∩
  1113. Σá⌐½á (mask), ¿ ó«ºóαáΘáÑΓ ßΓáα«Ñ º¡áτÑ¡¿Ñ. Åα¿ ß«ºñá¡¿¿ Σá⌐½á í¿Γδ αáºαÑΦÑ-
  1114. ¡¿∩ ñ«ßΓπ»á, ¬«Γ«αδ¼ ß««ΓóÑΓßΓóπεΓ πßΓá¡«ó½Ñ¡¡δÑ αáºα∩ñδ ó mask, íπñπΓ ßíα«-
  1115. ΦÑ¡δ.
  1116.  
  1117.                                     417
  1118.  
  1119.  
  1120.     EumountF
  1121.       ______________________________
  1122.  
  1123.       umount(specialfile)
  1124.       char *specialfile
  1125.  
  1126.     öπ¡¬µ¿∩  umount óδ»«½¡∩ÑΓ ñѼ«¡Γ¿α«óá¡¿Ñ Σá⌐½«ó«⌐ ß¿ßΓѼδ, αáß»«½«ªÑ¡¡«⌐
  1127. ¡á πßΓα«⌐ßΓóÑ óó«ñá-óδó«ñá í½«¬á¼¿ specialfile.
  1128.  
  1129.  
  1130.     EunameF
  1131.       ______________________________
  1132.  
  1133.       #include <sys/utsname.h>
  1134.  
  1135.       uname(name)
  1136.       struct utsname *name;
  1137.  
  1138.     öπ¡¬µ¿∩ uname ó«ºóαáΘáÑΓ ¿¡Σ«α¼áµ¿ε, ¿ñÑ¡Γ¿Σ¿µ¿απεΘπε ß¿ßΓѼπ ó ß««ΓóÑΓ-
  1139. ßΓó¿¿ ß« ß½ÑñπεΘÑ⌐ ßΓαπ¬Γπα«⌐:
  1140.  
  1141.       struct utsname {
  1142.             char   sysname[9];  /* ¡á¿¼Ñ¡«óá¡¿Ñ */
  1143.             char   nodename[9]; /* ¿¼∩ ßÑΓÑó«ú« πº½á */
  1144.             char   release[9];  /* ¿¡Σ«α¼áµ¿∩ « óÑαß¿¿ ß¿ßΓѼδ */
  1145.             char   version[9];  /* ñ«»«½¡¿Γѽ∞¡á∩  ¿¡Σ«α¼áµ¿∩ « óÑαß¿¿ */
  1146.             char   machine[9];  /* ΓÑσ¡¿τÑ߬¿⌐ ¬«¼»½Ñ¬ß */
  1147.       };
  1148.  
  1149.  
  1150.     EunlinkF
  1151.       ______________________________
  1152.  
  1153.       unlink(filename)
  1154.       char *filename;
  1155.  
  1156.     öπ¡¬µ¿∩ unlink πñá½∩ÑΓ ¿º ¬áΓὫúᠺỿß∞ «í π¬áºá¡¡«¼ Σá⌐½Ñ.
  1157.  
  1158.  
  1159.     EustatF
  1160.       ______________________________
  1161.  
  1162.       #include <sys/types.h>
  1163.       #include <ustat.h>
  1164.  
  1165.       ustat(dev,ubuf)
  1166.       int dev;
  1167.       struct ustat *ubuf;
  1168.  
  1169.     öπ¡¬µ¿∩ ustat ó«ºóαáΘáÑΓ ßΓáΓ¿ßΓ¿τÑ߬¿Ñ ñá¡¡δÑ, σáαá¬ΓÑਧπεΘ¿Ñ Σá⌐½«óπε
  1170. ß¿ßΓѼπ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ dev (ßΓáαΦ¿⌐ ¿ ¼½áñΦ¿⌐ ¡«¼Ñαá πßΓα«⌐ßΓóá).  æΓαπ¬-
  1171. Γπαá ustat «»αÑñѽѡá ß½ÑñπεΘ¿¼ «íαẫ¼:
  1172.  
  1173.       struct ustat {
  1174.             daddr_t  f_tfree;     /* ¬«½¿τÑßΓó«  ßó«í«ñ¡δσ   í½«¬«ó */
  1175.             ino_t    f_tinode;    /* ¬«½¿τÑßΓó«  ßó«í«ñ¡δσ ¿¡ñѬ߫ó */
  1176.             char     f_fname[6];  /* ¡á¿¼Ñ¡«óá¡¿Ñ Σá⌐½«ó«⌐ ß¿ßΓѼδ */
  1177.             char     f_fpack[6];  /* ß«¬αáΘÑ¡¡«Ñ    (π»á¬«óá¡¡«Ñ)
  1178.  
  1179.                                     418
  1180.  
  1181.                                      ¿¼∩ Σá⌐½«ó«⌐ ß¿ßΓѼδ */
  1182.       };
  1183.  
  1184.  
  1185.     EutimeF
  1186.       ______________________________
  1187.  
  1188.       #include <sys/types.h>
  1189.  
  1190.       utime(filename,times)
  1191.       char *filename;
  1192.       struct utimbuf *times;
  1193.  
  1194.     öπ¡¬µ¿∩  utime »ÑαÑπßΓá¡áó½¿óáÑΓ óαѼ∩ »«ß½Ññ¡Ñú« «íαáΘÑ¡¿∩ ¬ π¬áºá¡¡«¼π
  1195. Σá⌐½π ¿ »«ß½Ññ¡Ñú« ó¡ÑßÑ¡¿∩ ¿º¼Ñ¡Ñ¡¿⌐ ó ß««ΓóÑΓßΓó¿¿ ß« º¡áτÑ¡¿∩¼¿, ¡á ¬«Γ«-
  1196. αδÑ π¬áºδóáÑΓ »áαá¼ÑΓα times. àß½¿ »áαá¼ÑΓα ß«ñÑαª¿Γ ¡π½Ñó«Ñ  º¡áτÑ¡¿Ñ,  ¿ß-
  1197. »«½∞ºπÑΓß∩ ΓѬπΘÑÑ óαѼ∩. é »α«Γ¿ó¡«¼ ß½πτáÑ »áαá¼ÑΓα π¬áºδóáÑΓ ¡á ß½ÑñπεΘπε
  1198. ßΓαπ¬Γπαπ:
  1199.  
  1200.       struct utimbuf {
  1201.             time_t   axtime;   /* óαѼ∩ »«ß½Ññ¡Ñú« «íαáΘÑ¡¿∩ */
  1202.             time_t   modtime;  /* óαѼ∩ »«ß½Ññ¡Ñú« ó¡ÑßÑ¡¿∩ ¿º¼Ñ¡Ñ¡¿⌐ */
  1203.       };
  1204.  
  1205.     éßÑ º¡áτÑ¡¿∩ «Γßτ¿ΓδóáεΓß∩ «Γ 00:00:00 1 ∩¡óáα∩ 1970 ú«ñá »« âα¿¡ó¿τπ.
  1206.  
  1207.  
  1208.     EwaitF
  1209.       ______________________________
  1210.  
  1211.       wait(wait_stat)
  1212.       int *wait_stat;
  1213.  
  1214.     öπ¡¬µ¿∩  wait »«íπªñáÑΓ »α«µÑßß »α¿«ßΓá¡«ó¿Γ∞ ßó«Ñ óδ»«½¡Ñ¡¿Ñ ñ« ¼«¼Ñ¡Γá
  1215. ºáóÑαΦÑ¡¿∩ »«Γ«¼¬á ¿½¿ ñ« ¼«¼Ñ¡Γá »α¿«ßΓá¡«óá Γαáßß¿απѼ«ú«  »α«µÑßßá.  àß½¿
  1216. º¡áτÑ¡¿Ñ »áαá¼ÑΓαá wait_stat ¡Ñ¡π½Ñó«Ñ, «¡« »αÑñßΓáó½∩ÑΓ ß«í«⌐ áñαÑß, »« ¬«-
  1217. Γ«α«¼π Σπ¡¬µ¿∩ ºá»¿ßδóáÑΓ ó«ºóαáΘáѼπε »α«µÑßßπ ¿¡Σ«α¼áµ¿ε. Åα¿ φΓ«¼ ¿ß»«½∞-
  1218. ºπεΓß∩  Γ«½∞¬« 16 ¼½áñΦ¿σ αáºα∩ñ«ó ¬«ñá ó«ºóαáΓá. àß½¿ «í¡áαπªÑ¡ ºáóÑαΦ¿óΦ¿⌐
  1219. ßó«Ñ óδ»«½¡Ñ¡¿Ñ »«Γ«¼«¬, 8 ¼½áñΦ¿σ αáºα∩ñ«ó ¬«ñá ó«ºóαáΓá ß«ñÑαªáΓ  0,  á  8
  1220. ßΓáαΦ¿σ αáºα∩ñ«ó - ¬«ñ ó«ºóαáΓá (áαúπ¼Ñ¡Γ) Σπ¡¬µ¿¿ exit. àß½¿ »«Γ«¼«¬ ºáóÑα-
  1221. Φ¿½  ßó«Ñ  óδ»«½¡Ñ¡¿Ñ  ó  αѺπ½∞ΓáΓÑ »«½πτÑ¡¿∩ ß¿ú¡á½á, ¬«ñ ó«ºóαáΓá Σπ¡¬µ¿¿
  1222. exit ß«ñÑαª¿Γ ¡«¼Ñα ß¿ú¡á½á. èα«¼Ñ Γ«ú«, Ñß½¿ «íαẠ»α«µÑßßá-»«Γ«¼¬á  ß«σαá-
  1223. ¡Ñ¡  ó Σá⌐½Ñ "core", »α«¿ºó«ñ¿Γß∩ πßΓá¡«ó¬á í¿Γá 0200. àß½¿ «í¡áαπªÑ¡ »α¿«ß-
  1224. Γá¡«ó¿óΦ¿⌐ ßó«Ñ óδ»«½¡Ñ¡¿Ñ Γαáßß¿απѼδ⌐ »α«µÑßß,  8  ßΓáαΦ¿σ  αáºα∩ñ«ó  ¬«ñá
  1225. ó«ºóαáΓá Σπ¡¬µ¿¿ wait ß«ñÑαªáΓ ¡«¼Ñα »α¿óÑñΦÑú« ¬ Ñú« »α¿«ßΓá¡«óπ ß¿ú¡á½á, á
  1226. 8 ¼½áñΦ¿σ αáºα∩ñ«ó - ó«ß∞¼¿α¿τ¡«Ñ τ¿ß½« 0177.
  1227.  
  1228.  
  1229.     EwriteF
  1230.       ______________________________
  1231.  
  1232.       write(fd,buf,count)
  1233.       int fd,count;
  1234.       char *buf;
  1235.  
  1236.     öπ¡¬µ¿∩  write  óδ»«½¡∩ÑΓ ºá»¿ß∞ π¬áºá¡¡«ú« ó count ¬«½¿τÑßΓóá íá⌐Γ ñá¡-
  1237. ¡δσ, ¡áτ¿¡á∩ ß áñαÑßá buf, ó Σá⌐½ ß ñÑß¬α¿»Γ«α«¼ fd.
  1238.  
  1239.  
  1240.  
  1241.                                     419
  1242.  
  1243.  
  1244.     EüêüïêÄâÉÇöêƒF
  1245.  
  1246.  
  1247.     [Babaoglu 81] Babaoglu, O., and W.Joy, "Converting a  Swap-Based  System
  1248.           to  do  Paging  in  an Architecture Lacking Page-Referenced Bits",
  1249.           Proceedings of the 8th Symposium on Operating Systems  Principles,
  1250.           ACM Operating Systems Review, Vol. 15(5), Dec. 1981, pp. 78-86.
  1251.     [Bach  84]  Bach,  M.J.,  and S.J.Buroff, "Multiprocessor UNIX Systems",
  1252.           AT&T Bell Laboratories Technical Journal, Oct. 1984, Vol. 63,  No.
  1253.           8, Part 2, pp. 1733-1750.
  1254.     [Barak  80]  Barak, A.B. and Aapir, "UNIX with Satellite Processors",
  1255.           Software - Practice and Experience, Vol. 10, 1980, pp. 383-392.
  1256.     [Beck  85]  Beck,  B.  and  B.Kasten,  "VLSI  Assist   in   Building   a
  1257.           Multiprocessor UNIX System", Proceedings of the USENIX Association
  1258.           Summer Conference, June 1985, pp. 255-275.
  1259.     [Berkeley   83]   UNIX   Programmer's   Manual,  4.2  Berkeley  Software
  1260.           Distribution, Virtual VAX-11 Version, Computer  Science  Division,
  1261.           Department   of   Electrical  Engineering  and  Computer  Science,
  1262.           University of California at Berkeley, August 1983.
  1263.     [Birrell  84]  Birrell,  A.D.  and  B.J.Nelson,   "Implementing   Remote
  1264.           Procedure  Calls",  ACM  Transactions on Computer Systems, Vol. 2,
  1265.           No. 1, Feb. 1984, pp. 39-59.
  1266.     [Bodenstab 84] Bodenstab, D.E.,  T.F.Houghton,  K.A.Kelleman,  G.Ronkin,
  1267.           and  E.P.Schan,  "UNIX Operating System Porting Experiences", AT&T
  1268.           Bell Laboratories Technical Journal, Vol. 63, No.  8,  Oct.  1984,
  1269.           pp. 1769-1790.
  1270.     [Bourne  78]  Bourne,  S.R., "The UNIX Shell", The Bell System Technical
  1271.           Journal, July-August 1978, Vol. 57, No. 6, Part 2, pp. 1971-1990.
  1272.     [Bourne 83] Bourne, S.R., The UNIX System, Addison-Wesley, Reading,  MA,
  1273.           1983.
  1274.     [Brownbridge  82]  Brownbridge,  D.R., L.F.Marshall, and B.Randell, "The
  1275.           Newcastle Connection or UNIXes of the World Unite!" in Software  -
  1276.           Practice and Experience, Vol. 12, 1982, pp. 1147-1162.
  1277.     [Bunt  76]  Bunt,  R.B.,  "Scheduling Techniques for Operating Systems",
  1278.           Computer, Oct. 1976, pp. 10-17.
  1279.     [Christian 83] Christian, K., The UNIX Operating System,  John  Wiley  &
  1280.           Sons Inc., New York, NY, 1983.
  1281.     [Coffman  73]  Coffman, E.G., and P.J.Denning, Operating Systems Theory,
  1282.           Prentice-Hall Inc., Englewood Cliffs, NJ, 1973.
  1283.     [Cole 85] Cole, C.T., P.B.Flinn, and A.B.Atlas, "An Implementation of an
  1284.           Extended  File  System  for  UNIX",  Proceedings  of  the   USENIX
  1285.           Conference, Summer 1985, pp. 131-149.
  1286.     [Denning 68] Denning, P.J., "The Working Set Model for Program Behavior,
  1287.           Communications  of  the  ACM,  Volume  11,  No.  5,  May 1968, pp.
  1288.           323-333.
  1289.     [Dijkstra 65] Dijkstra, E.W.,  "Solution  of  a  Problem  in  Concurrent
  1290.           Program Control", CACM, Vol. 8, No. 9, Sept. 1965, p. 569.
  1291.     [Dijkstra  68]  Dijkstra,  E.W.,  "Cooperating Sequential Processes", in
  1292.           Programming Languages, ed. F.Genuys, Academic Press, New York, NY,
  1293.           1968.
  1294.     [Felton  84]  Felton,  W.A.,  G.L.Miller,  and   J.M.Milner,   "A   UNIX
  1295.           Implementation  for  System/370", AT&T Bell Laboratories Technical
  1296.           Journal, Vol. 63, No. 8, Oct. 1984, pp. 1751- 1767.
  1297.     [Goble 81] Goble, G.H. and M.H.Marsh, "A  Dual  Processor  VAX  11/780",
  1298.           Purdue University Technical Report, TR-EE 81-31, Sept. 1981.
  1299.     [Henry   84]   Henry,  G.J.,  "The  Fair  Share  Scheduler",  AT&T  Bell
  1300.           Laboratories Technical Journal, Oct. 1984, Vol. 63, No. 8, Part 2,
  1301.           pp. 1845-1858.
  1302.  
  1303.                                     420
  1304.  
  1305.     [Holley 79] Holley, L.H., R.P421rmelee, C.A.Salisbury,  and  D.  N.Saul,
  1306.           "VM/370 Asymmetric Multiprocessing", IBM Systems Journal, Vol. 18,
  1307.           No. 1, 1979, pp. 47-70.
  1308.     [Holt  83]  Holt,  R.C.,  Concurrent Euclid, the UNIX System, and Tunis,
  1309.           Addison-Wesley, Reading, MA, 1983.
  1310.     [Horning  73]  Horning,  J.J.,  and  B.Randell,  "Process  Structuring",
  1311.           Computing Surveys, Vol. 5, No. 1, March 1973, pp. 5-30.
  1312.     [Hunter  84]  Hunter, C.B. and E.Farquhar, "Introduction to the NSI16000
  1313.           Architecture", IEEE Micro, April 1984, pp. 26- 47.
  1314.     [Johnson 78] Johnson, S.C. and D.M.Ritchie, "Portability of  C  Programs
  1315.           and  the UNIX System", The Bell System Technical Journal, Vol. 57,
  1316.           No. 6, Part 2, July-August, 1978, pp. 2021-2048.
  1317.     [Kavaler 83] Kavaler, P. and A.Greenspan, "Extending UNIX to  Local-Area
  1318.           Networks", Mini-Micro Systems, Sept. 1983, pp. 197-202.
  1319.     [Kernighan  78]  Kernighan,  B.W.,  and  D.M.Ritchie,  The C Programming
  1320.           Language, Prentice-Hall, Englewood Cliffs, NJ, 1978.
  1321.     [Kernighan  84]  Kernighan,  B.W.,  and  R.Pike,  The  UNIX  Programming
  1322.           Environment, Prentice-Hall, Englewood Cliffs, NJ, 1984.
  1323.     [Killian  84]  Killian,  T.J.,  "Processes as Files", Proceedings of the
  1324.           USENIX Conference, Summer 1984, pp. 203-207.
  1325.     [Levy  80]  Levy,  H.M.,  and  R.H.Eckhouse,  Computer  Programming  and
  1326.           Architecture: The VAX-11, Digital Press, Bedford, MA, 1980.
  1327.     [levy  82] Levy, H.M., and P.H.Lipman, "Virtual Memory Management in the
  1328.           VAX/VMS Operating System", Computer, Vol. 15, No. 3,  March  1982,
  1329.           pp. 35-41.
  1330.     [Lu 83] Lu, P.M., W.A.Dietrich, et. al., "Architecture of a VLSI MAP for
  1331.           BELLMAC-32 Microprocessor", Proc. of IEEE Spring Compcon, Feb. 28,
  1332.           1983, pp. 213-217.
  1333.     [Luderer  81]  Luderer,  G.W.R.,  H.Che,  J.P.Haggerty, P.A.Kirslis, and
  1334.           W.T.Marshall, "A  Distributed  UNIX  System  Based  on  a  Virtual
  1335.           Circuit  Switch", Proceedings of the Eighth Symposium on Operating
  1336.           Systems Principles, Asilomar, California, December 14-16, 1981.
  1337.     [Lycklama 78a] Lycklama, H. and D.L.Bayer, "The MERT Operating  System",
  1338.           The  Bell  System  Technical  Journal,  Vol.  57,  No.  6, Part 2,
  1339.           July-August 1978, pp. 2049-2086.
  1340.     [Lycklama 78b] Lycklama, H. and C.Christensen, "A Minicomputer Satellite
  1341.           Processor System", The Bell System Technical Journal, Vol. 57, No.
  1342.           6, Part 2, July- August 1978, pp. 2103-2114.
  1343.     [McKusick 84] McKusick, M.K., W.N.Joy, S.J.Leffler, and R.S.  Fabry,  "A
  1344.           Fast  File System for UNIX", ACM Transactions on Computer Systems,
  1345.           Vol. 2(3), August 1984, pp. 181-197.
  1346.     [Mullender 84] Mullender, S.J.  and  A.S.Tanenbaum,  "Immediate  Files",
  1347.           Software  -  Practice  and Experience, Vol. 14(4), April 1984, pp.
  1348.           365-368.
  1349.     [Nowitz 80] Nowitz, D.A. and  M.E.Lesk,  "Implementation  of  a  Dial-Up
  1350.           Network  of  UNIX Systems", IEEE Proceedings of Fall 1980 COMPCON,
  1351.           Washington, D.C., pp. 483-486.
  1352.     [Organick 72] Organick, E.J., The Multics System: An Examination of  Its
  1353.           Structure", The MIT Press, Cambridge, MA, 1972.
  1354.     [Peachey  84]  Peachey,  D.R., R.B.Bunt, C.L.Williamson, and T.B.Brecht,
  1355.           "An Experimental Investigation of Scheduling Strategies for UNIX",
  1356.           Performance  Evaluation  Review,  1984  SIGMETRICS  Conference  on
  1357.           Measurement and Evaluation of Computer Systems, Vol. 12(3), August
  1358.           1984, pp. 158-166.
  1359.     [Peterson  83]  Peterson,  James L. and A.Silberschatz, Operating System
  1360.           Concepts, Addison-Wesley, Reading, MA, 1983.
  1361.     [Pike 84] Pike, R., "The Blit: A Multiplexed  Graphics  Terminal",  AT&T
  1362.           Bell  Laboratories  Technical  Journal, Oct. 1984, Vol. 63, No. 8,
  1363.           Part 2, pp. 1607-1632.
  1364.  
  1365.                                     421
  1366.  
  1367.     [Pike 85] Pike, R., and P.Weinberger, "The Hideous Name", Proceedings of
  1368.           the USENIX Conference, Summer 1985, pp. 563-568.
  1369.     [Postel  80]  Postel,  J.  (ed.),  "DOD  Standart  Transmission  Control
  1370.           Protocol", ACM Computer Communication Review, Vol. 10, No. 4, Oct.
  1371.           1980, pp. 52-132.
  1372.     [Postel  81]  Postel,  J., C.A.Sunshine, and D.Cohen, "The ARPA Internet
  1373.           Protocol", Computer Networks,  Vol.  5,  No.  4,  July  1981,  pp.
  1374.           261-271.
  1375.     [Raleigh  76]  Raleigh,  T.M., "Introduction to Scheduling and Switching
  1376.           under UNIX", Proceedings of the Digital Equipment  Computer  Users
  1377.           Society, Atlanta, Ga., May 1976, pp. 867-877.
  1378.     [Richards  69]  Richards,  M.,  "BCPL:  A  Tool for Compiler Writing and
  1379.           Systems Programming", Proc. AFIPS SJCC 34, 1969, pp. 557-566.
  1380.     [Ritchie 78a] Ritchie,  D.M.  and  K.Thompson,  "The  UNIX  Time-Sharing
  1381.           System", The Bell System Technical Journal, July-August 1978, Vol.
  1382.           57, No. 6, Part 2, pp. 1905-1930.
  1383.     [Ritchie   78b]  Ritchie,  D.M.,  "A  Retrospective",  The  Bell  System
  1384.           Technical Journal, July-August 1978, Vol. 57, No. 6, Part  2,  pp.
  1385.           1947-1970.
  1386.     [Ritchie  81] Ritchie, D.M. and K.Thompson, "Some Further Aspects of the
  1387.           UNIX Time-Sharing System", Mini-Micro Software,  Vol.  6,  No.  3,
  1388.           1981, pp. 9-12.
  1389.     [Ritchie  84a]  Ritchie,  D.M., "The Evolution of the UNIX Time- sharing
  1390.           System", AT&T Bell Laboratories Technical Journal, Oct. 1984, Vol.
  1391.           63, No. 8, Part 2, pp. 1577-1594.
  1392.     [Ritchie 84b] Ritchie, D.M., "A Stream Input Output System",  AT&T  Bell
  1393.           Laboratories Technical Journal, Oct. 1984, Vol. 63, No. 8, Part 2,
  1394.           pp. 1897-1910.
  1395.     [Rochkind  85] Rochkind, M.J., Advanced UNIX Programming, Prentice-Hall,
  1396.           1985.
  1397.     [Saltzer 66] Saltzer, J.H., Traffic Control in  a  Multiplexed  Computer
  1398.           System, Ph.D. Thesis, MIT, 1966.
  1399.     [Sandberg  85] Sandberg, R., D.Goldberg, S.Kleiman, D.Walsh, and B.Lyon,
  1400.           "Design  and  Implementation  of  the  Sun  Network   Filesystem",
  1401.           Proceedings of the USENIX Conference, Summer 1985, pp. 119-131.
  1402.     [SVID  85]  System  V  Interface  Definition, Spring 1985, Issue 1, AT&T
  1403.           Customer Information Center, Indianapolis, IN.
  1404.     [System V 84a] UNIX System V User Reference Manual.
  1405.     [System V 84b] UNIX System V Administrator's Manual.
  1406.     [Thompson 74] Thompson,  K.  and  D.M.Ritchie,  "The  UNIX  Time-Sharing
  1407.           System",  Communications  of  the ACM, Vol. 17, No. 7, July, 1974,
  1408.           pp. 365-375 (¿ß»αáó½Ñ¡« ¿ »ÑαÑ»ÑτáΓá¡« ó [Ritchie 78a]).
  1409.     [Thompson 78] Thompson,  K.,  "UNIX  Implementation",  The  Bell  System
  1410.           Technical Journal, Vol. 57, No. 6, Part 2, July- August, 1978, pp.
  1411.           1931-1946.
  1412.     [Weinberger  84] Weinberger, P.J., "Cheap Dynamic Instruction Counting",
  1413.           The AT&T Bell Laboratories Technical Journal, Vol. 63, No. 6, Part
  1414.           2, October 1984, pp. 1815-1826.
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.                                     422
  1428.