home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / docum / unix-prt.doc / chap05.prt < prev    next >
Encoding:
Text File  |  1991-11-05  |  189.3 KB  |  3,226 lines

  1.  
  2.  
  3.     âïÇéÇ 5
  4.  
  5.     EæêæÆàîì¢à ÄÅàÉÇûêê äÉÇüÄÆ¢ æ öÇëïÄéÄë æêæÆàîÄëF
  6.  
  7.  
  8.  
  9.     é »«ß½Ññ¡Ñ⌐ ú½áóÑ αáßß¼áΓα¿ó὿ß∞ ó¡πΓαÑ¡¡¿Ñ ßΓαπ¬Γπαδ ñá¡¡δσ ñ½∩ Σá⌐½«-
  10. ó«⌐  ß¿ßΓÑ¼δ ¿ á½ú«α¿Γ¼δ αáí«Γδ ß ¡¿¼¿. é φΓ«⌐ ú½áóÑ αÑτ∞ »«⌐ñÑΓ « ß¿ßΓѼ¡δσ
  11. Σπ¡¬µ¿∩σ ñ½∩ αáí«Γδ ß Σá⌐½«ó«⌐ ß¿ßΓѼ«⌐ ß ¿ß»«½∞º«ó᡿Ѽ »«¡∩Γ¿⌐,  óóÑñÑ¡¡δσ
  12. ó  »αÑñδñπΘÑ⌐ ú½áóÑ. Éáßß¼áΓα¿óáεΓß∩ ß¿ßΓѼ¡δÑ Σπ¡¬µ¿¿, «íÑß»Ñτ¿óáεΘ¿Ñ «íαá-
  13. ΘÑ¡¿Ñ ¬ ßπΘÑßΓóπεΘ¿¼ Σá⌐½á¼, ΓᬿѠ¬á¬ open, read, write, lseek ¿ close, ºá-
  14. ΓѼ Σπ¡¬µ¿¿ ß«ºñá¡¿∩ ¡«óδσ Σá⌐½«ó, á ¿¼Ñ¡¡«, creat ¿ mknod, ¿, ¡á¬«¡Ñµ, Σπ¡-
  15. ¬µ¿¿ ñ½∩ αáí«Γδ ß ¿¡ñѬ߫¼ ¿½¿ ñ½∩ »ÑαÑñó¿ªÑ¡¿∩ »« Σá⌐½«ó«⌐ ß¿ßΓѼÑ:  chdir,
  16. chroot,  chown,  stat  ¿ fstat. êßß½ÑñπεΓß∩ í«½ÑÑ ß½«ª¡δÑ ß¿ßΓѼ¡δÑ Σπ¡¬µ¿¿:
  17. pipe ¿ dup ¿¼ÑεΓ ó᪡«Ñ º¡áτÑ¡¿Ñ ñ½∩ αÑ὿ºáµ¿¿ ¬á¡á½«ó ó shell'Ñ;  mount  ¿
  18. umount  αáßΦ¿α∩εΓ  ó¿ñ¿¼«Ñ  ñ½∩  »«½∞º«óáΓѽ∩ ñÑαÑó« Σá⌐½«óδσ ß¿ßΓѼ; link ¿
  19. unlink ¿º¼Ñ¡∩εΓ ¿Ñαáασ¿τÑ߬πε ßΓαπ¬Γπαπ Σá⌐½«ó«⌐ ß¿ßΓѼδ. çáΓѼ ñáÑΓß∩ »αÑñ-
  20. ßΓáó½Ñ¡¿Ñ «í áíßΓαᬵ¿∩σ, ßó∩ºá¡¡δσ ß Σá⌐½«ó«⌐ ß¿ßΓѼ«⌐, ó «Γ¡«ΦÑ¡¿¿ »«ññÑα-
  21. ª¬¿ αẽ¿τ¡δσ Σá⌐½«óδσ ß¿ßΓѼ, »«ñτ¿¡∩εΘ¿σß∩ ßΓá¡ñáαΓ¡δ¼ ¿¡ΓÑαΣÑ⌐ßá¼. é »«ß-
  22. ½Ññ¡Ñ¼ αáºñѽѠú½áóδ αÑτ∞ »«⌐ñÑΓ «  ß«»α«ó«ªñÑ¡¿¿  Σá⌐½«ó«⌐  ß¿ßΓѼδ.  â½áóá
  23. º¡á¬«¼¿Γ  ß ΓαѼ∩ ßΓαπ¬ΓπαἿ ñá¡¡δσ ∩ñαá: Γáí½¿µÑ⌐ Σá⌐½«ó, ó ¬«Γ«α«⌐ ¬áªñá∩
  24. ºá»¿ß∞ ßó∩ºá¡á ß «ñ¡¿¼ ¿º «Γ¬αδΓδσ ó ß¿ßΓѼѠΣá⌐½«ó, Γáí½¿µÑ⌐  »«½∞º«óáΓѽ∞-
  25. ߬¿σ  ñÑß¬α¿»Γ«α«ó  Σá⌐½«ó, ó ¬«Γ«α«⌐ ¬áªñá∩ ºá»¿ß∞ ßó∩ºá¡á ß Σá⌐½«óδ¼ ñÑ߬-
  26. α¿»Γ«α«¼, ¿ºóÑßΓ¡δ¼ »α«µÑßßπ, ¿ Γáí½¿µÑ⌐ ¼«¡Γ¿α«óá¡¿∩, ó ¬«Γ«α«⌐  ß«ñÑনΓß∩
  27. ¿¡Σ«α¼áµ¿∩ »« ¬áªñ«⌐ á¬Γ¿ó¡«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼÑ.
  28.  
  29.              öπ¡¬µ¿¿ ñ½∩ αáí«Γδ ß Σá⌐½«ó«⌐ ß¿ßΓѼ«⌐
  30. ┌────────────────────────────────────────────────────────────────┐
  31. ├──────┬──────────────┬────────┬───────┬───────┬─────────┬───────┤
  32. │ é«º- │ êß»«½∞ºπεΓ   │ ìạá- │ Éáí«- │ éó«ñ- │ Éáí«Γá- │ ô»αáó-│
  33. │ óαá- │ á½ú«α¿Γ¼     │ τáεΓ   │ ΓáεΓ  │ óδó«ñ │ εΓ ß«   │ ½Ñ¡¿Ñ │
  34. │ ΘáεΓ │ namei        │ ¿¡ñѬ- │ ß áΓ- │ ¿º    │ ßΓαπ¬Γπ-│ ñÑ-   │
  35. │ ñÑ߬-│              │ ßδ     │ α¿íπ- │ Σá⌐½á │ α«⌐ Σá⌐-│ αÑó∞- │
  36. │ α¿»- │              │        │ ΓἿ  │       │ ½«óδσ   │ ∩¼¿   │
  37. │ Γ«αδ │              │        │ Σá⌐½á │       │ ß¿ßΓѼ  │       │
  38. │ Σá⌐½á│              │        │       │       │         │       │
  39. ├──────┼──────────────┼────────┼───────┼───────┼─────────┼───────┤
  40. │ open │ open   stat  │        │       │       │         │       │
  41. │ creat│ creat  link  │ creat  │ chown │ read  │         │       │
  42. │ dup  │ chdir  unlink│ mknod  │ chmod │ write │ mount   │ chdir │
  43. │ pipe │ chroot mknod │ link   │ stat  │ lseek │ umount  │ chown │
  44. │ close│ chown  mount │ unlink │       │       │         │       │
  45. │      │ chmod  umount│        │       │       │         │       │
  46. ├──────┼──────────────┼────────┼───────┼───────┼─────────┼───────┤
  47. └───┬──┴──────────────┴────────┴───────┴───────┴─────────┴────┬──┘
  48.     │  Ç½ú«α¿Γ¼δ αáí«Γδ ß Σá⌐½«ó«⌐ ß¿ßΓѼ«⌐ ¡á ¡¿ª¡Ñ¼ πα«ó¡Ñ  │
  49.     ├─────────────┬──────────────────┬────────────────────────┤
  50.     │    namei    │                  │                        │
  51.     ├─────────────┤ ialloc    ifree  │   alloc   free   bmap  │
  52.     │ iget   iput │                  │                        │
  53.     ├─────────────┴──────────────────┴────────────────────────┤
  54.     ├─────────────────────────────────────────────────────────┤
  55.     │             á½ú«α¿Γ¼δ αáí«Γδ ß íπΣÑαἿ                 │
  56.     ├─────────────────────────────────────────────────────────┤
  57.     │    getblk     brelse     bread     breada     bwrite    │
  58.     └─────────────────────────────────────────────────────────┘
  59.  
  60.     É¿ßπ¡«¬ 5.1.  öπ¡¬µ¿¿ ñ½∩ αáí«Γδ ß  Σá⌐½«ó«⌐  ß¿ßΓѼ«⌐  ¿  ¿σ
  61.                   ßó∩º∞ ß ñαπú¿¼¿ á½ú«α¿Γ¼á¼¿
  62.  
  63.                                      85
  64.  
  65.     ìá  É¿ßπ¡¬Ñ  5.1 »«¬áºá¡á óºá¿¼«ßó∩º∞ ¼Ñªñπ ß¿ßΓѼ¡δ¼¿ Σπ¡¬µ¿∩¼¿ ¿ á½ú«-
  66. α¿Γ¼á¼¿, «»¿ßá¡¡δ¼¿ αá¡ÑÑ. æ¿ßΓѼ¡δÑ Σπ¡¬µ¿¿ ¬½áßß¿Σ¿µ¿απεΓß∩  ¡á  ¡Ñ߬«½∞¬«
  67. ¬áΓÑú«α¿⌐, σ«Γ∩ ¡Ñ¬«Γ«αδÑ ¿º Σπ¡¬µ¿⌐ »α¿ßπΓßΓóπεΓ í«½ÑÑ, τѼ ó «ñ¡«⌐ ¬áΓÑú«-
  68. α¿¿:
  69.  
  70.   *  æ¿ßΓѼ¡δÑ  Σπ¡¬µ¿¿,  ó«ºóαáΘáεΘ¿Ñ  ñÑß¬α¿»Γ«αδ Σá⌐½«ó ñ½∩ ¿ß»«½∞º«óá¡¿∩
  71.     ñαπú¿¼¿ ß¿ßΓѼ¡δ¼¿ Σπ¡¬µ¿∩¼¿;
  72.   * æ¿ßΓѼ¡δÑ Σπ¡¬µ¿¿, ¿ß»«½∞ºπεΘ¿Ñ á½ú«α¿Γ¼ namei ñ½∩  á¡á½¿ºá  ¿¼Ñ¡¿  »πΓ¿
  73.     »«¿ß¬á;
  74.   *  æ¿ßΓѼ¡δÑ  Σπ¡¬µ¿¿, ¡áº¡áτáεΘ¿Ñ ¿ «ßó«í«ªñáεΘ¿Ñ ¿¡ñѬߠߠ¿ß»«½∞º«ó᡿Ѽ
  75.     á½ú«α¿Γ¼«ó ialloc ¿ ifree;
  76.   * æ¿ßΓѼ¡δÑ Σπ¡¬µ¿¿, πßΓá¡áó½¿óáεΘ¿Ñ ¿½¿ ¿º¼Ñ¡∩εΘ¿Ñ áΓα¿íπΓδ Σá⌐½á;
  77.   * æ¿ßΓѼ¡δÑ Σπ¡¬µ¿¿, »«ºó«½∩εΘ¿Ñ »α«µÑßßπ »α«¿ºó«ñ¿Γ∞ óó«ñ-óδó«ñ ñá¡¡δσ  ß
  78.     ¿ß»«½∞º«ó᡿Ѽ á½ú«α¿Γ¼«ó alloc, free ¿ á½ú«α¿Γ¼«ó óδñѽѡ¿∩ íπΣÑαá;
  79.   * æ¿ßΓѼ¡δÑ Σπ¡¬µ¿¿, ¿º¼Ñ¡∩εΘ¿Ñ ßΓαπ¬Γπαπ Σá⌐½«ó«⌐ ß¿ßΓѼδ;
  80.   * æ¿ßΓѼ¡δÑ Σπ¡¬µ¿¿, »«ºó«½∩εΘ¿Ñ »α«µÑßßπ ¿º¼Ñ¡∩Γ∞ ß«íßΓóÑ¡¡«Ñ »αÑñßΓáó½Ñ-
  81.     ¡¿Ñ « ßΓαπ¬ΓπαÑ ñÑαÑóá Σá⌐½«ó«⌐ ß¿ßΓѼδ.
  82.  
  83.  
  84.     E5.1 OPENF
  85.  
  86.     é맮ó  ß¿ßΓѼ¡«⌐  Σπ¡¬µ¿¿  open («Γ¬αδΓ∞ Σá⌐½) - φΓ« »Ñαóδ⌐ Φáú, ¬«Γ«αδ⌐
  87. ñ«½ªÑ¡ ßñѽáΓ∞ »α«µÑßß, τΓ«íδ «íαáΓ¿Γ∞ß∩ ¬ ñá¡¡δ¼ ó Σá⌐½Ñ. æ¿¡Γá¬ß¿ß  ó맮óá
  88. Σπ¡¬µ¿¿ open:
  89.  
  90.     fd = open(pathname,flags,modes);
  91.  
  92. úñÑ pathname - ¿¼∩ Σá⌐½á, flags π¬áºδóáÑΓ αѪ¿¼ «Γ¬αδΓ¿∩ (¡á»α¿¼Ñα, ñ½∩ τΓÑ-
  93. ¡¿∩  ¿½¿ ºá»¿ß¿), á modes ß«ñÑαª¿Γ »αáóá ñ«ßΓπ»á ¬ Σá⌐½π ó ß½πτáÑ, Ñß½¿ Σá⌐½
  94. ß«ºñáÑΓß∩. æ¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ open  ó«ºóαáΘáÑΓ  µÑ½«Ñ  τ¿ß½«  (*),  ¿¼Ñ¡πѼ«Ñ
  95. »«½∞º«óáΓѽ∞߬¿¼  ñÑß¬α¿»Γ«α«¼ Σá⌐½á. äαπú¿Ñ «»Ñαᵿ¿ ¡áñ Σá⌐½á¼¿, ΓᬿѠ¬á¬
  96. τΓÑ¡¿Ñ, ºá»¿ß∞, »«-
  97. º¿µ¿«¡¿α«óá¡¿Ñ ú«½«ó«¬ τΓÑ¡¿∩-ºá»¿ß¿, ó«ß»α«¿ºóÑñÑ¡¿Ñ ñÑß¬α¿»Γ«αá Σá⌐½á, πß-
  98. Γá¡«ó¬á »áαá¼ÑΓα«ó óó«ñá-óδó«ñá, «»αÑñѽѡ¿Ñ ßΓáΓπßá Σá⌐½á ¿ ºá¬αδΓ¿Ñ Σá⌐½á,
  99. ¿ß»«½∞ºπεΓ º¡áτÑ¡¿Ñ ñÑß¬α¿»Γ«αá Σá⌐½á, ó«ºóαáΘáѼ«Ñ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿Ñ⌐ open.
  100.     ƒñα« »α«ß¼áΓα¿óáÑΓ Σá⌐½«óπε ß¿ßΓѼπ ó »«¿ß¬áσ Σá⌐½á »«  Ñú«  ¿¼Ñ¡¿,  ¿ß-
  101. »«½∞ºπ∩  á½ú«α¿Γ¼  namei  (ß¼. É¿ßπ¡«¬ 5.2). Ä¡« »α«óÑα∩ÑΓ »αáóá ¡á «Γ¬αδΓ¿Ñ
  102. Σá⌐½á »«ß½Ñ Γ«ú«, ¬á¬ «í¡áαπª¿Γ ¬«»¿ε ¿¡ñѬßá Σá⌐½á ó »á¼∩Γ¿, ¿ óδñѽ∩ÑΓ «Γ-
  103. ¬αδóáѼ«¼π Σá⌐½π ºá»¿ß∞ ó Γáí½¿µÑ Σá⌐½«ó.  çỿß∞  Γáí½¿µδ  Σá⌐½«ó  ß«ñÑনΓ
  104. π¬áºáΓѽ∞  ¡á  ¿¡ñѬߠ «Γ¬αδΓ«ú« Σá⌐½á ¿ »«½Ñ, ó ¬«Γ«α«¼ σαá¡¿Γß∩ ß¼ÑΘÑ¡¿Ñ ó
  105. íá⌐Γáσ «Γ ¡áτá½á Σá⌐½á ñ« ¼ÑßΓá, «Γ¬πñá »αÑñ»«½áúáÑΓß∩  ¡áτ¿¡áΓ∞  óδ»«½¡Ñ¡¿Ñ
  106. »«ß½ÑñπεΘ¿σ  «»Ñαᵿ⌐ τΓÑ¡¿∩ ¿½¿ ºá»¿ß¿. ƒñα« ßíαáßδóáÑΓ φΓ« ß¼ÑΘÑ¡¿Ñ ó 0 ó«
  107. óαѼ∩ «Γ¬αδΓ¿∩ Σá⌐½á, ¿¼Ñ∩ ó ó¿ñπ, τΓ« ¿ßσ«ñ¡á∩ «»Ñαᵿ∩ τΓÑ¡¿∩  ¿½¿  ºá»¿ß¿
  108. »«  π¼«½τá¡¿ε  íπñÑΓ »α«¿ºó«ñ¿Γ∞ß∩ ß ¡áτá½á Σá⌐½á. æ ñαπú«⌐ ßΓ«α«¡δ, »α«µÑßß
  109. ¼«ªÑΓ «Γ¬αδΓ∞ Σá⌐½ ó αѪ¿¼Ñ ºá»¿ß¿ ó ¬«¡Ñµ, ó φΓ«¼ ß½πτáÑ ∩ñα« πßΓá¡áó½¿óáÑΓ
  110. º¡áτÑ¡¿Ñ ß¼ÑΘÑ¡¿∩, αáó¡«Ñ αẼÑαπ Σá⌐½á. ƒñα« óδñѽ∩ÑΓ ºá»¿ß∞ ó ½¿τ¡«⌐ (ºá¬-
  111. αδΓ«⌐) Γáí½¿µÑ ó áñαÑß¡«¼ »α«ßΓαá¡ßΓóÑ ºáñáτ¿, óδñѽѡ¡«¼ »α«µÑßßπ  (Γáí½¿µá
  112. φΓá  ¡áºδóáÑΓß∩ Γáí½¿µÑ⌐ »«½∞º«óáΓѽ∞߬¿σ ñÑß¬α¿»Γ«α«ó Σá⌐½«ó), ¿ ºá»«¼¿¡áÑΓ
  113. π¬áºáΓѽ∞ ¡á φΓπ ºá»¿ß∞. ô¬áºáΓѽѼ óδßΓπ»áÑΓ ñÑß¬α¿»Γ«α Σá⌐½á, ó«ºóαáΘáѼδ⌐
  114. »«½∞º«óáΓѽε. çỿß∞ ó Γáí½¿µÑ »«½∞º«óáΓѽ∞߬¿σ Σá⌐½«ó π¬áºδóáÑΓ ¡á ºá»¿ß∞ ó
  115. ú½«íá½∞¡«⌐ Γáí½¿µÑ Σá⌐½«ó.
  116.  
  117.  
  118. ───────────────────────────────────────
  119. (*) éßÑ ß¿ßΓѼ¡δÑ Σπ¡¬µ¿¿ ó«ºóαáΘáεΓ ó ß½πτáÑ ¡Ñπñáτ¡«ú« ºáóÑαΦÑ¡¿∩ ¬«ñ  -1.
  120.     è«ñ  ó«ºóαáΓá,  αáó¡δ⌐  -1, í«½∞ΦÑ ¡Ñ íπñÑΓ π»«¼¿¡áΓ∞ß∩ »α¿ αáßß¼«ΓαÑ¡¿¿
  121.     ß¿¡Γá¬ß¿ßá ó맮óá ß¿ßΓѼ¡δσ Σπ¡¬µ¿⌐.
  122.  
  123.  
  124.  
  125.                                      86
  126.  
  127.     ┌────────────────────────────────────────────────────────────┐
  128.     │ á½ú«α¿Γ¼ open                                              │
  129.     │ óσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩:  ¿¼∩ Σá⌐½á                             │
  130.     │                      αѪ¿¼ «Γ¬αδΓ¿∩                        │
  131.     │                      »αáóá ñ«ßΓπ»á (»α¿ ß«ºñá¡¿¿ Σá⌐½á)    │
  132.     │ óδσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩: ñÑß¬α¿»Γ«α Σá⌐½á                      │
  133.     │ {                                                          │
  134.     │    »αÑóαáΓ¿Γ∞ ¿¼∩ Σá⌐½á ó ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¿¡ñѬßá (á½ú«α¿Γ¼  │
  135.     │     namei);                                                │
  136.     │    Ñß½¿ (Σá⌐½ ¡Ñ ßπΘÑßΓóπÑΓ ¿½¿ ¬ ¡Ñ¼π ¡Ñ αáºαÑΦÑ¡ ñ«ßΓπ») │
  137.     │         ó«ºóαáΓ¿Γ∞ (¬«ñ «Φ¿í¬¿);                           │
  138.     │    óδñѽ¿Γ∞ ñ½∩ ¿¡ñѬßᠺỿß∞ ó Γáí½¿µÑ Σá⌐½«ó, ¿¡¿µ¿á½¿- │
  139.     │     º¿α«óáΓ∞ ßτÑΓτ¿¬, ß¼ÑΘÑ¡¿Ñ;                            │
  140.     │    óδñѽ¿Γ∞ ºá»¿ß∞ ó Γáí½¿µÑ »«½∞º«óáΓѽ∞߬¿σ ñÑß¬α¿»Γ«α«ó │
  141.     │     Σá⌐½á, πßΓá¡«ó¿Γ∞ π¬áºáΓѽ∞ ¡á ºá»¿ß∞ ó Γáí½¿µÑ Σá⌐½«ó;│
  142.     │    Ñß½¿ (αѪ¿¼ «Γ¬αδΓ¿∩ »«ñαáºπ¼ÑóáÑΓ πßÑτÑ¡¿Ñ Σá⌐½á)      │
  143.     │         «ßó«í«ñ¿Γ∞ óßÑ í½«¬¿ Σá⌐½á (á½ú«α¿Γ¼ free);        │
  144.     │    ß¡∩Γ∞ í½«¬¿α«ó¬π (ß ¿¡ñѬßá);  /* ¿¡ñѬߠºáí½«¬¿α«óá¡   │
  145.     │                                      óδΦÑ, ó á½ú«α¿Γ¼Ñ     │
  146.     │                                      namei */              │
  147.     │    ó«ºóαáΓ¿Γ∞ (»«½∞º«óáΓѽ∞߬¿⌐ ñÑß¬α¿»Γ«α Σá⌐½á);         │
  148.     │ }                                                          │
  149.     └────────────────────────────────────────────────────────────┘
  150.  
  151.                É¿ßπ¡«¬ 5.2. Ç½ú«α¿Γ¼ «Γ¬αδΓ¿∩ Σá⌐½á
  152.  
  153.  
  154.     ÅαÑñ»«½«ª¿¼, τΓ« »α«µÑßß, «Γ¬αδóá∩ Σá⌐½ "/etc/passwd" ñóáªñδ,  «ñ¿¡  αáº
  155. Γ«½∞¬«  ñ½∩  τΓÑ¡¿∩ ¿ «ñ¿¡ αáº Γ«½∞¬« ñ½∩ ºá»¿ß¿, ¿ «ñ¡áªñδ Σá⌐½ "local" ñ½∩
  156. τΓÑ¡¿∩ ¿ ñ½∩ ºá»¿ß¿ (**), óδ»«½¡∩ÑΓ ß½ÑñπεΘ¿⌐ ¡áí«α «»ÑαáΓ«α«ó:
  157.  
  158.     fd1 = open("/etc/passwd",O_RDONLY);
  159.     fd2 = open("local",O_RDWR);
  160.     fd3 = open("/etc/passwd",O_WRONLY);
  161.  
  162.     ìá É¿ßπ¡¬Ñ 5.3 »«¬áºá¡á óºá¿¼«ßó∩º∞ ¼Ñªñπ  Γáí½¿µÑ⌐  ¿¡ñѬ߫ó,  Γáí½¿µÑ⌐
  163. Σá⌐½«ó  ¿ Γáí½¿µÑ⌐ »«½∞º«óáΓѽ∞߬¿σ ñÑß¬α¿»Γ«α«ó Σá⌐½á. èáªñδ⌐ ó맮ó Σπ¡¬µ¿¿
  164. open ó«ºóαáΘáÑΓ »α«µÑßßπ ñÑß¬α¿»Γ«α Σá⌐½á, á ß««ΓóÑΓßΓóπεΘá∩ ºá»¿ß∞ ó Γáí½¿-
  165. µÑ »«½∞º«óáΓѽ∞߬¿σ ñÑß¬α¿»Γ«α«ó Σá⌐½á π¬áºδóáÑΓ ¡á π¡¿¬á½∞¡πε ºá»¿ß∞ ó Γáí-
  166. ½¿µÑ Σá⌐½«ó ∩ñαá, »πßΓ∞ ñáªÑ «ñ¿¡ ¿ Γ«Γ ªÑ Σá⌐½ ("/etc/passwd")  «Γ¬αδóáÑΓß∩
  167. ñóáªñδ. 
  168.    çỿ߿ ó Γáí½¿µÑ Σá⌐½«ó ñ½∩ óßÑσ φ¬ºÑ¼»½∩α«ó «ñ¡«ú« ¿ Γ«ú«  ªÑ  «Γ¬αδΓ«ú« 
  169. Σá⌐½á π¬áºδóáεΓ ¡á «ñ¡π ºá»¿ß∞ ó Γáí½¿µÑ ¿¡ñѬ߫ó, σαá¡∩Θ¿σß∩ ó »á¼∩Γ¿. Åα«-
  170. µÑßß ¼«ªÑΓ «íαáΘáΓ∞ß∩ ¬ Σá⌐½π "/etc/passwd" ß τΓÑ¡¿Ñ¼ ¿½¿ ºá»¿ß∞ε, ¡« Γ«½∞¬« 
  171. τÑαѺ ñÑß¬α¿»Γ«αδ Σá⌐½á, ¿¼ÑεΘ¿Ñ º¡áτÑ¡¿∩ 3 ¿ 5 (ß¼. α¿ßπ¡«¬).ƒñα« ºá»«¼¿¡á-
  172. ÑΓ αáºαÑΦÑ¡¿Ñ ¡á τΓÑ¡¿Ñ ¿½¿ ºá»¿ß∞ ó Σá⌐½ ó ßΓα«¬Ñ Γáí½¿µδ Σá⌐½«ó,óδñѽѡ¡«⌐
  173. ó«  óαѼ∩ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ open. ÅαÑñ»«½«ª¿¼, τΓ« óΓ«α«⌐ »α«µÑßß óδ»«½¡∩ÑΓ
  174. ß½ÑñπεΘ¿⌐ ¡áí«α «»ÑαáΓ«α«ó:
  175.  
  176.  
  177. ───────────────────────────────────────
  178. (**) é «»¿ßá¡¿¿ ó맮óá ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ open ß«ñÑαªáΓß∩ Γα¿ »áαá¼ÑΓαá (ΓαÑ-
  179.      Γ¿⌐ ¿ß»«½∞ºπÑΓß∩ »α¿ «Γ¬αδΓ¿¿ ó αѪ¿¼Ñ ß«ºñá¡¿∩), ¡« »α«úαá¼¼¿ßΓδ «íδτ-
  180.      ¡« ¿ß»«½∞ºπεΓ Γ«½∞¬« »ÑαóδÑ ñóá ¿º ¡¿σ. è«¼»¿½∩Γ«α ß ∩ºδ¬á æ¿ ¡Ñ »α«óÑ-
  181.      α∩ÑΓ »αáó¿½∞¡«ßΓ∞ ¬«½¿τÑßΓóá »áαá¼ÑΓα«ó. é ß¿ßΓѼѠ»ÑαóδÑ ñóá »áαá¼ÑΓαá
  182.      ¿ ΓαÑΓ¿⌐ (ß ½εíδ¼ "¼πß«α«¼", τΓ« íδ ¡¿ »α«¿º«Φ½«  ó  ßΓѬÑ)  »ÑαÑñáεΓß∩
  183.      «íδτ¡«  ∩ñαπ. ƒñα« ¡Ñ »α«óÑα∩ÑΓ ¡á½¿τ¿Ñ ΓαÑΓ∞Ñú« »áαá¼ÑΓαá, Ñß½¿ Γ«½∞¬«
  184.      ¡Ñ«íσ«ñ¿¼«ßΓ∞ ó ¡Ñ¼ ¡Ñ óδΓѬáÑΓ ¿º º¡áτÑ¡¿∩ óΓ«α«ú« »áαá¼ÑΓαá, τΓ« »«º-
  185.      ó«½∩ÑΓ »α«úαá¼¼¿ßΓá¼ π¬áºáΓ∞ Γ«½∞¬« ñóá »áαá¼ÑΓαá.
  186.  
  187.                                      87
  188.  
  189.     Γáí½¿µá »«½∞º«óá-
  190.     Γѽ∞߬¿σ ñÑß¬α¿»-
  191.        Γ«α«ó Σá⌐½á        Γáí½¿µá Σá⌐½«ó        Γáí½¿µá ¿¡ñѬ߫ó
  192.        ┌─────────┐        ┌────────────┐        ┌──────────────┐
  193.       0│         │        │            │        │       ∙      │
  194.        ├─────────┤        │            │        │       ∙      │
  195.       1│         │        │            │        │       ∙      │
  196.        ├─────────┤        ├────────────┤        │       ∙      │
  197.       2│         │        │      ∙     │        │       ∙      │
  198.        ├─────────┤        │      ∙     │        │       ∙      │
  199.       3│     ────┼────┐   │      ∙     │        │       ∙      │
  200.        ├─────────┤    │   │      ∙     │        ├──────────────┤
  201.       4│     ────┼───┐│   │      ∙     │  ┌────>│ ßτÑΓ-        │
  202.        ├─────────┤   ││   │      ∙     │  │┌───>│ τ¿¬  (/etc/  │
  203.       5│     ────┼──┐││   ├────────────┤  ││    │  2    passwd)│
  204.        ├─────────┤  │││   │ ßτÑΓ-      │  ││    ├──────────────┤
  205.       6│         │  ││└──>│ τ¿¬  ùΓÑ¡¿Ñ┼──┘│    │       ∙      │
  206.        ├─────────┤  ││    │  1         │   │    │       ∙      │
  207.       7│         │  ││    ├────────────┤   │    │       ∙      │
  208.        ├─────────┤  ││    │      ∙     │   │    │       ∙      │
  209.        │    ∙    │  ││    │      ∙     │   │    │       ∙      │
  210.        └─────────┘  ││    ├────────────┤   │    │       ∙      │
  211.                     ││    │ ßτÑΓ-  ùΓÑ-│   │    │       ∙      │
  212.                     │└───>│ τ¿¬    ¡¿Ñ-┼───│─┐  │       ∙      │
  213.                     │     │  1   çỿß∞│   │ │  │       ∙      │
  214.                     │     ├────────────┤   │ │  │       ∙      │
  215.                     │     │      ∙     │   │ │  ├──────────────┤
  216.                     │     │      ∙     │   │ │  │ ßτÑΓ-        │
  217.                     │     │      ∙     │   │ └─>│ τ¿¬   (local)│
  218.                     │     │      ∙     │   │    │  1           │
  219.                     │     │      ∙     │   │    ├──────────────┤
  220.                     │     ├────────────┤   │    │       ∙      │
  221.                     │     │ ßτÑΓ-      │   │    │       ∙      │
  222.                     └────>│ τ¿¬  çỿß∞┼───┘    │       ∙      │
  223.                           │  1         │        │       ∙      │
  224.                           ├────────────┤        │       ∙      │
  225.                           │      ∙     │        │       ∙      │
  226.                           │      ∙     │        │       ∙      │
  227.                           └────────────┘        └──────────────┘
  228.  
  229.  
  230.             É¿ßπ¡«¬ 5.3. æΓαπ¬Γπαδ ñá¡¡δσ »«ß½Ñ «Γ¬αδΓ¿∩
  231.  
  232.  
  233.     fd1 = open("/etc/passwd",O_RDONLY);
  234.     fd2 = open("private",O_RDONLY);
  235.  
  236. ìá É¿ßπ¡¬Ñ 5.4 »«¬áºá¡á óºá¿¼«ßó∩º∞ ¼Ñªñπ ß««ΓóÑΓßΓóπεΘ¿¼¿ ßΓαπ¬ΓπαἿ  ñá¡-
  237. ¡δσ, ¬«úñá «íá »α«µÑßßá (¿ í«½∞ΦÑ ¡¿¬Γ«) ¿¼ÑεΓ «Γ¬αδΓδÑ Σá⌐½δ. æ¡«óá αѺπ½∞-
  238. ΓáΓ«¼  ¬áªñ«ú« ó맮óá Σπ¡¬µ¿¿ open ∩ó½∩ÑΓß∩ óδñѽѡ¿Ñ π¡¿¬á½∞¡«⌐ Γ«τ¬¿ óσ«ñá
  239. ó Γáí½¿µÑ »«½∞º«óáΓѽ∞߬¿σ ñÑß¬α¿»Γ«α«ó Σá⌐½á ¿ ó Γáí½¿µÑ Σá⌐½«ó ∩ñαá, ¿ ∩ñ-
  240. α« σαá¡¿Γ ¡Ñ í«½ÑÑ «ñ¡«⌐ ºá»¿ß¿ ¡á ¬áªñδ⌐ Σá⌐½ ó Γáí½¿µÑ ¿¡ñѬ߫ó, αẼÑΘÑ¡-
  241. ¡δσ ó »á¼∩Γ¿.
  242.     çỿß∞ ó Γáí½¿µÑ »«½∞º«óáΓѽ∞߬¿σ ñÑß¬α¿»Γ«α«ó Σá⌐½á »« π¼«½τá¡¿ε σαá¡¿Γ
  243. ß¼ÑΘÑ¡¿Ñ ó Σá⌐½Ñ ñ« áñαÑßá ß½ÑñπεΘÑ⌐ «»Ñαᵿ¿ óó«ñáóδó«ñá ¿ π¬áºδóáÑΓ ¡Ñ»«ß-
  244. αÑñßΓóÑ¡¡« ¡á Γ«τ¬π óσ«ñá ó Γáí½¿µÑ ¿¡ñѬ߫ó ñ½∩ Σá⌐½á,  πßΓαá¡∩∩  ¡Ñ«íσ«ñ¿-
  245. ¼«ßΓ∞  ó  «Γñѽ∞¡«⌐  Γáí½¿µÑ Σá⌐½«ó ∩ñαá. éδΦÑ»α¿óÑñÑ¡¡δÑ »α¿¼Ñαδ »«¬áºδóáεΓ
  246. óºá¿¼«ßó∩º∞ ¼Ñªñπ ºá»¿ß∩¼¿ Γáí½¿µδ »«½∞º«óáΓѽ∞߬¿σ ñÑß¬α¿»Γ«α«ó Σá⌐½á ¿ ºá-
  247.  
  248.  
  249.                                      88
  250.  
  251.     Γáí½¿µδ »«½∞º«óá-
  252.     Γѽ∞߬¿σ ñÑß¬α¿»-
  253.        Γ«α«ó Σá⌐½á
  254.        (»α«µÑßß A)        Γáí½¿µá Σá⌐½«ó        Γáí½¿µá ¿¡ñѬ߫ó
  255.        ┌─────────┐        ┌────────────┐        ┌──────────────┐
  256.       0│         │        │            │        │       ∙      │
  257.        ├─────────┤        │            │        │       ∙      │
  258.       1│         │        │            │        │       ∙      │
  259.        ├─────────┤        ├────────────┤        │       ∙      │
  260.       2│         │        │      ∙     │        │       ∙      │
  261.        ├─────────┤        │      ∙     │        │       ∙      │
  262.       3│     ────┼────┐   │      ∙     │        │       ∙      │
  263.        ├─────────┤    │   │      ∙     │        ├──────────────┤
  264.       4│     ────┼───┐│   │      ∙     │  ┌────>│ ßτÑΓ-        │
  265.        ├─────────┤   ││   │      ∙     │  │┌───>│ τ¿¬  (/etc/  │
  266.       5│     ────┼──┐││   ├────────────┤  ││┌──>│  3    passwd)│
  267.        ├─────────┤  │││   │ ßτÑΓ-      │  │││   ├──────────────┤
  268.        │    ∙    │  ││└──>│ τ¿¬  ùΓÑ¡¿Ñ┼──┘││   │       ∙      │
  269.        │    ∙    │  ││    │  1         │   ││   │       ∙      │
  270.        │    ∙    │  ││    ├────────────┤   ││   │       ∙      │
  271.        └─────────┘  ││    │      ∙     │   ││   │       ∙      │
  272.                     ││    │      ∙     │   ││   │       ∙      │
  273.        (»α«µÑßß B)  ││    │      ∙     │   ││   │       ∙      │
  274.        ┌─────────┐  ││    │      ∙     │   ││   │       ∙      │
  275.       0│         │  ││    ├────────────┤   ││   │       ∙      │
  276.        ├─────────┤  ││    │ ßτÑΓ-  ùΓÑ-│   ││   │       ∙      │
  277.       1│         │  │└───>│ τ¿¬    ¡¿Ñ-┼───││┐  │       ∙      │
  278.        ├─────────┤  │     │  1   çỿß∞│   │││  │       ∙      │
  279.       2│         │  │     ├────────────┤   │││  │       ∙      │
  280.        ├─────────┤  │     │      ∙     │   │││  ├──────────────┤
  281.       3│     ────┼──│──┐  │      ∙     │   │││  │ ßτÑΓ-        │
  282.        ├─────────┤  │  │  │      ∙     │   ││└─>│ τ¿¬   (local)│
  283.       4│     ────┼─┐│  │  │      ∙     │   ││   │  1           │
  284.        ├─────────┤ ││  │  │      ∙     │   ││   ├──────────────┤
  285.       5│         │ ││  │  │      ∙     │   ││   │       ∙      │
  286.        ├─────────┤ ││  │  ├────────────┤   ││   │       ∙      │
  287.        │    ∙    │ ││  │  │ ßτÑΓ-      │   ││   │       ∙      │
  288.        │    ∙    │ ││  └─>│ τ¿¬  ùΓÑ¡¿Ñ┼───┘│   │       ∙      │
  289.        │    ∙    │ ││     │  1         │    │   │       ∙      │
  290.        └─────────┘ ││     ├────────────┤    │   │       ∙      │
  291.                    ││     │      ∙     │    │   │       ∙      │
  292.                    ││     │      ∙     │    │   ├──────────────┤
  293.                    ││     │      ∙     │    │   │ ßτÑΓ-        │
  294.                    ││     ├────────────┤    │┌─>│ τ¿¬ (private)│
  295.                    ││     │ ßτÑΓ-      │    ││  │  1           │
  296.                    │└────>│ τ¿¬  çỿß∞┼────┘│  ├──────────────┤
  297.                    │      │  1         │     │  │       ∙      │
  298.                    │      ├────────────┤     │  │       ∙      │
  299.                    │      │      ∙     │     │  └──────────────┘
  300.                    │      │      ∙     │     │
  301.                    │      ├────────────┤     │
  302.                    │      │ ßτÑΓ-      │     │
  303.                    └─────>│ τ¿¬  ùΓÑ¡¿Ñ┼─────┘
  304.                           │  1         │
  305.                           └────────────┘
  306.  
  307.     É¿ßπ¡«¬ 5.4.  æΓαπ¬Γπαδ ñá¡¡δσ »«ß½Ñ Γ«ú«,  ¬á¬ ñóá  »α«µÑßßá
  308.                   »α«¿ºóѽ¿ «Γ¬αδΓ¿Ñ Σá⌐½«ó
  309.  
  310.  
  311.                                      89
  312.  
  313.  
  314.  
  315. »¿ß∩¼¿ ó Γáí½¿µÑ Σá⌐½«ó ∩ñαá Γ¿»á "«ñ¿¡ ¬ «ñ¡«¼π". Æ«¼»ß«¡, «ñ¡á¬«,  «Γ¼Ñτá-
  316. ÑΓ, τΓ« ¿¼ íδ½á αÑ὿º«óá¡á Γáí½¿µá Σá⌐½«ó ¬á¬ «Γñѽ∞¡á∩ ßΓαπ¬Γπαá, »«ºó«½∩-
  317. εΘá∩  ß«ó¼ÑßΓ¡«  ¿ß»«½∞º«óáΓ∞  «ñ¿¡  ¿  Γ«Γ ªÑ π¬áºáΓѽ∞ ß¼ÑΘÑ¡¿∩ ¡Ñ߬«½∞¬¿¼
  318. »«½∞º«óáΓѽ∞߬¿¼ ñÑß¬α¿»Γ«αá¼ Σá⌐½á (ß¼. [Thompson 78], ßΓα.1943). é ß¿ßΓѼ-
  319. ¡δσ Σπ¡¬µ¿∩σ dup ¿ fork, αáßß¼áΓα¿óáѼδσ ó αáºñѽáσ 5.13 ¿ 7.1,  »α¿  αáí«ΓÑ
  320. ß« ßΓαπ¬ΓπαἿ ñá¡¡δσ ñ«»π߬áÑΓß∩ ΓᬫѠ߫ó¼ÑßΓ¡«Ñ ¿ß»«½∞º«óá¡¿Ñ.
  321.  
  322.     ÅÑαóδÑ  Γα¿ »«½∞º«óáΓѽ∞߬¿σ ñÑß¬α¿»Γ«αá (0, 1 ¿ 2) ¿¼Ñ¡πεΓß∩ ñÑß¬α¿»Γ«-
  323. αἿ Σá⌐½«ó: ßΓá¡ñáαΓ¡«ú« óó«ñá, ßΓá¡ñáαΓ¡«ú« óδó«ñá  ¿  ßΓá¡ñáαΓ¡«ú«  Σá⌐½á
  324. «Φ¿í«¬. Åα«µÑßßδ ó ß¿ßΓѼѠUNIX »« ñ«ú«ó«αÑ¡¡«ßΓ¿ ¿ß»«½∞ºπεΓ ñÑß¬α¿»Γ«α Σá⌐-
  325. ½á ßΓá¡ñáαΓ¡«ú« óó«ñá »α¿ τΓÑ¡¿¿ óó«ñ¿¼«⌐ ¿¡Σ«α¼áµ¿¿, ñÑß¬α¿»Γ«α Σá⌐½á ßΓá¡-
  326. ñáαΓ¡«ú«  óδó«ñá  »α¿  ºá»¿ß¿ óδó«ñ¿¼«⌐ ¿¡Σ«α¼áµ¿¿ ¿ ñÑß¬α¿»Γ«α ßΓá¡ñáαΓ¡«ú«
  327. Σá⌐½á «Φ¿í«¬ ñ½∩ ºá»¿ß¿ ß««íΘÑ¡¿⌐ «í «Φ¿í¬áσ. é «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼѠ¡ÑΓ ¡¿-
  328. ¬á¬«ú« π¬áºá¡¿∩ ¡á Γ«, τΓ« φΓ¿  ñÑß¬α¿»Γ«αδ  Σá⌐½«ó  ∩ó½∩εΓß∩  ß»Ñµ¿á½∞¡δ¼¿.
  329. âαπ»»á »«½∞º«óáΓѽÑ⌐ ¼«ªÑΓ πß½«ó¿Γ∞ß∩ « Γ«¼, τΓ« Σá⌐½«óδÑ ñÑß¬α¿»Γ«αδ, ¿¼Ñε-
  330. Θ¿Ñ º¡áτÑ¡¿∩ 4, 6 ¿ 11, ∩ó½∩εΓß∩ ß»Ñµ¿á½∞¡δ¼¿, ¡« í«½ÑÑ ÑßΓÑßΓóÑ¡¡« ¡áτ¿¡áΓ∞
  331. «ΓßτÑΓ  ß  0 (¬á¬ ó ∩ºδ¬Ñ æ¿). Åα¿¡∩Γ¿Ñ ß«ú½áΦÑ¡¿∩ ßαáºπ óßѼ¿ »«½∞º«óáΓѽ∞-
  332. ߬¿¼¿ »α«úαἼἿ «í½Ñúτ¿Γ ßó∩º∞ ¼Ñªñπ ¡¿¼¿ »α¿ ¿ß»«½∞º«óá¡¿¿ ¬á¡á½«ó, ó τѼ
  333. ¼δ πíÑñ¿¼ß∩ ó ñá½∞¡Ñ⌐ΦѼ, ¿ºπτá∩ ú½áóπ 7. Äíδτ¡« «»ÑαáΓ«α߬¿⌐ ΓÑନ¡á½  (ß¼.
  334. ú½áóπ  10) ß½πª¿Γ ¿ ó ¬áτÑßΓóÑ ßΓá¡ñáαΓ¡«ú« óó«ñá, ¿ ó ¬áτÑßΓóÑ ßΓá¡ñáαΓ¡«ú«
  335. óδó«ñá ¿ ó ¬áτÑßΓóÑ ßΓá¡ñáαΓ¡«ú« πßΓα«⌐ßΓóá óδó«ñá ß««íΘÑ¡¿⌐ «í «Φ¿í¬áσ.
  336.  
  337.  
  338.     E5.2 READF
  339.  
  340.     æ¿¡Γá¬ß¿ß ó맮óá ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ read (τ¿ΓáΓ∞):
  341.     number = read(fd,buffer,count)
  342.  
  343. úñÑ fd - ñÑß¬α¿»Γ«α Σá⌐½á, ó«ºóαáΘáѼδ⌐ Σπ¡¬µ¿Ñ⌐ open, buffer - áñαÑß ßΓαπ¬-
  344. Γπαδ ñá¡¡δσ ó »«½∞º«óáΓѽ∞߬«¼ »α«µÑßßÑ,  úñÑ  íπñπΓ  αẼÑΘáΓ∞ß∩  ßτ¿Γá¡¡δÑ
  345. ñá¡¡δÑ  ó ß½πτáÑ πß»ÑΦ¡«ú« ºáóÑαΦÑ¡¿∩ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ read, count - ¬«½¿-
  346. τÑßΓó« íá⌐Γ, ¬«Γ«αδÑ »«½∞º«óáΓÑ½ε ¡πª¡« »α«τ¿ΓáΓ∞, number - ¬«½¿τÑßΓó«  Σá¬-
  347. Γ¿τÑ߬¿ »α«τ¿Γá¡¡δσ íá⌐Γ. ìá É¿ßπ¡¬Ñ 5.5 »α¿óÑñÑ¡ á½ú«α¿Γ¼ read, óδ»«½¡∩εΘ¿⌐
  348. τΓÑ¡¿Ñ  «íδτ¡«ú«  Σá⌐½á.  ƒñα« «íαáΘáÑΓß∩ ó Γáí½¿µÑ Σá⌐½«ó ¬ ºá»¿ß¿, ¬«Γ«αá∩
  349. ß««ΓóÑΓßΓóπÑΓ º¡áτÑ¡¿ε »«½∞º«óáΓѽ∞߬«ú« ñÑß¬α¿»Γ«αá Σá⌐½á, ß½Ññπ∩
  350. ºá π¬áºáΓѽѼ (ß¼. É¿ßπ¡«¬ 5.3). çáΓѼ «¡« πßΓá¡áó½¿óáÑΓ º¡áτÑ¡¿∩ ¡Ñ߬«½∞¬¿σ
  351. »áαá¼ÑΓα«ó óó«ñá-óδó«ñá ó áñαÑß¡«¼ »α«ßΓαá¡ßΓóÑ »α«µÑßßá (É¿ßπ¡«¬ 5.6),  ΓѼ
  352. ßá¼δ¼  πßΓαá¡∩∩ ¡Ñ«íσ«ñ¿¼«ßΓ∞ ó ¿σ »ÑαÑñáτÑ ó ¬áτÑßΓóÑ »áαá¼ÑΓα«ó Σπ¡¬µ¿¿. é
  353. τáßΓ¡«ßΓ¿, ∩ñα« π¬áºδóáÑΓ ó ¬áτÑßΓóÑ αѪ¿¼á óó«ñá-óδó«ñá "τΓÑ¡¿Ñ",  πßΓá¡áó-
  354. ½¿óáÑΓ Σ½áú, ßó¿ñÑΓѽ∞ßΓóπεΘ¿⌐ « Γ«¼, τΓ« óó«ñ-óδó«ñ ¡á»αáó½∩ÑΓß∩ ó áñαÑß¡«Ñ
  355. »α«ßΓαá¡ßΓó«  »«½∞º«óáΓѽ∩, º¡áτÑ¡¿Ñ »«½∩ ßτÑΓτ¿¬á íá⌐Γ«ó »α¿αáó¡¿óáÑΓ ¬«½¿-
  356. τÑßΓóπ íá⌐Γ, ¬«Γ«αδÑ íπñπΓ »α«τ¿Γá¡δ, πßΓá¡áó½¿óáÑΓ áñαÑß  »«½∞º«óáΓѽ∞߬«ú«
  357. íπΣÑαá ñá¡¡δσ ¿, ¡á¬«¡Ñµ, º¡áτÑ¡¿Ñ ß¼ÑΘÑ¡¿∩ (¿º Γáí½¿µδ Σá⌐½«ó), αáó¡«Ñ ß¼Ñ-
  358. ΘÑ¡¿ε  ó  íá⌐Γáσ  ó¡πΓα¿ Σá⌐½á ñ« ¼ÑßΓá, «Γ¬πñá ¡áτ¿¡áÑΓß∩ óó«ñ-óδó«ñ. Å«ß½Ñ
  359. Γ«ú«, ¬á¬ ∩ñα« πßΓá¡«ó¿Γ º¡áτÑ¡¿∩ »áαá¼ÑΓα«ó óó«ñá-óδó«ñá ó áñαÑß¡«¼  »α«ßΓ-
  360. αá¡ßΓóÑ  »α«µÑßßá,  «¡« «íαáΘáÑΓß∩ ¬ ¿¡ñѬßπ, ¿ß»«½∞ºπ∩ π¬áºáΓѽ∞ ¿º Γáí½¿µδ
  361. Σá⌐½«ó, ¿ í½«¬¿απÑΓ Ñú« »αѪñÑ, τѼ ¡áτáΓ∞ τΓÑ¡¿Ñ ¿º Σá⌐½á.
  362.  
  363.     çáΓѼ ó á½ú«α¿Γ¼Ñ ¡áτ¿¡áÑΓß∩ µ¿¬½, óδ»«½¡∩εΘ¿⌐ß∩ ñ« ΓÑσ »«α, »«¬á «»Ñαá-
  364. µ¿∩ τΓÑ¡¿∩ ¡Ñ íπñÑΓ »α«¿ºóÑñÑ¡á ñ« ¬«¡µá. ƒñα« »αÑ«íαáºπÑΓ ß¼ÑΘÑ¡¿Ñ ó íá⌐Γáσ
  365. ó¡πΓα¿ Σá⌐½á ó ¡«¼Ñα í½«¬á, ¿ß»«½∞ºπ∩ á½-
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.                                      90
  374.     ┌────────────────────────────────────────────────────────────┐
  375.     │ á½ú«α¿Γ¼ read                                              │
  376.     │ óσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩:  »«½∞º«óáΓѽ∞߬¿⌐ ñÑß¬α¿»Γ«α Σá⌐½á     │
  377.     │                      áñαÑß íπΣÑαá ó »«½∞º«óáΓѽ∞߬«¼ »α«-  │
  378.     │                      µÑßßÑ                                 │
  379.     │                      ¬«½¿τÑßΓó« íá⌐Γ, ¬«Γ«αδÑ ¡πª¡« »α«τ¿- │
  380.     │                      ΓáΓ∞                                  │
  381.     │ óδσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩: ¬«½¿τÑßΓó« íá⌐Γ, ß¬«»¿α«óá¡¡δσ ó »«½∞-│
  382.     │                      º«óáΓѽ∞߬«Ñ »α«ßΓαá¡ßΓó«             │
  383.     │ {                                                          │
  384.     │    «íαáΓ¿Γ∞ß∩ ¬ ºá»¿ß¿ ó Γáí½¿µÑ Σá⌐½«ó »« º¡áτÑ¡¿ε »«½∞º«-│
  385.     │     óáΓѽ∞߬«ú« ñÑß¬α¿»Γ«αá Σá⌐½á;                         │
  386.     │    »α«óÑα¿Γ∞ ñ«ßΓπ»¡«ßΓ∞ Σá⌐½á;                            │
  387.     │    πßΓá¡«ó¿Γ∞ »áαá¼ÑΓαδ ó áñαÑß¡«¼ »α«ßΓαá¡ßΓóÑ »α«µÑßßá,  │
  388.     │     π¬áºáó áñαÑß »«½∞º«óáΓѽ∩, ßτÑΓτ¿¬ íá⌐Γ«ó, »áαá¼ÑΓαδ   │
  389.     │     óó«ñá-óδó«ñá ñ½∩ »«½∞º«óáΓѽ∩;                         │
  390.     │    »«½πτ¿Γ∞ ¿¡ñѬߠ»« ºá»¿ß¿ ó Γáí½¿µÑ Σá⌐½«ó;             │
  391.     │    ºáí½«¬¿α«óáΓ∞ ¿¡ñѬß;                                   │
  392.     │    πßΓá¡«ó¿Γ∞ º¡áτÑ¡¿Ñ ß¼ÑΘÑ¡¿∩ ó íá⌐Γáσ ñ½∩ áñαÑß¡«ú«     │
  393.     │     »α«ßΓαá¡ßΓóá »α«µÑßßá »« º¡áτÑ¡¿ε ß¼ÑΘÑ¡¿∩ ó Γáí½¿µÑ   │
  394.     │     Σá⌐½«ó;                                                │
  395.     │    óδ»«½¡¿Γ∞ (»«¬á º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á íá⌐Γ«ó ¡Ñ ßΓá¡ÑΓ πñ«ó-│
  396.     │     ½ÑΓó«α¿Γѽ∞¡δ¼)                                        │
  397.     │    {                                                       │
  398.     │       »αÑóαáΓ¿Γ∞ ß¼ÑΘÑ¡¿Ñ ó Σá⌐½Ñ ó ¡«¼Ñα ñ¿ß¬«ó«ú« í½«¬á  │
  399.     │        (á½ú«α¿Γ¼ bmap);                                    │
  400.     │       óδτ¿ß½¿Γ∞ ß¼ÑΘÑ¡¿Ñ ó¡πΓα¿ í½«¬á ¿ ¬«½¿τÑßΓó« íá⌐Γ,   │
  401.     │        ¬«Γ«αδÑ íπñπΓ »α«τ¿Γá¡δ;                            │
  402.     │       Ñß½¿ (¬«½¿τÑßΓó« íá⌐Γ ñ½∩ τΓÑ¡¿∩ αáó¡« 0)            │
  403.     │          /* »«»δΓ¬á τΓÑ¡¿∩ ¬«¡µá Σá⌐½á */                  │
  404.     │          »αÑαóáΓ∞ß∩;      /* óδσ«ñ ¿º µ¿¬½á */             │
  405.     │       »α«τ¿ΓáΓ∞ í½«¬ (á½ú«α¿Γ¼ breada, Ñß½¿ »α«¿ºó«ñ¿Γß∩   │
  406.     │        τΓÑ¡¿Ñ ß »α«ñó¿ªÑ¡¿Ñ¼, ¿ á½ú«α¿Γ¼ bread - ó »α«Γ¿ó- │
  407.     │        ¡«¼ ß½πτáÑ);                                        │
  408.     │       ß¬«»¿α«óáΓ∞ ñá¡¡δÑ ¿º ß¿ßΓѼ¡«ú« íπΣÑαá »« áñαÑßπ    │
  409.     │        »«½∞º«óáΓѽ∩;                                       │
  410.     │       ß¬«ααÑ¬Γ¿α«óáΓ∞ º¡áτÑ¡¿∩ »«½Ñ⌐ ó áñαÑß¡«¼ »α«ßΓαá¡-  │
  411.     │        ßΓóÑ »α«µÑßßá, π¬áºδóáεΘ¿Ñ ß¼ÑΘÑ¡¿Ñ ó íá⌐Γáσ ó¡πΓα¿ │
  412.     │        Σá⌐½á, ¬«½¿τÑßΓó« »α«τ¿Γá¡¡δσ íá⌐Γ ¿ áñαÑß ñ½∩ »Ñ-  │
  413.     │        αÑñáτ¿ ó »α«ßΓαá¡ßΓó« »«½∞º«óáΓѽ∩;                 │
  414.     │       «ßó«í«ñ¿Γ∞ íπΣÑα;     /* ºáí½«¬¿α«óá¡¡δ⌐ ó á½ú«α¿Γ¼Ñ │
  415.     │                                bread */                    │
  416.     │    }                                                       │
  417.     │    αáºí½«¬¿α«óáΓ∞ ¿¡ñѬß;                                  │
  418.     │    ß¬«ααÑ¬Γ¿α«óáΓ∞ º¡áτÑ¡¿Ñ ß¼ÑΘÑ¡¿∩ ó Γáí½¿µÑ Σá⌐½«ó ñ½∩  │
  419.     │     ß½ÑñπεΘÑ⌐ «»Ñαᵿ¿ τΓÑ¡¿∩;                             │
  420.     │    ó«ºóαáΓ¿Γ∞ («íΘÑÑ τ¿ß½« »α«τ¿Γá¡¡δσ íá⌐Γ);              │
  421.     │ }                                                          │
  422.     └────────────────────────────────────────────────────────────┘
  423.                 É¿ßπ¡«¬ 5.5. Ç½ú«α¿Γ¼ τΓÑ¡¿∩ ¿º Σá⌐½á
  424.  
  425.     ┌──────────────────────────────────────────────────────┐
  426.     │ mode     τΓÑ¡¿Ñ ¿½¿ ºá»¿ß∞                           │
  427.     │ count    ¬«½¿τÑßΓó« íá⌐Γ ñ½∩ τΓÑ¡¿∩ ¿½¿ ºá»¿ß¿       │
  428.     │ offset   ß¼ÑΘÑ¡¿Ñ ó íá⌐Γáσ ó¡πΓα¿ Σá⌐½á              │
  429.     │ address  áñαÑß ¼ÑßΓá, ¬πñá íπñπΓ ¬«»¿α«óáΓ∞ß∩ ñá¡¡δÑ,│
  430.     │          ó »á¼∩Γ¿ »«½∞º«óáΓѽ∩ ¿½¿ ∩ñαá              │
  431.     │ flag     «Γ¡«ΦÑ¡¿Ñ áñαÑßá ¬ »á¼∩Γ¿ »«½∞º«óáΓѽ∩ ¿½¿  │
  432.     │          ¬ »á¼∩Γ¿ ∩ñαá                               │
  433.     └──────────────────────────────────────────────────────┘
  434.   É¿ßπ¡«¬ 5.6.  Åáαá¼ÑΓαδ óó«ñá-óδó«ñá, σαá¡∩Θ¿Ñß∩ ó »α«ßΓαá¡ßΓóÑ »α«µÑßßá
  435.                                      91
  436.  
  437. ú«α¿Γ¼ bmap, ¿ óδτ¿ß½∩ÑΓ ß¼ÑΘÑ¡¿Ñ ó¡πΓα¿ í½«¬á ñ« ¼ÑßΓá, «Γ¬πñá ß½ÑñπÑΓ  ¡á-
  438. τáΓ∞  óó«ñ-óδó«ñ, á ΓᬪѠ¬«½¿τÑßΓó« íá⌐Γ, ¬«Γ«αδÑ íπñπΓ »α«τ¿Γá¡δ ¿º í½«¬á.
  439. ū߽Ѡßτ¿Γδóá¡¿∩ í½«¬á ó íπΣÑα, ó«º¼«ª¡«, ß »α«ñó¿ªÑ¡¿Ñ¼ (á½ú«α¿Γ¼δ bread  ¿
  440. breada) ∩ñα« ¬«»¿απÑΓ ñá¡¡δÑ ¿º í½«¬á »« ¡áº¡áτÑ¡¡«¼π áñαÑßπ ó »«½∞º«óáΓѽ∞-
  441. ߬«¼ »α«µÑßßÑ. Ä¡« ¬«ααÑ¬Γ¿απÑΓ »áαá¼ÑΓαδ óó«ñá-óδó«ñá ó áñαÑß¡«¼ »α«ßΓαá¡ß-
  442. ΓóÑ  »α«µÑßßá ó ß««ΓóÑΓßΓó¿¿ ß ¬«½¿τÑßΓó«¼ »α«τ¿Γá¡¡δσ íá⌐Γ, πóѽ¿τ¿óá∩ º¡á-
  443. τÑ¡¿Ñ ß¼ÑΘÑ¡¿∩ ó íá⌐Γáσ ó¡πΓα¿ Σá⌐½á ¿ áñαÑß ¼ÑßΓá ó  »«½∞º«óáΓѽ∞߬«¼  »α«-
  444. µÑßßÑ, ¬πñá íπñÑΓ ñ«ßΓáó½Ñ¡á ß½ÑñπεΘá∩ »«αµ¿∩ ñá¡¡δσ, ¿ π¼Ñ¡∞Φá∩ τ¿ß½« íá⌐Γ,
  445. ¬«Γ«αδÑ ¡Ñ«íσ«ñ¿¼« »α«τ¿ΓáΓ∞, τΓ«íδ óδ»«½¡¿Γ∞ ºá»α«ß »«½∞º«óáΓѽ∩. àß½¿ ºá»-
  446. α«ß  »«½∞º«óáΓѽ∩ ¡Ñ πñ«ó½ÑΓó«αÑ¡, ∩ñα« »«óΓ«α∩ÑΓ óÑß∞ µ¿¬½, »αÑ«íαáºπ∩ ß¼Ñ-
  447. ΘÑ¡¿Ñ ó íá⌐Γáσ ó¡πΓα¿ Σá⌐½á ó ¡«¼Ñα í½«¬á, ßτ¿Γδóá∩ í½«¬ ß ñ¿ß¬á ó ß¿ßΓѼ¡δ⌐
  448. íπΣÑα, ¬«»¿απ∩ ñá¡¡δÑ ¿º íπΣÑαá ó »«½∞º«óáΓѽ∞߬¿⌐ »α«µÑßß, «ßó«í«ªñá∩ íπΣÑα
  449. ¿ ¬«ααÑ¬Γ¿απ∩ º¡áτÑ¡¿∩ »áαá¼ÑΓα«ó óó«ñá-óδó«ñá ó áñαÑß¡«¼ »α«ßΓαá¡ßΓóÑ  »α«-
  450. µÑßßá.  û¿¬½  ºáóÑαΦáÑΓß∩, ½¿í« ¬«úñá ∩ñα« óδ»«½¡¿Γ ºá»α«ß »«½∞º«óáΓѽ∩ »«½-
  451. ¡«ßΓ∞ε, ½¿í« ¬«úñá ó Σá⌐½Ñ í«½∞ΦÑ ¡Ñ íπñÑΓ ñá¡¡δσ, ½¿í« Ñß½¿ ∩ñα«  «í¡áαπª¿Γ
  452. «Φ¿í¬π  »α¿  τΓÑ¡¿¿ ñá¡¡δσ ß ñ¿ß¬á ¿½¿ »α¿ ¬«»¿α«óá¡¿¿ ñá¡¡δσ ó »α«ßΓαá¡ßΓó«
  453. »«½∞º«óáΓѽ∩. ƒñα« ¬«ααÑ¬Γ¿απÑΓ º¡áτÑ¡¿Ñ ß¼ÑΘÑ¡¿∩ ó Γáí½¿µÑ Σá⌐½«ó  ó  ß««Γ-
  454. óÑΓßΓó¿¿  ß ¬«½¿τÑßΓó«¼ Σá¬Γ¿τÑ߬¿ »α«τ¿Γá¡¡δσ íá⌐Γ; »«φΓ«¼π πß»ÑΦ¡«Ñ óδ»«½-
  455. ¡Ñ¡¿Ñ «»Ñαᵿ⌐ τΓÑ¡¿∩ óδú½∩ñ¿Γ ¬á¬  »«ß½Ññ«óáΓѽ∞¡«Ñ  ßτ¿Γδóá¡¿Ñ  ñá¡¡δσ  ¿º
  456. Σá⌐½á. æ¿ßΓѼ¡á∩ «»Ñαᵿ∩ lseek (αáºñѽ 5.6) πßΓá¡áó½¿óáÑΓ º¡áτÑ¡¿Ñ ß¼ÑΘÑ¡¿∩
  457. ó Γáí½¿µÑ Σá⌐½«ó ¿ ¿º¼Ñ¡∩ÑΓ »«α∩ñ«¬, ó ¬«Γ«α«¼ »α«µÑßß τ¿ΓáÑΓ ¿½¿ ºá»¿ßδóáÑΓ
  458. ñá¡¡δÑ ó Σá⌐½Ñ.
  459.  
  460.     ┌──────────────────────────────────────────────────────┐
  461.     │ #include <fcntl.h>                                   │
  462.     │ main()                                               │
  463.     │ {                                                    │
  464.     │     int fd;                                          │
  465.     │     char lilbuf[20],bigbuf[1024];                    │
  466.     │                                                      │
  467.     │     fd = open("/etc/passwd",O_RDONLY);               │
  468.     │     read(fd,lilbuf,20);                              │
  469.     │     read(fd,bigbuf,1024);                            │
  470.     │     read(fd,lilbuf,20);                              │
  471.     │ }                                                    │
  472.     └──────────────────────────────────────────────────────┘
  473.  
  474.          É¿ßπ¡«¬ 5.7. Åα¿¼Ñα »α«úαá¼¼δ τΓÑ¡¿∩ ¿º Σá⌐½á
  475.  
  476.  
  477.     Éáßß¼«Γα¿¼ »α«úαá¼¼π, »α¿óÑñÑ¡¡πε ¡á É¿ßπ¡¬Ñ 5.7. öπ¡¬µ¿∩ open ó«ºóαáΘá-
  478. ÑΓ ñÑß¬α¿»Γ«α Σá⌐½á, ¬«Γ«αδ⌐ »«½∞º«óáΓѽ∞ ºáßδ½áÑΓ ó »ÑαѼѡ¡πε fd ¿ ¿ß»«½∞-
  479. ºπÑΓ  ó »«ß½ÑñπεΘ¿σ ó맮óáσ Σπ¡¬µ¿¿ read. éδ»«½¡∩∩ Σπ¡¬µ¿ε read, ∩ñα« »α«óÑ-
  480. α∩ÑΓ, »αáó¿½∞¡« ½¿ ºáñá¡ »áαá¼ÑΓα "ñÑß¬α¿»Γ«α Σá⌐½á", á ΓᬪѠ íδ½  ½¿  Σá⌐½
  481. »αÑñóáα¿Γѽ∞¡«  «Γ¬αδΓ  »α«µÑßß«¼  ñ½∩ τΓÑ¡¿∩. Ä¡« ß«σαá¡∩ÑΓ º¡áτÑ¡¿Ñ áñαÑßá
  482. »«½∞º«óáΓѽ∞߬«ú« íπΣÑαá, ¬«½¿τÑßΓó« ßτ¿ΓδóáѼδσ íá⌐Γ ¿ ¡áτá½∞¡«Ñ ß¼ÑΘÑ¡¿Ñ ó
  483. íá⌐Γáσ ó¡πΓα¿ Σá⌐½á (ß««ΓóÑΓßΓóÑ¡¡«: lilbuf, 20 ¿ 0), ó »α«ßΓαá¡ßΓóÑ »α«µÑß-
  484. ßá. é αѺπ½∞ΓáΓÑ óδτ¿ß½Ñ¡¿⌐ «¬áºδóáÑΓß∩, τΓ« ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ ß¼ÑΘÑ¡¿∩ ß««Γ-
  485. óÑΓßΓóπÑΓ ¡π½Ñó«¼π í½«¬π Σá⌐½á, ¿ ∩ñα« ó«ºóαáΘáÑΓ Γ«τ¬π óσ«ñá ó ¿¡ñѬß,  ß«-
  486. «ΓóÑΓßΓóπεΘπε  ¡π½Ñó«¼π  í½«¬π. ÅαÑñ»«½áúá∩, τΓ« Γᬫ⌐ í½«¬ ßπΘÑßΓóπÑΓ, ∩ñα«
  487. ßτ¿ΓδóáÑΓ »«½¡δ⌐ í½«¬ αẼÑα«¼ 1024 íá⌐Γá ó íπΣÑα, ¡« »« áñαÑßπ lilbuf ¬«»¿-
  488. απÑΓ Γ«½∞¬« 20 íá⌐Γ. Ä¡« πóѽ¿τ¿óáÑΓ ß¼ÑΘÑ¡¿Ñ ó¡πΓα¿  »α«ßΓαá¡ßΓóá  »α«µÑßßá
  489. ¡á 20 íá⌐Γ ¿ ßíαáßδóáÑΓ ßτÑΓτ¿¬ ñá¡¡δσ ó 0. Å«ß¬«½∞¬π «»Ñαᵿ∩ read óδ»«½¡¿-
  490. ½áß∞,  ∩ñα«  »ÑαÑπßΓá¡áó½¿óáÑΓ º¡áτÑ¡¿Ñ ß¼ÑΘÑ¡¿∩ ó Γáí½¿µÑ Σá⌐½«ó ¡á 20, Γá¬
  491. τΓ« »«ß½ÑñπεΘ¿Ñ «»Ñαᵿ¿ τΓÑ¡¿∩ ¿º Σá⌐½á ß ñá¡¡δ¼  ñÑß¬α¿»Γ«α«¼  ¡áτ¡πΓß∩  ß
  492. ¼ÑßΓá, αáß»«½«ªÑ¡¡«ú« ß« ß¼ÑΘÑ¡¿Ñ¼ 20 íá⌐Γ «Γ ¡áτá½á Σá⌐½á, á ß¿ßΓѼ¡á∩ Σπ¡-
  493. ¬µ¿∩ ó«ºóαáΘáÑΓ τ¿ß½« íá⌐Γ, Σá¬Γ¿τÑ߬¿ »α«τ¿Γá¡¡δσ, Γ.Ñ. 20.
  494.     Åα¿ »«óΓ«α¡«¼ ó맮óÑ Σπ¡¬µ¿¿ read ∩ñα« ó¡«ó∞ »α«óÑα∩ÑΓ ¬«ααÑ¬Γ¡«ßΓ∞ π¬á-
  495. ºá¡¿∩  ñÑß¬α¿»Γ«αá ¿ ¡á½¿τ¿Ñ ß««ΓóÑΓßΓóπεΘÑú« Σá⌐½á, «Γ¬αδΓ«ú« »α«µÑßß«¼ ñ½∩
  496.  
  497.                                      92
  498.  
  499. τΓÑ¡¿∩, »«ß¬«½∞¬π «¡« ¡¿¬á¬ ¡Ñ ¼«ªÑΓ πº¡áΓ∞, τΓ« ºá»α«ß »«½∞º«óáΓѽ∩ ¡á τΓÑ-
  500. ¡¿Ñ ¬áßáÑΓß∩ Γ«ú« ªÑ ßἫú« Σá⌐½á, ßπΘÑßΓó«óá¡¿Ñ ¬«Γ«α«ú«  í佫  πßΓá¡«ó½Ñ¡«
  501. ó«  óαѼ∩  »«ß½Ññ¡Ñú« ó맮óá Σπ¡¬µ¿¿. ƒñα« ß«σαá¡∩ÑΓ ó »α«ßΓαá¡ßΓóÑ »α«µÑßßá
  502. »«½∞º«óáΓѽ∞߬¿⌐ áñαÑß bigbuf, ¬«½¿τÑßΓó« íá⌐Γ, ¬«Γ«αδÑ ¡πª¡« »α«τ¿ΓáΓ∞ »α«-
  503. µÑßßπ (1024), ¿ ¡áτá½∞¡«Ñ ß¼ÑΘÑ¡¿Ñ ó Σá⌐½Ñ (20), óº∩Γ«Ñ ¿º  Γáí½¿µδ  Σá⌐½«ó.
  504. ƒñα«  »αÑ«íαáºπÑΓ ß¼ÑΘÑ¡¿Ñ ó¡πΓα¿ Σá⌐½á ó ¡«¼Ñα ñ¿ß¬«ó«ú« í½«¬á, ¬á¬ αá¡∞ΦÑ,
  505. ¿ ßτ¿ΓδóáÑΓ í½«¬. àß½¿ ¼Ñªñπ ó맮óἿ Σπ¡¬µ¿¿ read »α«Φ½«  ¡Ñ»α«ñ«½ª¿Γѽ∞¡«Ñ
  506. óαѼ∩, ÑßΓ∞ Φá¡ßδ, τΓ« í½«¬ ¡áσ«ñ¿Γß∩ ó íπΣÑα¡«¼ ¬ÑΦÑ. Äñ¡á¬«, ∩ñα« ¡Ñ ¼«ªÑΓ
  507. »«½¡«ßΓ∞ε  πñ«ó½ÑΓó«α¿Γ∞  ºá»α«ß  »«½∞º«óáΓѽ∩ ¡á τΓÑ¡¿Ñ ºá ßτÑΓ ß«ñÑন¼«ú«
  508. íπΣÑαá, »«ß¬«½∞¬π Γ«½∞¬« 1004 íá⌐Γá ¿º 1024 ñ½∩ ñá¡¡«ú« ºá»α«ßá ¡áσ«ñ∩Γß∩  ó
  509. íπΣÑαÑ. Å«φΓ«¼π «¡« ¬«»¿απÑΓ «ßΓáóΦ¿Ñß∩ 1004 íá⌐Γá ¿º íπΣÑαá ó »«½∞º«óáΓѽ∞-
  510. ߬πε ßΓαπ¬Γπαπ ñá¡¡δσ bigbuf ¿ ¬«ααÑ¬Γ¿απÑΓ »áαá¼ÑΓαδ ó »α«ßΓαá¡ßΓóÑ »α«µÑß-
  511. ßá Γᬿ¼ «íαẫ¼, τΓ«íδ ß½ÑñπεΘ¿⌐ Φáú µ¿¬½á τΓÑ¡¿∩ ¡áτ¿¡á½ß∩ ó Σá⌐½Ñ ß íá⌐Γá
  512. 1024, »α¿ φΓ«¼ ñá¡¡δÑ ß½ÑñπÑΓ ¬«»¿α«óáΓ∞ »« áñαÑßπ íá⌐Γá 1004 ó bigbuf ó «í-
  513. ΩѼѠ20 íá⌐Γ, τΓ«íδ πñ«ó½ÑΓó«α¿Γ∞ ºá»α«ß ¡á τΓÑ¡¿Ñ.
  514.     ÆÑ»Ñα∞  ∩ñα«  »ÑαÑσ«ñ¿Γ  ¬ ¡áτá½π µ¿¬½á, ß«ñÑαªáΘÑú«ß∩ ó á½ú«α¿Γ¼Ñ read.
  515. Ä¡« »αÑ«íαáºπÑΓ ß¼ÑΘÑ¡¿Ñ ó íá⌐Γáσ (1024) ó ¡«¼Ñα ½«ú¿τÑ߬«ú« í½«¬á (1),  «í-
  516. αáΘáÑΓß∩ ¬« óΓ«α«¼π í½«¬π »α∩¼«⌐ áñαÑßᵿ¿, ¡«¼Ñα ¬«Γ«α«ú« σαá¡¿Γß∩ ó ¿¡ñѬ-
  517. ßÑ,  ¿ «Γδ߬¿óáÑΓ Γ«τ¡δ⌐ ñ¿ß¬«óδ⌐ í½«¬, ¿º ¬«Γ«α«ú« íπñÑΓ »α«¿ºó«ñ¿Γ∞ß∩ τΓÑ-
  518. ¡¿Ñ. ƒñα« ßτ¿ΓδóáÑΓ í½«¬ ¿º íπΣÑα¡«ú« ¬ÑΦá ¿½¿ ß ñ¿ß¬á, Ñß½¿ ó  ¬ÑΦÑ  ñá¡¡δ⌐
  519. í½«¬ «ΓßπΓßΓóπÑΓ. ìᬫ¡Ñµ, «¡« ¬«»¿απÑΓ 20 íá⌐Γ ¿º íπΣÑαá »« πΓ«τ¡Ñ¡¡«¼π áñ-
  520. αÑßπ ó »«½∞º«óáΓѽ∞߬¿⌐ »α«µÑßß. ÅαѪñÑ τѼ óδ⌐Γ¿ ¿º ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿, ∩ñα«
  521. πßΓá¡áó½¿óáÑΓ  º¡áτÑ¡¿Ñ  »«½∩ ß¼ÑΘÑ¡¿∩ ó Γáí½¿µÑ Σá⌐½«ó αáó¡δ¼ 1044, Γ« ÑßΓ∞
  522. αáó¡δ¼ º¡áτÑ¡¿ε ß¼ÑΘÑ¡¿∩ ó íá⌐Γáσ ñ« ¼ÑßΓá, ¬πñá íπñÑΓ »α«¿ºó«ñ¿Γ∞ß∩ ß½Ññπε-
  523. ΘÑÑ «íαáΘÑ¡¿Ñ. é »«ß½Ññ¡Ñ¼ ó맮óÑ Σπ¡¬µ¿¿ read ¿º »α¿¼Ñαá ∩ñα«  óÑñÑΓ  ßÑí∩,
  524. ¬á¬ ¿ ó »Ñαó«¼ «íαáΘÑ¡¿¿ ¬ Σπ¡¬µ¿¿, ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«, τΓ« τΓÑ¡¿Ñ ¿º Σá⌐½á
  525. ó  ñá¡¡«¼  ß½πτáÑ ¡áτ¿¡áÑΓß∩ ß íá⌐Γá 1044, Γᬠ¬á¬ ¿¼Ñ¡¡« φΓ« º¡áτÑ¡¿Ñ íπñÑΓ
  526. «í¡áαπªÑ¡« ó »«½Ñ ß¼ÑΘÑ¡¿∩ Γ«⌐ ºá»¿ß¿ Γáí½¿µδ Σá⌐½«ó, ¬«Γ«αá∩  ß««ΓóÑΓßΓóπÑΓ
  527. π¬áºá¡¡«¼π ñÑß¬α¿»Γ«απ.
  528.     Åα¿¼Ñα  »«¬áºδóáÑΓ, ¡á߬«½∞¬« óδú«ñ¡« ñ½∩ ºá»α«ß«ó óó«ñá-óδó«ñá αáí«ΓáΓ∞
  529. ß ñá¡¡δ¼¿, ¡áτ¿¡áεΘ¿¼¿ß∩ ¡á úαá¡¿µáσ í½«¬«ó Σá⌐½«ó«⌐ ß¿ßΓÑ¼δ ¿ ¿¼ÑεΘ¿¼¿ αáº-
  530. ¼Ñα, ¬αáΓ¡δ⌐ αẼÑαπ í½«¬á. ¥Γ« »«ºó«½∩ÑΓ ∩ñαπ ¿ºíÑúáΓ∞ ñ«»«½¡¿Γѽ∞¡δσ  ¿ΓÑ-
  531. αᵿ⌐  »α¿  óδ»«½¡Ñ¡¿¿ µ¿¬½á ó á½ú«α¿Γ¼Ñ read ¿ óßÑσ óδΓѬáεΘ¿σ »«ß½ÑñßΓó¿⌐,
  532. ßó∩ºá¡¡δσ ß ñ«»«½¡¿Γѽ∞¡δ¼¿ «íαáΘÑ¡¿∩¼¿ ¬ ¿¡ñѬßπ ó  »«¿ß¬áσ  ¡«¼Ñαá  í½«¬á,
  533. ¬«Γ«αδ⌐  ß«ñÑαª¿Γ  ñá¡¡δÑ, ¿ ß ¬«¡¬παÑ¡µ¿Ñ⌐ ºá ¿ß»«½∞º«óá¡¿Ñ íπΣÑα¡«ú« »π½á.
  534. ü¿í½¿«ΓѬá ßΓá¡ñáαΓ¡δσ ¼«ñπ½Ñ⌐ óó«ñá-óδó«ñá  ß«ºñá¡á  Γᬿ¼  «íαẫ¼,  τΓ«íδ
  535. ߬αδΓ∞ «Γ »«½∞º«óáΓѽÑ⌐ αẼÑαδ íπΣÑα«ó ∩ñαá; ÑÑ ¿ß»«½∞º«óá¡¿Ñ »«ºó«½∩ÑΓ ¿º-
  536. íѪáΓ∞ »«ΓÑα∞ »α«¿ºó«ñ¿Γѽ∞¡«ßΓ¿, »α¿ßπΘ¿σ »α«µÑßßá¼, αáí«ΓáεΘ¿¼ ß ¡Ñí«½∞Φ¿-
  537. ¼¿ »«αµ¿∩¼¿ ñá¡¡δσ, ¿º-ºá τÑú« ¿σ Σπ¡¬µ¿«¡¿α«óá¡¿Ñ ¡á πα«ó¡Ñ Σá⌐½«ó«⌐ ß¿ßΓÑ-
  538. ¼δ ¡ÑφΣΣÑ¬Γ¿ó¡« (ß¼. π»α᪡ѡ¿Ñ 5.4).
  539.     éδ»«½¡∩∩  µ¿¬½ τΓÑ¡¿∩, ∩ñα« «»αÑñѽ∩ÑΓ, ∩ó½∩ÑΓß∩ ½¿ Σá⌐½ «íΩÑ¬Γ«¼ τΓÑ¡¿∩
  540. ß »α«ñó¿ªÑ¡¿Ñ¼: Ñß½¿ »α«µÑßß ßτ¿ΓδóáÑΓ »«ß½Ññ«óáΓѽ∞¡« ñóá í½«¬á, ∩ñα« »αÑñ-
  541. »«½áúáÑΓ, τΓ« óßÑ «τÑαÑñ¡δÑ «»Ñαᵿ¿ íπñπΓ »α«¿ºó«ñ¿Γ∞ »«ß½Ññ«óáΓѽ∞¡«Ñ τΓÑ-
  542. ¡¿Ñ, ñ« ΓÑσ »«α, »«¬á ¡Ñ íπñÑΓ πΓóÑαªñÑ¡« «íαáΓ¡«Ñ. ìá ¬áªñ«¼ ΦáúÑ µ¿¬½á ∩ñ-
  543. α« ºá»«¼¿¡áÑΓ ¡«¼Ñα ß½ÑñπεΘÑú« ½«ú¿τÑ߬«ú« í½«¬á ó ¬«»¿¿ ¿¡ñѬßá, σαá¡∩ΘÑ⌐ß∩
  544. ó »á¼∩Γ¿, ¿ ¡á ß½ÑñπεΘѼ ΦáúÑ ßαáó¡¿óáÑΓ ¡«¼Ñα ΓѬπΘÑú« ½«ú¿τÑ߬«ú« í½«¬á ß«
  545. º¡áτÑ¡¿Ñ¼, ºá»«¼¡Ñ¡¡δ¼ αá¡ÑÑ. àß½¿ φΓ¿ ¡«¼Ñαá αáó¡δ,  ∩ñα«  óδτ¿ß½∩ÑΓ  ¡«¼Ñα
  546. Σ¿º¿τÑ߬«ú« í½«¬á ñ½∩ τΓÑ¡¿∩ ß »α«ñó¿ªÑ¡¿Ñ¼ ¿ ß«σαá¡∩ÑΓ φΓ« º¡áτÑ¡¿Ñ ó »α«ß-
  547. Γαá¡ßΓóÑ  »α«µÑßßá  ñ½∩  ¿ß»«½∞º«óá¡¿∩  ó á½ú«α¿Γ¼Ñ breada. è«¡Ñτ¡« ªÑ, »«¬á
  548. »α«µÑßß ¡Ñ ßτ¿Γá½ ¬«¡Ñµ í½«¬á, ∩ñα« ¡Ñ ºá»πßΓ¿Γ á½ú«α¿Γ¼ τΓÑ¡¿∩ ß  »α«ñó¿ªÑ-
  549. ¡¿Ñ¼ ñ½∩ ß½ÑñπεΘÑú« í½«¬á.
  550.     ÄíαáΓ¿óΦ¿ß∞  ¬  É¿ßπ¡¬π 4.9, óß»«¼¡¿¼, τΓ« ¡«¼ÑαᠡѬ«Γ«αδσ í½«¬«ó ó ¿¡-
  551. ñѬßÑ ¿½¿ ó í½«¬á󠬫ßóÑ¡¡«⌐ áñαÑßᵿ¿ ¼«úπΓ ¿¼ÑΓ∞ ¡π½Ñó«Ñ  º¡áτÑ¡¿Ñ,  »πßΓ∞
  552. ñáªÑ  ¡«¼Ñαá  »«ß½ÑñπεΘ¿σ í½«¬«ó ¿ ¡Ñ¡π½ÑóδÑ. àß½¿ »α«µÑßß »«»δΓáÑΓß∩ »α«τ¿-
  553. ΓáΓ∞ ñá¡¡δÑ ¿º Γᬫú« í½«¬á, ∩ñα« óδ»«½¡¿Γ ºá»α«ß, óδñѽ∩∩ »α«¿ºó«½∞¡δ⌐  íπ-
  554. ΣÑα  ó  µ¿¬½Ñ read, «τ¿Θá∩ Ñú« ß«ñÑন¼«Ñ ¿ ¬«»¿απ∩ ñá¡¡δÑ ¿º ¡Ñú« »« áñαÑßπ
  555. »«½∞º«óáΓѽ∩. ¥Γ«Γ ß½πτá⌐ ¡Ñ ¿¼ÑÑΓ ¡¿τÑú« «íΘÑú« ß ΓѼ ß½πτáѼ,  ¬«úñá  »α«-
  556. µÑßß «í¡áαπª¿óáÑΓ ¬«¡Ñµ Σá⌐½á, ú«ó«α∩Θ¿⌐ « Γ«¼, τΓ« »«ß½Ñ φΓ«ú« ¼ÑßΓᠺỿß∞
  557. ¿¡Σ«α¼áµ¿¿  ¡¿¬«úñá ¡Ñ »α«¿ºó«ñ¿½áß∞. Äí¡áαπª¿ó ¬«¡Ñµ Σá⌐½á, ∩ñα« ¡Ñ ó«ºóαá-
  558.  
  559.                                      93
  560.  
  561. ΘáÑΓ »α«µÑßßπ ¡¿¬á¬«⌐ ¿¡Σ«α¼áµ¿¿ (ß¼. π»α᪡ѡ¿Ñ 5.1).
  562.     è«úñá »α«µÑßß óδºδóáÑΓ ß¿ßΓѼ¡πε Σπ¡¬µ¿ε read, ∩ñα« í½«¬¿απÑΓ ¿¡ñѬߠ ¡á
  563. óαѼ∩ óδ»«½¡Ñ¡¿∩ ó맮óá. é»«ß½ÑñßΓó¿¿, φëà»α«µÑßß ¼«ªÑΓ »α¿«ßΓá¡«ó¿Γ∞ß∩ ó«
  564. óαѼ∩  τΓÑ¡¿∩  ¿º íπΣÑαá, áßß«µ¿¿α«óá¡¡«ú« ß ñá¡¡δ¼¿ ¿½¿ ß í½«¬á¼¿ ¬«ßóÑ¡¡«⌐
  565. áñαÑßᵿ¿ ó ¿¡ñѬßÑ. àß½¿ ÑΘÑ «ñ¡«¼π »α«µÑßßπ ñáΓ∞ ó«º¼«ª¡«ßΓ∞ ó¡«ß¿Γ∞ ¿º¼Ñ-
  566. ¡Ñ¡¿∩ ó Σá⌐½ ó Γ« óαѼ∩, ¬«úñá »Ñαóδ⌐ »α«µÑßß  »α¿«ßΓá¡«ó½Ñ¡,  Σπ¡¬µ¿∩  read
  567. ¼«ªÑΓ  ó«ºóαáΓ¿Γ∞ ¡Ñß«ú½áß«óá¡¡δÑ ñá¡¡δÑ. ìá»α¿¼Ñα, »α«µÑßß ¼«ªÑΓ ßτ¿ΓáΓ∞ ¿º
  568. Σá⌐½á ¡Ñ߬«½∞¬« í½«¬«ó; Ñß½¿ «¡ »α¿«ßΓá¡«ó¿½ß∩ ó« óαѼ∩ τΓÑ¡¿∩ »Ñαó«ú«  í½«-
  569. ¬á,  á  óΓ«α«⌐  »α«µÑßß  ß«í¿αá½ß∩ óÑßΓ¿ ºá»¿ß∞ ó ñαπú¿Ñ í½«¬¿, ó«ºóαáΘáѼδÑ
  570. ñá¡¡δÑ íπñπΓ ß«ñÑαªáΓ∞ ßΓáαδÑ ñá¡¡δÑ ó»ÑαѼÑΦ¬π ß ¡«ó묨. Æá¬¿¼ «íαẫ¼, ¿¡-
  571. ñѬߠ«ßΓáÑΓß∩ ºáí½«¬¿α«óá¡¡δ¼ ¡á óßÑ óαѼ∩ óδ»«½¡Ñ¡¿∩  ó맮óá  Σπ¡¬µ¿¿  read
  572. ñ½∩  Γ«ú«, τΓ«íδ »α«µÑßßδ ¼«ú½¿ ¿¼ÑΓ∞ µÑ½«ßΓ¡«Ñ ó¿ñÑ¡¿Ñ Σá⌐½á, Γ« ÑßΓ∞ ó¿ñÑ-
  573. ¡¿Ñ Γ«ú« «íαáºá, ¬«Γ«αδ⌐ íδ½ π Σá⌐½á »ÑαÑñ óδº«ó«¼ Σπ¡¬µ¿¿.
  574.     ƒñα« ¼«ªÑΓ óδúαπªáΓ∞ »α«µÑßß, óÑñπΘ¿⌐ τΓÑ¡¿Ñ, ó αѪ¿¼  ºáñáτ¿  ¡á  óαѼ∩
  575. ¼Ñªñπ  ñóπ¼∩ ó맮óἿ Σπ¡¬µ¿⌐ ¿ »½á¡¿α«óáΓ∞ ºá»π߬ ñαπú¿σ »α«µÑßß«ó. Æá¬ ¬á¬
  576. »« «¬«¡τá¡¿¿ óδ»«½¡Ñ¡¿∩ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ ß  ¿¡ñѬßá  ß¡¿¼áÑΓß∩  í½«¬¿α«ó¬á,
  577. ¡¿τΓ«  ¡Ñ ¼ÑΦáÑΓ ñαπú¿¼ »α«µÑßßá¼ «íαáΘáΓ∞ß∩ ¬ Σá⌐½π ¿ ¿º¼Ñ¡∩Γ∞ Ñú« ß«ñÑন-
  578. ¼«Ñ. æ« ßΓ«α«¡δ ß¿ßΓѼδ í佫 íδ ¡Ñß»αáóÑñ½¿ó« ñÑαªáΓ∞ ¿¡ñѬߠºáí½«¬¿α«óá¡¡δ¼
  579. óßÑ óαѼ∩ «Γ ¼«¼Ñ¡Γá, ¬«úñá »α«µÑßß «Γ¬αδ½ Σá⌐½, ¿ ñ«  Γ«ú«  ¼«¼Ñ¡Γá,  ¬«úñá
  580. Σá⌐½ íπñÑΓ ºá¬αδΓ φΓ¿¼ »α«µÑßß«¼, »«ß¬«½∞¬π Γ«úñá «ñ¿¡ »α«µÑßß íπñÑΓ ñÑαªáΓ∞
  581. óßÑ óαѼ∩ Σá⌐½ «Γ¬αδΓδ¼, ΓѼ ßá¼δ¼ ¡Ñ ñáóá∩ ñαπú¿¼ »α«µÑßßἠ󫺼«ª¡«ßΓ¿ «í-
  582. αáΓ¿Γ∞ß∩  ¬ Σá⌐½π. àß½¿ Σá⌐½ ¿¼ÑÑΓ ¿¼∩ "/etc/ passwd", Γ« ÑßΓ∞ ∩ó½∩ÑΓß∩ Σá⌐-
  583. ½«¼, ¿ß»«½∞ºπÑ¼δ¼ ó »α«µÑßßÑ αÑú¿ßΓαᵿ¿ ñ½∩ »α«óÑન »«½∞º«óáΓѽ∞߬«ú«  »á-
  584. α«½∩, «ñ¿¡ »«½∞º«óáΓѽ∞ ¼«ªÑΓ π¼δΦ½Ñ¡¡« (¿½¿, ó«º¼«ª¡«, ¡Ñπ¼δΦ½Ñ¡¡«) ó«ß»αÑ-
  585. »∩ΓßΓó«óáΓ∞  αÑú¿ßΓαᵿ¿  ó ß¿ßΓѼѠóßÑσ «ßΓá½∞¡δσ »«½∞º«óáΓѽÑ⌐. ùΓ«íδ »αÑ-
  586. ñ«ΓóαáΓ¿Γ∞ ó«º¡¿¬¡«óÑ¡¿Ñ »«ñ«í¡δσ »α«í½Ñ¼, ∩ñα« ß¡¿¼áÑΓ ß ¿¡ñѬßá í½«¬¿α«ó¬π
  587. »« «¬«¡τá¡¿¿ óδ»«½¡Ñ¡¿∩ ¬áªñ«ú« ó맮óá ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿,  ¿ß»«½∞ºπεΘÑ⌐  ¿¡-
  588. ñѬß. àß½¿ óΓ«α«⌐ »α«µÑßß ó¡ÑßÑΓ ¿º¼Ñ¡Ñ¡¿∩ ó Σá⌐½ ¼Ñªñπ ñóπ¼∩ ó맮óἿ Σπ¡¬-
  589. µ¿¿  read,  »α«¿ºó«ñ¿¼δ¼¿  »Ñαóδ¼  »α«µÑßß«¼, »Ñαóδ⌐ »α«µÑßß ¼«ªÑΓ »α«τ¿ΓáΓ∞
  590. ¡Ñ»αÑñó¿ñÑ¡¡δÑ ñá¡¡δÑ, «ñ¡á¬« ßΓαπ¬Γπαδ ñá¡¡δσ ∩ñαá ß«σαá¡∩Γ  ßó«ε  ß«ú½áß«-
  591. óá¡¡«ßΓ∞.
  592.     ÅαÑñ»«½«ª¿¼,  ¬  »α¿¼Ñαπ, τΓ« ∩ñα« óδ»«½¡∩ÑΓ ñóá »α«µÑßßá, ¬«¡¬πα¿απεΘ¿Ñ
  593.  
  594.     ┌────────────────────────────────────────────────────────────┐
  595.     │ #include <fcntl.h>                                         │
  596.     │ /* »α«µÑßß A */                                            │
  597.     │ main()                                                     │
  598.     │ {                                                          │
  599.     │     int fd;                                                │
  600.     │     char buf[512];                                         │
  601.     │     fd = open("/etc/passwd",O_RDONLY);                     │
  602.     │     read(fd,buf,sizeof(buf));          /* τΓÑ¡¿Ñ1 */       │
  603.     │     read(fd,buf,sizeof(buf));          /* τΓÑ¡¿Ñ2 */       │
  604.     │ }                                                          │
  605.     │                                                            │
  606.     │ /* »α«µÑßß B */                                            │
  607.     │ main()                                                     │
  608.     │ {                                                          │
  609.     │     int fd,i;                                              │
  610.     │     char buf[512];                                         │
  611.     │     for (i = 0; i < sizeof(buf); i++)                      │
  612.     │         buf[i] = 'a';                                      │
  613.     │     fd = open("/etc/passwd",O_WRONLY);                     │
  614.     │     write(fd,buf,sizeof(buf));         /* ºá»¿ß∞1 */       │
  615.     │     write(fd,buf,sizeof(buf));         /* ºá»¿ß∞2 */       │
  616.     │ }                                                          │
  617.     └────────────────────────────────────────────────────────────┘
  618.  
  619.             É¿ßπ¡«¬ 5.8. Åα«µÑßßδ, óÑñπΘ¿Ñ τΓÑ¡¿Ñ ¿ ºá»¿ß∞
  620.  
  621.                                      94
  622.  
  623.  
  624.  
  625. ¼Ñªñπ ß«í«⌐ (É¿ßπ¡«¬ 5.8). àß½¿ ñ«»πßΓ¿Γ∞, τΓ« «íá »α«µÑßßá óδ»«½¡∩εΓ «»Ñαá-
  626. µ¿ε open ñ« Γ«ú«, ¬á¬ ½εí«⌐ ¿º  ¡¿σ  óδºδóáÑΓ  ß¿ßΓѼ¡πε  Σπ¡¬µ¿ε  read  ¿½¿
  627. write,  ∩ñα« ¼«ªÑΓ óδ»«½¡∩Γ∞ Σπ¡¬µ¿¿ τΓÑ¡¿∩ ¿ ºá»¿ß¿ ó ½εí«⌐ ¿º ΦÑßΓ¿ »«ß½Ñ-
  628. ñ«óáΓѽ∞¡«ßΓÑ⌐: τΓÑ¡¿Ñ1, τΓÑ¡¿Ñ2, ºá»¿ß∞1, ºá»¿ß∞2,  ¿½¿  τΓÑ¡¿Ñ1,  ºá»¿ß∞1,
  629. τΓÑ¡¿Ñ2,  ºá»¿ß∞2,  ¿½¿ τΓÑ¡¿Ñ1, ºá»¿ß∞1, ºá»¿ß∞2, τΓÑ¡¿Ñ2 ¿ Γ.ñ. æ«ßΓáó ¿¡-
  630. Σ«α¼áµ¿¿, ßτ¿ΓδóáѼ«⌐ »α«µÑßß«¼ A, ºáó¿ß¿Γ «Γ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿, ó  ¬«Γ«α«⌐
  631. ß¿ßΓѼᠠóδ»«½¡∩ÑΓ Σπ¡¬µ¿¿, óδºδóáѼδÑ ñóπ¼∩ »α«µÑßßἿ; ß¿ßΓѼᠡѠúáαá¡Γ¿-
  632. απÑΓ, τΓ« ñá¡¡δÑ ó Σá⌐½Ñ «ßΓá¡πΓß∩ Γᬿ¼¿ ªÑ, ¬á¬¿¼¿ «¡¿ í뫨 »«ß½Ñ «Γ¬αδΓ¿∩
  633. Σá⌐½á. êß»«½∞º«ó᡿Ѡ󫺼«ª¡«ßΓ¿ ºáσóáΓá Σá⌐½á ¿ ºá»¿ßÑ⌐ (αáºñѽ 5.4) »«ºó«-
  634. ½∩ÑΓ »α«µÑßßπ úáαá¡Γ¿α«óáΓ∞ ß«σαá¡Ñ¡¿Ñ µÑ½«ßΓ¡«ßΓ¿ Σá⌐½á »«ß½Ñ Ñú« «Γ¬αδΓ¿∩.
  635.  
  636.     ìᬫ¡Ñµ, »α«úαἼᠡá É¿ßπ¡¬Ñ 5.9 »«¬áºδóáÑΓ, ¬á¬ »α«µÑßß  ¼«ªÑΓ  «Γ¬αδ-
  637. óáΓ∞ Σá⌐½ í«½ÑÑ «ñ¡«ú« αáºá ¿ τ¿ΓáΓ∞ ¿º ¡Ñú«, ¿ß»«½∞ºπ∩ αạδÑ Σá⌐½«óδÑ ñÑß-
  638. ¬α¿»Γ«αδ.  ƒñα« αáí«ΓáÑΓ ß« º¡áτÑ¡¿∩¼¿ ß¼ÑΘÑ¡¿⌐ ó Γáí½¿µÑ Σá⌐½«ó, áßß«µ¿¿α«-
  639. óá¡¡δ¼¿ ß ñóπ¼∩ Σá⌐½«ó묨 ñÑß¬α¿»Γ«αἿ, ¡Ñºáó¿ß¿¼«, ¿ »«φΓ«¼π ¼áßß¿óδ  buf1
  640. ¿  buf2 íπñπΓ »« ºáóÑαΦÑ¡¿¿ óδ»«½¡Ñ¡¿∩ »α«µÑßßá ¿ñÑ¡Γ¿τ¡δ ñαπú ñαπúπ »α¿ πß-
  641. ½«ó¿¿, τΓ« ¡¿  «ñ¿¡  »α«µÑßß  ó  φΓ«  óαѼ∩  ¡Ñ  »α«¿ºó«ñ¿½  ºá»¿ß∞  ó  Σá⌐½
  642. "/etc/passwd".
  643.  
  644.  
  645.     E5.3 WRITEF
  646.  
  647.     æ¿¡Γá¬ß¿ß ó맮óá ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ write (»¿ßáΓ∞):
  648.     number = write(fd,buffer,count);
  649.  
  650. úñÑ  »ÑαѼѡ¡δÑ fd, buffer, count ¿ number ¿¼ÑεàëàªÑ ß¼δß½, τΓ« ¿ ñ½∩ óδ-
  651. º«óá ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ read. Ç½ú«α¿Γ¼ ºá»¿ß¿ ó «íδτ¡δ⌐ Σá⌐½ »«σ«ª  ¡á  á½ú«-
  652. α¿Γ¼  τΓÑ¡¿∩ ¿º «íδτ¡«ú« Σá⌐½á. Äñ¡á¬«, Ñß½¿ ó Σá⌐½Ñ «ΓßπΓßΓóπÑΓ í½«¬, ß««Γ-
  653. óÑΓßΓóπεΘ¿⌐ ß¼ÑΘÑ¡¿ε ó íá⌐Γáσ ñ« ¼ÑßΓá, ¬πñá  ñ«½ª¡á  »α«¿ºó«ñ¿Γ∞ß∩  ºá»¿ß∞,
  654. ∩ñα«  óδñѽ∩ÑΓ í½«¬, ¿ß»«½∞ºπ∩ á½ú«α¿Γ¼ alloc, ¿ »α¿ßóá¿óáÑΓ Ñ¼π ¡«¼Ñα ó ß«-
  655. «ΓóÑΓßΓó¿¿ ß Γ«τ¡δ¼ π¬áºá¡¿Ñ¼ ¼ÑßΓá ó Γáí½¿µÑ ß«ñÑন¼«ú« ¿¡ñѬßá. àß½¿ ß¼Ñ-
  656. ΘÑ¡¿Ñ ó íá⌐Γáσ ß«ó»áñáÑΓ ß« ß¼ÑΘÑ¡¿Ñ¼ ñ½∩ í½«¬á ¬«ßóÑ¡¡«⌐  áñαÑßᵿ¿,  ∩ñαπ,
  657. 󫺼«ª¡«, »α¿ñÑΓß∩ óδñѽ¿Γ∞ ¡Ñ߬«½∞¬« í½«¬«ó ñ½∩ ¿ß»«½∞º«óá¡¿∩ ¿σ ó ¬áτÑßΓóÑ
  658. í½«¬«ó ¬«ßóÑ¡¡«⌐ áñαÑßᵿ¿ ¿ ¿¡Σ«α¼áµ¿-
  659.  
  660.     ┌────────────────────────────────────────────────────────────┐
  661.     │ #include <fcntl.h>                                         │
  662.     │ main()                                                     │
  663.     │ {                                                          │
  664.     │     int fd1,fd2;                                           │
  665.     │     char buf1[512],buf2[512];                              │
  666.     │                                                            │
  667.     │     fd1 = open("/etc/passwd",O_RDONLY);                    │
  668.     │     fd2 = open("/etc/passwd",O_RDONLY);                    │
  669.     │     read(fd1,buf1,sizeof(buf1));                           │
  670.     │     read(fd2,buf2,sizeof(buf2));                           │
  671.     │ }                                                          │
  672.     └────────────────────────────────────────────────────────────┘
  673.  
  674.     É¿ßπ¡«¬ 5.9. ùΓÑ¡¿Ñ ¿º Σá⌐½á ß ¿ß»«½∞º«ó᡿Ѽ ñóπσ ñÑß¬α¿»Γ«α«ó
  675.  
  676.  
  677. «¡¡δσ  í½«¬«ó. ê¡ñÑ¬ß í½«¬¿απÑΓß∩ ¡á óßÑ óαѼ∩ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ write, Γá¬
  678. ¬á¬ ∩ñα« ¼«ªÑΓ ¿º¼Ñ¡¿Γ∞ ¿¡ñѬß, óδñѽ∩∩ ¡«óδÑ í½«¬¿; αáºαÑΦÑ¡¿Ñ ñαπú¿¼  »α«-
  679. µÑßßá¼  «íαáΘáΓ∞ß∩  ¬ Σá⌐½π ¼«ªÑΓ αáºαπΦ¿Γ∞ ¿¡ñѬß, Ñß½¿ ¡Ñ߬«½∞¬« »α«µÑßß«ó
  680. óδñѽ∩εΓ í½«¬¿ «ñ¡«óαѼѡ¡«, ¿ß»«½∞ºπ∩ «ñ¡¿ ¿ ΓÑ ªÑ º¡áτÑ¡¿∩ ß¼ÑΘÑ¡¿⌐. è«úñá
  681. ºá»¿ß∞ ºáóÑαΦáÑΓß∩, ∩ñα« ¬«ααÑ¬Γ¿απÑΓ αẼÑα Σá⌐½á ó ¿¡ñѬßÑ, Ñß½¿ Σá⌐½ πóÑ-
  682.  
  683.                                      95
  684.  
  685. ½¿τ¿½ß∩ ó αẼÑαÑ.
  686.     ÅαÑñ»«½«ª¿¼, ¬ »α¿¼Ñαπ, τΓ« »α«µÑßß ºá»¿ßδóáÑΓ ó  Σá⌐½  íá⌐Γ  ß  ¡«¼Ñα«¼
  687. 10240,  ¡á¿í«½∞Φ¿¼ ¡«¼Ñα«¼ ßαÑñ¿ πªÑ ºá»¿ßá¡¡δσ ó Σá⌐½Ñ. ÄíαáΓ¿óΦ¿ß∞ ¬ íá⌐Γπ
  688. ó Σá⌐½Ñ »« á½ú«α¿Γ¼π bmap, ∩ñα« «í¡áαπª¿Γ, τΓ« ó Σá⌐½Ñ «ΓßπΓßΓóπÑΓ ¡Ñ Γ«½∞¬«
  689. ß««ΓóÑΓßΓóπεΘ¿⌐ φΓ«¼π íá⌐Γπ í½«¬, ¡« ΓᬪѠ¿ ¡πª¡δ⌐ í½«¬  ¬«ßóÑ¡¡«⌐  áñαÑßá-
  690. µ¿¿. ƒñα« ¡áº¡áτáÑΓ ñ¿ß¬«óδ⌐ í½«¬ ó ¬áτÑßΓóÑ í½«¬á ¬«ßóÑ¡¡«⌐ áñαÑßᵿ¿ ¿ ºá-
  691. »¿ßδóáÑΓ ¡«¼Ñα í½«¬á ó ¬«»¿¿ ¿¡ñѬßá, σαá¡∩ΘÑ⌐ß∩ ó »á¼∩Γ¿. çáΓѼ «¡« óδñѽ∩-
  692. ÑΓ  ñ¿ß¬«óδ⌐  í½«¬  »«ñ ñá¡¡δÑ ¿ ºá»¿ßδóáÑΓ Ñú« ¡«¼Ñα ó »Ñαóπε »«º¿µ¿ε ó¡«ó∞
  693. ß«ºñá¡¡«ú« í½«¬á ¬«ßóÑ¡¡«⌐ áñαÑßᵿ¿.
  694.     Æá¬ ªÑ, ¬á¬ ó á½ú«α¿Γ¼Ñ read, ∩ñα« óσ«ñ¿Γ ó µ¿¬½, ºá»¿ßδóá∩ ¡á  ñ¿ß¬  »«
  695. «ñ¡«¼π  í½«¬π ¡á ¬áªñ«⌐ ¿ΓÑαᵿ¿. Åα¿ φΓ«¼ ¡á ¬áªñ«⌐ ¿ΓÑαᵿ¿ ∩ñα« «»αÑñѽ∩-
  696. ÑΓ, íπñÑΓ ½¿ »α«¿ºó«ñ¿Γ∞ß∩ ºá»¿ß∞ µÑ½«ú« í½«¬á ¿½¿ Γ«½∞¬«  Ñú«  τáßΓ¿.  àß½¿
  697. ºá»¿ßδóáÑΓß∩ Γ«½∞¬« τáßΓ∞ í½«¬á, ∩ñα« ó »Ñαóπε «τÑαÑñ∞ ßτ¿ΓδóáÑΓ í½«¬ ß ñ¿ß-
  698. ¬á  ñ½∩  Γ«ú«, τΓ«íδ ¡Ñ ºáΓÑαÑΓ∞ ΓÑ τáßΓ¿, ¬«Γ«αδÑ «ßΓ὿ß∞ íѺ ¿º¼Ñ¡Ñ¡¿⌐, á
  699. Ñß½¿ ºá»¿ßδóáÑΓß∩ µÑ½δ⌐ í½«¬, ∩ñαπ ¡Ñ ¡πª¡« τ¿ΓáΓ∞ óÑß∞ í½«¬, Γᬠ¬á¬ ó  ½ε-
  700. í«¼  ß½πτáÑ  «¡«  ºáΓαÑΓ  »αÑñδñπΘÑÑ ß«ñÑন¼«Ñ í½«¬á. çỿß∞ «ßπΘÑßΓó½∩ÑΓß∩
  701. »«í½«τ¡«, «ñ¡á¬« ∩ñα« ¿ß»«½∞ºπÑΓ «Γ½«ªÑ¡¡πε ºá»¿ß∞ (αáºñѽ  3.4)  ñá¡¡δσ  ¡á
  702. ñ¿ß¬,  ºá»«¼¿¡á∩  ¿σ  ó  ¬ÑΦÑ ¡á ß½πτá⌐, Ñß½¿ «¡¿ »«¡áñ«í∩Γß∩ ó߬«αÑ ñαπú«¼π
  703. »α«µÑßßπ ñ½∩ τΓÑ¡¿∩ ¿½¿ ºá»¿ß¿, á ΓᬪѠñ½∩ Γ«ú«, τΓ«íδ ¿ºíѪáΓ∞ ½¿Φ¡¿σ  «í-
  704. αáΘÑ¡¿⌐  ¬ ñ¿ß¬π. ÄΓ½«ªÑ¡¡á∩ ºá»¿ß∞, óÑα«∩Γ¡«, ¡á¿í«½ÑÑ φΣΣÑ¬Γ¿ó¡á ñ½∩ ¬á¡á-
  705. ½«ó, Γᬠ¬á¬ ñαπú«⌐ »α«µÑßß τ¿ΓáÑΓ ¬á¡á½ ¿ πñá½∩ÑΓ ¿º  ¡Ñú«  ñá¡¡δÑ  (αáºñѽ
  706. 5.12).  ì«  ñáªÑ  ñ½∩ «íδτ¡δσ Σá⌐½«ó «Γ½«ªÑ¡¡á∩ ºá»¿ß∞ φΣΣÑ¬Γ¿ó¡á, Ñß½¿ Σá⌐½
  707. ß«ºñáÑΓß∩ óαѼѡ¡« ¿ ó߬«αÑ íπñÑΓ »α«τ¿Γá¡. ìá»α¿¼Ñα, ¼¡«ú¿Ñ »α«úαá¼¼δ,  Γá-
  708. ¬¿Ñ  ¬á¬  αÑñá¬Γ«αδ  ¿ φ½Ñ¬Γα«¡¡á∩ »«τΓá, ß«ºñáεΓ óαѼѡ¡δÑ Σá⌐½δ ó ¬áΓὫúÑ
  709. "/tmp" ¿ íδßΓα« πñá½∩εΓ ¿σ. êß»«½∞º«óá¡¿Ñ «Γ½«ªÑ¡¡«⌐ ºá»¿ß¿ ¼«ªÑΓ  ß«¬αáΓ¿Γ∞
  710. ¬«½¿τÑßΓó« «íαáΘÑ¡¿⌐ ¬ ñ¿ß¬π ñ½∩ ºá»¿ß¿ ó« óαѼѡ¡δÑ Σá⌐½δ.
  711.  
  712.  
  713.     E5.4 çÇòéÇÆ öÇëïÇ ê çÇÅêæêF
  714.  
  715.     é »Ñαó«⌐ óÑαß¿¿ ß¿ßΓѼδ UNIX, αáºαáí«Γá¡¡«⌐ Æ«¼»ß«¡«¼ ¿ É¿τ¿, «ΓßπΓßΓó«-
  716. óá½  ó¡πΓαÑ¡¡¿⌐  ¼Ñσá¡¿º¼, ß »«¼«Θ∞ε ¬«Γ«α«ú« »α«µÑßßπ ¼«ú íδ íδΓ∞ «íÑß»ÑτÑ¡
  717. ¿ß¬½ετ¿Γѽ∞¡δ⌐ ñ«ßΓπ» ¬ Σá⌐½π. îÑσá¡¿º¼ ºáσóáΓá íδ½ »α¿º¡á¡  ¿º½¿Φ¡¿¼,  »«ß-
  718. ¬«½∞¬π,  ¬á¬ «Γ¼ÑτáÑΓ É¿τ¿, "¼δ ¡Ñ ¿¼ÑѼ ñѽá ß í«½∞Φ¿¼¿ íáºá¼¿ ñá¡¡δσ, ß«ß-
  719. Γ«∩Θ¿¼¿ ¿º «ñ¡«ú« Σá⌐½á,  ¬«Γ«αδÑ  »«ññÑনóáεΓß∩  ¡Ñºáó¿ß¿¼δ¼¿  »α«µÑßßἿ"
  720. (ß¼.  [Ritchie 81]). ä½∩ Γ«ú«, τΓ«íδ »«óδß¿Γ∞ »α¿ó½Ñ¬áΓѽ∞¡«ßΓ∞ ß¿ßΓѼδ UNIX
  721. ñ½∩ ¬«¼¼ÑατÑ߬¿σ »«½∞º«óáΓѽÑ⌐, αáí«ΓáεΘ¿σ ß íáºá¼¿ ñá¡¡δσ, ó óÑαß¿ε V  ß¿ß-
  722. ΓÑ¼δ  ¡δ¡Ñ  ó¬½ετÑ¡δ  ¼Ñσá¡¿º¼δ  ºáσóáΓá  Σá⌐½á ¿ ºá»¿ß¿. çáσóáΓ Σá⌐½á - φΓ«
  723. ßαÑñßΓó«, »«ºó«½∩εΘÑÑ ºá»αÑΓ¿Γ∞ ñαπú¿¼ »α«µÑßßá¼ »α«¿ºó«ñ¿Γ∞ τΓÑ¡¿Ñ ¿½¿  ºá-
  724. »¿ß∞  ½εí«⌐  τáßΓ¿ Σá⌐½á, á ºáσóáΓ ºá»¿ß¿ - φΓ« ßαÑñßΓó«, »«ºó«½∩εΘÑÑ ºá»αÑ-
  725. Γ¿Γ∞ ñαπú¿¼ »α«µÑßßá¼ »α«¿ºó«ñ¿Γ∞ óó«ñ-óδó«ñ π¬áºá¡¡δσ ºá»¿ßÑ⌐ (τáßΓÑ⌐ Σá⌐½á
  726. ¼Ñªñπ π¬áºá¡¡δ¼¿ ß¼ÑΘÑ¡¿∩¼¿). é π»α᪡ѡ¿¿  5.9  αáßß¼áΓα¿óáÑΓß∩  αÑ὿ºáµ¿∩
  727. ¼Ñσá¡¿º¼á ºáσóáΓá Σá⌐½á ¿ ºá»¿ß¿.
  728.  
  729.  
  730.     E5.5 ôèÇçÇìêà îàæÆÇ é öÇëïà, âäà üôäàÆ é¢ÅÄïìƒÆ£æƒ ééÄä-é¢éÄä - LSEEKF
  731.  
  732.     Äíδτ¡«Ñ ¿ß»«½∞º«óá¡¿Ñ ß¿ßΓѼ¡δσ Σπ¡¬µ¿⌐ read ¿ write «íÑß»Ñτ¿óáÑΓ »«ß½Ñ-
  733. ñ«óáΓѽ∞¡δ⌐ ñ«ßΓπ» ¬ Σá⌐½π, «ñ¡á¬« »α«µÑßßδ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ ó맮ó ß¿ßΓѼ-
  734. ¡«⌐  Σπ¡¬µ¿¿  lseek  ñ½∩  π¬áºá¡¿∩  ¼ÑßΓá  ó  Σá⌐½Ñ, úñÑ íπñÑΓ »α«¿ºó«ñ¿Γ∞ß∩
  735. óó«ñ-óδó«ñ, ¿ «ßπΘÑßΓó½Ñ¡¿∩ »α«¿ºó«½∞¡«ú« ñ«ßΓπ»á ¬ Σá⌐½π. æ¿¡Γá¬ß¿ß  ó맮óá
  736. ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿:
  737.  
  738.     position = lseek(fd,offset,reference);
  739.  
  740. úñÑ  fd  - ñÑß¬α¿»Γ«α Σá⌐½á, ¿ñÑ¡Γ¿Σ¿µ¿απεΘ¿⌐ Σá⌐½, offset - ß¼ÑΘÑ¡¿Ñ ó íá⌐-
  741. Γáσ, á reference π¬áºδóáÑΓ, ∩ó½∩ÑΓß∩ ½¿ º¡áτÑ¡¿Ñ offset ß¼ÑΘÑ¡¿Ñ¼ «Γ  ¡áτá½á
  742. Σá⌐½á, ß¼ÑΘÑ¡¿Ñ¼ «Γ ΓѬπΘÑ⌐ »«º¿µ¿¿ óó«ñá-óδó«ñá ¿½¿ ß¼ÑΘÑ¡¿Ñ¼ «Γ ¬«¡µá Σá⌐-
  743. ½á.  é«ºóαáΘáѼ«Ñ  º¡áτÑ¡¿Ñ, position, ∩ó½∩ÑΓß∩ ß¼ÑΘÑ¡¿Ñ¼ ó íá⌐Γáσ ñ« ¼ÑßΓá,
  744.  
  745.                                      96
  746.  
  747. úñÑ íπñÑΓ ¡áτ¿¡áΓ∞ß∩ ß½ÑñπεΘá∩ «»Ñαᵿ∩ τΓÑ¡¿∩ ¿½¿ ºá»¿ß¿. ìá»α¿¼Ñα, ó »α«ú-
  748. αá¼¼Ñ, »α¿óÑñÑ¡¡«⌐ ¡á É¿ßπ¡¬Ñ 5.10, »α«µÑßß «Γ¬αδóáÑΓ Σá⌐½, ßτ¿ΓδóáÑΓ  íá⌐Γ,
  749. á ºáΓѼ óδºδóáÑΓ Σπ¡¬µ¿ε lseek, τΓ«íδ ºá¼Ñ¡¿Γ∞ º¡áτÑ¡¿Ñ »«½∩ ß¼ÑΘÑ¡¿∩ ó Γáí-
  750. ½¿µÑ Σá⌐½«ó óѽ¿τ¿¡«⌐, αáó¡«⌐ 1023 (ß »ÑαѼѡ¡«⌐ reference, ¿¼ÑεΘÑ⌐ º¡áτÑ¡¿Ñ
  751. 1),  ¿ óδ»«½¡∩ÑΓ µ¿¬½. Æá¬¿¼ «íαẫ¼, »α«úαá¼¼á ßτ¿ΓδóáÑΓ ¬áªñδ⌐ 1024-⌐ íá⌐Γ
  752. Σá⌐½á. àß½¿ reference ¿¼ÑÑΓ º¡áτÑ¡¿Ñ 0, ∩ñα« «ßπΘÑßΓó½∩ÑΓ  »«¿ß¬  «Γ  ¡áτá½á
  753. Σá⌐½á,  á  Ñß½¿  2, ∩ñα« óÑñÑΓ »«¿ß¬ «Γ ¬«¡µá Σá⌐½á. öπ¡¬µ¿∩ lseek ¡¿τÑú« ¡Ñ
  754. ñ«½ª¡á ñѽáΓ∞, ¬α«¼Ñ «»Ñαᵿ¿ »«¿ß¬á,  ¬«Γ«αá∩  »«º¿µ¿«¡¿απÑΓ  ú«½«ó¬π  τΓÑ-
  755. ¡¿∩-ºá»¿ß¿  ¡á  π¬áºá¡¡δ⌐ ñ¿ß¬«óδ⌐ ßÑ¬Γ«α. ä½∩ Γ«ú«, τΓ«íδ óδ»«½¡¿Γ∞ Σπ¡¬µ¿ε
  756. lseek, ∩ñα« »α«ßΓ« óδí¿αáÑΓ º¡áτÑ¡¿Ñ ß¼ÑΘÑ¡¿∩ ¿º Γáí½¿µδ Σá⌐½«ó; ó »«ß½Ññπε-
  757. Θ¿σ ó맮óáσ Σπ¡¬µ¿⌐ read ¿ write ß¼ÑΘÑ¡¿Ñ ¿º Γáí½¿µδ Σá⌐½«ó  ¿ß»«½∞ºπÑΓß∩  ó
  758. ¬áτÑßΓóÑ ¡áτá½∞¡«ú« ß¼ÑΘÑ¡¿∩.
  759.  
  760.  
  761.     E5.6 CLOSEF
  762.  
  763.     Åα«µÑßß  ºá¬αδóáÑΓ  «Γ¬αδΓδ⌐  Σá⌐½, ¬«úñá »α«µÑßßπ í«½∞ΦÑ ¡Ñ ¡πª¡« «íαá-
  764. ΘáΓ∞ß∩ ¬ ¡Ñ¼π. æ¿¡Γá¬ß¿ß ó맮óá ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ close (ºá¬αδΓ∞):
  765.  
  766.     ┌────────────────────────────────────────────────────────┐
  767.     │ #include <fcntl.h>                                     │
  768.     │ main(argc,argv)                                        │
  769.     │      int argc;                                         │
  770.     │      char *argv[];                                     │
  771.     │ {                                                      │
  772.     │      int fd,skval;                                     │
  773.     │      char c;                                           │
  774.     │                                                        │
  775.     │      if(argc != 2)                                     │
  776.     │           exit();                                      │
  777.     │      fd = open(argv[1],O_RDONLY);                      │
  778.     │      if (fd == -1)                                     │
  779.     │           exit();                                      │
  780.     │      while ((skval = read(fd,&c,1)) == 1)              │
  781.     │      {                                                 │
  782.     │           printf("char %c\n",c);                       │
  783.     │           skval = lseek(fd,1023L,1);                   │
  784.     │           printf("new seek val %d\n",skval);           │
  785.     │      }                                                 │
  786.     │ }                                                      │
  787.     └────────────────────────────────────────────────────────┘
  788.  
  789.     É¿ßπ¡«¬ 5.10. Åα«úαá¼¼á, ß«ñÑαªáΘá∩ ó맮ó ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ lseek
  790.  
  791.  
  792.     close(fd);
  793. úñÑ fd - ñÑß¬α¿»Γ«α «Γ¬αδΓ«ú« Σá⌐½á. ƒñα« óδ»«½¡∩ÑΓ «»Ñαáµ¿ε  ºá¬αδΓ¿∩,  ¿ß-
  794. »«½∞ºπ∩  ñÑß¬α¿»Γ«α  Σá⌐½á ¿ ¿¡Σ«α¼áµ¿ε ¿º ß««ΓóÑΓßΓóπεΘ¿σ ºá»¿ßÑ⌐ ó Γáí½¿µÑ
  795. Σá⌐½«ó ¿ Γáí½¿µÑ ¿¡ñѬ߫ó. àß½¿ ßτÑΓτ¿¬ ßß佫¬ ó ºá»¿ß¿ Γáí½¿µδ Σá⌐½«ó ¿¼ÑÑΓ
  796. º¡áτÑ¡¿Ñ, í«½∞ΦÑÑ, τѼ 1, ó ßó∩º¿ ß ΓѼ, τΓ« í뫨 «íαáΘÑ¡¿∩ ¬  Σπ¡¬µ¿∩¼  dup
  797. ¿½¿ fork, Γ« φΓ« «º¡áτáÑΓ, τΓ« ¡á ºá»¿ß∞ ó Γáí½¿µÑ Σá⌐½«ó ñѽáεΓ ßß佬π ñαπ-
  798. ú¿Ñ »«½∞º«óáΓѽ∞߬¿Ñ ñÑß¬α¿»Γ«αδ, τΓ« ¼δ πó¿ñ¿¼ ñá½ÑÑ; ∩ñα« π¼Ñ¡∞ΦáÑΓ º¡áτÑ-
  799. ¡¿Ñ  ßτÑΓτ¿¬á ¿ «»Ñαᵿ∩ ºá¬αδΓ¿∩ ºáóÑαΦáÑΓß∩. àß½¿ ßτÑΓτ¿¬ ßß佫¬ ó Γáí½¿µÑ
  800. Σá⌐½«ó ¿¼ÑÑΓ º¡áτÑ¡¿Ñ, αáó¡«Ñ 1, ∩ñα« «ßó«í«ªñáÑΓ ºá»¿ß∞ ó Γáí½¿µÑ ¿  ¿¡ñѬß
  801. ó  »á¼∩Γ¿,  αá¡ÑÑ  óδñѽѡ¡δ⌐  ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿Ñ⌐ open (á½ú«α¿Γ¼ iput). àß½¿
  802. ñαπú¿Ñ »α«µÑßßδ óßÑ ÑΘÑ ßßδ½áεΓß∩ ¡á ¿¡ñѬß, ∩ñα« π¼Ñ¡∞ΦáÑΓ º¡áτÑ¡¿Ñ ßτÑΓτ¿-
  803. ¬á ßß佫¬ ¡á ¿¡ñѬß, ¡« «ßΓáó½∩ÑΓ ¿¡ñѬߠ»α«µÑßßá¼; ó »α«Γ¿ó¡«¼  ß½πτáÑ  ¿¡-
  804. ñѬߠ «ßó«í«ªñáÑΓß∩  ñ½∩ »ÑαѡạáτÑ¡¿∩, Γᬠ¬á¬ Ñú« ßτÑΓτ¿¬ ßß佫¬ ß«ñÑনΓ
  805. 0. è«úñá óδ»«½¡Ñ¡¿Ñ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ close ºáóÑαΦáÑΓß∩,  ºá»¿ß∞  ó  Γáí½¿µÑ
  806.  
  807.                                      97
  808.  
  809. »«½∞º«óáΓѽ∞߬¿σ  ñÑß¬α¿»Γ«α«ó Σá⌐½á ßΓá¡«ó¿Γß∩ »πßΓ«⌐. Å«»δΓ¬¿ »α«µÑßßá ¿ß-
  810. »«½∞º«óáΓ∞ ñá¡¡δ⌐ ñÑß¬α¿»Γ«α ºá¬á¡τ¿óáεΓß∩ «Φ¿í¬«⌐ ñ« ΓÑσ »«α, »«¬á ñÑß¬α¿»-
  811. Γ«α ¡Ñ íπñÑΓ »ÑαѡạáτÑ¡ ñαπú«¼π Σá⌐½π ó αѺπ½∞ΓáΓÑ óδ»«½¡Ñ¡¿∩ ñαπú«⌐  ß¿ß-
  812. ΓѼ¡«⌐  Σπ¡¬µ¿¿.  è«úñá »α«µÑßß ºáóÑαΦáÑΓß∩, ∩ñα« »α«óÑα∩ÑΓ ¡á½¿τ¿Ñ á¬Γ¿ó¡δσ
  813. »«½∞º«óáΓѽ∞߬¿σ ñÑß¬α¿»Γ«α«ó Σá⌐½á, »α¿¡áñ½ÑªáóΦ¿σ  »α«µÑßßπ,  ¿  ºá¬αδóáÑΓ
  814. ¬áªñδ⌐  ¿º ¡¿σ. Æá¬¿¼ «íαẫ¼, ¡¿ «ñ¿¡ »α«µÑßß ¡Ñ ¼«ªÑΓ «ßΓáó¿Γ∞ Σá⌐½ «Γ¬αδ-
  815. Γδ¼ »«ß½Ñ ßó«Ñú« ºáóÑαΦÑ¡¿∩.
  816.     ìá É¿ßπ¡¬Ñ 5.11, ¡á»α¿¼Ñα, »«¬áºá¡δ ºá»¿ß¿ ¿º Γáí½¿µ, »α¿óÑñÑ¡¡δσ ¡á É¿-
  817. ßπ¡¬Ñ 5.4, »«ß½Ñ Γ«ú«, ¬á¬ óΓ«α«⌐ »α«µÑßß ºá¬αδóáÑΓ ß««ΓóÑΓßΓóπεΘ¿Ñ ¿¼  Σá⌐-
  818. ½δ.  çỿ߿,  ß««ΓóÑΓßΓóπεΘ¿Ñ  ñÑß¬α¿»Γ«αá¼ 3 ¿ 4 ó Γáí½¿µÑ »«½∞º«óáΓѽ∞߬¿σ
  819.  
  820.  »«½∞º«óáΓѽ∞߬¿Ñ ñÑß¬α¿»-
  821.         Γ«αδ Σá⌐½á        Γáí½¿µá Σá⌐½«ó        Γáí½¿µá ¿¡ñѬ߫ó
  822.        ┌─────────┐        ┌────────────┐        ┌──────────────┐
  823.       0│         │        │            │        │       ∙      │
  824.        ├─────────┤        │            │        │       ∙      │
  825.       1│         │        │            │        │       ∙      │
  826.        ├─────────┤        ├────────────┤        │       ∙      │
  827.       2│         │        │      ∙     │        │       ∙      │
  828.        ├─────────┤        │      ∙     │        │       ∙      │
  829.       3│     ────┼────┐   │      ∙     │        │       ∙      │
  830.        ├─────────┤    │   │      ∙     │        ├──────────────┤
  831.       4│     ────┼───┐│   │      ∙     │  ┌────>│ ßτÑΓ-        │
  832.        ├─────────┤   ││   │      ∙     │  │     │ τ¿¬  (/etc/  │
  833.       5│     ────┼──┐││   ├────────────┤  │ ┌──>│  2    passwd)│
  834.        ├─────────┤  │││   │ ßτÑΓ-      │  │ │   ├──────────────┤
  835.        │    ∙    │  ││└──>│ τ¿¬        ┼──┘ │   │       ∙      │
  836.        │    ∙    │  ││    │  1         │    │   │       ∙      │
  837.        │    ∙    │  ││    ├────────────┤    │   │       ∙      │
  838.        └─────────┘  ││    │      ∙     │    │   │       ∙      │
  839.                     ││    │      ∙     │    │   │       ∙      │
  840.        ┌─────────┐  ││    │      ∙     │    │   │       ∙      │
  841.       0│         │  ││    ├────────────┤    │   │       ∙      │
  842.        ├─────────┤  ││    │ ßτÑΓ-      │    │   │       ∙      │
  843.       1│         │  │└───>│ τ¿¬        ┼────│┐  │       ∙      │
  844.        ├─────────┤  │     │  1         │    ││  │       ∙      │
  845.       2│         │  │     ├────────────┤    ││  │       ∙      │
  846.        ├─────────┤  │     │      ∙     │    ││  ├──────────────┤
  847.       3│  NULL   │  │     │      ∙     │    ││  │ ßτÑΓ-        │
  848.        ├─────────┤  │     │      ∙     │    │└─>│ τ¿¬   (local)│
  849.       4│  NULL   │  │     │      ∙     │    │   │  1           │
  850.        ├─────────┤  │     │      ∙     │    │   ├──────────────┤
  851.       5│         │  │     │      ∙     │    │   │       ∙      │
  852.        ├─────────┤  │     ├────────────┤    │   │       ∙      │
  853.        │    ∙    │  │     │ ßτÑΓτ¿¬  0 │    │   │       ∙      │
  854.        └─────────┘  │     ├────────────┤    │   │       ∙      │
  855.                     │     │      ∙     │    │   ├──────────────┤
  856.                     │     │      ∙     │    │   │ ßτÑΓ-        │
  857.                     │     ├────────────┤    │   │ τ¿¬ (private)│
  858.                     │     │ ßτÑΓτ¿¬  1 │    │   │  0           │
  859.                     └────>│            ┼────┘   ├──────────────┤
  860.                           ├────────────┤        │       ∙      │
  861.                           │      ∙     │        └──────────────┘
  862.                           │      ∙     │
  863.                           ├────────────┤
  864.                           │ ßτÑΓτ¿¬  0 │
  865.                           └────────────┘
  866.  
  867.             É¿ßπ¡«¬ 5.11. Æáí½¿µδ »«ß½Ñ ºá¬αδΓ¿∩ Σá⌐½á
  868.  
  869.                                      98
  870.  
  871.  
  872.  
  873. ñÑß¬α¿»Γ«α«ó Σá⌐½«ó, »πßΓδ. æτÑΓτ¿¬¿ ó ºá»¿ß∩σ Γáí½¿µδ Σá⌐½«ó  ΓÑ»Ñα∞  ¿¼ÑεΓ
  874. º¡áτÑ¡¿Ñ  0,  á  ßἿ ºá»¿ß¿ »πßΓδ. æτÑΓτ¿¬¿ ßß佫¬ ¡á Σá⌐½δ "/etc/passwd" ¿
  875. "private" ó ¿¡ñѬßáσ ΓᬪѠπ¼Ñ¡∞Φ¿½¿ß∞. ê¡ñѬߠñ½∩ Σá⌐½á "private" ¡áσ«ñ¿Γß∩
  876. ó ß»¿ß¬Ñ ßó«í«ñ¡δσ ¿¡ñѬ߫ó, »«ß¬«½∞¬π ßτÑΓτ¿¬ ßß佫¬ ¡á ¡Ñú«  αáóÑ¡  0,  ¡«
  877. ºá»¿ß∞ « ¡Ñ¼ ¡Ñ »πßΓá. àß½¿ ÑΘÑ ¬á¬«⌐-¡¿íπñ∞ »α«µÑßß
  878. «íαáΓ¿Γß∩  ¬  Σá⌐½π  "private", »«¬á ¿¡ñѬߠÑΘÑ ¡áσ«ñ¿Γß∩ ó ß»¿ß¬Ñ ßó«í«ñ¡δσ
  879. ¿¡ñѬ߫ó, ∩ñα« ó«ßΓαÑíπÑΓ ¿¡ñѬߠ«íαáΓ¡«, ¬á¬ »«¬áºá¡« ó αáºñѽѠ4.1.2.
  880.  
  881.  
  882.     E5.7 æÄçäÇìêà öÇëïÇF
  883.  
  884.     æ¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ open ñáÑΓ »α«µÑßßπ ñ«ßΓπ»  ¬  ßπΘÑßΓóπεΘѼπ  Σá⌐½π,  á
  885. ß¿ßΓѼ¡á∩  Σπ¡¬µ¿∩ creat ß«ºñáÑΓ ó ß¿ßΓѼѠ¡«óδ⌐ Σá⌐½. æ¿¡Γá¬ß¿ß ó맮óá ß¿ß-
  886. ΓѼ¡«⌐ Σπ¡¬µ¿¿ creat:
  887.  
  888.     fd = creat(pathname,modes);
  889.  
  890. úñÑ »ÑαѼѡ¡δÑ pathname, modes ¿ fd ¿¼ÑεàëàªÑ ß¼δß½, τΓ«  ¿  ó  ß¿ßΓѼ¡«⌐
  891. Σπ¡¬µ¿¿  open.  àß½¿ »αѪñÑ Γᬫú« Σá⌐½á ¡Ñ ßπΘÑßΓó«óὫ, ∩ñα« ß«ºñáÑΓ ¡«óδ⌐
  892. Σá⌐½ ß π¬áºá¡¡δ¼ ¿¼Ñ¡Ñ¼ ¿ π¬áºá¡¡δ¼¿ »αáóἿ ñ«ßΓπ»á ¬ ¡Ñ¼π; Ñß½¿  ªÑ  Γᬫ⌐
  893. Σá⌐½  πªÑ ßπΘÑßΓó«óá½, ∩ñα« πßѬáÑΓ Σá⌐½ («ßó«í«ªñáÑΓ óßÑ ßπΘÑßΓóπεΘ¿Ñ í½«¬¿
  894.  
  895.     ┌────────────────────────────────────────────────────────────┐
  896.     │ á½ú«α¿Γ¼ creat                                             │
  897.     │ óσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩:  ¿¼∩ Σá⌐½á                             │
  898.     │                      πßΓᡫ󬿠»αáó ñ«ßΓπ»á ¬ Σá⌐½π        │
  899.     │ óδσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩: ñÑß¬α¿»Γ«α Σá⌐½á                      │
  900.     │ {                                                          │
  901.     │   »«½πτ¿Γ∞ ¿¡ñѬߠñ½∩ ñá¡¡«ú« ¿¼Ñ¡¿ Σá⌐½á (á½ú«α¿Γ¼ namei);│
  902.     │   Ñß½¿ (Σá⌐½ πªÑ ßπΘÑßΓóπÑΓ)                               │
  903.     │   {                                                        │
  904.     │      Ñß½¿ (ñ«ßΓπ» ¡Ñ αáºαÑΦÑ¡)                             │
  905.     │      {                                                     │
  906.     │         «ßó«í«ñ¿Γ∞ ¿¡ñѬߠ(á½ú«α¿Γ¼ iput);                 │
  907.     │         ó«ºóαáΓ¿Γ∞ («Φ¿í¬π);                               │
  908.     │      }                                                     │
  909.     │   }                                                        │
  910.     │   ó »α«Γ¿ó¡«¼ ß½πτáÑ    /* Σá⌐½ ÑΘÑ ¡Ñ ßπΘÑßΓóπÑΓ */       │
  911.     │   {                                                        │
  912.     │      ¡áº¡áτ¿Γ∞ ßó«í«ñ¡δ⌐ ¿¡ñѬߠ¿º Σá⌐½«ó«⌐ ß¿ßΓѼδ (á½ú«- │
  913.     │       α¿Γ¼ ialloc);                                        │
  914.     │      ß«ºñáΓ∞ ¡«óπε Γ«τ¬π óσ«ñá ó α«ñ¿Γѽ∞߬«¼ ¬áΓὫúÑ:    │
  915.     │       ó¬½ετ¿Γ∞ ¿¼∩ ¡«ó«ú« Σá⌐½á ¿ ¡«¼Ñα ó¡«ó∞ ¡áº¡áτÑ¡¡«ú« │
  916.     │       ¿¡ñѬßá;                                             │
  917.     │   }                                                        │
  918.     │   óδñѽ¿Γ∞ ñ½∩ ¿¡ñѬßᠺỿß∞ ó Γáí½¿µÑ Σá⌐½«ó, ¿¡¿µ¿á½¿º¿-│
  919.     │    α«óáΓ∞ ßτÑΓτ¿¬;                                         │
  920.     │   Ñß½¿ (Σá⌐½ ßπΘÑßΓó«óá½ ¬ ¼«¼Ñ¡Γπ ß«ºñá¡¿∩)               │
  921.     │      «ßó«í«ñ¿Γ∞ óßÑ í½«¬¿ Σá⌐½á (á½ú«α¿Γ¼ free);           │
  922.     │   ß¡∩Γ∞ í½«¬¿α«ó¬π (ß ¿¡ñѬßá);                            │
  923.     │   ó«ºóαáΓ¿Γ∞ (»«½∞º«óáΓѽ∞߬¿⌐ ñÑß¬α¿»Γ«α Σá⌐½á);          │
  924.     │ }                                                          │
  925.     └────────────────────────────────────────────────────────────┘
  926.  
  927.  
  928.                É¿ßπ¡«¬ 5.12. Ç½ú«α¿Γ¼ ß«ºñá¡¿∩ Σá⌐½á
  929.  
  930.  
  931.                                      99
  932.  
  933. ñá¡¡δσ ¿ πßΓá¡áó½¿óáÑΓ αẼÑα Σá⌐½á αáó¡δ¼ 0)  »α¿  ¡á½¿τ¿¿  ß««ΓóÑΓßΓóπεΘ¿σ
  934. »αáó ñ«ßΓπ»á ¬ ¡Ñ¼π (***). ìá É¿ßπ¡¬Ñ 5.12 »α¿óÑñÑ¡ á½ú«α¿Γ¼ ß«ºñá¡¿∩ Σá⌐½á.
  935.     ƒñα«  »α«ó«ñ¿Γ  ß¿¡Γá¬ß¿τÑ߬¿⌐ á¡á½¿º ¿¼Ñ¡¿ »πΓ¿ »«¿ß¬á, ¿ß»«½∞ºπ∩ á½ú«-
  936. α¿Γ¼ namei ¿ ß½Ññπ∩ φΓ«¼π á½ú«α¿Γ¼π íπ¬óá½∞¡«, ¬«úñá  αÑτ∞  ¿ñÑΓ  «  αáºí«αÑ
  937. ¿¼Ñ¡  ¬áΓὫú«ó. Äñ¡á¬«, ¬«úñá ñѽ« ¬áßáÑΓß∩ »«ß½Ññ¡Ñ⌐ ¬«¼»«¡Ñ¡Γδ ¿¼Ñ¡¿ »πΓ¿
  938. »«¿ß¬á, á ¿¼Ñ¡¡« ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ß«ºñáóáѼ«ú« Σá⌐½á, namei «Γ¼ÑτáÑΓ  ß¼ÑΘÑ¡¿Ñ
  939. ó íá⌐Γáσ ñ« »Ñαó«⌐
  940. »πßΓ«⌐ »«º¿µ¿¿ ó ¬áΓὫúÑ ¿ ºá»«¼¿¡áÑΓ φΓ« ß¼ÑΘÑ¡¿Ñ ó »α«ßΓαá¡ßΓóÑ »α«µÑßßá.
  941. àß½¿ ∩ñα« ¡Ñ «í¡áαπª¿½« ó ¬áΓὫúÑ ¬«¼»«¡Ñ¡Γπ ¿¼Ñ¡¿ »πΓ¿ »«¿ß¬á, «¡«  ó  ¬«-
  942. ¡Ñτ¡«¼  ßτÑΓÑ  ó»¿ΦÑΓ  ¿¼∩ ¬«¼»«¡Ñ¡Γδ ó Γ«½∞¬« τΓ« ¡á⌐ñÑ¡¡πε »πßΓπε »«º¿µ¿ε.
  943. àß½¿ ó ¬áΓὫúÑ ¡ÑΓ »πßΓδσ »«º¿µ¿⌐, ∩ñα« ºá»«¼¿¡áÑΓ ß¼ÑΘÑ¡¿Ñ ñ« ¬«¡µá  ¬áΓá-
  944. ½«úá  ¿  ß«ºñáÑΓ ¡«óπε »«º¿µ¿ε Γá¼. Ä¡« ΓᬪѠºá»«¼¿¡áÑΓ ó »α«ßΓαá¡ßΓóÑ »α«-
  945. µÑßßá ¿¡ñѬߠ»α«ß¼áΓα¿óáѼ«ú« ¬áΓὫúá ¿ ñÑαª¿Γ ¿¡ñѬߠºáí½«¬¿α«óá¡¡δ¼;  ¬á-
  946. ΓὫú ßΓá¡«ó¿Γß∩ »« «Γ¡«ΦÑ¡¿ε ¬ ¡«ó«¼π Σá⌐½π α«ñ¿Γѽ∞߬¿¼ ¬áΓὫú«¼. ƒñα« ¡Ñ
  947. ºá»¿ßδóáÑΓ  »«¬á  ¿¼∩ ¡«ó«ú« Σá⌐½á ó ¬áΓὫú, ΓᬠτΓ« ó ß½πτáѠ󫺡¿¬¡«óÑ¡¿∩
  948. «Φ¿í«¬ ∩ñαπ »α¿σ«ñ¿Γß∩ ¼Ñ¡∞ΦÑ »ÑαÑñѽδóáΓ∞. Ä¡« »α«óÑα∩ÑΓ ¡á½¿τ¿Ñ π »α«µÑßßá
  949. αáºαÑΦÑ¡¿∩ ¡á ºá»¿ß∞ ó ¬áΓὫú. Å«ß¬«½∞¬π »α«µÑßß íπñÑΓ »α«¿ºó«ñ¿Γ∞ ºá»¿ß∞ ó
  950. ¬áΓὫú ó αѺπ½∞ΓáΓÑ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ creat, ¡á½¿τ¿Ñ αáºαÑΦÑ¡¿∩ ¡á  ºá»¿ß∞
  951. ó ¬áΓὫú «º¡áτáÑΓ, τΓ« »α«µÑßßá¼ ñ«ºó«½∩ÑΓß∩ ß«ºñáóáΓ∞ Σá⌐½δ ó ¬áΓὫúÑ.
  952.     ÅαÑñ»«½«ª¿ó,  τΓ«  »«ñ  ñá¡¡δ¼  ¿¼Ñ¡Ñ¼ αá¡ÑÑ ¡Ñ ßπΘÑßΓó«óὫ Σá⌐½á, ∩ñα«
  953. ¡áº¡áτáÑΓ ¡«ó«¼π Σá⌐½π ¿¡ñѬß, ¿ß»«½∞ºπ∩ á½ú«α¿Γ¼ ialloc (αáºñѽ 4.6). çáΓѼ
  954. «¡« ºá»¿ßδóáÑΓ ¿¼∩ ¡«ó«ú« Σá⌐½á ¿ ¡«¼Ñα ó¡«ó∞ óδñѽѡ¡«ú«  ¿¡ñѬßá  ó  α«ñ¿-
  955. Γѽ∞߬¿⌐  ¬áΓὫú,  á  ß¼ÑΘÑ¡¿Ñ  ó íá⌐Γáσ ß«σαá¡∩ÑΓ ó »α«ßΓαá¡ßΓóÑ »α«µÑßßá.
  956. 黫߽ÑñßΓó¿¿ ∩ñα« «ßó«í«ªñáÑΓ ¿¡ñѬߠα«ñ¿Γѽ∞߬«ú« ¬áΓὫúá, πñÑনóáѼδ⌐  ß
  957. Γ«ú«  óαѼѡ¿, ¬«úñá ó ¬áΓὫúÑ »α«¿ºó«ñ¿½ß∩ »«¿ß¬ ¿¼Ñ¡¿ Σá⌐½á. É«ñ¿Γѽ∞߬¿⌐
  958. ¬áΓὫú ΓÑ»Ñα∞ ß«ñÑαª¿Γ ¿¼∩ ¡«ó«ú« Σá⌐½á ¿ Ñú« ¿¡ñѬß. ƒñα« ºá»¿ßδóáÑΓ ó¡«ó∞
  959. óδñѽѡ¡δ⌐ ¿¡ñѬߠ¡á ñ¿ß¬ (á½ú«α¿Γ¼ bwrite), »αѪñÑ τѼ ºá»¿ßáΓ∞ ¡á ñ¿ß¬ ¬á-
  960. ΓὫú ß ¡«óδ¼ ¿¼Ñ¡Ñ¼. àß½¿ ¼Ñªñπ «»Ñαᵿ∩¼¿ ºá»¿ß¿ ¿¡ñѬßá ¿ ¬áΓὫúá  »α«¿-
  961. º«⌐ñÑΓ  ßí«⌐  ß¿ßΓѼδ,  ó  ¿Γ«úÑ «¬áªÑΓß∩, τΓ« óδñѽѡ ¿¡ñѬß, ¡á ¬«Γ«αδ⌐ ¡Ñ
  962. ßßδ½áÑΓß∩ ¡¿ «ñ¡« ¿º ¿¼Ñ¡ »πΓÑ⌐ »«¿ß¬á ó ß¿ßΓѼÑ, «ñ¡á¬« ß¿ßΓѼá íπñÑΓ Σπ¡¬-
  963. µ¿«¡¿α«óáΓ∞ ¡«α¼á½∞¡«. àß½¿, ß ñαπú«⌐ ßΓ«α«¡δ, ¬áΓὫú  íδ½  ºá»¿ßá¡  αá¡∞ΦÑ
  964. ó¡«ó∞ óδñѽѡ¡«ú« ¿¡ñѬßá ¿ ßí«⌐ ß¿ßΓÑ¼δ »α«¿º«Φѽ ¼Ñªñπ ¡¿¼¿, Σá⌐½«óá∩ ß¿ß-
  965. ΓѼᠠíπñÑΓ ß«ñÑαªáΓ∞ ¿¼∩ »πΓ¿ »«¿ß¬á, ßßδ½áεΘÑÑß∩ ¡á ¡ÑóÑα¡δ⌐ ¿¡ñѬߠ(í«½ÑÑ
  966. »«ñα«í¡« «í φΓ«¼ ß¼. ó αáºñѽѠ5.16.1).
  967.     àß½¿ ñá¡¡δ⌐ Σá⌐½ πªÑ ßπΘÑßΓó«óá½ ñ« ó맮óá Σπ¡¬µ¿¿ creat, ∩ñα« «í¡áαπª¿-
  968. óáÑΓ Ñú« ¿¡ñѬߠó« óαѼ∩ »«¿ß¬á ¿¼Ñ¡¿ Σá⌐½á. æΓáαδ⌐  Σá⌐½  ñ«½ªÑ¡  »«ºó«½∩Γ∞
  969. »α«µÑßßπ  »α«¿ºó«ñ¿Γ∞ ºá»¿ß∞ ó ¡Ñú«, τΓ«íδ ¼«ª¡« í佫 ß«ºñáΓ∞ "¡«óδ⌐" Σá⌐½ ß
  970. ΓѼ ªÑ ßá¼δ¼ ¿¼Ñ¡Ñ¼, Γᬠ¬á¬ ∩ñα« ¿º¼Ñ¡∩ÑΓ ß«ñÑন¼«Ñ Σá⌐½á  »α¿  óδ»«½¡Ñ¡¿¿
  971. Σπ¡¬µ¿¿  creat: «¡« πßѬáÑΓ Σá⌐½, «ßó«í«ªñá∩ óßÑ ¿¡Σ«α¼áµ¿«¡¡δÑ í½«¬¿ »« á½-
  972. ú«α¿Γ¼π free, ΓᬠτΓ« Σá⌐½ íπñÑΓ óδú½∩ñÑΓ∞ ¬á¬ ó¡«ó∞ ß«ºñá¡¡δ⌐. ÆÑ¼  ¡Ñ  ¼Ñ-
  973. ¡ÑÑ,  ó½áñѽѵ  ¿  »αáóá ñ«ßΓπ»á ¬ Σá⌐½π «ßΓáεΓß∩ »αѪ¡¿¼¿: ∩ñα« ¡Ñ »ÑαÑñáÑΓ
  974. »αáó« ß«íßΓóÑ¡¡«ßΓ¿ ¡á Σá⌐½ ó½áñѽ∞µπ »α«µÑßßá ¿ ¿ú¡«α¿απÑΓ  »αáóá  ñ«ßΓπ»á,
  975. π¬áºá¡¡δÑ  »α«µÑßß«¼  ó  ó맮óÑ  Σπ¡¬µ¿¿. ìᬫ¡Ñµ, ∩ñα« ¡Ñ »α«óÑα∩ÑΓ ¡á½¿τ¿Ñ
  976. αáºαÑΦÑ¡¿∩ ¡á ºá»¿ß∞ ó ¬áΓὫú, ∩ó½∩εΘ¿⌐ß∩  α«ñ¿Γѽ∞߬¿¼  ñ½∩  ßπΘÑßΓóπεΘÑú«
  977. Σá⌐½á, »«ß¬«½∞¬π «¡« ¡Ñ ¼Ñ¡∩ÑΓ ß«ñÑন¼«ú« ¬áΓὫúá.
  978.     öπ¡¬µ¿∩ creat »α«ñ«½ªáÑΓ αáí«Γπ, óδ»«½¡∩∩ Γ«Γ ªÑ á½ú«α¿Γ¼, τΓ« ¿ Σπ¡¬µ¿∩
  979. open.  ƒñα« óδñѽ∩ÑΓ ß«ºñá¡¡«¼π Σá⌐½π ºá»¿ß∞ ó Γáí½¿µÑ Σá⌐½«ó, τΓ«íδ »α«µÑßß
  980. ¼«ú τ¿ΓáΓ∞ ¿º Σá⌐½á, á ΓᬪѠºá»¿ß∞ ó Γáí½¿µÑ »«½∞º«óáΓѽ∞߬¿σ  ñÑß¬α¿»Γ«α«ó
  981. Σá⌐½á,  ¿  ó  ¬«¡µÑ  ¬«¡µ«ó  ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á »«ß½Ññ¡εε ºá»¿ß∞ ó ó¿ñÑ
  982. »«½∞º«óáΓѽ∞߬«ú« ñÑß¬α¿»Γ«αá Σá⌐½á.
  983.  
  984.  
  985.  
  986. ───────────────────────────────────────
  987. (***)  æ¿ßΓѼ¡á∩  Σπ¡¬µ¿∩ open ¿¼ÑÑΓ ñóá Σ½áúá, O_CREAT (ß«ºñá¡¿Ñ) ¿ O_TRUNC
  988.       (πßÑτÑ¡¿Ñ). àß½¿ »α«µÑßß πßΓá¡áó½¿óáÑΓ ó ó맮óÑ Σπ¡¬µ¿¿ Σ½áú O_CREAT ¿
  989.       Σá⌐½ ¡Ñ ßπΘÑßΓóπÑΓ, ∩ñα« ß«ºñáßΓ Σá⌐½. àß½¿ Σá⌐½ πªÑ ßπΘÑßΓóπÑΓ, «¡ ¡Ñ
  990.       íπñÑΓ πßÑτÑ¡, Ñß½¿ Γ«½∞¬« ¡Ñ πßΓá¡«ó½Ñ¡ Σ½áú O_TRUNC.
  991.  
  992.  
  993.                                     100
  994.  
  995.     E5.8 æÄçäÇìêà æÅàûêÇï£ì¢ò öÇëïÄéF
  996.  
  997.     æ¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ mknod ß«ºñáÑΓ ó ß¿ßΓѼѠ߻ѵ¿á½∞¡δÑ Σá⌐½δ, ó τ¿ß½« ¬«-
  998. Γ«αδσ ó¬½ετáεΓß∩ »«¿¼Ñ¡«óá¡¡δÑ ¬á¡á½δ, Σá⌐½δ πßΓα«⌐ßΓó ¿ ¬áΓὫú¿. Ä¡á »«σ«-
  999. ªá ¡á Σπ¡¬µ¿ε creat ó Γ«¼, τΓ« ∩ñα« óδñѽ∩ÑΓ ñ½∩ Σá⌐½á ¿¡ñѬß. æ¿¡Γá¬ß¿ß óδ-
  1000. º«óá ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ mknod:
  1001.  
  1002.     mknod(pathname,type and permissions,dev)
  1003.  
  1004. úñÑ pathname - ¿¼∩ ß«ºñáóáѼ«⌐ óÑαΦ¿¡δ ó  ¿Ñαáασ¿τÑ߬«⌐  ßΓαπ¬ΓπαÑ  Σá⌐½«ó«⌐
  1005. ß¿ßΓѼδ, type and permissions - Γ¿» óÑαΦ¿¡δ (¡á»α¿¼Ñα, ¬áΓὫú) ¿ »αáóá ñ«ß-
  1006. Γπ»á ¬ ß«ºñáóáѼ«¼π Σá⌐½π, á dev π¬áºδóáÑΓ ßΓáαΦ¿⌐ ¿ ¼½áñΦ¿⌐ ¡«¼Ñαá πßΓα«⌐ß-
  1007. Γóá  ñ½∩ í½«τ¡δσ ¿ ß¿¼ó«½∞¡δσ ß»Ñµ¿á½∞¡δσ Σá⌐½«ó (ú½áóá 10). ìá É¿ßπ¡¬Ñ 5.13
  1008. »α¿óÑñÑ¡ á½ú«α¿Γ¼, αÑ὿ºπѼδ⌐ Σπ¡¬µ¿Ñ⌐ mknod »α¿ ß«ºñá¡¿¿ ¡«ó«⌐ óÑαΦ¿¡δ.
  1009.     ┌────────────────────────────────────────────────────────────┐
  1010.     │ á½ú«α¿Γ¼ ß«ºñá¡¿∩ ¡«ó«⌐ óÑαΦ¿¡δ                            │
  1011.     │ óσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩:  óÑαΦ¿¡á (¿¼∩ Σá⌐½á)                   │
  1012.     │                      Γ¿» Σá⌐½á                             │
  1013.     │                      »αáóá ñ«ßΓπ»á                         │
  1014.     │                      ßΓáαΦ¿⌐, ¼½áñΦ¿⌐ ¡«¼Ñαá πßΓα«⌐ßΓóá    │
  1015.     │                      (ñ½∩ í½«τ¡δσ ¿ ß¿¼ó«½∞¡δσ ß»Ñµ¿á½∞¡δσ │
  1016.     │                      Σá⌐½«ó)                               │
  1017.     │ óδσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩: «ΓßπΓßΓóπÑΓ                           │
  1018.     │ {                                                          │
  1019.     │    Ñß½¿ (¡«óá∩ óÑαΦ¿¡á ¡Ñ ∩ó½∩ÑΓß∩ »«¿¼Ñ¡«óá¡¡δ¼ ¬á¡á½«¼   │
  1020.     │     ¿ »«½∞º«óáΓѽ∞ ¡Ñ ∩ó½∩ÑΓß∩ ßπ»Ñα»«½∞º«óáΓѽѼ)         │
  1021.     │        ó«ºóαáΓ¿Γ∞ («Φ¿í¬π);                                │
  1022.     │    »«½πτ¿Γ∞ ¿¡ñѬߠóÑαΦ¿¡δ, ∩ó½∩εΘÑ⌐ß∩ α«ñ¿Γѽ∞߬«⌐ ñ½∩    │
  1023.     │     ¡«ó«⌐ óÑαΦ¿¡δ (á½ú«α¿Γ¼ namei);                        │
  1024.     │    Ñß½¿ (¡«óá∩ óÑαΦ¿¡á πªÑ ßπΘÑßΓóπÑΓ)                     │
  1025.     │    {                                                       │
  1026.     │        «ßó«í«ñ¿Γ∞ α«ñ¿Γѽ∞߬¿⌐ ¿¡ñѬߠ(á½ú«α¿Γ¼ iput);     │
  1027.     │        ó«ºóαáΓ¿Γ∞ («Φ¿í¬π);                                │
  1028.     │    }                                                       │
  1029.     │    ¡áº¡áτ¿Γ∞ ñ½∩ ¡«ó«⌐ óÑαΦ¿¡δ ßó«í«ñ¡δ⌐ ¿¡ñѬߠ¿º Σá⌐½«ó«⌐│
  1030.     │     ß¿ßΓѼδ (á½ú«α¿Γ¼ ialloc);                             │
  1031.     │    ß«ºñáΓ∞ ¡«óπε ºá»¿ß∞ ó α«ñ¿Γѽ∞߬«¼ ¬áΓὫúÑ: ó¬½ετ¿Γ∞  │
  1032.     │     ¿¼∩ ¡«ó«⌐ óÑαΦ¿¡δ ¿ ¡«¼Ñα ó¡«ó∞ ¡áº¡áτÑ¡¡«ú« ¿¡ñѬßá;  │
  1033.     │    «ßó«í«ñ¿Γ∞ ¿¡ñѬߠα«ñ¿Γѽ∞߬«ú« ¬áΓὫúá (á½ú«α¿Γ¼      │
  1034.     │     iput);                                                 │
  1035.     │    Ñß½¿ (¡«óá∩ óÑαΦ¿¡á ∩ó½∩ÑΓß∩ í½«τ¡δ¼ ¿½¿ ß¿¼ó«½∞¡δ¼ ß»Ñ-│
  1036.     │     µ¿á½∞¡δ¼ Σá⌐½«¼)                                       │
  1037.     │        ºá»¿ßáΓ∞ ßΓáαΦ¿⌐ ¿ ¼½áñΦ¿⌐ ¡«¼Ñαá ó ßΓαπ¬Γπαπ ¿¡ñѬ-│
  1038.     │         ßá;                                                │
  1039.     │    «ßó«í«ñ¿Γ∞ ¿¡ñѬߠ¡«ó«⌐ óÑαΦ¿¡δ (á½ú«α¿Γ¼ iput);        │
  1040.     │ }                                                          │
  1041.     └────────────────────────────────────────────────────────────┘
  1042.  
  1043.             É¿ßπ¡«¬ 5.13. Ç½ú«α¿Γ¼ ß«ºñá¡¿∩ ¡«ó«⌐ óÑαΦ¿¡δ
  1044.  
  1045.     ƒñα« »α«ß¼áΓα¿óáÑΓ Σá⌐½«óπε ß¿ßΓѼπ ó »«¿ß¬áσ ¿¼Ñ¡¿ Σá⌐½á,  ¬«Γ«αδ⌐  «¡«
  1046. ß«í¿αáÑΓß∩ ß«ºñáΓ∞. àß½¿ Σá⌐½ ÑΘÑ »«¬á ¡Ñ ßπΘÑßΓóπÑΓ, ∩ñα« ¡áº¡áτáÑΓ Ñ¼π ¡«-
  1047. óδ⌐  ¿¡ñѬߠ ¡á  ñ¿ß¬Ñ ¿ ºá»¿ßδóáÑΓ ¿¼∩ ¡«ó«ú« Σá⌐½á ¿ ¡«¼Ñα ¿¡ñѬßá ó α«ñ¿-
  1048. Γѽ∞߬¿⌐ ¬áΓὫú. Ä¡« πßΓá¡áó½¿óáÑΓ º¡áτÑ¡¿Ñ »«½∩ Γ¿»á Σá⌐½á ó ¿¡ñѬßÑ, π¬á-
  1049. ºδóá∩, τΓ« Σá⌐½ ∩ó½∩ÑΓß∩ ¬á¡á½«¼, ¬áΓὫú«¼ ¿½¿ ß»Ñµ¿á½∞¡δ¼ Σá⌐½«¼. ìᬫ¡Ñµ,
  1050. Ñß½¿ Σá⌐½ ∩ó½∩ÑΓß∩ ß»Ñµ¿á½∞¡δ¼ Σá⌐½«¼ πßΓα«⌐ßΓóá  í½«τ¡«ú«  ¿½¿  ß¿¼ó«½∞¡«ú«
  1051. Γ¿»á,  ∩ñα«  ºá»¿ßδóáÑΓ  ó  ¿¡ñѬߠßΓáαΦ¿⌐ ¿ ¼½áñΦ¿⌐ ¡«¼Ñαá πßΓα«⌐ßΓóá. àß½¿
  1052. Σπ¡¬µ¿∩ mknod ß«ºñáÑΓ ¬áΓὫú, «¡ íπñÑΓ ßπΘÑßΓó«óáΓ∞ »« ºáóÑαΦÑ¡¿¿  óδ»«½¡Ñ-
  1053. ¡¿∩ Σπ¡¬µ¿¿, ¡« Ñú« ß«ñÑন¼«Ñ íπñÑΓ ¿¼ÑΓ∞ ¡ÑóÑα¡δ⌐ Σ«α¼áΓ (ó ¬áΓὫúÑ íπñπΓ
  1054.  
  1055.                                     101
  1056.  
  1057. «ΓßπΓßΓó«óáΓ∞ ºá»¿ß¿ ß ¿¼Ñ¡á¼¿ "." ¿ ".."). é π»α᪡ѡ¿¿ 5.33 αáßß¼áΓα¿óáεΓ-
  1058. ß∩  Φáú¿,  ¡Ñ«íσ«ñ¿¼δÑ  ñ½∩ »αÑ«íαẫóá¡¿∩ ß«ñÑন¼«ú« ¬áΓὫúá ó »αáó¿½∞¡δ⌐
  1059. Σ«α¼áΓ.
  1060.  
  1061.     ┌────────────────────────────────────────────────────────────┐
  1062.     │ á½ú«α¿Γ¼ ß¼Ñ¡δ ¬áΓὫúá                                    │
  1063.     │ óσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩:  ¿¼∩ ¡«ó«ú« ¬áΓὫúá                   │
  1064.     │ óδσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩: «ΓßπΓßΓóπÑΓ                           │
  1065.     │ {                                                          │
  1066.     │    »«½πτ¿Γ∞ ¿¡ñѬߠñ½∩ ¬áΓὫúá ß ¡«óδ¼ ¿¼Ñ¡Ñ¼ (á½ú«α¿Γ¼   │
  1067.     │     namei);                                                │
  1068.     │    Ñß½¿ (¿¡ñѬߠ¡Ñ ∩ó½∩ÑΓß∩ ¿¡ñѬ߫¼ ¬áΓὫúá ¿½¿ ªÑ »α«-  │
  1069.     │     µÑßßπ ¡Ñ αáºαÑΦÑ¡ ñ«ßΓπ» ¬ Σá⌐½π)                      │
  1070.     │    {                                                       │
  1071.     │       «ßó«í«ñ¿Γ∞ ¿¡ñѬߠ(á½ú«α¿Γ¼ iput);                   │
  1072.     │       ó«ºóαáΓ¿Γ∞ («Φ¿í¬π);                                 │
  1073.     │    }                                                       │
  1074.     │    ß¡∩Γ∞ í½«¬¿α«ó¬π ß ¿¡ñѬßá;                             │
  1075.     │    «ßó«í«ñ¿Γ∞ ¿¡ñѬߠ»αѪ¡Ñú« ΓѬπΘÑú« ¬áΓὫúá (á½ú«α¿Γ¼  │
  1076.     │     iput);                                                 │
  1077.     │    »«¼ÑßΓ¿Γ∞ ¡«óδ⌐ ¿¡ñѬߠ󠻫º¿µ¿ε ñ½∩ ΓѬπΘÑú« ¬áΓὫúá  │
  1078.     │     ó »α«ßΓαá¡ßΓóÑ »α«µÑßßá;                               │
  1079.     │ }                                                          │
  1080.     └────────────────────────────────────────────────────────────┘
  1081.  
  1082.             É¿ßπ¡«¬ 5.14. Ç½ú«α¿Γ¼ ß¼Ñ¡δ ΓѬπΘÑú« ¬áΓὫúá
  1083.  
  1084.  
  1085.  
  1086.     E5.9 æîàìÇ ÆàèôÖàâÄ ê èÄÉìàéÄâÄ èÇÆÇïÄâÇF
  1087.  
  1088.     è«úñá ß¿ßΓѼᠺáúαπªáÑΓß∩ ó»ÑαóδÑ, ¡π½Ñó«⌐ »α«µÑßß ñѽáÑΓ ¬«α¡Ñó«⌐ ¬áΓá-
  1089. ½«ú Σá⌐½«ó«⌐ ß¿ßΓѼδ ΓѬπΘ¿¼ ¡á óαѼ∩ ¿¡¿µ¿á½¿ºáµ¿¿. ä½∩  ¿¡ñѬßá  ¬«α¡Ñó«ú«
  1090. ¬áΓὫúá  ¡π½Ñó«⌐  »α«µÑßß  óδ»«½¡∩ÑΓ á½ú«α¿Γ¼ iget, ß«σαá¡∩ÑΓ φëà¿¡ñѬߠó
  1091. »α«ßΓαá¡ßΓóÑ »α«µÑßßá ó ¬áτÑßΓóÑ ¿¡ñѬßá ΓѬπΘÑú« ¬áΓὫúá ¿ ß¡¿¼áÑΓ  ß  ¿¡-
  1092. ñѬßá  í½«¬¿α«ó¬π.  è«úñá ß »«¼«Θ∞ε Σπ¡¬µ¿¿ fork ß«ºñáÑΓß∩ ¡«óδ⌐ »α«µÑßß, «¡
  1093. ¡áß½ÑñπÑΓ ΓѬπΘ¿⌐ ¬áΓὫú ßΓáα«ú« »α«µÑßßá ó ßó«Ñ¼ áñαÑß¡«¼ »α«ßΓαá¡ßΓóÑ,  á
  1094. ∩ñα«, ß««ΓóÑΓßΓóÑ¡¡«, πóѽ¿τ¿óáÑΓ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ßß佫¬ ó ¿¡ñѬßÑ.
  1095.     Ç½ú«α¿Γ¼ chdir (É¿ßπ¡«¬ 5.14) ¿º¼Ñ¡∩ÑΓ ¿¼∩ ΓѬπΘÑú« ¬áΓὫúá ñ½∩ »α«µÑß-
  1096. ßá. æ¿¡Γá¬ß¿ß ó맮óá ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ chdir:
  1097.  
  1098.     chdir(pathname);
  1099.  
  1100. úñÑ pathname - ¬áΓὫú, ¬«Γ«αδ⌐ ßΓá¡«ó¿Γß∩ ΓѬπΘ¿¼ ñ½∩ »α«µÑßßá. ƒñα« á¡á½¿-
  1101. º¿απÑΓ ¿¼∩ ¬áΓὫúá, ¿ß»«½∞ºπ∩ á½ú«α¿Γ¼ namei, ¿ »α«óÑα∩ÑΓ, ∩ó½∩ÑΓß∩ ½¿ ñá¡-
  1102. ¡δ⌐  Σá⌐½  ¬áΓὫú«¼  ¿ ¿¼ÑÑΓ ½¿ ó½áñѽѵ »α«µÑßßá »αáó« ñ«ßΓπ»á ¬ ¬áΓὫúá.
  1103. ƒñα« ß¡¿¼áÑΓ ß ¡«ó«ú« ¿¡ñѬßá í½«¬¿α«ó¬π, ¡« πñÑনóáÑΓ  ¿¡ñѬߠ ó  ¬áτÑßΓóÑ
  1104. óδñѽѡ¡«ú«  ¿  «ßΓáó½∩ÑΓ  ßτÑΓτ¿¬  ßß佫¬ íѺ ¿º¼Ñ¡Ñ¡¿⌐, «ßó«í«ªñáÑΓ ¿¡ñѬß
  1105. »αѪ¡Ñú« ΓѬπΘÑú« ¬áΓὫúá (á½ú«α¿Γ¼ iput), σαá¡∩Θ¿⌐ß∩ ó  »α«ßΓαá¡ßΓóÑ  »α«-
  1106. µÑßßá,  ¿ ºá»«¼¿¡áÑΓ ó φΓ«¼ »α«ßΓαá¡ßΓóÑ ¡«óδ⌐ ¿¡ñѬß. Å«ß½Ñ ß¼Ñ¡δ »α«µÑßß«¼
  1107. ΓѬπΘÑú« ¬áΓὫúá á½ú«α¿Γ¼ namei ¿ß»«½∞ºπÑΓ ¿¡ñѬߠó ¬áτÑßΓóÑ ¡áτá½∞¡«ú« ¬á-
  1108. ΓὫúá »α¿ á¡á½¿ºÑ óßÑσ ¿¼Ñ¡ »πΓÑ⌐, ¬«Γ«αδÑ ¡Ñ íÑαπΓ  ¡áτὫ  «Γ  ¬«α¡∩.  Å«
  1109. «¬«¡τá¡¿¿ óδ»«½¡Ñ¡¿∩ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ chdir ßτÑΓτ¿¬ ßß佫¬ ¡á ¿¡ñѬߠ¡«ó«ú«
  1110. ¬áΓὫúá ¿¼ÑÑΓ º¡áτÑ¡¿Ñ, ¬á¬ ¼¿¡¿¼π¼, 1, á ßτÑΓτ¿¬ ßß佫¬ ¡á ¿¡ñѬߠ»αѪ¡Ñú«
  1111. ΓѬπΘÑú« ¬áΓὫúá ¼«ªÑΓ ßΓáΓ∞ αáó¡δ¼ 0. é φΓ«¼ «Γ¡«ΦÑ¡¿¿ Σπ¡¬µ¿∩ chdir »«σ«-
  1112. ªá ¡á Σπ¡¬µ¿ε open, »«ß¬«½∞¬π «íÑ Σπ¡¬µ¿¿ «íαáΘáεΓß∩ ¬ Σá⌐½π ¿ «ßΓáó½∩εΓ Ñú«
  1113. ¿¡ñѬߠ ó ¬áτÑßΓóÑ óδñѽѡ¡«ú«. ê¡ñѬß, óδñѽѡ¡δ⌐ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ Σπ¡¬-
  1114. µ¿¿ chdir, «ßó«í«ªñáÑΓß∩ Γ«½∞¬« Γ«úñá, ¬«úñá »α«µÑßß ¼Ñ¡∩ÑΓ ΓѬπΘ¿⌐  ¬áΓὫú
  1115. ÑΘÑ αẠ¿½¿ ¬«úñá »α«µÑßß ºáóÑαΦáÑΓß∩.
  1116.  
  1117.                                     102
  1118.  
  1119.     Åα«µÑßßδ  «íδτ¡« ¿ß»«½∞ºπεΓ ú½«íá½∞¡δ⌐ ¬«α¡Ñó«⌐ ¬áΓὫú Σá⌐½«ó«⌐ ß¿ßΓѼδ
  1120. ñ½∩ óßÑσ ¿¼Ñ¡ »πΓÑ⌐ »«¿ß¬á, ¡áτ¿¡áεΘ¿σß∩ ß "/". ƒñα« σαá¡¿Γ ú½«íá½∞¡πε »ÑαÑ-
  1121. ¼Ñ¡¡πε, ¬«Γ«αá∩ π¬áºδóáÑΓ ¡á ¿¡ñѬߠú½«íá½∞¡«ú« ¬«α¡∩, óδñѽ∩Ѽδ⌐  »«  á½ú«-
  1122. α¿Γ¼π  iget »α¿ ºáúαπº¬Ñ ß¿ßΓѼδ. Åα«µÑßßδ ¼«úπΓ ¼Ñ¡∩Γ∞ ßó«Ñ »αÑñßΓáó½Ñ¡¿Ñ «
  1123. ¬«α¡Ñó«¼ ¬áΓὫúÑ Σá⌐½«ó«⌐ ß¿ßΓѼδ ß »«¼«Θ∞ε ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿  chroot.  ¥Γ«
  1124. íδóáÑΓ »«½Ñº¡«, Ñß½¿ »«½∞º«óáΓÑ½ε ¡πª¡« ß«ºñáΓ∞ ¼«ñѽ∞ «íδτ¡«⌐ ¿Ñαáασ¿τÑ߬«⌐
  1125. ßΓαπ¬Γπαδ  Σá⌐½«ó«⌐ ß¿ßΓÑ¼δ ¿ ºá»πßΓ¿Γ∞ »α«µÑßßδ Γá¼. æ¿¡Γá¬ß¿ß ó맮óá Σπ¡¬-
  1126. 樨:
  1127.  
  1128.     chroot(pathname);
  1129.  
  1130. úñÑ pathname - ¬áΓὫú, ¬«Γ«αδ⌐ ó»«ß½ÑñßΓó¿¿ íπñÑΓ αáßß¼áΓα¿óáΓ∞ß∩  ∩ñα«¼  ó
  1131. ¬áτÑßΓóÑ ¬«α¡Ñó«ú« ¬áΓὫúá ñ½∩ »α«µÑßßá. éδ»«½¡∩∩ Σπ¡¬µ¿ε chroot, ∩ñα« ß½Ñ-
  1132. ñπÑΓ  Γ«¼π  ªÑ  á½ú«α¿Γ¼π, τΓ« ¿ »α¿ ß¼Ñ¡Ñ ΓѬπΘÑú« ¬áΓὫúá. Ä¡« ºá»«¼¿¡áÑΓ
  1133. ¿¡ñѬߠ¡«ó«ú« ¬«α¡∩ ó »α«ßΓαá¡ßΓóÑ »α«µÑßßá, ß¡¿¼á∩ ß ¿¡ñѬßá í½«¬¿α«ó¬π  »«
  1134. ºáóÑαΦÑ¡¿¿ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿. ÆÑ¼ ¡Ñ ¼Ñ¡ÑÑ, Γᬠ¬á¬ π¼«½τá¡¿Ñ ¡á ¬«αÑ¡∞ ñ½∩
  1135. ∩ñαá σαá¡¿Γß∩ ó ú½«íá½∞¡«⌐ »ÑαѼѡ¡«⌐, ∩ñα« «ßó«í«ªñáÑΓ ¿¡ñѬߠ»αѪ¡Ñú« ¬«α-
  1136. ¡∩  ¡Ñ  áóΓ«¼áΓ¿τÑ߬¿,  á Γ«½∞¬« »«ß½Ñ Γ«ú«, ¬á¬ «¡« ßἫ ¿½¿ »α«µÑßß-»αÑñ«¬
  1137. ¿ß»«½¡∩Γ ó맮ó Σπ¡¬µ¿¿ chroot. ì«óδ⌐  ¿¡ñѬߠ ßΓá¡«ó¿Γß∩  ½«ú¿τÑ߬¿¼  ¬«α¡Ñ¼
  1138. Σá⌐½«ó«⌐  ß¿ßΓÑ¼δ  ñ½∩  »α«µÑßßá (¿ ñ½∩ óßÑ󠻫᫪ñÑ¡¡δσ ¿¼ »α«µÑßß«ó) ¿ φΓ«
  1139. «º¡áτáÑΓ, τΓ« óßÑ »πΓ¿ »«¿ß¬á ó á½ú«α¿Γ¼Ñ namei, ¡áτ¿¡áεΘ¿Ñß∩ ß ¬«α¡∩ ("/"),
  1140. ó«º∞¼πΓ ¡áτὫ ß ñá¡¡«ú« ¿¡ñѬßá ¿ τΓ« óßÑ »«»δΓ¬¿ ó«⌐Γ¿ ó ¬áΓὫú ".."  ¡áñ
  1141. ¬«α¡Ñ¼  »α¿óÑñπΓ  ¬ Γ«¼π, τΓ« αáí«τ¿¼ ¬áΓὫú«¼ »α«µÑßßá «ßΓá¡ÑΓß∩ ¡«óδ⌐ ¬«-
  1142. αÑ¡∞. Åα«µÑßß »ÑαÑñáÑΓ óßѼ ó¡«ó∞ »«α«ªñáÑ¼δ¼ »α«µÑßßá¼ φëà¬áΓὫú  ó  ¬á-
  1143. τÑßΓóÑ ¬«α¡Ñó«ú« »«ñ«í¡« Γ«¼π, ¬á¬ »ÑαÑñáÑΓ ßó«⌐ ΓѬπΘ¿⌐ ¬áΓὫú.
  1144.  
  1145.  
  1146.     E5.10 æîàìÇ éïÇäàï£ûÇ ê ÉàåêîÇ äÄæÆôÅÇ è öÇëïôF
  1147.  
  1148.     æ¼Ñ¡á  ó½áñѽ∞µá  ¿½¿  αѪ¿¼á (»αáó) ñ«ßΓπ»á ¬ Σá⌐½π ∩ó½∩ÑΓß∩ «»ÑαᵿÑ⌐,
  1149. »α«¿ºó«ñ¿¼«⌐ ¡áñ ¿¡ñѬ߫¼, á ¡Ñ ¡áñ Σá⌐½«¼. æ¿¡Γá¬ß¿ß ó맮óá ß««ΓóÑΓßΓóπεΘ¿σ
  1150. ß¿ßΓѼ¡δσ Σπ¡¬µ¿⌐:
  1151.  
  1152.     chown(pathname,owner,group)
  1153.     chmod(pathname,mode)
  1154.  
  1155.     ä½∩ Γ«ú«, τΓ«íδ »«¼Ñ¡∩Γ∞ ó½áñѽ∞µá Σá⌐½á, ∩ñα« »αÑ«íαáºπÑΓ ¿¼∩  Σá⌐½á  ó
  1156. ¿ñÑ¡Γ¿Σ¿¬áΓ«α  ¿¡ñѬßá,  ¿ß»«½∞ºπ∩  á½ú«α¿Γ¼ namei. é½áñѽѵ »α«µÑßßá ñ«½ªÑ¡
  1157. íδΓ∞ ßπ»Ñα»«½∞º«óáΓѽѼ ¿½¿ ó½áñѽ∞µÑ¼ Σá⌐½á (»α«µÑßß ¡Ñ ¼«ªÑΓ αáß»«α∩ªáΓ∞ß∩
  1158. ΓѼ, τΓ« ¡Ñ »α¿¡áñ½Ñª¿Γ Ñ¼π). çáΓѼ ∩ñα« ¡áº¡áτáÑΓ Σá⌐½π ¡«ó«ú« ó½áñѽ∞µá  ¿
  1159. ¡«ó«ú« úαπ»»«ó«ú« »«½∞º«óáΓѽ∩, ßíαáßδóáÑΓ Σ½áú¿ »αѪ¡¿σ πßΓᡫ󫬠(ß¼. αáº-
  1160. ñѽ  7.5) ¿ «ßó«í«ªñáÑΓ ¿¡ñѬߠ»« á½ú«α¿Γ¼π iput. Å«ß½Ñ φΓ«ú« »αѪ¡¿⌐ ó½áñÑ-
  1161. ½Ñµ ΓÑα∩ÑΓ »αáó« "ß«íßΓóÑ¡¡«ßΓ¿" ¡á Σá⌐½. ä½∩  Γ«ú«,  τΓ«íδ  »«¼Ñ¡∩Γ∞  αѪ¿¼
  1162. ñ«ßΓπ»á  ¬  Σá⌐½π, ∩ñα« óδ»«½¡∩ÑΓ »α«µÑñπαπ, »«ñ«í¡πε «»¿ßá¡¡«⌐, ó¼ÑßΓ« ¬«ñá
  1163. ó½áñѽ∞µá ¼Ñ¡∩∩ Σ½áú¿, πßΓá¡áó½¿óáεΘ¿Ñ αѪ¿¼ ñ«ßΓπ»á.
  1164.  
  1165.  
  1166.     E5.11 STAT ê FSTATF
  1167.  
  1168.     æ¿ßΓѼ¡δÑ Σπ¡¬µ¿¿ stat ¿ fstat »«ºó«½∩εΓ »α«µÑßßá¼ ºá»αáΦ¿óáΓ∞  ¿¡Σ«α¼á-
  1169. µ¿ε  «  ßΓáΓπßÑ  Σá⌐½á: Γ¿»Ñ Σá⌐½á, ó½áñѽ∞µÑ Σá⌐½á, »αáóáσ ñ«ßΓπ»á, αẼÑαÑ
  1170. Σá⌐½á, τ¿ß½Ñ ßó∩ºÑ⌐, ¡«¼ÑαÑ ¿¡ñѬßá ¿ óαѼѡ¿ ñ«ßΓπ»á ¬ Σá⌐½π. æ¿¡Γá¬ß¿ß óδ-
  1171. º«óá Σπ¡¬µ¿⌐:
  1172.  
  1173.     stat(pathname,statbuffer);
  1174.     fstat(fd,statbuffer);
  1175.  
  1176. úñÑ pathname - ¿¼∩ Σá⌐½á, fd - ñÑß¬α¿»Γ«α Σá⌐½á, ó«ºóαáΘáѼδ⌐ Σπ¡¬µ¿Ñ⌐ open,
  1177. statbuffer - áñαÑß ßΓαπ¬Γπαδ ñá¡¡δσ »«½∞º«óáΓѽ∞߬«ú«  »α«µÑßßá,  úñÑ  íπñÑΓ
  1178.  
  1179.                                     103
  1180.  
  1181. σαá¡¿Γ∞ß∩  ¿¡Σ«α¼áµ¿∩  «  ßΓáΓπßÑ  Σá⌐½á »«ß½Ñ ºáóÑαΦÑ¡¿∩ óδ»«½¡Ñ¡¿∩ ó맮óá.
  1182. æ¿ßΓѼ¡δÑ  Σπ¡¬µ¿¿  »α«ßΓ«  »ÑαÑ»¿ßδóáεΓ  »«½∩  ¿º   ¿¡ñѬßá   ó   ßΓαπ¬Γπαπ
  1183. statbuffer.  Åα«úαἼᠠ¡á  É¿ßπ¡¬Ñ  5.33 ¿½½εßΓα¿απÑΓ ¿ß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿⌐
  1184. stat ¿ fstat.
  1185.  
  1186.     éδºδóáÑΓ ¬á¡á½                 ìÑ ¼«úπΓ ß«ó¼ÑßΓ¡« ¿ß»«½∞º«óáΓ∞
  1187.           ∙                                           ¬á¡á½
  1188.            ∙                                       ∙    ∙
  1189.             ∙                                ∙         ∙
  1190.              ∙                         ∙              ∙
  1191.               ∙              Åα«µÑßß A               ∙
  1192.                ∙                 │                  ∙
  1193.                 ∙  ┌─────────────┴──────────────┐  ∙
  1194.                  ∙ │                            │ ∙
  1195.              Åα«µÑßß B                        Åα«µÑßß C
  1196.                  │
  1197.          ┌───────┴───────┐
  1198.          │               │
  1199.     Åα«µÑßß D    ∙     Åα«µÑßß E
  1200.         ∙        ∙        ∙
  1201.            ∙     ∙     ∙
  1202.               ∙  ∙  ∙
  1203.                  ∙
  1204.          æ«ó¼ÑßΓ¡« ¿ß»«½∞ºπεΓ
  1205.                 ¬á¡á½
  1206.  
  1207.     É¿ßπ¡«¬ 5.15. äÑαÑó« »α«µÑß߫󠿠߫ó¼ÑßΓ¡«Ñ ¿ß»«½∞º«óá¡¿Ñ ¬á¡á½«ó
  1208.  
  1209.  
  1210.  
  1211.     E5.12 èÇìÇï¢F
  1212.  
  1213.     èá¡á½δ »«ºó«½∩εΓ »ÑαÑñáóáΓ∞ ñá¡¡δÑ ¼Ñªñπ »α«µÑßßἿ ó »«α∩ñ¬Ñ  »«ßΓπ»½Ñ-
  1214. ¡¿∩  ("»Ñαóδ¼  »α¿Φѽ  - »Ñαóδ¼ óδΦѽ"), á ΓᬪѠ߿¡σα«¡¿º¿α«óáΓ∞ óδ»«½¡Ñ¡¿Ñ
  1215. »α«µÑßß«ó. êσ ¿ß»«½∞º«óá¡¿Ñ  ñáÑΓ  »α«µÑßßá¼  ó«º¼«ª¡«ßΓ∞  óºá¿¼«ñÑ⌐ßΓó«óáΓ∞
  1216. ¼Ñªñπ ß«í«⌐, »πßΓ∞ ñáªÑ ¡Ñ ¿ºóÑßΓ¡«, ¬á¬¿Ñ »α«µÑßßδ ¡áσ«ñ∩Γß∩ ¡á ñαπú«¼ ¬«¡-
  1217. µÑ  ¬á¡á½á.  Æαáñ¿µ¿«¡¡á∩ αÑ὿ºáµ¿∩ ¬á¡á½«ó ¿ß»«½∞ºπÑΓ Σá⌐½«óπε ß¿ßΓѼπ ñ½∩
  1218. σαá¡Ñ¡¿∩ ñá¡¡δσ. Éẽ¿τáεΓ ñóá ó¿ñá ¬á¡á½«ó: »«¿¼Ñ¡«óá¡¡δÑ ¬á¡á½δ ¿, ºá  «Γ-
  1219. ßπΓßΓó¿Ñ¼  ½πτΦÑú«  ΓÑନ¡á, ¡Ñ»«¿¼Ñ¡«óá¡¡δÑ ¬á¡á½δ, ¬«Γ«αδÑ ¿ñÑ¡Γ¿τ¡δ ¼Ñªñπ
  1220. ß«í«⌐ ó« óßѼ, ¬α«¼Ñ ß»«ß«íá »Ñαó«¡áτá½∞¡«ú« «íαáΘÑ¡¿∩ ¬ ¡¿¼ »α«µÑßß«ó.  ä½∩
  1221. »«¿¼Ñ¡«óá¡¡δσ  ¬á¡á½«ó »α«µÑßßδ ¿ß»«½∞ºπεΓ ß¿ßΓѼ¡πε Σπ¡¬µ¿ε open, á ß¿ßΓѼ-
  1222. ¡πε Σπ¡¬µ¿ε pipe - ñ½∩ ß«ºñá¡¿∩ ¡Ñ»«¿¼Ñ¡«óá¡¡«ú« ¬á¡á½á.  é»«ß½ÑñßΓó¿¿,  »α¿
  1223. αáí«ΓÑ ß ¬á¡á½á¼¿ »α«µÑßßδ »«½∞ºπεΓß∩ «íδτ¡δ¼¿ ß¿ßΓѼ¡δ¼¿ Σπ¡¬µ¿∩¼¿ ñ½∩ Σá⌐-
  1224. ½«ó,  Γᬿ¼¿ ¬á¬ read, write ¿ close. Æ«½∞¬« ßó∩ºá¡¡δÑ ¼Ñªñπ ß«í«⌐ »α«µÑßßδ,
  1225. ∩ó½∩εΘ¿Ñß∩ »«Γ«¼¬á¼¿ Γ«ú« »α«µÑßßá, ¬«Γ«αδ⌐ óδºóá½ Σπ¡¬µ¿ε pipe, ¼«úπΓ  αáº-
  1226. ñѽ∩Γ∞  ñ«ßΓπ»  ¬ ¡Ñ»«¿¼Ñ¡«óá¡¡δ¼ ¬á¡á½á¼. ìá»α¿¼Ñα (ß¼. É¿ßπ¡«¬ 5.15), Ñß½¿
  1227. »α«µÑßß B ß«ºñáÑΓ ¬á¡á½ ¿ »«α«ªñáÑΓ »α«µÑßßδ D ¿ E, φΓ¿ Γα¿ »α«µÑßßá  αáºñÑ-
  1228. ½∩εΓ  ¼Ñªñπ ß«í«⌐ ñ«ßΓπ» ¬ ¬á¡á½π, ó «Γ½¿τ¿Ñ «Γ »α«µÑßß«ó A ¿ C. Äñ¡á¬«, óßÑ
  1229. »α«µÑßßδ ¼«úπΓ «íαáΘáΓ∞ß∩ ¬ »«¿¼Ñ¡«óá¡¡«¼π ¬á¡á½π ¡Ñºáó¿ß¿¼« «Γ  óºá¿¼««Γ¡«-
  1230. ΦÑ¡¿⌐ ¼Ñªñπ ¡¿¼¿, »α¿ πß½«ó¿¿ ¡á½¿τ¿∩ «íδτ¡δσ »αáó ñ«ßΓπ»á ¬ Σá⌐½π. Å«ß¬«½∞-
  1231. ¬π ¡Ñ»«¿¼Ñ¡«óá¡¡δÑ ¬á¡á½δ óßΓαÑτáεΓß∩ τáΘÑ, «¡¿ íπñπΓ αáßß¼«ΓαÑ¡δ »Ñαó묨.
  1232.  
  1233.  
  1234.     E5.12.1 æ¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ pipeF
  1235.  
  1236.     æ¿¡Γá¬ß¿ß ó맮óá Σπ¡¬µ¿¿ ß«ºñá¡¿∩ ¬á¡á½á:
  1237.  
  1238.     pipe(fdptr);
  1239.  
  1240.  
  1241.                                     104
  1242.  
  1243. úñÑ  fdptr  -  π¬áºáΓѽ∞ ¡á ¼áß߿󠿺 ñóπσ µÑ½δσ »ÑαѼѡ¡δσ, ó ¬«Γ«α«¼ íπñπΓ
  1244. σαá¡¿Γ∞ß∩ ñóá ñÑß¬α¿»Γ«αá Σá⌐½á ñ½∩ τΓÑ¡¿∩ ¿º ¬á¡á½á ¿ ñ½∩ ºá»¿ß¿  ó  ¬á¡á½.
  1245. ū߬«½∞¬π ∩ñα« αÑ὿ºπÑΓ ¬á¡á½δ ó¡πΓα¿ Σá⌐½«ó«⌐ ß¿ßΓÑ¼δ ¿ »«ß¬«½∞¬π ¬á¡á½ ¡Ñ
  1246. ßπΘÑßΓóπÑΓ ñ« Γ«ú«, ¬á¬ Ñú« íπñπΓ ¿ß»«½∞º«óáΓ∞, ∩ñα« ñ«½ª¡« »α¿ ß«ºñá¡¿¿ ¬á-
  1247. ¡á½á ¡áº¡áτ¿Γ∞ Ñ¼π ¿¡ñѬß. Ä¡« ΓᬪѠ¡áº¡áτáÑΓ ñ½∩ ¬á¡á½á »áαπ »«½∞º«óáΓѽ∞-
  1248. ߬¿σ ñÑß¬α¿»Γ«α«ó ¿ ß««ΓóÑΓßΓóπεΘ¿Ñ ¿¼ ºá»¿ß¿ ó Γáí½¿µÑ Σá⌐½«ó: «ñ¿¡ ¿º ñÑß-
  1249. ¬α¿»Γ«α«ó  ñ½∩ τΓÑ¡¿∩ ¿º ¬á¡á½á, á ñαπú«⌐ ñ½∩ ºá»¿ß¿ ó ¬á¡á½. Å«ß¬«½∞¬π ∩ñα«
  1250. »«½∞ºπÑΓß∩ Γáí½¿µÑ⌐ Σá⌐½«ó, ¿¡ΓÑαΣÑ⌐ß ñ½∩ ó맮óá Σπ¡¬µ¿⌐ read, write  ¿  ñα.
  1251. ß«ú½áßπÑΓß∩ ß ¿¡ΓÑαΣÑ⌐ß«¼ ñ½∩ «íδτ¡δσ Σá⌐½«ó. é αѺπ½∞ΓáΓÑ »α«µÑßßá¼ ¡ÑΓ ¡á-
  1252. ñ«í¡«ßΓ¿ º¡áΓ∞, óÑñπΓ ½¿ «¡¿ τΓÑ¡¿Ñ ¿½¿ ºá»¿ß∞ ó «íδτ¡δ⌐ Σá⌐½ ¿½¿ ó ¬á¡á½.
  1253.  
  1254.     ┌────────────────────────────────────────────────────────────┐
  1255.     │ á½ú«α¿Γ¼ pipe                                              │
  1256.     │ óσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩:  «ΓßπΓßΓóπÑΓ                           │
  1257.     │ óδσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩: ñÑß¬α¿»Γ«α Σá⌐½á ñ½∩ τΓÑ¡¿∩           │
  1258.     │                      ñÑß¬α¿»Γ«α Σá⌐½á ñ½∩ ºá»¿ß¿           │
  1259.     │ {                                                          │
  1260.     │    ¡áº¡áτ¿Γ∞ ¡«óδ⌐ ¿¡ñѬߠ¿º πßΓα«⌐ßΓóá ¬á¡á½á (á½ú«α¿Γ¼   │
  1261.     │     ialloc);                                               │
  1262.     │    óδñѽ¿Γ∞ «ñ¡π ºá»¿ß∞ ó Γáí½¿µÑ Σá⌐½«ó ñ½∩ τΓÑ¡¿∩, «ñ¡π -│
  1263.     │     ñ½∩ »ÑαÑ»¿ß¿;                                          │
  1264.     │    ¿¡¿µ¿á½¿º¿α«óáΓ∞ ºá»¿ß¿ ó Γáí½¿µÑ Σá⌐½«ó Γᬿ¼ «íαẫ¼, │
  1265.     │     τΓ«íδ «¡¿ π¬áºδó὿ ¡á ¡«óδ⌐ ¿¡ñѬß;                   │
  1266.     │    óδñѽ¿Γ∞ «ñ¿¡ »«½∞º«óáΓѽ∞߬¿⌐ ñÑß¬α¿»Γ«α Σá⌐½á ñ½∩ τΓÑ-│
  1267.     │     ¡¿∩, «ñ¿¡ - ñ½∩ ºá»¿ß¿, »α«¿¡¿µ¿á½¿º¿α«óáΓ∞ ¿σ Γᬿ¼   │
  1268.     │     «íαẫ¼, τΓ«íδ «¡¿ π¬áºδó὿ ¡á ß««ΓóÑΓßΓóπεΘ¿Ñ Γ«τ¬¿  │
  1269.     │     óσ«ñá ó Γáí½¿µÑ Σá⌐½«ó;                                │
  1270.     │    πßΓá¡«ó¿Γ∞ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ßß佫¬ ó ¿¡ñѬßÑ αáó¡δ¼ 2; │
  1271.     │    πßΓá¡«ó¿Γ∞ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á τ¿ß½á »α«µÑßß«ó, »α«¿ºó«ñ∩-│
  1272.     │     Θ¿σ τΓÑ¡¿Ñ, ¿ »α«µÑßß«ó, »α«¿ºó«ñ∩Θ¿σ ºá»¿ß∞, αáó¡δ¼ 1;│
  1273.     │ }                                                          │
  1274.     └────────────────────────────────────────────────────────────┘
  1275.  
  1276.        É¿ßπ¡«¬ 5.16. Ç½ú«α¿Γ¼ ß«ºñá¡¿∩ ¬á¡á½«ó (¡Ñ»«¿¼Ñ¡«óá¡¡δσ)
  1277.  
  1278.  
  1279.     ìá  É¿ßπ¡¬Ñ 5.16 »«¬áºá¡ á½ú«α¿Γ¼ ß«ºñá¡¿∩ ¡Ñ»«¿¼Ñ¡«óá¡¡δσ ¬á¡á½«ó. ƒñα«
  1280. ¡áº¡áτáÑΓ ¿¡ñѬߠñ½∩ ¬á¡á½á ¿º Σá⌐½«ó«⌐ ß¿ßΓѼδ, «í«º¡áτÑ¡¡«⌐ ¬á¬ "πßΓα«⌐ßΓ-
  1281. ó« ¬á¡á½á", ¿ß»«½∞ºπ∩ á½ú«α¿Γ¼ ialloc. ôßΓα«⌐ßΓó« ¬á¡á½á  -  φΓ«  ¿¼Ñ¡¡«  Γá
  1282. Σá⌐½«óá∩ ß¿ßΓѼá, ¿º ¬«Γ«α«⌐ ∩ñα« ¼«ªÑΓ ¡áº¡áτáΓ∞ ¬á¡á½á¼ ¿¡ñѬßδ ¿ óδñѽ∩Γ∞
  1283. í½«¬¿  ñ½∩  ñá¡¡δσ.  Çñ¼¿¡¿ßΓαáΓ«αδ  ß¿ßΓѼδ π¬áºδóáεΓ πßΓα«⌐ßΓó« ¬á¡á½á »α¿
  1284. ¬«¡Σ¿úπα¿α«óá¡¿¿ ß¿ßΓÑ¼δ ¿ φΓ¿ πßΓα«⌐ßΓóá ¼«úπΓ ß«ó»áñáΓ∞ π αạδσ  Σá⌐½«óδσ
  1285. ß¿ßΓѼ.  Å«¬á ¬á¡á½ á¬Γ¿óÑ¡, ∩ñα« ¡Ñ ¼«ªÑΓ »Ñαѡạáτ¿Γ∞ ¿¡ñѬߠ¬á¡á½á ¿ ¿¡-
  1286. Σ«α¼áµ¿«¡¡δÑ í½«¬¿ ¬á¡á½á ñαπú«¼π Σá⌐½π.
  1287.     çáΓѼ ∩ñα« óδñѽ∩ÑΓ ó Γáí½¿µÑ Σá⌐½«ó ñóÑ ºá»¿ß¿,  ß««ΓóÑΓßΓóπεΘ¿Ñ  ñÑ߬-
  1288. α¿»Γ«αá¼  ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿ ó ¬á¡á½, ¿ ¬«ααÑ¬Γ¿απÑΓ "íπσúá½ΓÑα߬πε" ¿¡Σ«α-
  1289. ¼áµ¿ε ó ¬«»¿¿ ¿¡ñѬßá ó »á¼∩Γ¿. é ¬áªñ«⌐ ¿º  óδñѽѡ¡δσ  ºá»¿ßÑ⌐  ó  Γáí½¿µÑ
  1290. Σá⌐½«ó  σαá¡¿Γß∩  ¿¡Σ«α¼áµ¿∩  «  Γ«¼, ß¬«½∞¬« φ¬ºÑ¼»½∩α«ó ¬á¡á½á «Γ¬αδΓ« ñ½∩
  1291. τΓÑ¡¿∩ ¿½¿ ºá»¿ß¿ (»Ñαó«¡áτá½∞¡« 1), á ßτÑΓτ¿¬ ßß佫¬ ó  ¿¡ñѬßÑ  π¬áºδóáÑΓ,
  1292. ߬«½∞¬« αẠ¬á¡á½ íδ½ "«Γ¬αδΓ" (»Ñαó«¡áτá½∞¡« 2 - »« «ñ¡«¼π ñ½∩ ¬áªñ«⌐ ºá»¿-
  1293. ß¿ Γáí½¿µδ Σá⌐½«ó). ìᬫ¡Ñµ, ó ¿¡ñѬßÑ ºá»¿ßδóáεΓß∩ ß¼ÑΘÑ¡¿∩ ó íá⌐Γáσ ó¡πΓα¿
  1294. ¬á¡á½á  ñ« ¼ÑßΓá, úñÑ íπñÑΓ ¡áτ¿¡áΓ∞ß∩ ß½ÑñπεΘá∩ «»Ñαᵿ∩ ºá»¿ß¿ ¿½¿ τΓÑ¡¿∩.
  1295. ü½áú«ñáα∩ ß«σαá¡Ñ¡¿ε φΓ¿σ ß¼ÑΘÑ¡¿⌐ ó ¿¡ñѬßÑ ¿¼ÑÑΓß∩ ó«º¼«ª¡«ßΓ∞ »α«¿ºó«ñ¿Γ∞
  1296. ñ«ßΓπ» ¬ ñá¡¡δ¼ ó ¬á¡á½Ñ ó »«α∩ñ¬Ñ ¿σ »«ßΓπ»½Ñ¡¿∩ ó ¬á¡á½ ("»Ñαóδ¼ »α¿Φѽ  -
  1297. »Ñαóδ¼  óδΦѽ");  φëà ¼«¼Ñ¡Γ  ∩ó½∩ÑΓß∩ «ß«íÑ¡¡«ßΓ∞ε ¬á¡á½«ó, »«ß¬«½∞¬π ñ½∩
  1298. «íδτ¡δσ Σá⌐½«ó ß¼ÑΘÑ¡¿∩ σαá¡∩Γß∩ ó Γáí½¿µÑ Σá⌐½«ó. Åα«µÑßßδ ¡Ñ ¼«úπΓ  ¼Ñ¡∩Γ∞
  1299. φΓ¿ ß¼ÑΘÑ¡¿∩ ß »«¼«Θ∞ε ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ lseek ¿ »«φΓ«¼π »α«¿ºó«½∞¡δ⌐ ñ«ßΓπ»
  1300. ¬ ñá¡¡δ¼ ¬á¡á½á ¡Ñ󫺼«ªÑ¡.
  1301.  
  1302.  
  1303.                                     105
  1304.  
  1305.     E5.12.2 ÄΓ¬αδΓ¿Ñ »«¿¼Ñ¡«óá¡¡«ú« ¬á¡á½áF
  1306.  
  1307.     Å«¿¼Ñ¡«óá¡¡δ⌐  ¬á¡á½ - φΓ« Σá⌐½, ¿¼ÑεΘ¿⌐ »«τΓ¿ Γá¬πε ªÑ ßѼá¡Γ¿¬π, ¬á¬ ¿
  1308. ¡Ñ»«¿¼Ñ¡«óá¡¡δ⌐ ¬á¡á½, ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«, τΓ«  φΓ«¼π  Σá⌐½π  ß««ΓóÑΓßΓóπÑΓ
  1309. ºá»¿ß∞  ó ¬áΓὫúÑ ¿ «íαáΘÑ¡¿Ñ ¬ ¡Ñ¼π »α«¿ºó«ñ¿Γß∩ »« ¿¼Ñ¡¿. Åα«µÑßßδ «Γ¬αδ-
  1310. óáεΓ »«¿¼Ñ¡«óá¡¡δÑ ¬á¡á½δ ΓᬠªÑ, ¬á¬ ¿ «íδτ¡δÑ Σá⌐½δ, ¿,  ß½Ññ«óáΓѽ∞¡«,  ß
  1311. »«¼«Θ∞ε  »«¿¼Ñ¡«óá¡¡δσ ¬á¡á½«ó ¼«úπΓ óºá¿¼«ñÑ⌐ßΓó«óáΓ∞ ¼Ñªñπ ß«í«⌐ ñáªÑ »α«-
  1312. µÑßßδ, ¡Ñ ¿¼ÑεΘ¿Ñ ñαπú ¬ ñαπúπ í½¿º¬«ú« «Γ¡«ΦÑ¡¿∩. Å«¿¼Ñ¡«óá¡¡δÑ ¬á¡á½δ »«ß-
  1313. Γ«∩¡¡« »α¿ßπΓßΓóπεΓ ó ¿Ñαáασ¿¿ Σá⌐½«ó«⌐ ß¿ßΓѼδ (¿º ¬«Γ«α«⌐ «¡¿ πñá½∩εΓß∩  ß
  1314. »«¼«Θ∞ε ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ unlink), á ¡Ñ»«¿¼Ñ¡«óá¡¡δÑ ¬á¡á½δ ∩ó½∩εΓß∩ óαѼѡ-
  1315. ¡δ¼¿:  ¬«úñá  óßÑ »α«µÑßßδ ºá¬á¡τ¿óáεΓ αáí«Γπ ß ¬á¡á½«¼, ∩ñα« «Γí¿αáÑΓ ¡áºáñ
  1316. Ñú« ¿¡ñѬß.
  1317.     Ç½ú«α¿Γ¼ «Γ¬αδΓ¿∩ »«¿¼Ñ¡«óá¡¡«ú«  ¬á¡á½á  ¿ñÑ¡Γ¿τÑ¡  á½ú«α¿Γ¼π  «Γ¬αδΓ¿∩
  1318. «íδτ¡«ú«  Σá⌐½á.  Äñ¡á¬«, »ÑαÑñ óδσ«ñ«¼ ¿º Σπ¡¬µ¿¿ ∩ñα« πóѽ¿τ¿óáÑΓ º¡áτÑ¡¿∩
  1319. ΓÑσ ßτÑΓτ¿¬«ó ó ¿¡ñѬßÑ, ¬«Γ«αδÑ »«¬áºδóáεΓ ¬«½¿τÑßΓó« »α«µÑßß«ó,  «Γ¬αδóΦ¿σ
  1320. »«¿¼Ñ¡«óá¡¡δ⌐  ¬á¡á½ ñ½∩ τΓÑ¡¿∩ ¿½¿ ºá»¿ß¿. Åα«µÑßß, «Γ¬αδóáεΘ¿⌐ »«¿¼Ñ¡«óá¡-
  1321. ¡δ⌐ ¬á¡á½ ñ½∩ τΓÑ¡¿∩, »α¿«ßΓá¡«ó¿Γ ßó«Ñ óδ»«½¡Ñ¡¿Ñ ñ« ΓÑσ »«α,  »«¬á  ñαπú«⌐
  1322. »α«µÑßß  ¡Ñ  «Γ¬α«ÑΓ  »«¿¼Ñ¡«óá¡¡δ⌐  ¬á¡á½  ñ½∩ ºá»¿ß¿, ¿ ¡á«í«α«Γ. ìÑ ¿¼ÑÑΓ
  1323. ß¼δß½á «Γ¬αδóáΓ∞ ¬á¡á½ ñ½∩ τΓÑ¡¿∩, Ñß½¿ »α«µÑßß ¡Ñ ¡áñÑÑΓß∩ »«½πτ¿Γ∞ ñá¡¡δÑ;
  1324. Γ« ªÑ ßἫѠ¬áßáÑΓß∩ ºá»¿ß¿. é ºáó¿ß¿¼«ßΓ¿ «Γ Γ«ú«, «Γ¬αδóáÑΓ ½¿ »α«µÑßß »«-
  1325. ¿¼Ñ¡«óá¡¡δ⌐ ¬á¡á½ ñ½∩ ºá»¿ß¿ ¿½¿ ñ½∩ τΓÑ¡¿∩,  ∩ñα«  ó«º«í¡«ó½∩ÑΓ  óδ»«½¡Ñ¡¿Ñ
  1326. ΓÑσ »α«µÑßß«ó, ¬«Γ«αδÑ í뫨 »α¿«ßΓá¡«ó½Ñ¡δ ó «ª¿ñá¡¿¿ »α«µÑßßá, ºá»¿ßδóáεΘÑ-
  1327. ú« ó »«¿¼Ñ¡«óá¡¡δ⌐ ¬á¡á½ ¿½¿ ßτ¿ΓδóáεΘÑú« ñá¡¡δÑ ¿º ¬á¡á½á (ß««ΓóÑΓßΓóÑ¡¡«).
  1328.     àß½¿  »α«µÑßß  «Γ¬αδóáÑΓ »«¿¼Ñ¡«óá¡¡δ⌐ ¬á¡á½ ñ½∩ τΓÑ¡¿∩, »α¿τѼ »α«µÑßß,
  1329. ºá»¿ßδóáεΘ¿⌐ ó ¬á¡á½, ßπΘÑßΓóπÑΓ, «Γ¬αδΓ¿Ñ ºáóÑαΦáÑΓß∩. ê½¿ Ñß½¿ »α«µÑßß «Γ-
  1330. ¬αδóáÑΓ »«¿¼Ñ¡«óá¡¡δ⌐ Σá⌐½ ß »áαá¼ÑΓα«¼ "no delay", Σπ¡¬µ¿∩ open  ó«ºóαáΘáÑΓ
  1331. π»αáó½Ñ¡¿Ñ  ¡Ñ¼Ññ½Ñ¡¡«,  ñáªÑ ¬«úñá ¡ÑΓ ¡¿ «ñ¡«ú« ºá»¿ßδóáεΘÑú« »α«µÑßßá. é«
  1332. óßÑσ «ßΓá½∞¡δσ ß½πτá∩σ »α«µÑßß »α¿«ßΓá¡áó½¿óáÑΓß∩ ñ« ΓÑσ »«α, »«¬á ºá»¿ßδóá-
  1333. εΘ¿⌐ »α«µÑßß ¡Ñ «Γ¬α«ÑΓ ¬á¡á½. Ç¡á½«ú¿τ¡δÑ »αáó¿½á ñÑ⌐ßΓóπεΓ  ñ½∩  »α«µÑßßá,
  1334. «Γ¬αδóáεΘÑú« ¬á¡á½ ñ½∩ ºá»¿ß¿.
  1335.  
  1336.  
  1337.     E5.12.3 ùΓÑ¡¿Ñ ¿º ¬á¡á½«ó ¿ ºá»¿ß∞ ó ¬á¡á½δF
  1338.  
  1339.     èá¡á½  ß½ÑñπÑΓ  αáßß¼áΓα¿óáΓ∞ »«ñ Γᬿ¼ πú½«¼ ºαÑ¡¿∩, τΓ« »α«µÑßßδ óÑñπΓ
  1340. ºá»¿ß∞ ¡á «ñ¡«¼ ¬«¡µÑ ¬á¡á½á, á ßτ¿ΓδóáεΓ ñá¡¡δÑ ¡á ñαπú«¼  ¬«¡µÑ.  èᬠ πªÑ
  1341. ú«ó«α¿½«ß∞  óδΦÑ, »α«µÑßßδ «íαáΘáεΓß∩ ¬ ñá¡¡δ¼ ó ¬á¡á½Ñ ó »«α∩ñ¬Ñ ¿σ »«ßΓπ»-
  1342. ½Ñ¡¿∩ ó ¬á¡á½; φΓ« «º¡áτáÑΓ, τΓ« «τÑαÑñ¡«ßΓ∞, ó ¬«Γ«α«⌐ ñá¡¡δÑ  ºá»¿ßδóáεΓß∩
  1343. ó ¬á¡á½, ß«ó»áñáÑΓ ß «τÑαÑñ¡«ßΓ∞ε ¿σ óδí«α¬¿ ¿º ¬á¡á½á. æ«ó»áñÑ¡¿Ñ ¬«½¿τÑßΓ-
  1344. óá »α«µÑßß«ó, ßτ¿ΓδóáεΘ¿σ ñá¡¡δÑ ¿º ¬á¡á½á, ß ¬«½¿τÑßΓó«¼ »α«µÑßß«ó, óÑñπΘ¿σ
  1345. ºá»¿ß∞ ó ¬á¡á½, ß«óßѼ ¡Ñ «í∩ºáΓѽ∞¡«; Ñß½¿ «ñ¡« τ¿ß½« «Γ½¿τáÑΓß∩ «Γ ñαπú«ú«
  1346. í«½ÑÑ, τѼ ¡á 1, »α«µÑßßδ ñ«½ª¡δ ¬««αñ¿¡¿α«óáΓ∞ ßó«¿ ñÑ⌐ßΓó¿∩ »« ¿ß»«½∞º«óá-
  1347. ¡¿ε  ¬á¡á½á  ß  »«¼«Θ∞ε ñαπú¿σ ¼Ñσá¡¿º¼«ó. ƒñα« «íαáΘáÑΓß∩ ¬ ñá¡¡δ¼ ó ¬á¡á½Ñ
  1348. Γ«τ¡« ΓᬠªÑ, ¬á¬ ¿ ¬ ñá¡¡δ¼ ó «íδτ¡«¼ Σá⌐½Ñ: «¡« ß«σαá¡∩ÑΓ ñá¡¡δÑ  ¡á  πßΓ-
  1349. α«⌐ßΓóÑ  ¬á¡á½á  ¿  ¡áº¡áτáÑΓ ¬á¡á½π ßΓ«½∞¬« í½«¬«ó, ß¬«½∞¬« ¡πª¡«, ó« óαѼ∩
  1350. óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ write. Éẽ¿τ¿Ñ ó óδñѽѡ¿¿ »á¼∩Γ¿ ñ½∩ ¬á¡á½á ¿ ñ½∩
  1351.  
  1352.            ┌────────────────────┬────────────────────┐
  1353.            │  ô¬áºáΓѽ∞ τΓÑ¡¿∩  │  ô¬áºáΓѽ∞ ºá»¿ß¿  │
  1354.            └──────────┼─────────┴──────────┼─────────┘
  1355.                       │   ┌────────────────┘
  1356.                       └── │ ──────────────┐
  1357.                           v               v
  1358.             ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
  1359.             │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │
  1360.             └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
  1361.              ü½«¬¿ »α∩¼«⌐ áñαÑßᵿ¿ ó ¿¡ñѬßÑ
  1362.  
  1363.       É¿ßπ¡«¬ 5.17. ï«ú¿τÑ߬á∩ ßσѼá τΓÑ¡¿∩ ¿ ºá»¿ß¿ ó ¬á¡á½
  1364.  
  1365.                                     106
  1366.  
  1367. «íδτ¡«ú« Σá⌐½á ß«ßΓ«¿Γ ó Γ«¼, τΓ« ¬á¡á½ ¿ß»«½∞ºπÑΓ ó  ¿¡ñѬßÑ  Γ«½∞¬«  í½«¬¿
  1368. »α∩¼«⌐ áñαÑßᵿ¿ ó µÑ½∩σ »«óδΦÑ¡¿∩ φΣΣÑ¬Γ¿ó¡«ßΓ¿ αáí«Γδ, σ«Γ∩ φΓ« ¿ ¡á¬½áñδ-
  1369. óáÑΓ  «»αÑñѽѡ¡δÑ  «úαá¡¿τÑ¡¿∩ ¡á «íΩѼ ñá¡¡δσ, «ñ¡«óαѼѡ¡« »«¼ÑΘáεΘ¿σß∩ ó
  1370. ¬á¡á½Ñ. ƒñα« αáí«ΓáÑΓ ß í½«¬á¼¿ »α∩¼«⌐ áñαÑßᵿ¿ ¿¡ñѬßᠬᬠ ß  µ¿¬½¿τÑ߬«⌐
  1371. «τÑαÑñ∞ε,  »«ññÑনóá∩ ó ßó«Ñ⌐ ßΓαπ¬ΓπαÑ π¬áºáΓѽ¿ τΓÑ¡¿∩ ¿ ºá»¿ß¿ ñ½∩ «íÑß-
  1372. »ÑτÑ¡¿∩ «τÑαÑñ¡«ßΓ¿ «íß½πª¿óá¡¿∩ "»Ñαóδ¼ »α¿Φѽ  -  »Ñαóδ¼  óδΦѽ"  (É¿ßπ¡«¬
  1373. 5.17).
  1374.     Éáßß¼«Γα¿¼  τÑΓδαÑ »α¿¼Ñαá óó«ñá-óδó«ñá ó ¬á¡á½: ºá»¿ß∞ ó ¬á¡á½, ó ¬«Γ«-
  1375. α«¼ ÑßΓ∞ ¼ÑßΓ« ñ½∩ ºá»¿ß¿ ñá¡¡δσ; τΓÑ¡¿Ñ ¿º  ¬á¡á½á,  ó  ¬«Γ«α«¼  ñ«ßΓáΓ«τ¡«
  1376. ñá¡¡δσ  ñ½∩  πñ«ó½ÑΓó«αÑ¡¿∩  ºá»α«ßá  ¡á τΓÑ¡¿Ñ; τΓÑ¡¿Ñ ¿º ¬á¡á½á, ó ¬«Γ«α«¼
  1377. ñá¡¡δσ ¡Ññ«ßΓáΓ«τ¡«; ¿ ºá»¿ß∞ ó ¬á¡á½, úñÑ ¡ÑΓ ¼ÑßΓá ñ½∩ ºá»¿ß¿.
  1378.     Éáßß¼«Γα¿¼ »Ñαóδ⌐ ß½πτá⌐, ó ¬«Γ«α«¼ »α«µÑßß óÑñÑΓ ºá»¿ß∞ ó ¬á¡á½,  ¿¼Ñε-
  1379. Θ¿⌐  ¼ÑßΓ«  ñ½∩  óó«ñá  ñá¡¡δσ:  ßπ¼¼á ¬«½¿τÑßΓóᠺỿßδóáѼδσ íá⌐Γ ß τ¿ß½«¼
  1380. íá⌐Γ, πªÑ ¡áσ«ñ∩Θ¿σß∩ ó ¬á¡á½Ñ, ¼Ñ¡∞ΦÑ ¿½¿ αáó¡á Ñ¼¬«ßΓ¿ ¬á¡á½á. ƒñα« ß½Ññπ-
  1381. ÑΓ á½ú«α¿Γ¼π ºá»¿ß¿ ñá¡¡δσ ó «íδτ¡δ⌐ Σá⌐½, ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«, τΓ« «¡« πóÑ-
  1382. ½¿τ¿óáÑΓ αẼÑα ¬á¡á½á áóΓ«¼áΓ¿τÑ߬¿ »«ß½Ñ ¬áªñ«ú« óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ write,
  1383. »«ß¬«½∞¬π »« «»αÑñѽѡ¿ε «íΩѼ ñá¡¡δσ ó ¬á¡á½Ñ αáßΓÑΓ ß ¬áªñ«⌐ «»ÑαᵿÑ⌐ ºá-
  1384. »¿ß¿. ê¡áτÑ »α«¿ßσ«ñ¿Γ πóѽ¿τÑ¡¿Ñ αẼÑαá «íδτ¡«ú« Σá⌐½á: »α«µÑßß πóѽ¿τ¿óá-
  1385. ÑΓ αẼÑα Σá⌐½á Γ«½∞¬« Γ«úñá, ¬«úñá «¡ »α¿ ºá»¿ß¿ ñá¡¡δσ »ÑαÑßΓπ»áÑΓ úαá¡¿µπ
  1386. ¬«¡µá Σá⌐½á. àß½¿ ß½ÑñπεΘÑÑ ß¼ÑΘÑ¡¿Ñ ó ¬á¡á½Ñ  ΓαÑíπÑΓ  ¿ß»«½∞º«óá¡¿∩  í½«¬á
  1387. ¬«ßóÑ¡¡«⌐  áñαÑßᵿ¿,  ∩ñα«  πßΓá¡áó½¿óáÑΓ  º¡áτÑ¡¿Ñ ß¼ÑΘÑ¡¿∩ ó »α«ßΓαá¡ßΓóÑ
  1388. »α«µÑßßá Γᬿ¼ «íαẫ¼, τΓ«íδ «¡« π¬áºδóὫ ¡á  ¡áτὫ  ¬á¡á½á  (ß¼ÑΘÑ¡¿Ñ  ó
  1389. íá⌐Γáσ, αáó¡«Ñ 0). ƒñα« ¡¿¬«úñá ¡Ñ ºáΓ¿αáÑΓ ñá¡¡δÑ ó ¬á¡á½Ñ; «¡« ¼«ªÑΓ ßíα«-
  1390. ß¿Γ∞  º¡áτÑ¡¿Ñ ß¼ÑΘÑ¡¿∩ ó 0, »«ß¬«½∞¬π «¡« πªÑ πßΓᡫ󿽫, τΓ« ñá¡¡δÑ ¡Ñ íπ-
  1391. ñπΓ »ÑαÑ»«½¡∩Γ∞ Ñ¼¬«ßΓ∞ ¬á¡á½á. è«úñá »α«µÑßß ºá»¿ΦÑΓ ó ¬á¡á½ óßÑ ßó«¿  ñá¡-
  1392. ¡δÑ,  ∩ñα« «Γ¬«ααÑ¬Γ¿απÑΓ º¡áτÑ¡¿Ñ π¬áºáΓѽ∩ ºá»¿ß¿ (ó ¿¡ñѬßÑ) ¬á¡á½á Γᬿ¼
  1393. «íαẫ¼, τΓ« ß½ÑñπεΘ¿⌐ »α«µÑßß »α«ñ«½ª¿Γ ºá»¿ß∞ ó ¬á¡á½ ß  Γ«ú«  ¼ÑßΓá,  úñÑ
  1394. «ßΓá¡«ó¿½áß∞  »αÑñδñπΘá∩  «»Ñαᵿ∩  write.  çáΓѼ ∩ñα« ó«º«í¡«ó¿Γ óδ»«½¡Ñ¡¿Ñ
  1395. óßÑσ ñαπú¿σ »α«µÑßß«ó, »α¿«ßΓá¡«ó½Ñ¡¡δσ ó «ª¿ñá¡¿¿ ßτ¿Γδóá¡¿∩ ñá¡¡δσ ¿º  ¬á-
  1396. ¡á½á.
  1397.     è«úñá  »α«µÑßß  ºá»π߬áÑΓ Σπ¡¬µ¿ε τΓÑ¡¿∩ ¿º ¬á¡á½á, «¡ »α«óÑα∩ÑΓ, »πßΓ«⌐
  1398. ½¿ ¬á¡á½ ¿½¿ ¡ÑΓ. àß½¿ ó ¬á¡á½Ñ ÑßΓ∞ ñá¡¡δÑ, ∩ñα«  ßτ¿ΓδóáÑΓ  ¿σ  ¿º  ¬á¡á½á
  1399. Γá¬,  ¬á¬  Ñß½¿  íδ ¬á¡á½ íδ½ «íδτ¡δ¼ Σá⌐½«¼, óδ»«½¡∩∩ ß««ΓóÑΓßΓóπεΘ¿⌐ á½ú«-
  1400. α¿Γ¼. Äñ¡á¬«, ¡áτá½∞¡δ¼ ß¼ÑΘÑ¡¿Ñ¼ íπñÑΓ º¡áτÑ¡¿Ñ π¬áºáΓѽ∩ τΓÑ¡¿∩,  σαá¡∩ΘÑ-
  1401. ú«ß∩ ó ¿¡ñѬßÑ ¿ »«¬áºδóáεΘÑú« »α«Γ∩ªÑ¡¡«ßΓ∞ »α«τ¿Γá¡¡δσ αá¡ÑÑ ñá¡¡δσ. Å«ß½Ñ
  1402. ßτ¿Γδóá¡¿∩ ¬áªñ«ú« í½«¬á ∩ñα« π¼Ñ¡∞ΦáÑΓ αẼÑα ¬á¡á½á ó ß««ΓóÑΓßΓó¿¿ ß ¬«½¿-
  1403. τÑßΓó«¼  ßτ¿Γá¡¡δσ  ñá¡¡δσ  ¿ πßΓá¡áó½¿óáÑΓ º¡áτÑ¡¿Ñ ß¼ÑΘÑ¡¿∩ ó »α«ßΓαá¡ßΓóÑ
  1404. »α«µÑßßá Γá¬, τΓ«íδ »α¿ ñ«ßΓ¿ªÑ¡¿¿ ¬«¡µá ¬á¡á½á «¡« π¬áºδóὫ ¡á Ñú« ¡áτὫ.
  1405. è«úñá óδ»«½¡Ñ¡¿Ñ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ read ºáóÑαΦáÑΓß∩, ∩ñα«  ó«º«í¡«ó½∩ÑΓ  óδ-
  1406. »«½¡Ñ¡¿Ñ  óßÑσ »α¿«ßΓá¡«ó½Ñ¡¡δσ »α«µÑßß«ó ºá»¿ß¿ ¿ ºá»«¼¿¡áÑΓ ΓѬπΘÑÑ º¡áτÑ-
  1407. ¡¿Ñ π¬áºáΓѽ∩ τΓÑ¡¿∩ ó ¿¡ñѬßÑ (á ¡Ñ ó ºá»¿ß¿ Γáí½¿µδ Σá⌐½«ó).
  1408.     àß½¿ »α«µÑßß »δΓáÑΓß∩ ßτ¿ΓáΓ∞ í«½∞ΦÑ ¿¡Σ«α¼áµ¿¿, τѼ Σá¬Γ¿τÑ߬¿  ÑßΓ∞  ó
  1409. ¬á¡á½Ñ, Σπ¡¬µ¿∩ read ºáóÑαΦ¿Γß∩ πß»ÑΦ¡«, ó«ºóαáΓ¿ó óßÑ ñá¡¡δÑ, ¡áσ«ñ∩Θ¿Ñß∩ ó
  1410. ñá¡¡δ⌐  ¼«¼Ñ¡Γ ó ¬á¡á½Ñ, »πßΓ∞ ñáªÑ ¡Ñ »«½¡«ßΓ∞ε óδ»«½¡¿ó ºá»α«ß »«½∞º«óáΓÑ-
  1411. ½∩. àß½¿ ¬á¡á½ »πßΓ, »α«µÑßß «íδτ¡« »α¿«ßΓá¡áó½¿óáÑΓß∩ ñ« ΓÑσ »«α, »«¬á  ¬á-
  1412. ¬«⌐-¡¿íπñ∞ ñαπú«⌐ »α«µÑßß ¡Ñ ºá»¿ΦÑΓ ñá¡¡δÑ ó ¬á¡á½, »«ß½Ñ τÑú« óßÑ »α¿«ßΓá-
  1413. ¡«ó½Ñ¡¡δÑ  »α«µÑßßδ,  «ª¿ñáεΘ¿Ñ  óó«ñá  ñá¡¡δσ, ó«º«í¡«ó∩Γ ßó«Ñ óδ»«½¡Ñ¡¿Ñ ¿
  1414. ¡áτ¡πΓ ¬«¡¬πα¿α«óáΓ∞ ºá τΓÑ¡¿Ñ ¿º ¬á¡á½á. àß½¿,  «ñ¡á¬«,  »α«µÑßß  «Γ¬αδóáÑΓ
  1415. »«¿¼Ñ¡«óá¡¡δ⌐  ¬á¡á½  ß  »áαá¼ÑΓα«¼  "no delay" (íѺ ºáñÑ᪬¿), Σπ¡¬µ¿∩ read
  1416. ó«ºóαáΓ¿Γ π»αáó½Ñ¡¿Ñ ¡Ñ¼Ññ½Ñ¡¡«, Ñß½¿ ó ¬á¡á½Ñ «ΓßπΓßΓóπεΓ ñá¡¡δÑ.  Ä»Ñαᵿ¿
  1417. τΓÑ¡¿∩  ¿  ºá»¿ß¿  ó ¬á¡á½ ¿¼ÑεΓ Γπ ªÑ ßѼá¡Γ¿¬π, τΓ« ¿ á¡á½«ú¿τ¡δÑ «»Ñαᵿ¿
  1418. ñ½∩ ΓÑନ¡á½∞¡δσ πßΓα«⌐ßΓó (ú½áóá 10), «¡á »«ºó«½∩ÑΓ »α«µÑßßá¼  ¿ú¡«α¿α«óáΓ∞
  1419. Γ¿» ΓÑσ Σá⌐½«ó, ß ¬«Γ«α묨 φΓ¿ »α«úαá¼¼δ ¿¼ÑεΓ ñѽ«.
  1420.     àß½¿  »α«µÑßß óÑñÑΓ ºá»¿ß∞ ó ¬á¡á½ ¿ ó ¬á¡á½Ñ ¡ÑΓ ¼ÑßΓá ñ½∩ óßÑσ ñá¡¡δσ,
  1421. ∩ñα« »«¼ÑτáÑΓ ¿¡ñѬߠ¿ »α¿«ßΓá¡áó½¿óáÑΓ óδ»«½¡Ñ¡¿Ñ »α«µÑßßá ñ« ΓÑσ »«α, »«¬á
  1422. ¬á¡á½ ¡Ñ ¡áτ¡ÑΓ «τ¿ΘáΓ∞ß∩ «Γ ñá¡¡δσ. è«úñá ó»«ß½ÑñßΓó¿¿ ñαπú«⌐ »α«µÑßß íπñÑΓ
  1423. ßτ¿ΓδóáΓ∞ ñá¡¡δÑ ¿º ¬á¡á½á, ∩ñα« ºá¼ÑΓ¿Γ ßπΘÑßΓó«óá¡¿Ñ  »α«µÑßß«ó,  »α¿«ßΓá-
  1424. ¡«ó½Ñ¡¡δσ  ó «ª¿ñá¡¿¿ «τ¿ßΓ¬¿ ¬á¡á½á, ¿ ó«º«í¡«ó¿Γ ¿σ óδ»«½¡Ñ¡¿Ñ »«ñ«í¡« Γ«-
  1425. ¼π, ¬á¬ φΓ« í佫 «íΩ∩ߡѡ« óδΦÑ. ê߬½ετÑ¡¿Ñ¼ ¿º φΓ«ú«  πΓóÑαªñÑ¡¿∩  ∩ó½∩ÑΓß∩
  1426.  
  1427.                                     107
  1428.  
  1429. ß¿Γπᵿ∩,  ¬«úñá  »α«µÑßß ºá»¿ßδóáÑΓ ó ¬á¡á½ ñá¡¡δÑ, «íΩѼ ¬«Γ«αδσ »αÑóδΦáÑΓ
  1430. Ѽ¬«ßΓ∞ ¬á¡á½á (Γ« ÑßΓ∞, «íΩѼ ñá¡¡δσ, ¬«Γ«αδÑ ¼«úπΓ σαá¡¿Γ∞ß∩ ó í½«¬áσ »α∩-
  1431. ¼«⌐ áñαÑßᵿ¿); ó φΓ«¼ ß½πτáÑ ∩ñα« ºá»¿ßδóáÑΓ ó ¬á¡á½ ßΓ«½∞¬« ñá¡¡δσ, ß¬«½∞-
  1432. ¬« «¡ ¼«ªÑΓ ó¼ÑßΓ¿Γ∞ ó ßÑí∩, ¿ »α¿«ßΓá¡áó½¿óáÑΓ »α«µÑßß ñ« ΓÑσ »«α, »«¬á  ¡Ñ
  1433. «ßó«í«ñ¿Γß∩ ñ«»«½¡¿Γѽ∞¡«Ñ ¼ÑßΓ«. Æá¬¿¼ «íαẫ¼, ó«º¼«ª¡« »«½«ªÑ¡¿Ñ, »α¿ ¬«-
  1434. Γ«α«¼ ºá»¿ßδóáѼδÑ ñá¡¡δÑ ¡Ñ íπñπΓ ºá¡¿¼áΓ∞ ¡Ñ»αÑαδó¡«Ñ ¼ÑßΓ« ó ¬á¡á½Ñ, Ñß½¿
  1435. ñαπú¿Ñ  »α«µÑßßδ  óÑñπΓ ºá»¿ß∞ ó ¬á¡á½ ó Γ« óαѼ∩, ¡á ¬«Γ«α«Ñ »Ñαóδ⌐ »α«µÑßß
  1436. »αÑαóá½ ßó«ε αáí«Γπ.
  1437.     Ç¡á½¿º¿απ∩ αÑ὿ºáµ¿ε ¬á¡á½«ó, ¼«ª¡« ºá¼ÑΓ¿Γ∞, τΓ«  ¿¡ΓÑαΣÑ⌐ß  »α«µÑßß«ó
  1438. ß«ú½áßπÑΓß∩  ß ¿¡ΓÑαΣÑ⌐ß«¼ «íδτ¡δσ Σá⌐½«ó, ¡« Ñú« ó«»½«ΘÑ¡¿Ñ «Γ½¿τáÑΓß∩, Γá¬
  1439. ¬á¬ ∩ñα« ºá»«¼¿¡áÑΓ ß¼ÑΘÑ¡¿∩ ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿ ó ¿¡ñѬßÑ ó¼ÑßΓ« Γ«ú«, τΓ«-
  1440. íδ ñѽáΓ∞ φΓ« ó Γáí½¿µÑ Σá⌐½«ó. ƒñα« óδ¡πªñÑ¡« σαá¡¿Γ∞ º¡áτÑ¡¿∩ ß¼ÑΘÑ¡¿⌐ ñ½∩
  1441. »«¿¼Ñ¡«óá¡¡δσ ¬á¡á½«ó ó ¿¡ñѬßÑ ñ½∩ Γ«ú«, τΓ«íδ »α«µÑßßδ ¼«ú½¿ ß«ó¼ÑßΓ¡« ¿ß-
  1442. »«½∞º«óáΓ∞ φΓ¿ º¡áτÑ¡¿∩: «¡¿ ¡Ñ ¼«ú½¿ íδ  ß«ó¼ÑßΓ¡«  ¿ß»«½∞º«óáΓ∞  º¡áτÑ¡¿∩,
  1443. σαá¡∩Θ¿Ñß∩ ó Γáí½¿µÑ Σá⌐½«ó, Γᬠ¬á¬ »α«µÑßß »«½πτáÑΓ ¡«óπε ºá»¿ß∞ ó Γáí½¿µÑ
  1444. Σá⌐½«ó  »« ¬áªñ«¼π ó맮óπ Σπ¡¬µ¿¿ open. ÆÑ¼ ¡Ñ ¼Ñ¡ÑÑ, ß«ó¼ÑßΓ¡«Ñ ¿ß»«½∞º«óá-
  1445. ¡¿Ñ ß¼ÑΘÑ¡¿⌐ τΓÑ¡¿∩ ¿ ºá»¿ß¿ ó ¿¡ñѬßÑ ¡áí½εñὫß∞ ¿ ñ« αÑ὿ºáµ¿¿  »«¿¼Ñ¡«-
  1446. óá¡¡δσ  ¬á¡á½«ó. Åα«µÑßßδ, «íαáΘáεΘ¿Ñß∩ ¬ ¡Ñ»«¿¼Ñ¡«óá¡¡δ¼ ¬á¡á½á¼, αáºñѽ∩εΓ
  1447. ñ«ßΓπ» ¬ ¬á¡á½π τÑαѺ «íΘ¿Ñ Γ«τ¬¿ óσ«ñá ó Γáí½¿µπ Σá⌐½«ó, »«φΓ«¼π «¡¿  ¼«ú½¿
  1448. íδ  »«  π¼«½τá¡¿ε σαá¡¿Γ∞ ß¼ÑΘÑ¡¿∩ ºá»¿ß¿ ¿ τΓÑ¡¿∩ ó Γáí½¿µÑ Σá⌐½«ó, ¬á¬ φΓ«
  1449. »α¿¡∩Γ« ñ½∩ «íδτ¡δσ Σá⌐½«ó. ¥Γ« ¡Ñ í佫 ßñѽᡫ, Γᬠ¬á¬  »α«µÑñπαδ  ¡¿º¬«ú«
  1450. πα«ó¡∩,  αáí«ΓáεΘ¿Ñ ó ∩ñαÑ, í«½∞ΦÑ ¡Ñ ¿¼ÑεΓ ñ«ßΓπ»á ¬ ºá»¿ß∩¼ ó Γáí½¿µÑ Σá⌐-
  1451. ½«ó: »α«úαá¼¼á π»α«ßΓ¿½áß∞ ºá ßτÑΓ Γ«ú«, τΓ« »α«µÑßßδ  ß«ó¼ÑßΓ¡«  ¿ß»«½∞ºπεΓ
  1452. º¡áτÑ¡¿∩ ß¼ÑΘÑ¡¿⌐, σαá¡∩Θ¿Ñß∩ ó ¿¡ñѬßÑ.
  1453.  
  1454.  
  1455. .te1    E5.12.4 çá¬αδΓ¿Ñ ¬á¡á½«óF
  1456.  
  1457.     Åα¿  ºá¬αδΓ¿¿  ¬á¡á½á »α«µÑßß óδ»«½¡∩ÑΓ Γπ ªÑ ßá¼πε »α«µÑñπαπ, τΓ« ¿ »α¿
  1458. ºá¬αδΓ¿¿ «íδτ¡«ú« Σá⌐½á, ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«, τΓ« ∩ñα«, »αѪñÑ  τѼ  «ßó«í«-
  1459. ñ¿Γ∞ ¿¡ñѬߠ¬á¡á½á, óδ»«½¡∩ÑΓ ß»Ñµ¿á½∞¡πε «íαáí«Γ¬π. Ä¡« π¼Ñ¡∞ΦáÑΓ ¬«½¿τÑßΓ-
  1460. ó«  »α«µÑßß«ó τΓÑ¡¿∩ ¿º ¬á¡á½á ¿½¿ ºá»¿ß¿ ó ¬á¡á½ ó ºáó¿ß¿¼«ßΓ¿ «Γ Γ¿»á Σá⌐-
  1461. ½«ó«ú« ñÑß¬α¿»Γ«αá. àß½¿ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á τ¿ß½á ºá»¿ßδóáεΘ¿σ ó  ¬á¡á½  »α«-
  1462. µÑßß«ó  ßΓá¡«ó¿Γß∩  αáó¡δ¼ 0 ¿ ¿¼ÑεΓß∩ »α«µÑßßδ, »α¿«ßΓá¡«ó½Ñ¡¡δѠ󠫪¿ñá¡¿¿
  1463. τΓÑ¡¿∩ ñá¡¡δσ ¿º ¬á¡á½á, ∩ñα« ó«º«í¡«ó½∩ÑΓ óδ»«½¡Ñ¡¿Ñ »«ß½Ññ¡¿σ ¿ «¡¿ ºáóÑα-
  1464. ΦáεΓ ßó«¿ «»Ñαᵿ¿ τΓÑ¡¿∩ íѺ ó«ºóαáΓᠬᬿσ-½¿í«  ñá¡¡δσ.  àß½¿  ßΓá¡«ó¿Γß∩
  1465. αáó¡δ¼  0  º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á τ¿ß½á ßτ¿ΓδóáεΘ¿σ ¿º ¬á¡á½á »α«µÑß߫󠿠¿¼ÑεΓß∩
  1466. »α«µÑßßδ, »α¿«ßΓá¡«ó½Ñ¡¡δѠ󠫪¿ñá¡¿¿ ó«º¼«ª¡«ßΓ¿ ºá»¿ß¿ ñá¡¡δσ ó ¬á¡á½, ∩ñ-
  1467. α« ó«º«í¡«ó½∩ÑΓ óδ»«½¡Ñ¡¿Ñ »«ß½Ññ¡¿σ ¿ »«ßδ½áÑΓ ¿¼ ß¿ú¡á½ (ú½áóá 7) «í «Φ¿í-
  1468. ¬Ñ. é «í«¿σ ß½πτá∩σ ¡Ñ ¿¼ÑÑΓ ß¼δ߽ᠻα«ñ«½ªáΓ∞ ñÑαªáΓ∞ »α«µÑßßδ  »α¿«ßΓá¡«ó-
  1469. ½Ñ¡¡δ¼¿,  Ñß½¿ ¡ÑΓ ¡áñѪñδ ¡á Γ«, τΓ« ß«ßΓ«∩¡¿Ñ ¬á¡á½á ¬«úñá-¡¿íπñ∞ ¿º¼Ñ¡¿Γ-
  1470. ß∩. ìá»α¿¼Ñα, Ñß½¿ »α«µÑßß «ª¿ñáÑΓ ó«º¼«ª¡«ßΓ¿ »α«¿ºó«ñ¿Γ∞ τΓÑ¡¿Ñ ¿º  ¡Ñ»«¿-
  1471. ¼Ñ¡«óá¡¡«ú« ¬á¡á½á ¿ ó ß¿ßΓÑ¼Ñ í«½∞ΦÑ ¡ÑΓ »α«µÑßß«ó, ºá»¿ßδóáεΘ¿σ ó φëà¬á-
  1472. ¡á½,  º¡áτ¿Γ,  ºá»¿ßδóáεΘ¿⌐ »α«µÑßß ¡¿¬«úñá ¡Ñ »«∩ó¿Γß∩. ìÑß¼«Γα∩ ¡á Γ«, τΓ«
  1473. Ñß½¿ ¬á¡á½ »«¿¼Ñ¡«óá¡¡δ⌐, ó »α¿¡µ¿»Ñ ó«º¼«ª¡« »«∩ó½Ñ¡¿Ñ ¡«ó«ú«  ßτ¿ΓδóáεΘÑú«
  1474. ¿½¿  ºá»¿ßδóáεΘÑú«  »α«µÑßßá, ∩ñα« Γαá¬ΓπÑΓ φΓπ ß¿Γπᵿε Γ«τ¡« ΓᬠªÑ, ¬á¬ ¿
  1475. ñ½∩ ¡Ñ»«¿¼Ñ¡«óá¡¡δσ ¬á¡á½«ó. àß½¿ ¬ ¬á¡á½π ¡Ñ «íαáΘáÑΓß∩ ¡¿ «ñ¿¡  ºá»¿ßδóáε-
  1476. Θ¿⌐ ¿½¿ ßτ¿ΓδóáεΘ¿⌐ »α«µÑßß, ∩ñα« «ßó«í«ªñáÑΓ óßÑ ¿¡Σ«α¼áµ¿«¡¡δÑ í½«¬¿ ¬á¡á-
  1477. ½á  ¿  »ÑαÑπßΓá¡áó½¿óáÑΓ  ¿¡ñѬߠΓᬿ¼ «íαẫ¼, τΓ«íδ «¡ π¬áºδóá½ ¡á Γ«, τΓ«
  1478. ¬á¡á½ »πßΓ. è«úñá ∩ñα« «ßó«í«ªñáÑΓ ¿¡ñѬߠ«íδτ¡«ú« ¬á¡á½á,  «¡«  «ßó«í«ªñáÑΓ
  1479. ñ½∩ »ÑαѡạáτÑ¡¿∩ ¿ ñ¿ß¬«óπε ¬«»¿ε φΓ«ú« ¿¡ñѬßá.
  1480.  
  1481.  
  1482.  
  1483.     E5.12.5 Åα¿¼ÑαδF
  1484.  
  1485.     Åα«úαἼᠡá É¿ßπ¡¬Ñ 5.18 ¿½½εßΓα¿απÑΓ ¿ß¬πßßΓóÑ¡¡«Ñ ¿ß»«½∞º«óá¡¿Ñ ¬á¡á-
  1486. ½«ó.  Åα«µÑßß  ß«ºñáÑΓ  ¬á¡á½ ¿ óσ«ñ¿Γ ó íÑ߬«¡Ñτ¡δ⌐ µ¿¬½, ºá»¿ßδóá∩ ó ¬á¡á½
  1487.  
  1488.  
  1489.                                     108
  1490.  
  1491.                ┌─────────────────────────────────┐
  1492.                │ char string[] = "hello";        │
  1493.                │ main()                          │
  1494.                │ {                               │
  1495.                │    char buf[1024];              │
  1496.                │    char *cp1,*cp2;              │
  1497.                │    int fds[2];                  │
  1498.                │                                 │
  1499.                │    cp1 = string;                │
  1500.                │    cp2 = buf;                   │
  1501.                │    while(*cp1)                  │
  1502.                │          *cp2++ = *cp1++;       │
  1503.                │    pipe(fds);                   │
  1504.                │    for (;;)                     │
  1505.                │    {                            │
  1506.                │        write(fds[1],buf,6);     │
  1507.                │        read(fds[0],buf,6);      │
  1508.                │    }                            │
  1509.                │ }                               │
  1510.                └─────────────────────────────────┘
  1511.  
  1512.          É¿ßπ¡«¬ 5.18. ùΓÑ¡¿Ñ ¿º ¬á¡á½á ¿ ºá»¿ß∞ ó ¬á¡á½
  1513.  
  1514.  
  1515.  
  1516. ßΓ᫬π ß¿¼ó«½«ó "hello" ¿ ßτ¿Γδóá∩ ÑÑ ¿º ¬á¡á½á. ƒñαπ ¡Ñ ¡πª¡«  ¡¿  º¡áΓ∞  «
  1517. Γ«¼,  τΓ« »α«µÑßß, óÑñπΘ¿⌐ ºá»¿ß∞ ó ¬á¡á½, ∩ó½∩ÑΓß∩ ¿ »α«µÑßß«¼, ßτ¿ΓδóáεΘ¿¼
  1518. ¿º ¬á¡á½á, ¡¿ »α«∩ó½∩Γ∞ »« φΓ«¼π »«ó«ñπ ¬á¬«Ñ-½¿í« íÑß»«¬«⌐ßΓó«.
  1519.     Åα«µÑßß, óδ»«½¡∩εΘ¿⌐ »α«úαá¼¼π, ¬«Γ«αá∩ »α¿óÑñѡᠡá É¿ßπ¡¬Ñ 5.19,  ß«º-
  1520. ñáÑΓ »«¿¼Ñ¡«óá¡¡δ⌐ ¬á¡á½ ß ¿¼Ñ¡Ñ¼ "fifo". àß½¿ φëà»α«µÑßß ºá»πΘÑ¡ ß π¬áºá-
  1521. ¡¿Ñ¼ óΓ«α«ú« (Σ«α¼á½∞¡«ú«) áαúπ¼Ñ¡Γá, «¡ »«ß-
  1522.  
  1523.     ┌────────────────────────────────────────────────────────────┐
  1524.     │ #include <fcntl.h>                                         │
  1525.     │ char string[] = "hello";                                   │
  1526.     │ main(argc,argv)                                            │
  1527.     │     int argc;                                              │
  1528.     │     char *argv[];                                          │
  1529.     │ {                                                          │
  1530.     │     int fd;                                                │
  1531.     │     char buf[256];                                         │
  1532.     │                                                            │
  1533.     │ /* ß«ºñá¡¿Ñ »«¿¼Ñ¡«óá¡¡«ú« ¬á¡á½á ß αáºαÑΦÑ¡¿Ñ¼ τΓÑ¡¿∩ ¿   │
  1534.     │    ºá»¿ß¿ ñ½∩ óßÑσ »«½∞º«óáΓѽÑ⌐ */                        │
  1535.     │     mknod("fifo",010777,0);                                │
  1536.     │     if(argc == 2)                                          │
  1537.     │          fd = open("fifo",O_WRONLY);                       │
  1538.     │     else                                                   │
  1539.     │          fd = open("fifo",O_RDONLY);                       │
  1540.     │     for (;;)                                               │
  1541.     │          if(argc == 2)                                     │
  1542.     │               write(fd,string,6);                          │
  1543.     │          else                                              │
  1544.     │               read(fd,buf,6);                              │
  1545.     │ }                                                          │
  1546.     └────────────────────────────────────────────────────────────┘
  1547.  
  1548.          É¿ßπ¡«¬ 5.19. ùΓÑ¡¿Ñ ¿ ºá»¿ß∞ ó »«¿¼Ñ¡«óá¡¡δ⌐ ¬á¡á½
  1549.  
  1550.  
  1551.                                     109
  1552.  
  1553. Γ«∩¡¡« ºá»¿ßδóáÑΓ ó ¬á¡á½ ßΓ᫬π ß¿¼ó«½«ó "hello"; íπñπτ¿ ºá»πΘÑ¡ íѺ óΓ«α«-
  1554. ú«  áαúπ¼Ñ¡Γá, «¡ óÑñÑΓ τΓÑ¡¿Ñ ¿º »«¿¼Ñ¡«óá¡¡«ú« ¬á¡á½á. äóá »α«µÑßßá ºá»πß-
  1555. ¬áεΓß∩ »« «ñ¡«⌐ ¿ Γ«⌐ ªÑ »α«úαá¼¼Ñ,  Γá⌐¡«  ñ«ú«ó«α¿óΦ¿ß∞  óºá¿¼«ñÑ⌐ßΓó«óáΓ∞
  1556. ¼Ñªñπ  ß«í«⌐  τÑαѺ »«¿¼Ñ¡«óá¡¡δ⌐ ¬á¡á½ "fifo", ¡« ¿¼ ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿ íδΓ∞
  1557. α«ñßΓóÑ¡¡δ¼¿ »α«µÑßßἿ. äαπú¿Ñ »«½∞º«óáΓѽ¿  ¼«úπΓ  óδ»«½¡∩Γ∞  »α«úαá¼¼π  ¿
  1558. πτáßΓó«óáΓ∞ ó ñ¿á½«úÑ (¿½¿ ¼ÑΦáΓ∞ Ñ¼π).
  1559.  
  1560.  
  1561.     E5.13 DUPF
  1562.  
  1563.     æ¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ dup ¬«»¿απÑΓ ñÑß¬α¿»Γ«α Σá⌐½á ó »Ñαó«Ñ ßó«í«ñ¡«Ñ ¼ÑßΓ«
  1564. ó  Γáí½¿µÑ  »«½∞º«óáΓѽ∞߬¿σ  ñÑß¬α¿»Γ«α«ó Σá⌐½á, ó«ºóαáΘá∩ ¡«óδ⌐ ñÑß¬α¿»Γ«α
  1565. »«½∞º«óáΓѽε. Ä¡á ñÑ⌐ßΓóπÑΓ ñ½∩ óßÑσ Γ¿»«ó Σá⌐½á. æ¿¡Γá¬ß¿ß ó맮óá Σπ¡¬µ¿¿:
  1566.  
  1567.     newfd = dup(fd);
  1568.  
  1569. úñÑ fd - ñÑß¬α¿»Γ«α Σá⌐½á, ¬«»¿απѼδ⌐ Σπ¡¬µ¿Ñ⌐, á newfd - ¡«óδ⌐  ñÑß¬α¿»Γ«α,
  1570. ßßδ½áεΘ¿⌐ß∩  ¡á  Σá⌐½. Å«ß¬«½∞¬π Σπ¡¬µ¿∩ dup ñπí½¿απÑΓ ñÑß¬α¿»Γ«α Σá⌐½á, «¡á
  1571. πóѽ¿τ¿óáÑΓ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ó ß««ΓóÑΓßΓóπεΘÑ⌐ ºá»¿ß¿ Γáí½¿µδ Σá⌐½«ó -  ºá-
  1572.  
  1573.     Γáí½¿µá »«½∞º«óá-
  1574.     Γѽ∞߬¿σ ñÑß¬α¿»-
  1575.        Γ«α«ó Σá⌐½á        Γáí½¿µá Σá⌐½«ó        Γáí½¿µá ¿¡ñѬ߫ó
  1576.        ┌─────────┐        ┌────────────┐        ┌──────────────┐
  1577.       0│     ────┼────┐   │            │        │       ∙      │
  1578.        ├─────────┤    │   │            │        │       ∙      │
  1579.       1│     ────┼───┐└──>│            │        │       ∙      │
  1580.        ├─────────┤   │    ├────────────┤        │       ∙      │
  1581.       2│     ────┼──┐└───>│      ∙     │        │       ∙      │
  1582.        ├─────────┤  └────>│      ∙     │        │       ∙      │
  1583.       3│     ────┼────┐   │      ∙     │        │       ∙      │
  1584.        ├─────────┤    │   │      ∙     │        ├──────────────┤
  1585.       4│     ────┼───┐│   │      ∙     │  ┌────>│ ßτÑΓ-        │
  1586.        ├─────────┤   ││   │      ∙     │  │     │ τ¿¬  (/etc/  │
  1587.       5│     ────┼──┐││   ├────────────┤  │ ┌──>│  2    passwd)│
  1588.        ├─────────┤  │││   │ ßτÑΓ-      │  │ │   ├──────────────┤
  1589.       6│     ────┼┐ ││└──>│ τ¿¬        ┼──┘ │   │       ∙      │
  1590.        ├─────────┤└─││───>│  2         │    │   │       ∙      │
  1591.       7│         │  ││    ├────────────┤    │   │       ∙      │
  1592.        ├─────────┤  ││    │      ∙     │    │   │       ∙      │
  1593.        │    ∙    │  ││    ├────────────┤    │   │       ∙      │
  1594.        └─────────┘  ││    │ ßτÑΓτ¿¬    │    │   │       ∙      │
  1595.                     │└───>│      1     ┼────│┐  │       ∙      │
  1596.                     │     ├────────────┤    ││  │       ∙      │
  1597.                     │     │      ∙     │    ││  ├──────────────┤
  1598.                     │     │      ∙     │    ││  │ ßτÑΓ-        │
  1599.                     │     │      ∙     │    │└─>│ τ¿¬   (local)│
  1600.                     │     │      ∙     │    │   │  1           │
  1601.                     │     │      ∙     │    │   ├──────────────┤
  1602.                     │     ├────────────┤    │   │       ∙      │
  1603.                     │     │ ßτÑΓτ¿¬    │    │   │       ∙      │
  1604.                     └────>│      1     ┼────┘   │       ∙      │
  1605.                           ├────────────┤        │       ∙      │
  1606.                           │      ∙     │        └──────────────┘
  1607.                           │      ∙     │
  1608.                           └────────────┘
  1609.  
  1610.     É¿ßπ¡«¬ 5.20. æΓαπ¬Γπαδ ñá¡¡δσ »«ß½Ñ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ dup
  1611.  
  1612.  
  1613.                                     110
  1614.  
  1615.  
  1616. »¿ß¿,  ¡á  ¬«Γ«απε  π¬áºδóáεΓ ßó∩ºá¡¡δÑ ß ¡Ñ⌐ Γ«τ¬¿ óσ«ñá ó Γáí½¿µÑ Σá⌐½«óδσ
  1617. ñÑß¬α¿»Γ«α«ó, ¬«Γ«αδσ ΓÑ»Ñα∞ ßΓὫ ¡á «ñ¡π í«½∞ΦÑ. ìá»α¿¼Ñα, «íº«α  ßΓαπ¬Γπα
  1618. ñá¡¡δσ,  ¿º«íαáªÑ¡¡δσ ¡á É¿ßπ¡¬Ñ 5.20, »«¬áºδóáÑΓ, τΓ« »α«µÑßß óδºδóáÑΓ ß½Ñ-
  1619. ñπεΘπε  »«ß½Ññ«óáΓѽ∞¡«ßΓ∞  Σπ¡¬µ¿⌐:  «¡  «Γ¬αδóáÑΓ  (open)  Σá⌐½  ß  ¿¼Ñ¡Ñ¼
  1620. "/etc/passwd" (Σá⌐½«óδ⌐ ñÑß¬α¿»Γ«α 3), ºáΓѼ «Γ¬αδóáÑΓ Σá⌐½ ß ¿¼Ñ¡Ñ¼ "local"
  1621. (Σá⌐½«óδ⌐  ñÑß¬α¿»Γ«α  4), ß¡«óá Σá⌐½ ß ¿¼Ñ¡Ñ¼ "/etc/passwd" (Σá⌐½«óδ⌐ ñÑ߬-
  1622. α¿»Γ«α 5) ¿, ¡á¬«¡Ñµ, ñπí½¿απÑΓ (dup) Σá⌐½«óδ⌐ ñÑß¬α¿»Γ«α 3, ó«ºóαáΘá∩ ñÑ߬-
  1623. α¿»Γ«α 6.
  1624.     é«º¼«ª¡«, dup - Σπ¡¬µ¿∩, ¡Ñ «Γ½¿τáεΘá∩ß∩ ¿º∩ΘÑßΓó«¼, »«ß¬«½∞¬π «¡á »αÑñ-
  1625. »«½áúáÑΓ, τΓ« »«½∞º«óáΓѽ∞ º¡áÑΓ « Γ«¼, τΓ« ß¿ßΓѼá ó«ºóαáΓ¿Γ ßó«í«ñ¡πε Γ«τ-
  1626. ¬π óσ«ñá ó Γáí½¿µÑ »«½∞º«óáΓѽ∞߬¿σ ñÑß¬α¿»Γ«α«ó, ¿¼ÑεΘπε ¡á¿¼Ñ¡∞Φ¿⌐  ¡«¼Ñα.
  1627. Äñ¡á¬«,  «¡á  ß½πª¿Γ ó᪡«⌐ ºáñáτÑ ¬«¡ßΓαπ¿α«óá¡¿∩ ß½«ª¡δσ »α«úαá¼¼ ¿º í«½ÑÑ
  1628. »α«ßΓδ󠬫¡ßΓαπ¬µ¿«¡¡δσ í½«¬«ó, τΓ«, ó τáßΓ¡«ßΓ¿, ¿¼ÑÑΓ ¼ÑßΓ«  »α¿  ß«ºñá¡¿¿
  1629. ¬«¡óÑ⌐Ñα«ó, ß«ßΓáó½Ñ¡¡δσ ¿º ¬«¼á¡ñ¡δσ »α«µÑßß«α«ó.
  1630.     Éáßß¼«Γα¿¼  »α«úαá¼¼π,  »α¿óÑñÑ¡¡πε ¡á É¿ßπ¡¬Ñ 5.21. é »ÑαѼѡ¡«⌐ i σαá-
  1631. ¡¿Γß∩  ñÑß¬α¿»Γ«α  Σá⌐½á,   ó«ºóαáΘáѼδ⌐   ó   αѺπ½∞ΓáΓÑ   «Γ¬αδΓ¿∩   Σá⌐½á
  1632. "/etc/passwd",  á ó »ÑαѼѡ¡«⌐ j - ñÑß¬α¿»Γ«α Σá⌐½á, ó«ºóαáΘáѼδ⌐ ß¿ßΓѼ«⌐ ó
  1633. αѺπ½∞ΓáΓÑ ñπí½¿α«óá¡¿∩ ñÑß¬α¿»Γ«αá i ß  »«¼«Θ∞ε  Σπ¡¬µ¿¿  dup.  é  áñαÑß¡«¼
  1634. »α«ßΓαá¡ßΓóÑ »α«µÑßßá «íá »«½∞º«óáΓѽ∞߬¿σ ñÑß¬α¿»Γ«αá, »αÑñßΓáó½Ñ¡¡δÑ »ÑαÑ-
  1635. ¼Ñ¡¡δ¼¿  i  ¿ j, ßßδ½áεΓß∩ ¡á «ñ¡π ¿ Γπ ªÑ ºá»¿ß∞ ó Γáí½¿µÑ Σá⌐½«ó ¿ »«φΓ«¼π
  1636. ¿ß»«½∞ºπεΓ «ñ¡« ¿ Γ« ªÑ º¡áτÑ¡¿Ñ ß¼ÑΘÑ¡¿∩ ó¡πΓα¿ Σá⌐½á. Æá¬¿¼ «íαẫ¼,  »Ñα-
  1637. óδÑ  ñóá ó맮óá »α«µÑßß«¼ Σπ¡¬µ¿¿ read αÑ὿ºπεΓ »«ß½Ññ«óáΓѽ∞¡«Ñ ßτ¿Γδóá¡¿Ñ
  1638. ñá¡¡δσ, ¿ ó íπΣÑαáσ buf1 ¿ buf2 íπñπΓ αáß»«½áúáΓ∞ß∩  αạδÑ  ñá¡¡δÑ.  æ«óßѼ
  1639. ñαπú«⌐ αѺπ½∞ΓáΓ »«½πτáÑΓß∩, ¬«úñá »α«µÑßß
  1640.  
  1641.     ┌────────────────────────────────────────────────────────┐
  1642.     │ #include <fcntl.h>                                     │
  1643.     │ main()                                                 │
  1644.     │ {                                                      │
  1645.     │     int i,j;                                           │
  1646.     │     char buf1[512],buf2[512];                          │
  1647.     │                                                        │
  1648.     │     i = open("/etc/passwd",O_RDONLY);                  │
  1649.     │     j = dup(i);                                        │
  1650.     │     read(i,buf1,sizeof(buf1));                         │
  1651.     │     read(j,buf2,sizeof(buf2));                         │
  1652.     │     close(i);                                          │
  1653.     │     read(j,buf2,sizeof(buf2));                         │
  1654.     │ }                                                      │
  1655.     └────────────────────────────────────────────────────────┘
  1656.  
  1657.     É¿ßπ¡«¬ 5.21. Åα«úαἼᠡá ∩ºδ¬Ñ æ¿, ¿½½εßΓα¿απεΘá∩ ¿ß»«½∞º«-
  1658.                   óá¡¿Ñ Σπ¡¬µ¿¿ dup
  1659.  
  1660.  
  1661. «Γ¬αδóáÑΓ  «ñ¿¡  ¿  Γ«Γ  ªÑ  Σá⌐½ ñóáªñδ ¿ τ¿ΓáÑΓ ñóáªñδ «ñ¡¿ ¿ ΓÑ ªÑ ñá¡¡δÑ
  1662. (αáºñѽ 5.2). Åα«µÑßß ¼«ªÑΓ «ßó«í«ñ¿Γ∞ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ close ½εí«⌐ ¿º Σá⌐-
  1663. ½«óδσ ñÑß¬α¿»Γ«α«ó »« ßó«Ñ¼π ªÑ½á¡¿ε, ¿ óó«ñ-óδó«ñ »«½πτ¿Γ  ¡«α¼á½∞¡«Ñ  »α«-
  1664. ñ«½ªÑ¡¿Ñ  »« ñαπú«¼π ñÑß¬α¿»Γ«απ, ¬á¬ »«¬áºá¡« ¡á »α¿¼ÑαÑ. é τáßΓ¡«ßΓ¿, »α«-
  1665. µÑßß ¼«ªÑΓ "ºá¬αδΓ∞" ñÑß¬α¿»Γ«α Σá⌐½á ßΓá¡ñáαΓ¡«ú« óδó«ñá (Σá⌐½«óδ⌐ ñÑß¬α¿»-
  1666. Γ«α 1), ß¡∩Γ∞ ß ¡Ñú« ¬«»¿ε, ¿¼ÑεΘπε Γ« ªÑ º¡áτÑ¡¿Ñ,  ¿  ºáΓѼ  αáßß¼áΓα¿óáΓ∞
  1667. ¡«óδ⌐ Σá⌐½ ó ¬áτÑßΓóÑ Σá⌐½á ßΓá¡ñáαΓ¡«ú« óδó«ñá. é ú½áóÑ 7 íπñÑΓ »αÑñßΓáó½Ñ¡
  1668. í«½ÑÑ  αÑ὿ßΓ¿τÑ߬¿⌐  »α¿¼Ñα  ¿ß»«½∞º«óá¡¿∩ Σπ¡¬µ¿⌐ pipe ¿ dup »α¿ «»¿ßá¡¿¿
  1669. «ß«íÑ¡¡«ßΓÑ⌐ αÑ὿ºáµ¿¿ ¬«¼á¡ñ¡«ú« »α«µÑßß«αá.
  1670.  
  1671.  
  1672.  
  1673.  
  1674.  
  1675.                                     111
  1676.  
  1677.     E5.14 îÄìÆêÉÄéÇìêà ê äàîÄìÆêÉÄéÇìêà öÇëïÄé¢ò æêæÆàîF
  1678.  
  1679.     ö¿º¿τÑ߬¿⌐ ñ¿ß¬ ß«ßΓ«¿Γ ¿º ¡Ñ߬«½∞¬¿σ ½«ú¿τÑ߬¿σ αáºñѽ«ó, ¡á ¬«Γ«αδÑ «¡
  1680. αáºí¿Γ ñ¿ß¬«óδ¼ ñαá⌐óÑα«¼, »α¿τѼ ¬áªñ«¼π αáºñѽπ ß««ΓóÑΓßΓóπÑΓ Σá⌐½ πßΓα«⌐-
  1681. ßΓóá, ¿¼ÑεΘ¿⌐ «»αÑñѽѡ¡«Ñ ¿¼∩. Åα«µÑßßδ «íαáΘáεΓß∩ ¬ ñá¡¡δ¼ αáºñѽá, «Γ¬αδ-
  1682. óá∩ ß««ΓóÑΓßΓóπεΘ¿⌐ Σá⌐½ πßΓα«⌐ßΓóá ¿ ºáΓѼ óÑñ∩ ºá»¿ß∞ ¿  τΓÑ¡¿Ñ  ¿º  φΓ«ú«
  1683. "Σá⌐½á", »αÑñßΓáó½∩∩ Ñú« ßÑíÑ ó ó¿ñÑ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ñ¿ß¬«óδσ í½«¬«ó. ¥Γ«
  1684. óºá¿¼«ñÑ⌐ßΓó¿Ñ  ó« óßÑσ ñÑΓá½∩σ αáßß¼áΓα¿óáÑΓß∩ ó ú½áóÑ 10. Éáºñѽ ñ¿ß¬á ¼«-
  1685. ªÑΓ ß«ñÑαªáΓ∞ ½«ú¿τÑ߬πε Σá⌐½«óπε ß¿ßΓѼπ, ß«ßΓ«∩Θπε ¿º í½«¬á ¡áτá½∞¡«⌐ ºáú-
  1686. απº¬¿, ßπ»Ñαí½«¬á, ß»¿ß¬á ¿¡ñѬ߫󠿠¿¡Σ«α¼áµ¿«¡¡δσ í½«¬«ó  (ß¼.  ú½áóπ  2).
  1687. æ¿ßΓѼ¡á∩  Σπ¡¬µ¿∩ mount (¼«¡Γ¿α«óáΓ∞) ßó∩ºδóáÑΓ Σá⌐½«óπε ß¿ßΓÑ¼π ¿º π¬áºá¡-
  1688. ¡«ú« αáºñѽᠡá ñ¿ß¬Ñ ß ßπΘÑßΓóπεΘÑ⌐ ¿Ñαáασ¿Ñ⌐ Σá⌐½«óδσ  ß¿ßΓѼ,  á  Σπ¡¬µ¿∩
  1689. umount  (ñѼ«¡Γ¿α«óáΓ∞)  ó䬽ετáÑΓ  Σá⌐½«óπε  ß¿ßΓÑ¼π  ¿º  ¿Ñαáασ¿¿. öπ¡¬µ¿∩
  1690. mount, Γᬿ¼ «íαẫ¼, ñáÑΓ »«½∞º«óáΓѽ∩¼ ó«º¼«ª¡«ßΓ∞ «íαáΘáΓ∞ß∩ ¬  ñá¡¡δ¼  ó
  1691. ñ¿ß¬«ó«¼  αáºñѽѠ¬á¬ ¬ Σá⌐½«ó«⌐ ß¿ßΓѼÑ, á ¡Ñ ¬á¬ ¬ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ñ¿ß-
  1692. ¬«óδσ í½«¬«ó.
  1693.     æ¿¡Γá¬ß¿ß ó맮óá Σπ¡¬µ¿¿ mount:
  1694.     mount(special pathname,directory pathname,options);
  1695.  
  1696. úñÑ special pathname - ¿¼∩ ß»Ñµ¿á½∞¡«ú« Σá⌐½á  πßΓα«⌐ßΓóá,  ß««ΓóÑΓßΓóπεΘÑú«
  1697. ñ¿ß¬«ó«¼π  αáºñѽπ ß ¼«¡Γ¿απѼ«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼ«⌐, directory pathname - ¬á-
  1698. ΓὫú ó ßπΘÑßΓóπεΘÑ⌐ ¿Ñαáασ¿¿,  úñÑ  íπñÑΓ  ¼«¡Γ¿α«óáΓ∞ß∩  Σá⌐½«óá∩  ß¿ßΓѼá
  1699. (ñαπú¿¼¿ ß½«óἿ, Γ«τ¬á ¿½¿ ¼ÑßΓ« ¼«¡Γ¿α«óá¡¿∩), á options π¬áºδóáÑΓ, ß½Ññπ-
  1700. ÑΓ  ½¿  ¼«¡Γ¿α«óáΓ∞  Σá⌐½«óπε ß¿ßΓѼπ "Γ«½∞¬« ñ½∩ τΓÑ¡¿∩" (»α¿ φΓ«¼ ¡Ñ íπñπΓ
  1701. óδ»«½¡∩Γ∞ß∩
  1702.  
  1703.  ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐
  1704.                                /
  1705.  │                             │                   │
  1706.            ┌────────────────┬──┴─────────────┐        è«α¡Ñóá∩
  1707.  │         │                │                │     │  Σá⌐½«óá∩
  1708.           bin              etc              usr       ß¿ßΓѼá
  1709.  │         │                │                ∙     │
  1710.      ┌─────┼─────┐     ┌────┴────┐           ∙
  1711.  │   │     │     │     │         │           ∙     │
  1712.     cc    date   sh   getty   passwd         ∙
  1713.  └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘
  1714.                                              ∙
  1715.                ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐
  1716.                                              /
  1717.                │                             │                   │
  1718.    öá⌐½«óá∩              ┌────────────────┬──┴─────────────┐
  1719.    ß¿ßΓѼᠿº  │         │                │                │     │
  1720.    αáºñѽá ß            bin            include            src
  1721.    ¿¼Ñ¡Ñ¼      │         │                │                │     │
  1722.    /dev/dsk1       ┌─────┼─────┐          │                │
  1723.                │   │     │     │          │                │     │
  1724.                   awk  banner  yacc    stdio.h            uts
  1725.                └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘
  1726.  
  1727.     É¿ßπ¡«¬ 5.22. äÑαÑó« Σá⌐½«óδσ ß¿ßΓѼ ñ« ¿ »«ß½Ñ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ mount
  1728.  
  1729. ΓᬿѠΣπ¡¬µ¿¿, ¬á¬ write ¿ creat, ¬«Γ«αδÑ »α«¿ºó«ñ∩Γ ºá»¿ß∞ ó Σá⌐½«óπε  ß¿ß-
  1730. ΓѼπ). ìá»α¿¼Ñα, Ñß½¿ »α«µÑßß óδºδóáÑΓ Σπ¡¬µ¿ε mount ß½ÑñπεΘ¿¼ «íαẫ¼:
  1731.  
  1732.     mount("/dev/dsk1","/usr",0);
  1733.  
  1734. ∩ñα«  »α¿ß«Ññ¿¡∩ÑΓ Σá⌐½«óπε ß¿ßΓѼπ, ¡áσ«ñ∩Θπεß∩ ó ñ¿ß¬«ó«¼ αáºñѽѠߠ¿¼Ñ¡Ñ¼
  1735. "/dev/dsk1", ¬ ¬áΓὫúπ "/usr" ó ßπΘÑßΓóπεΘѼ ñÑαÑóÑ  Σá⌐½«óδσ  ß¿ßΓѼ  (ß¼.
  1736.  
  1737.                                     112
  1738.  
  1739. É¿ßπ¡«¬ 5.22). öá⌐½ "/dev/dsk1" ∩ó½∩ÑΓß∩ í½«τ¡δ¼ ß»Ñµ¿á½∞¡δ¼ Σá⌐½«¼, Γ.Ñ. «¡
  1740. ¡«ß¿Γ  ¿¼∩ πßΓα«⌐ßΓóá í½«τ¡«ú« Γ¿»á, «íδτ¡« ¿¼∩ αáºñѽᠡá ñ¿ß¬Ñ. ƒñα« »αÑñ-
  1741. »«½áúáÑΓ, τΓ« αáºñѽ ¡á ñ¿ß¬Ñ ß π¬áºá¡¡δ¼ ¿¼Ñ¡Ñ¼ ß«ñÑαª¿Γ Σá⌐½«óπε ß¿ßΓѼπ ß
  1742. ßπ»Ñαí½«¬«¼, ß»¿ß¬«¼ ¿¡ñѬ߫󠿠¬«α¡Ñóδ¼ ¿¡ñѬ߫¼. Å«ß½Ñ óδ»«½¡Ñ¡¿∩  Σπ¡¬µ¿¿
  1743. mount  ¬  ¬«α¡ε  ß¼«¡Γ¿α«óá¡¡«⌐  Σá⌐½«ó«⌐  ß¿ßΓÑ¼δ ¼«ª¡« «íαáΘáΓ∞ß∩ »« ¿¼Ñ¡¿
  1744. "/usr". Åα«µÑßßδ ¼«úπΓ «íαáΘáΓ∞ß∩ ¬ Σá⌐½á¼ ó ¼«¡Γ¿α«óá¡¡«⌐ Σá⌐½«ó«⌐  ß¿ßΓѼÑ
  1745. ¿  ¿ú¡«α¿α«óáΓ∞  Γ«Γ Σá¬Γ, τΓ« ß¿ßΓѼᠼ«ªÑΓ «Γß«Ññ¿¡∩Γ∞ß∩. Æ«½∞¬« ß¿ßΓѼ¡á∩
  1746. Σπ¡¬µ¿∩ link ¬«¡Γα«½¿απÑΓ Σá⌐½«óπε ß¿ßΓѼπ, Γᬠ¬á¬ ó óÑαß¿¿ V ¡Ñ αáºαÑΦáεΓ-
  1747. ß∩ ßó∩º¿ ¼Ñªñπ Σá⌐½á¼¿, »α¿¡áñ½ÑªáΘ¿¼¿ αáº¡δ¼ Σá⌐½«óδ¼ ß¿ßΓѼἠ(ß¼.  αáºñѽ
  1748. 5.15).
  1749.     ƒñα« »«ññÑনóáÑΓ Γáí½¿µπ ¼«¡Γ¿α«óá¡¿∩ ß ºá»¿ß∩¼¿ « ¬áªñ«⌐ ¼«¡Γ¿α«óá¡¡«⌐
  1750. Σá⌐½«ó«⌐ ß¿ßΓѼÑ. é ¬áªñ«⌐ ºá»¿ß¿ Γáí½¿µδ ¼«¡Γ¿α«óá¡¿∩ ß«ñÑαªáΓß∩:
  1751.   * ¡«¼Ñα πßΓα«⌐ßΓóá, ¿ñÑ¡Γ¿Σ¿µ¿απεΘ¿⌐ ¼«¡Γ¿α«óá¡¡πε Σá⌐½«óπε ß¿ßΓѼπ (π»«-
  1752.     ¼∩¡πΓδ⌐ óδΦÑ ½«ú¿τÑ߬¿⌐ ¡«¼Ñα Σá⌐½«ó«⌐ ß¿ßΓѼδ);
  1753.   * π¬áºáΓѽ∞ ¡á íπΣÑα, úñÑ ¡áσ«ñ¿Γß∩ ßπ»Ñαí½«¬ Σá⌐½«ó«⌐ ß¿ßΓѼδ;
  1754.   * π¬áºáΓѽ∞ ¡á ¬«α¡Ñó«⌐ ¿¡ñѬߠ¼«¡Γ¿α«óá¡¡«⌐  Σá⌐½«ó«⌐  ß¿ßΓÑ¼δ  ("/"  ñ½∩
  1755.     Σá⌐½«ó«⌐ ß¿ßΓѼδ ß ¿¼Ñ¡Ñ¼ "/dev/dsk1" ¡á É¿ßπ¡¬Ñ 5.22);
  1756.   * π¬áºáΓѽ∞  ¡á ¿¡ñѬߠ¬áΓὫúá, ßΓáóΦÑú« Γ«τ¬«⌐ ¼«¡Γ¿α«óá¡¿∩ (¡á É¿ßπ¡¬Ñ
  1757.     5.22 φΓ« ¬áΓὫú "usr", »α¿¡áñ½ÑªáΘ¿⌐ ¬«α¡Ñó«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼÑ).
  1758.     æó∩º∞ ¿¡ñѬßá Γ«τ¬¿ ¼«¡Γ¿α«óá¡¿∩ ß ¬«α¡Ñóδ¼ ¿¡ñѬ߫¼ ¼«¡Γ¿α«óá¡¡«⌐  Σá⌐-
  1759. ½«ó«⌐  ß¿ßΓѼδ,  ó«º¡¿¬Φá∩  ó αѺπ½∞ΓáΓÑ óδ»«½¡Ñ¡¿∩ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ mount,
  1760. ñáÑΓ ∩ñαπ ó«º¼«ª¡«ßΓ∞ ½Ñú¬« ñó¿úáΓ∞ß∩ »« ¿Ñαáασ¿¿ Σá⌐½«óδσ ß¿ßΓѼ íѺ  »«½π-
  1761. τÑ¡¿∩ «Γ »«½∞º«óáΓѽÑ⌐ ñ«»«½¡¿Γѽ∞¡δσ ßóÑñÑ¡¿⌐.
  1762.  
  1763.     ┌────────────────────────────────────────────────────────────┐
  1764.     │ á½ú«α¿Γ¼ mount                                             │
  1765.     │ óσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩:  ¿¼∩ í½«τ¡«ú« ß»Ñµ¿á½∞¡«ú« Σá⌐½á       │
  1766.     │                      ¿¼∩ ¬áΓὫúá Γ«τ¬¿ ¼«¡Γ¿α«óá¡¿∩       │
  1767.     │                      «»µ¿¿ ("Γ«½∞¬« ñ½∩ τΓÑ¡¿∩")           │
  1768.     │ óδσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩: «ΓßπΓßΓóπÑΓ                           │
  1769.     │ {                                                          │
  1770.     │     Ñß½¿ (»«½∞º«óáΓѽ∞ ¡Ñ ∩ó½∩ÑΓß∩ ßπ»Ñα»«½∞º«óáΓѽѼ)     │
  1771.     │          ó«ºóαáΓ¿Γ∞ («Φ¿í¬π);                              │
  1772.     │     »«½πτ¿Γ∞ ¿¡ñѬߠñ½∩ í½«τ¡«ú« ß»Ñµ¿á½∞¡«ú« Σá⌐½á (á½ú«- │
  1773.     │      α¿Γ¼ namei);                                          │
  1774.     │     »α«óÑα¿Γ∞ ñ«»πßΓ¿¼«ßΓ∞ º¡áτÑ¡¿⌐ »áαá¼ÑΓα«ó;            │
  1775.     │     »«½πτ¿Γ∞ ¿¡ñѬߠñ½∩ ¿¼Ñ¡¿ ¬áΓὫúá, úñÑ »α«¿ºó«ñ¿Γß∩   │
  1776.     │      ¼«¡Γ¿α«óá¡¿Ñ (á½ú«α¿Γ¼ namei);                        │
  1777.     │     Ñß½¿ (¿¡ñѬߠ¡Ñ ∩ó½∩ÑΓß∩ ¿¡ñѬ߫¼ ¬áΓὫúá ¿½¿ ßτÑΓτ¿¬ │
  1778.     │      ßß佫¬ ¿¼ÑÑΓ º¡áτÑ¡¿Ñ > 1)                            │
  1779.     │     {                                                      │
  1780.     │          «ßó«í«ñ¿Γ∞ ¿¡ñѬßδ (á½ú«α¿Γ¼ iput);               │
  1781.     │          ó«ºóαáΓ¿Γ∞ («Φ¿í¬π);                              │
  1782.     │     }                                                      │
  1783.     │     ¡á⌐Γ¿ ßó«í«ñ¡«Ñ ¼ÑßΓ« ó Γáí½¿µÑ ¼«¡Γ¿α«óá¡¿∩;          │
  1784.     │     ºá»πßΓ¿Γ∞ »α«µÑñπαπ «Γ¬αδΓ¿∩ í½«τ¡«ú« πßΓα«⌐ßΓóá ñ½∩   │
  1785.     │      ñá¡¡«ú« ñαá⌐óÑαá;                                     │
  1786.     │     »«½πτ¿Γ∞ ßó«í«ñ¡δ⌐ íπΣÑα ¿º íπΣÑα¡«ú« ¬ÑΦá;            │
  1787.     │     ßτ¿ΓáΓ∞ ßπ»Ñαí½«¬ ó ßó«í«ñ¡δ⌐ íπΣÑα;                   │
  1788.     │     »α«¿¡¿µ¿á½¿º¿α«óáΓ∞ »«½∩ ßπ»Ñαí½«¬á;                   │
  1789.     │     »«½πτ¿Γ∞ ¬«α¡Ñó«⌐ ¿¡ñѬߠ¼«¡Γ¿απѼ«⌐ ß¿ßΓѼδ (á½ú«α¿Γ¼ │
  1790.     │      iget), ß«σαá¡¿Γ∞ Ñú« ó Γáí½¿µÑ ¼«¡Γ¿α«óá¡¿∩;          │
  1791.     │     ßñѽáΓ∞ »«¼ÑΓ¬π ó ¿¡ñѬßÑ ¬áΓὫúá « Γ«¼, τΓ« ¬áΓὫú  │
  1792.     │      ∩ó½∩ÑΓß∩ Γ«τ¬«⌐ ¼«¡Γ¿α«óá¡¿∩;                         │
  1793.     │     «ßó«í«ñ¿Γ∞ ¿¡ñѬߠ߻ѵ¿á½∞¡«ú« Σá⌐½á (á½ú«α¿Γ¼ iput);  │
  1794.     │     ß¡∩Γ∞ í½«¬¿α«ó¬π ß ¿¡ñѬßá ¬áΓὫúá Γ«τ¬¿ ¼«¡Γ¿α«óá¡¿∩;│
  1795.     │ }                                                          │
  1796.     └────────────────────────────────────────────────────────────┘
  1797.         É¿ßπ¡«¬ 5.23. Ç½ú«α¿Γ¼ ¼«¡Γ¿α«óá¡¿∩ Σá⌐½«ó«⌐ ß¿ßΓѼδ
  1798.  
  1799.                                     113
  1800.  
  1801.  
  1802.     ìá  É¿ßπ¡¬Ñ  5.23  »«¬áºá¡  á½ú«α¿Γ¼ ¼«¡Γ¿α«óá¡¿∩ Σá⌐½«ó«⌐ ß¿ßΓѼδ. ƒñα«
  1803. »«ºó«½∩ÑΓ ¼«¡Γ¿α«óáΓ∞ ¿ ñѼ«¡Γ¿α«óáΓ∞ Σá⌐½«óδÑ ß¿ßΓѼδ Γ«½∞¬« ΓѼ »α«µÑßßá¼,
  1804. ó½áñѽ∞µÑ¼ ¬«Γ«αδσ ∩ó½∩ÑΓß∩  ßπ»Ñα»«½∞º«óáΓѽ∞.  ÅαÑñ«ßΓáó½Ñ¡¿Ñ  ó«º¼«ª¡«ßΓ¿
  1805. óδ»«½¡∩Γ∞  Σπ¡¬µ¿¿ mount ¿ umount óßѼ »«½∞º«óáΓѽ∩¼ »α¿óѽ« íδ ¬ ó¡ÑßÑ¡¿ε ß
  1806. ¿σ ßΓ«α«¡δ σá«ßá ó αáí«Γπ Σá⌐½«ó«⌐ ß¿ßΓѼδ, ¬á¬ π¼δΦ½Ñ¡¡«¼π, Γᬠ¿ ∩ó¿óΦѼπ-
  1807. ß∩ αѺπ½∞ΓáΓ«¼ ¡Ñ«ßë᫪¡«ßΓ¿.  æπ»Ñα»«½∞º«óáΓѽ¿  ¼«úπΓ  αáºαπΦ¿Γ∞  ß¿ßΓѼπ
  1808. Γ«½∞¬« ß½πτá⌐¡«.
  1809.     ƒñα«  ¡áσ«ñ¿Γ ¿¡ñѬߠ߻ѵ¿á½∞¡«ú« Σá⌐½á, »αÑñßΓáó½∩εΘÑú« Σá⌐½«óπε ß¿ßΓÑ-
  1810. ¼π, »«ñ½ÑªáΘπε ¼«¡Γ¿α«óá¡¿ε, ¿ºó½Ñ¬áÑΓ ßΓáαΦ¿⌐  ¿  ¼½áñΦ¿⌐  ¡«¼Ñαá,  ¬«Γ«αδÑ
  1811. ¿ñÑ¡Γ¿Σ¿µ¿απεΓ  ß««ΓóÑΓßΓóπεΘ¿⌐ ñ¿ß¬«óδ⌐ αáºñѽ, ¿ óδí¿αáÑΓ ¿¡ñѬߠ¬áΓὫúá,
  1812. ó ¬«Γ«α«¼ Σá⌐½«óá∩ ß¿ßΓѼá íπñÑΓ ß¼«¡Γ¿α«óá¡á. æτÑΓτ¿¬ ßß佫¬ ó ¿¡ñѬßÑ  ¬á-
  1813. ΓὫúá ñ«½ªÑ¡ ¿¼ÑΓ∞ º¡áτÑ¡¿Ñ, ¡Ñ »αÑóδΦáεΘÑÑ 1 (¿ ¼Ñ¡∞ΦÑ 1 «¡ ¡Ñ ñ«½ªÑ¡ íδΓ∞
  1814. -  »«τѼπ?),  ó ßó∩º¿ ß ¡á½¿τ¿Ñ¼ »«ΓÑ¡µ¿á½∞¡« «»áß¡δσ »«í«τ¡δσ φΣΣÑ¬Γ«ó (ß¼.
  1815. π»α᪡ѡ¿Ñ 5.27). çáΓѼ ∩ñα« ¡áº¡áτáÑΓ ßó«í«ñ¡«Ñ ¼ÑßΓ« ó Γáí½¿µÑ  ¼«¡Γ¿α«óá-
  1816. ¡¿∩,  »«¼ÑτáÑΓ Ñú« ñ½∩ ¿ß»«½∞º«óá¡¿∩ ¿ »α¿ßóá¿óáÑΓ º¡áτÑ¡¿Ñ »«½ε ¡«¼Ñαá πßΓ-
  1817. α«⌐ßΓóá ó Γáí½¿µÑ. éδΦÑπ¬áºá¡¡δÑ ¡áº¡áτÑ¡¿∩  »α«¿ºó«ñ∩Γß∩  ¡Ñ¼Ññ½Ñ¡¡«,  »«ß-
  1818. ¬«½∞¬π  óδºδóáεΘ¿⌐  »α«µÑßß ¼«ªÑΓ »α¿«ßΓá¡«ó¿Γ∞ß∩, ß½Ññπ∩ »α«µÑñπαÑ «Γ¬αδΓ¿∩
  1819. πßΓα«⌐ßΓóá ¿½¿ ßτ¿Γδóá∩ ßπ»Ñαí½«¬ Σá⌐½«ó«⌐ ß¿ßΓѼδ,  á  ñαπú«⌐  »α«µÑßß  ΓѼ
  1820. óαѼѡѼ »«»δΓá½ß∩ íδ ß¼«¡Γ¿α«óáΓ∞ Σá⌐½«óπε ß¿ßΓѼπ. Å«¼ÑΓ¿ó ñ½∩ ¿ß»«½∞º«óá-
  1821. ¡¿∩  ºá»¿ß∞  ó  Γáí½¿µÑ ¼«¡Γ¿α«óá¡¿∩, ∩ñα« ¡Ñ ñ«»π߬áÑΓ ¿ß»«½∞º«óá¡¿∩ ó ñóπσ
  1822. ó맮óáσ Σπ¡¬µ¿¿ mount «ñ¡«⌐ ¿ Γ«⌐ ªÑ ºá»¿ß¿ Γáí½¿µδ. çừ¼¿¡á∩ ¡«¼Ñα πßΓα«⌐-
  1823. ßΓóá ß ¼«¡Γ¿απѼ«⌐ ß¿ßΓѼ«⌐, ∩ñα« ¼«ªÑΓ ó«ß»αÑ»∩ΓßΓó«óáΓ∞ »«óΓ«α¡«¼π  ¼«¡Γ¿-
  1824. α«óá¡¿ε «ñ¡«⌐ ¿ Γ«⌐ ªÑ ß¿ßΓѼδ ñαπú¿¼¿ »α«µÑßßἿ, ¬«Γ«α«Ñ, íπñ∞ «¡« ñ«»πΘÑ-
  1825. ¡«, ¼«ú½« íδ »α¿óÑßΓ¿ ¬ ¡Ñ»αÑñ߬áºπÑ¼δ¼ »«ß½ÑñßΓó¿∩¼ (ß¼. π»α᪡ѡ¿Ñ 5.26).
  1826.     ƒñα«  óδºδóáÑΓ  »α«µÑñπαπ  «Γ¬αδΓ¿∩ ñ½∩ í½«τ¡«ú« πßΓα«⌐ßΓóá, ß«ñÑαªáΘÑú«
  1827. Σá⌐½«óπε ß¿ßΓѼπ, Γ«τ¡« ΓᬠªÑ, ¬á¬ «¡« ñѽáÑΓ φΓ« »α¿ ¡Ñ»«ßαÑñßΓóÑ¡¡«¼ «Γ¬-
  1828. αδΓ¿¿ í½«τ¡«ú« πßΓα«⌐ßΓóá (ú½áóá 10). Åα«µÑñπαá «Γ¬αδΓ¿∩  πßΓα«⌐ßΓóá  «íδτ¡«
  1829. »α«óÑα∩ÑΓ  ßπΘÑßΓó«óá¡¿Ñ  Γᬫú«  πßΓα«⌐ßΓóá, ¿¡«úñá »α«¿ºó«ñ∩ ¿¡¿µ¿á½¿ºáµ¿ε
  1830. ßΓαπ¬Γπα ñá¡¡δσ ñαá⌐óÑαá ¿ »«ßδ½á∩ ¬«¼á¡ñδ ¿¡¿µ¿á½¿ºáµ¿¿  á»»áαáΓπαÑ.  çáΓѼ
  1831. ∩ñα«  óδñѽ∩ÑΓ  ¿º íπΣÑα¡«ú« »π½á ßó«í«ñ¡δ⌐ íπΣÑα (óáα¿á¡Γ á½ú«α¿Γ¼á getblk)
  1832. ñ½∩ σαá¡Ñ¡¿∩ ßπ»Ñαí½«¬á ¼«¡Γ¿απѼ«⌐ Σá⌐½«ó«⌐ ß¿ßΓÑ¼δ ¿ ßτ¿ΓδóáÑΓ  ßπ»Ñαí½«¬,
  1833. ¿ß»«½∞ºπ∩  «ñ¿¡ ¿º óáα¿á¡Γ«ó á½ú«α¿Γ¼á read. ƒñα« ß«σαá¡∩ÑΓ π¬áºáΓѽ∞ ¡á ¿¡-
  1834. ñѬߠ¬áΓὫúá, ó ¬«Γ«α«¼ ¼«¡Γ¿απÑΓß∩ ß¿ßΓѼá,  ñáóá∩  ó«º¼«ª¡«ßΓ∞  ¼áαΦαπΓá¼
  1835. »«¿ß¬á  Σá⌐½«óδσ  ¿¼Ñ¡,  ß«ñÑαªáΘ¿σ ¿¼∩ "..", »ÑαÑßѬáΓ∞ Γ«τ¬π ¼«¡Γ¿α«óá¡¿∩,
  1836. ¬á¬ ¼δ πó¿ñ¿¼ ñá½∞ΦÑ. Ä¡« ¡áσ«ñ¿Γ ¬«α¡Ñó«⌐ ¿¡ñѬߠ¼«¡Γ¿απѼ«⌐ Σá⌐½«ó«⌐  ß¿ß-
  1837. ΓÑ¼δ ¿ ºá»«¼¿¡áÑΓ π¬áºáΓѽ∞ ¡á ¿¡ñѬߠó Γáí½¿µÑ ¼«¡Γ¿α«óá¡¿∩. æ Γ«τ¬¿ ºαÑ¡¿∩
  1838. »«½∞º«óáΓѽ∩, ¼ÑßΓ« (Γ«τ¬á) ¼«¡Γ¿α«óá¡¿∩ ¿ ¬«αÑ¡∞ Σá⌐½«ó«⌐ ß¿ßΓÑ¼δ ½«ú¿τÑ߬¿
  1839. φ¬ó¿óá½Ñ¡Γ¡δ, ¿ ∩ñα« π»α«τ¿óáÑΓ φΓπ φ¬ó¿óá½Ñ¡Γ¡«ßΓ∞ í½áú«ñáα∩ ¿σ ß«ßπΘÑßΓó«-
  1840. óá¡¿ε  ó  «ñ¡«⌐  ºá»¿ß¿ Γáí½¿µδ ¼«¡Γ¿α«óá¡¿∩. Åα«µÑßßδ í«½∞ΦÑ ¡Ñ ¼«úπΓ «íαá-
  1841. ΘáΓ∞ß∩ ¬ ¿¡ñѬßπ ¬áΓὫúá - Γ«τ¬¿ ¼«¡Γ¿α«óá¡¿∩.
  1842.     ƒñα« ¿¡¿µ¿á½¿º¿απÑΓ »«½∩ ó ßπ»Ñαí½«¬Ñ Σá⌐½«ó«⌐ ß¿ßΓѼδ, «τ¿Θá∩ »«½∩  ñ½∩
  1843. ß»¿ß¬á  ßó«í«ñ¡δσ  í½«¬«ó  ¿  ß»¿ß¬á ßó«í«ñ¡δσ ¿¡ñѬ߫󠿠πßΓá¡áó½¿óá∩ τ¿ß½«
  1844. ßó«í«ñ¡δσ ¿¡ñѬ߫ó ó ßπ»Ñαí½«¬Ñ αáó¡δ¼ 0. ûѽ∞ε ¿¡¿µ¿á½¿ºáµ¿¿  (ºáñá¡¿∩  ¡á-
  1845. τá½∞¡δσ  º¡áτÑ¡¿⌐  »«½Ñ⌐)  ∩ó½∩ÑΓß∩  ßóÑñÑ¡¿Ñ ¬ ¼¿¡¿¼π¼π «»áß¡«ßΓ¿ αáºαπΦ¿Γ∞
  1846. Σá⌐½«óπε ß¿ßΓѼπ, Ñß½¿ ¼«¡Γ¿α«óá¡¿Ñ «ßπΘÑßΓó½∩ÑΓß∩ »«ß½Ñ áóáα¿⌐¡«ú« ºáóÑαΦÑ-
  1847. ¡¿∩ αáí«Γδ ß¿ßΓѼδ. àß½¿ ∩ñα« ºáßΓáó¿Γ∞ ñπ¼áΓ∞, τΓ« ó ßπ»Ñαí½«¬Ñ «ΓßπΓßΓóπεΓ
  1848. ßó«í«ñ¡δÑ ¿¡ñѬßδ, Γ« φΓ« »α¿óÑñÑΓ ¬ ºá»π߬π á½ú«α¿Γ¼á ialloc, óÑñπΘÑú«  »«-
  1849. ¿ß¬ ¡á ñ¿ß¬Ñ ßó«í«ñ¡δσ ¿¡ñѬ߫ó. è ß«ªá½Ñ¡¿ε, Ñß½¿ ß»¿ß«¬ ßó«í«ñ¡δσ ñ¿ß¬«óδσ
  1850. í½«¬«ó  ¿ß»«ατÑ¡,  ∩ñα« ¡Ñ ¿ß»αáó½∩ÑΓ φΓ«Γ ß»¿ß«¬ ¿º¡πΓα¿ (ß¼. αáºñѽ 5.17 «
  1851. ß«»α«ó«ªñÑ¡¿¿ Σá⌐½«ó«⌐ ß¿ßΓѼδ). àß½¿ »«½∞º«óáΓѽ∞ ¼«¡Γ¿απÑΓ Σá⌐½«óπε ß¿ßΓÑ-
  1852. ¼π Γ«½∞¬« ñ½∩ τΓÑ¡¿∩, ºá»αÑΘá∩ »α«óÑñÑ¡¿Ñ óßÑσ «»Ñαᵿ⌐  ºá»¿ß¿  ó  ß¿ßΓѼÑ,
  1853. ∩ñα« πßΓá¡áó½¿óáÑΓ ó ßπ»Ñαí½«¬Ñ ß««ΓóÑΓßΓóπεΘ¿⌐ Σ½áú. ìᬫ¡Ñµ, ∩ñα« »«¼ÑτáÑΓ
  1854. ¿¡ñѬߠ¬áΓὫúᠬᬠ"Γ«τ¬π ¼«¡Γ¿α«óá¡¿∩", τΓ«íδ ñαπú¿Ñ »α«µÑßßδ »«ºñ¡ÑÑ ¼«ú-
  1855. ½¿ ßßδ½áΓ∞ß∩ ¡á ¡ÑÑ. ìá É¿ßπ¡¬Ñ 5.24 »αÑñßΓáó½Ñ¡ ó¿ñ αẽ¿τ¡δσ ßΓαπ¬Γπα ñá¡-
  1856. ¡δσ »« ºáóÑαΦÑ¡¿¿ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ mount.
  1857.  
  1858.  
  1859.  
  1860.  
  1861.                                     114
  1862.  
  1863.     E5.14.1 ÅÑαÑßÑτÑ¡¿Ñ Γ«τѬ ¼«¡Γ¿α«óá¡¿∩ ó  ¼áαΦαπΓáσ »«¿ß¬á ¿¼Ñ¡ Σá⌐½«óF
  1864.  
  1865.     äáóá⌐ΓÑ »«óΓ«α¡« αáßß¼«Γα¿¼ »«óÑñÑ¡¿Ñ á½ú«α¿Γ¼«ó namei ¿ iget ó ß½πτá∩σ,
  1866. ¬«úñá  ¼áαΦαπΓ »«¿ß¬á Σá⌐½«ó »α«σ«ñ¿Γ τÑαѺ Γ«τ¬π ¼«¡Γ¿α«óá¡¿∩. Æ«τ¬π ¼«¡Γ¿-
  1867. α«óá¡¿∩ ¼«ª¡« »ÑαÑßÑτ∞ ñóπ¼∩ ß»«ß«íἿ: ¿º Σá⌐½«ó«⌐ ß¿ßΓѼδ, úñÑ »α«¿ºó«ñ¿Γ-
  1868. ß∩ ¼«¡Γ¿α«óá¡¿Ñ, ó Σá⌐½«óπε ß¿ßΓѼπ, ¬«Γ«αá∩ ¼«¡Γ¿απÑΓß∩ (ó  ¡á»αáó½Ñ¡¿¿  «Γ
  1869. ú½«íá½∞¡«ú«  ¬«α¡∩ ¬ ½¿ßΓπ), ¿ ó «íαáΓ¡«¼ ¡á»αáó½Ñ¡¿¿. ¥Γ¿ ß»«ß«íδ ¿½½εßΓα¿-
  1870. απÑΓ ß½ÑñπεΘá∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ¬«¼á¡ñ shell'á.
  1871.  
  1872.     Æáí½¿µá ¿¡ñѬ߫󠠠        Æáí½¿µá ¼«¡Γ¿α«óá¡¿∩
  1873.   ┌──────────────────┐        ┌────────────────────┐
  1874.   ├──────────────────┤        │                    │
  1875.   │ ê¡ñѬߠ¬áΓὫúá, ┼ ─ ─ ┐  │                    │
  1876.   │ úñÑ »α«¿ºó«ñ¿Γß∩ │        │                    │
  1877.   │   ¼«¡Γ¿α«óá¡¿Ñ   │     │  │                    │   ┌───────┐
  1878.   │ Å«¼ÑτÑ¡ ¬á¬ "Γ«τ-│<───┐   │                    │┌─>│ üπΣÑα │
  1879.   │ ¬á ¼«¡Γ¿α«óá¡¿∩" │    ││  │                    ││  └───────┘
  1880.   │ æτÑΓτ¿¬ ßß佫¬ =1│    │   │                    ││
  1881.   ├──────────────────┤    │└ >├────────────────────┤│
  1882.   │                  │    │   │      æπ»Ñαí½«¬  ───┼┘
  1883.   ├──────────────────┤    └───┼ ê¡ñÑ¬ß Γ«τ¬¿ ¼«¡Γ¿-│
  1884.   │ ê¡ñѬߠπßΓα«⌐ßΓóá│        │       α«óá¡¿∩      │
  1885.   │  ìÑ ¿ß»«½∞ºπÑΓß∩ │    ┌───┼─  è«α¡Ñó«⌐ ¿¡ñѬߠ │
  1886.   │ æτÑΓτ¿¬ ßß佫¬ =0│    │   ├────────────────────┤
  1887.   ├──────────────────┤    │   │                    │
  1888.   ├──────────────────┤<───┘   │                    │
  1889.   │ ê¡ñѬߠ¬«α¡∩ ¼«¡-│        │                    │
  1890.   │ Γ¿απѼ«⌐ Σá⌐½«ó«⌐│        │                    │
  1891.   │      ß¿ßΓÑ¼δ     │        │                    │
  1892.   │ æτÑΓτ¿¬ ßß佫¬ =1│        └────────────────────┘
  1893.   ├──────────────────┤
  1894.   └──────────────────┘
  1895.  
  1896.        É¿ßπ¡«¬ 5.24. æΓαπ¬Γπαδ ñá¡¡δσ »«ß½Ñ ¼«¡Γ¿α«óá¡¿∩
  1897.  
  1898.  
  1899.     mount /dev/dsk1 /usr
  1900.     cd /usr/src/uts
  1901.     cd ../../..
  1902.     Å« ¬«¼á¡ñÑ mount »«ß½Ñ óδ»«½¡Ñ¡¿∩ ¡Ñ¬«Γ«αδ󠽫ú¿τÑ߬¿σ »α«óÑ᫬ ºá»π߬á-
  1903. ÑΓß∩ ß¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ mount, ¬«Γ«αá∩ ¼«¡Γ¿απÑΓ Σá⌐½«óπε ß¿ßΓѼπ ó  ñ¿ß¬«ó«¼
  1904. αáºñѽѠ ß ¿¼Ñ¡Ñ¼ "/dev/dsk1" »«ñ π»αáó½Ñ¡¿Ñ¼ ¬áΓὫúá "/usr". ÅÑαóá∩ ¿º ¬«-
  1905. ¼á¡ñ cd (߼ѡ¿Γ∞ ¬áΓὫú) »«íπªñáÑΓ ¬«¼á¡ñ¡δ⌐ »α«µÑßß«α shell  óδºóáΓ∞  ß¿ß-
  1906. ΓѼ¡πε  Σπ¡¬µ¿ε  chdir,  óδ»«½¡∩∩ ¬«Γ«απε, ∩ñα« á¡á½¿º¿απÑΓ ¿¼∩ »πΓ¿ »«¿ß¬á,
  1907. »ÑαÑßѬáεΘÑú« Γ«τ¬π ¼«¡Γ¿α«óá¡¿∩ ó "/usr". éΓ«αá∩ ¿º ¬«¼á¡ñ  cd  »α¿ó«ñ¿Γ  ¬
  1908. Γ«¼π, τΓ« ∩ñα« á¡á½¿º¿απÑΓ ¿¼∩ »πΓ¿ »«¿ß¬á ¿ »ÑαÑßѬáÑΓ Γ«τ¬π ¼«¡Γ¿α«óá¡¿∩ ó
  1909. ΓαÑΓ∞Ñ⌐ ¬«¼»«¡Ñ¡ΓÑ ".." ¿¼Ñ¡¿.
  1910.     ä½∩ ß½πτá∩ »ÑαÑßÑτÑ¡¿∩ Γ«τ¬¿ ¼«¡Γ¿α«óá¡¿∩ ó ¡á»αáó½Ñ¡¿¿ ¿º Σá⌐½«ó«⌐ ß¿ß-
  1911. ΓѼδ,  úñÑ »α«¿ºó«ñ¿Γß∩ ¼«¡Γ¿α«óá¡¿Ñ, ó Σá⌐½«óπε ß¿ßΓѼπ, ¬«Γ«αá∩ ¼«¡Γ¿απÑΓ-
  1912. ß∩, αáßß¼«Γα¿¼ ¼«ñ¿Σ¿¬áµ¿ε á½ú«α¿Γ¼á iget (É¿ßπ¡«¬ 5.25), ¬«Γ«αá∩  ¿ñÑ¡Γ¿τ¡á
  1913. óÑαß¿¿  á½ú«α¿Γ¼á, »α¿óÑñÑ¡¡«⌐ ¡á É¿ßπ¡¬Ñ 4.3, »«τΓ¿ ó« óßѼ, ºá ¿ß¬½ετÑ¡¿Ñ¼
  1914. Γ«ú«, τΓ« ó ñá¡¡«⌐ ¼«ñ¿Σ¿¬áµ¿¿ »α«¿ºó«ñ¿Γß∩ »α«óÑα¬á, ∩ó½∩ÑΓß∩ ½¿ ¿¡ñѬߠ¿¡-
  1915. ñѬ߫¼ Γ«τ¬¿ ¼«¡Γ¿α«óá¡¿∩. àß½¿ ¿¡ñѬߠ¿¼ÑÑΓ ß««ΓóÑΓßΓóπεΘπε  »«¼ÑΓ¬π,  ∩ñα«
  1916. ß«ú½áΦáÑΓß∩,  τΓ«  φΓ« ¿¡ñÑ¬ß Γ«τ¬¿ ¼«¡Γ¿α«óá¡¿∩. Ä¡« «í¡áαπª¿óáÑΓ ó Γáí½¿µÑ
  1917. ¼«¡Γ¿α«óá¡¿∩ ºá»¿ß∞ ß π¬áºá¡¡δ¼ ¿¡ñѬ߫¼ Γ«τ¬¿ ¼«¡Γ¿α«óá¡¿∩ ¿ ºá»«¼¿¡áÑΓ ¡«-
  1918. ¼Ñα πßΓα«⌐ßΓóá ¼«¡Γ¿απѼ«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼδ. çáΓѼ, ¿ß»«½∞ºπ∩ ¡«¼Ñα πßΓα«⌐ß-
  1919. Γóá ¿ ¡«¼Ñα ¿¡ñѬßá ¬«α¡∩, «íΘÑú« ñ½∩ óßÑσ Σá⌐½«óδσ ß¿ßΓѼ, ∩ñα«  «íαáΘáÑΓß∩
  1920. ¬ ¿¡ñѬß𠬫α¡∩
  1921.  
  1922.  
  1923.                                     115
  1924.  
  1925.     ┌────────────────────────────────────────────────────────────┐
  1926.     │ á½ú«α¿Γ¼ iget                                              │
  1927.     │ óσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩:  ¡«¼Ñα ¿¡ñѬßá ó Σá⌐½«ó«⌐ ß¿ßΓѼѠ     │
  1928.     │ óδσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩: ºáí½«¬¿α«óá¡¡δ⌐ ¿¡ñѬߠ               │
  1929.     │ {                                                          │
  1930.     │   óδ»«½¡¿Γ∞                                                │
  1931.     │   {                                                        │
  1932.     │     Ñß½¿ (¿¡ñѬߠ󠿡ñѬߡ«¼ ¬ÑΦÑ)                         │
  1933.     │     {                                                      │
  1934.     │       Ñß½¿ (¿¡ñѬߠºáí½«¬¿α«óá¡)                           │
  1935.     │       {                                                    │
  1936.     │         »α¿«ßΓá¡«ó¿Γ∞ß∩ (ñ« «ßó«í«ªñÑ¡¿∩ ¿¡ñѬßá);         │
  1937.     │         »α«ñ«½ª¿Γ∞;    /* µ¿¬½ ß πß½«ó¿Ñ¼ »α«ñ«½ªÑ¡¿∩ */   │
  1938.     │       }                                                    │
  1939.     │       /* ß»Ñµ¿á½∞¡á∩ «íαáí«Γ¬á ñ½∩ Γ«τѬ ¼«¡Γ¿α«óá¡¿∩ */   │
  1940.     │       Ñß½¿ (¿¡ñѬߠ∩ó½∩ÑΓß∩ ¿¡ñѬ߫¼ Γ«τ¬¿ ¼«¡Γ¿α«óá¡¿∩)   │
  1941.     │       {                                                    │
  1942.     │         ¡á⌐Γ¿ ºá»¿ß∞ ó Γáí½¿µÑ ¼«¡Γ¿α«óá¡¿∩ ñ½∩ Γ«τ¬¿ ¼«¡- │
  1943.     │          Γ¿α«óá¡¿∩;                                        │
  1944.     │         »«½πτ¿Γ∞ ¡«óδ⌐ ¡«¼Ñα Σá⌐½«ó«⌐ ß¿ßΓÑ¼δ ¿º Γáí½¿µδ   │
  1945.     │          ¼«¡Γ¿α«óá¡¿∩;                                     │
  1946.     │         ¿ß»«½∞º«óáΓ∞ ¡«¼Ñα ¿¡ñѬßá ¬«α¡∩ ñ½∩ »α«ß¼«Γαá;    │
  1947.     │         »α«ñ«½ª¿Γ∞;      /* »α«ñ«½ªÑ¡¿Ñ µ¿¬½á */           │
  1948.     │       }                                                    │
  1949.     │       Ñß½¿ (¿¡ñѬߠó ß»¿ß¬Ñ ßó«í«ñ¡δσ ¿¡ñѬ߫ó)            │
  1950.     │         πíαáΓ∞ ¿º ß»¿ß¬á ßó«í«ñ¡δσ ¿¡ñѬ߫ó;               │
  1951.     │       πóѽ¿τ¿Γ∞ ßτÑΓτ¿¬ ßß佫¬ ñ½∩ ¿¡ñѬßá;                │
  1952.     │       ó«ºóαáΓ¿Γ∞ (¿¡ñѬß);                                 │
  1953.     │     }                                                      │
  1954.     │                                                            │
  1955.     │     /* ¿¡ñѬߠ«ΓßπΓßΓóπÑΓ ó ¿¡ñѬߡ«¼ ¬ÑΦÑ */              │
  1956.     │     πíαáΓ∞ ¡«óδ⌐ ¿¡ñѬߠ¿º ß»¿ß¬á ßó«í«ñ¡δσ ¿¡ñѬ߫ó;      │
  1957.     │     ßíα«ß¿Γ∞ ¡«¼Ñα ¿¡ñѬßá ¿ Σá⌐½«ó«⌐ ß¿ßΓѼδ;             │
  1958.     │     πíαáΓ∞ ¿¡ñѬߠ¿º ßΓáα«⌐ σÑΦ-«τÑαÑñ¿, »«¼ÑßΓ¿Γ∞ ó ¡«óπε;│
  1959.     │     ßτ¿ΓáΓ∞ ¿¡ñѬߠߠñ¿ß¬á (á½ú«α¿Γ¼ bread);               │
  1960.     │     ¿¡¿µ¿á½¿º¿α«óáΓ∞ ¿¡ñѬߠ(¡á»α¿¼Ñα, πßΓá¡«ó¿ó ßτÑΓτ¿¬   │
  1961.     │      ßß佫¬ ó 1);                                          │
  1962.     │     ó«ºóαáΓ¿Γ∞ (¿¡ñѬß);                                   │
  1963.     │   }                                                        │
  1964.     │ }                                                          │
  1965.     └────────────────────────────────────────────────────────────┘
  1966.  
  1967.     É¿ßπ¡«¬ 5.25.  î«ñ¿Σ¿¬áµ¿∩ á½ú«α¿Γ¼á »«½πτÑ¡¿∩ ñ«ßΓπ»á ¬  ¿¡-
  1968.                    ñѬßπ
  1969.  
  1970.  
  1971. ¼«¡Γ¿απѼ«ú«  πßΓα«⌐ßΓóá  ¿  ó«ºóαáΘáÑΓ »α¿ óδσ«ñÑ ¿º Σπ¡¬µ¿¿ φëà¿¡ñѬß. é
  1972. »Ñαó«¼ »α¿¼ÑαÑ ß¼Ñ¡δ ¬áΓὫúá ∩ñα« «íαáΘáÑΓß∩ ¬ ¿¡ñѬßπ ¬áΓὫúá  "/usr"  ¿º
  1973. Σá⌐½«ó«⌐  ß¿ßΓѼδ,  ó  ¬«Γ«α«⌐  »α«¿ºó«ñ¿Γß∩ ¼«¡Γ¿α«óá¡¿Ñ, «í¡áαπª¿óáÑΓ, τΓ«
  1974. φëà¿¡ñѬߠ¿¼ÑÑΓ »«¼ÑΓ¬π "Γ«τ¬á ¼«¡Γ¿α«óá¡¿∩", ¡áσ«ñ¿Γ ó Γáí½¿µÑ ¼«¡Γ¿α«óá-
  1975. ¡¿∩ ¿¡ñѬߠ¬«α¡∩ ¼«¡Γ¿απѼ«⌐ Σá⌐½«ó«⌐ ß¿ßΓÑ¼δ ¿ «íαáΘáÑΓß∩ ¬ φΓ«¼π ¿¡ñѬßπ.
  1976.     ä½∩ óΓ«α«ú« ß½πτá∩ »ÑαÑßÑτÑ¡¿∩ Γ«τ¬¿ ¼«¡Γ¿α«óá¡¿∩ ó ¡á»αáó½Ñ¡¿¿ ¿º  Σá⌐-
  1977. ½«ó«⌐ ß¿ßΓѼδ, ¬«Γ«αá∩ ¼«¡Γ¿απÑΓß∩, ó Σá⌐½«óπε ß¿ßΓѼπ, úñÑ óδ»«½¡∩ÑΓß∩ ¼«¡-
  1978. Γ¿α«óá¡¿Ñ, αáßß¼«Γα¿¼ ¼«ñ¿Σ¿¬áµ¿ε á½ú«α¿Γ¼á namei (É¿ßπ¡«¬ 5.26). Ä¡á »«σ«ªá
  1979. ¡á  óÑαß¿ε á½ú«α¿Γ¼á, »α¿óÑñÑ¡¡πε ¡á É¿ßπ¡¬Ñ 4.11. Äñ¡á¬«, »«ß½Ñ «í¡áαπªÑ¡¿∩
  1980. ó ¬áΓὫúÑ ¡«¼Ñαá ¿¡ñѬßá ñ½∩ ñá¡¡«⌐ ¬«¼»«¡Ñ¡Γδ »πΓ¿ »«¿ß¬á ∩ñα«  »α«óÑα∩ÑΓ,
  1981. ¡Ñ π¬áºδóáÑΓ ½¿ ¡«¼Ñα ¿¡ñѬßá ¡á Γ«, τΓ« φΓ« ¬«α¡Ñó«⌐ ¿¡ñѬߠΣá⌐½«ó«⌐ ß¿ßΓÑ-
  1982. ¼δ.  àß½¿  φΓ« Γᬠ¿ Ñß½¿ ΓѬπΘ¿⌐ αáí«τ¿⌐ ¿¡ñѬߠΓᬠªÑ ∩ó½∩ÑΓß∩ ¬«α¡Ñóδ¼, á
  1983.  
  1984.  
  1985.                                     116
  1986.  
  1987.     ┌────────────────────────────────────────────────────────────┐
  1988.     │ á½ú«α¿Γ¼ namei /* »αÑóαáΘÑ¡¿Ñ ¿¼Ñ¡¿ »πΓ¿ »«¿ß¬á ó ¿¡ñѬߠ*/│
  1989.     │ óσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩:  ¿¼∩ »πΓ¿ »«¿ß¬á                       │
  1990.     │ óδσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩: ºáí½«¬¿α«óá¡¡δ⌐ ¿¡ñѬߠ               │
  1991.     │ {                                                          │
  1992.     │    Ñß½¿ (»πΓ∞ »«¿ß¬á íÑαÑΓ ¡áτὫ ß ¬«α¡∩)                 │
  1993.     │         αáí«τ¿⌐ ¿¡ñѬߠ= ¿¡ñѬß𠬫α¡∩ (á½ú«α¿Γ¼ iget);    │
  1994.     │    ó »α«Γ¿ó¡«¼ ß½πτáÑ                                      │
  1995.     │         αáí«τ¿⌐ ¿¡ñѬߠ= ¿¡ñѬßπ ΓѬπΘÑú« ¬áΓὫúá         │
  1996.     │          (á½ú«α¿Γ¼ iget);                                  │
  1997.     │                                                            │
  1998.     │    óδ»«½¡¿Γ∞ (»«¬á »πΓ∞ »«¿ß¬á ¡Ñ ¬«¡τ¿½ß∩)                │
  1999.     │    {                                                       │
  2000.     │         ßτ¿ΓáΓ∞ ß½ÑñπεΘπε ¬«¼»«¡Ñ¡Γπ ¿¼Ñ¡¿ »πΓ¿ »«¿ß¬á;    │
  2001.     │         »α«óÑα¿Γ∞ ß««ΓóÑΓßΓó¿Ñ αáí«τÑú« ¿¡ñѬßá ¬áΓὫúπ   │
  2002.     │          ¿ »αáóá ñ«ßΓπ»á;                                  │
  2003.     │         Ñß½¿ (αáí«τ¿⌐ ¿¡ñѬߠ߫«ΓóÑΓßΓóπÑΓ ¬«α¡ε ¿ ¬«¼»«-  │
  2004.     │          ¡Ñ¡Γá ¿¼Ñ¡¿ "..")                                 │
  2005.     │              »α«ñ«½ª¿Γ∞;  /* µ¿¬½ ß πß½«ó¿Ñ¼ »α«ñ«½ªÑ¡¿∩ */│
  2006.     │  »«¿ß¬ ¬«¼»«¡Ñ¡Γδ:                                         │
  2007.     │         ßτ¿ΓáΓ∞ ¬áΓὫú (αáí«τ¿⌐ ¿¡ñѬß), »«óΓ«α∩∩ á½ú«-   │
  2008.     │          α¿Γ¼δ bmap, bread ¿ brelse;                       │
  2009.     │         Ñß½¿ (¬«¼»«¡Ñ¡Γá ß««ΓóÑΓßΓóπÑΓ ºá»¿ß¿ ó ¬áΓὫúÑ   │
  2010.     │          (αáí«τѼ ¿¡ñѬßÑ))                                │
  2011.     │         {                                                  │
  2012.     │              »«½πτ¿Γ∞ ¡«¼Ñα ¿¡ñѬßá ñ½∩ ß«ó»áóΦÑ⌐ ¬«¼»«¡Ñ¡-│
  2013.     │               Γδ;                                          │
  2014.     │              Ñß½¿ (¡á⌐ñÑ¡¡δ⌐ ¿¡ñѬߠ∩ó½∩ÑΓß∩ ¿¡ñѬ߫¼ ¬«α- │
  2015.     │               ¡∩ ¿ αáí«τ¿⌐ ¿¡ñѬߠ∩ó½∩ÑΓß∩ ¿¡ñѬ߫¼ ¬«α¡∩  │
  2016.     │               ¿ ¿¼∩ ¬«¼»«¡Ñ¡Γδ "..")                       │
  2017.     │              {                                             │
  2018.     │                /* »ÑαÑßÑτÑ¡¿Ñ Γ«τ¬¿ ¼«¡Γ¿α«óá¡¿∩ */        │
  2019.     │                »«½πτ¿Γ∞ ºá»¿ß∞ ó Γáí½¿µÑ ¼«¡Γ¿α«óá¡¿∩ ñ½∩  │
  2020.     │                 αáí«τÑú« ¿¡ñѬßá;                          │
  2021.     │                «ßó«í«ñ¿Γ∞ αáí«τ¿⌐ ¿¡ñѬߠ(á½ú«α¿Γ¼ iput);  │
  2022.     │                αáí«τ¿⌐ ¿¡ñѬߠ= ¿¡ñѬßπ Γ«τ¬¿ ¼«¡Γ¿α«óá¡¿∩;│
  2023.     │                ºáí½«¬¿α«óáΓ∞ ¿¡ñÑ¬ß Γ«τ¬¿ ¼«¡Γ¿α«óá¡¿∩;    │
  2024.     │                πóѽ¿τ¿Γ∞ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ßß佫¬ ¡á αáí«- │
  2025.     │                 τ¿⌐ ¿¡ñѬß;                                │
  2026.     │                »ÑαÑ⌐Γ¿ ¬ »«¿ß¬π ¬«¼»«¡Ñ¡Γδ (ñ½∩ "..");     │
  2027.     │              }                                             │
  2028.     │              «ßó«í«ñ¿Γ∞ αáí«τ¿⌐ ¿¡ñѬߠ(á½ú«α¿Γ¼ iput);    │
  2029.     │              αáí«τ¿⌐ ¿¡ñѬߠ= ¿¡ñѬßπ ß ¡«óδ¼ ¡«¼Ñα«¼      │
  2030.     │               (á½ú«α¿Γ¼ iget);                             │
  2031.     │         }                                                  │
  2032.     │         ó »α«Γ¿ó¡«¼ ß½πτáÑ  /* ¬«¼»«¡Ñ¡Γá «ΓßπΓßΓóπÑΓ ó    │
  2033.     │                                ¬áΓὫúÑ */                 │
  2034.     │              ó«ºóαáΓ¿Γ∞ (¡ÑΓ ¿¡ñѬßá);                     │
  2035.     │    }                                                       │
  2036.     │    ó«ºóαáΓ¿Γ∞ (αáí«τ¿⌐ ¿¡ñѬß);                            │
  2037.     │ }                                                          │
  2038.     └────────────────────────────────────────────────────────────┘
  2039.  
  2040.     É¿ßπ¡«¬ 5.26.  î«ñ¿Σ¿¬áµ¿∩  á½ú«α¿Γ¼á ß¿¡Γá¬ß¿τÑ߬«ú« á¡á½¿ºá
  2041.                    ¿¼Ñ¡¿ Σá⌐½á
  2042.  
  2043.  
  2044. ¬«¼»«¡Ñ¡Γá »πΓ¿ »«¿ß¬á, ó ßó«ε «τÑαÑñ∞, ¿¼ÑÑΓ ¿¼∩ "..", ∩ñα«  ¿ñÑ¡Γ¿Σ¿µ¿απÑΓ
  2045. ¿¡ñѬߠ ¬á¬  Γ«τ¬π  ¼«¡Γ¿α«óá¡¿∩. Ä¡« ¡áσ«ñ¿Γ ó Γáí½¿µÑ ¼«¡Γ¿α«óá¡¿∩ ºá»¿ß∞,
  2046.  
  2047.                                     117
  2048.  
  2049. ¡«¼Ñα πßΓα«⌐ßΓóá ó ¬«Γ«α«⌐ ß«ó»áñáÑΓ ß ¡«¼Ñα«¼ πßΓα«⌐ßΓóá ñ½∩ »«ß½Ññ¡Ñú«  ¿º
  2050. ¡á⌐ñÑ¡¡δσ  ¿¡ñѬ߫ó,  »«½πτáÑΓ  ¿¡ñѬߠ ñ½∩ ¬áΓὫúá, ó ¬«Γ«α«¼ »α«¿ºó«ñ¿Γß∩
  2051. ¼«¡Γ¿α«óá¡¿Ñ, ¿ »α«ñ«½ªáÑΓ »«¿ß¬ ¬«¼»«¡Ñ¡Γδ ß ¿¼Ñ¡Ñ¼ "..", ¿ß»«½∞ºπ∩  Γ«½∞¬«
  2052. τΓ«  »«½πτÑ¡¡δ⌐ ¿¡ñѬߠó ¬áτÑßΓóÑ αáí«τÑú«. é ¬«α¡Ñ Σá⌐½«ó«⌐ ß¿ßΓѼδ, ΓѼ ¡Ñ
  2053. ¼Ñ¡ÑÑ, ¬«α¡Ñóδ¼ ¬áΓὫú«¼ ∩ó½∩ÑΓß∩ "..".
  2054.     é óδΦÑ»α¿óÑñÑ¡¡«¼ »α¿¼ÑαÑ (cd "../../..") »αÑñ»«½áúáÑΓß∩, τΓ«  ó  ¡áτá½Ñ
  2055. »α«µÑßß ¿¼ÑÑΓ ΓѬπΘ¿⌐ ¬áΓὫú ß ¿¼Ñ¡Ñ¼ "/usr/src/uts". è«úñá ¿¼∩ »πΓ¿ »«¿ß¬á
  2056. »«ñóÑαúáÑΓß∩  á¡á½¿ºπ ó á½ú«α¿Γ¼Ñ namei, ¡áτá½∞¡δ¼ αáí«τ¿¼ ¿¡ñѬ߫¼ ∩ó½∩ÑΓß∩
  2057. ¿¡ñѬߠΓѬπΘÑú« ¬áΓὫúá. ƒñα« ¼Ñ¡∩ÑΓ ΓѬπΘ¿⌐ αáí«τ¿⌐ ¿¡ñѬߠ¡á ¿¡ñѬߠ¬áΓá-
  2058. ½«úá ß ¿¼Ñ¡Ñ¼ "/usr/src" ó αѺπ½∞ΓáΓÑ αáßΦ¿Σα«ó¬¿ »Ñαó«⌐ ¬«¼»«¡Ñ¡Γδ  ".."  ó
  2059. ¿¼Ñ¡¿ »πΓ¿ »«¿ß¬á. çáΓѼ ∩ñα« á¡á½¿º¿απÑΓ óΓ«απε ¬«¼»«¡Ñ¡Γπ ".." ó ¿¼Ñ¡¿ »π-
  2060. Γ¿ »«¿ß¬á, ¡áσ«ñ¿Γ ¬«α¡Ñó«⌐ ¿¡ñѬߠ߼«¡Γ¿α«óá¡¡«⌐ (»ÑαÑñ φΓ¿¼) Σá⌐½«ó«⌐ ß¿ß-
  2061. ΓÑ¼δ  -  ¿¡ñѬߠ ¬áΓὫúá  "usr" - ¿ ñѽáÑΓ Ñú« αáí«τ¿¼ ¿¡ñѬ߫¼ »α¿ á¡á½¿ºÑ
  2062. ¿¼Ñ¡¿ ß »«¼«Θ∞ε á½ú«α¿Γ¼á namei. ìᬫ¡Ñµ, «¡« αáßΦ¿Σα«óδóáÑΓ  ΓαÑΓ∞ε  ¬«¼»«-
  2063. ¡Ñ¡Γπ  ".."  ó  ¿¼Ñ¡¿  »πΓ¿ »«¿ß¬á. ƒñα« «í¡áαπª¿óáÑΓ, τΓ« ¡«¼Ñα ¿¡ñѬßá ñ½∩
  2064. ".." ß«ó»áñáÑΓ ß ¡«¼Ñα«¼ ¬«α¡Ñó«ú« ¿¡ñѬßá, αáí«τ¿¼ ¿¡ñѬ߫¼ ∩ó½∩ÑΓß∩ ¬«α¡Ñ-
  2065. ó«⌐ ¿¡ñѬß, á ".." ∩ó½∩ÑΓß∩ ΓѬπΘÑ⌐ ¬«¼»«¡Ñ¡Γ«⌐ ¿¼Ñ¡¿ »πΓ¿ »«¿ß¬á. ƒñα«  ¡á-
  2066. σ«ñ¿Γ  ºá»¿ß∞  ó  Γáí½¿µÑ  ¼«¡Γ¿α«óá¡¿∩,  ß««ΓóÑΓßΓóπεΘπε Γ«τ¬Ñ ¼«¡Γ¿α«óá¡¿∩
  2067. "usr", «ßó«í«ªñáÑΓ ΓѬπΘ¿⌐ αáí«τ¿⌐ ¿¡ñѬߠ(¬«αÑ¡∞ Σá⌐½«ó«⌐ ß¿ßΓѼδ,  ß¼«¡Γ¿-
  2068. α«óá¡¡«⌐  ó  ¬áΓὫúÑ "usr") ¿ ¡áº¡áτáÑΓ ¿¡ñÑ¬ß Γ«τ¬¿ ¼«¡Γ¿α«óá¡¿∩ (¬áΓὫúá
  2069. "usr" ó ¬«α¡Ñó«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼÑ) ó ¬áτÑßΓóÑ ¡«ó«ú« αáí«τÑú« ¿¡ñѬßá. çáΓѼ
  2070. «¡« »α«ß¼áΓα¿óáÑΓ ºá»¿ß¿ ó ¬áΓὫúÑ Γ«τ¬¿ ¼«¡Γ¿α«óá¡¿∩ "/usr" ó »«¿ß¬áσ ¿¼Ñ-
  2071. ¡¿ ".." ¿ ¡áσ«ñ¿Γ ¡«¼Ñα ¿¡ñѬßá ñ½∩ ¬«α¡∩ Σá⌐½«ó«⌐ ß¿ßΓѼδ ("/"). Å«ß½Ñ φΓ«-
  2072. ú« ß¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ chdir ºáóÑαΦáÑΓß∩ ¬á¬ «íδτ¡«, óδºδóáεΘ¿⌐ »α«µÑßß ¡Ñ «í-
  2073. αáΘáÑΓ ó¡¿¼á¡¿∩ ¡á Γ«Γ Σá¬Γ, τΓ« «¡ »ÑαÑßѬ Γ«τ¬π ¼«¡Γ¿α«óá¡¿∩.
  2074.  
  2075.  
  2076.     E5.14.2 äѼ«¡Γ¿α«óá¡¿Ñ Σá⌐½«ó«⌐ ß¿ßΓѼδF
  2077.  
  2078.     æ¿¡Γá¬ß¿ß ó맮óá ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ umount:
  2079.     umount(special filename);
  2080.  
  2081. úñÑ special filename π¬áºδóáÑΓ ñѼ«¡Γ¿απѼπε Σá⌐½«óπε ß¿ßΓѼπ. Åα¿  ñѼ«¡Γ¿-
  2082. α«óá¡¿¿ Σá⌐½«ó«⌐ ß¿ßΓѼδ (É¿ßπ¡«¬ 5.27) ∩ñα« «íαáΘáÑΓß∩ ¬ ¿¡ñѬßπ ñѼ«¡Γ¿απ-
  2083. Ѽ«ú«  πßΓα«⌐ßΓóá,  ó«ßßΓá¡áó½¿óáÑΓ ¡«¼Ñα πßΓα«⌐ßΓóá ñ½∩ ß»Ñµ¿á½∞¡«ú« Σá⌐½á,
  2084. «ßó«í«ªñáÑΓ ¿¡ñѬߠ(á½ú«α¿Γ¼ iput) ¿ ¡áσ«ñ¿Γ ó Γáí½¿µÑ ¼«¡Γ¿α«óá¡¿∩ ºá»¿ß∞ ß
  2085. ¡«¼Ñα«¼ πßΓα«⌐ßΓóá, αáó¡δ¼ ¡«¼Ñαπ πßΓα«⌐ßΓóá ñ½∩ ß»Ñµ¿á½∞¡«ú« Σá⌐½á.  ÅαѪñÑ
  2086. τѼ  ∩ñα«  ñÑ⌐ßΓó¿Γѽ∞¡«  ñѼ«¡Γ¿απÑΓ Σá⌐½«óπε ß¿ßΓѼπ, «¡« ñ«½ª¡« πñ«ßΓ«óÑ-
  2087. α¿Γ∞ß∩ ó Γ«¼, τΓ« ó ß¿ßΓѼѠ¡Ñ «ßΓὫß∞ ¿ß»«½∞ºπѼδσ Σá⌐½«ó, ñ½∩ φΓ«ú«  ∩ñα«
  2088. »α«ß¼áΓα¿óáÑΓ  Γáí½¿µπ  ¿¡ñѬ߫ó ó »«¿ß¬áσ óßÑσ Σá⌐½«ó, τÑ⌐ ¡«¼Ñα πßΓα«⌐ßΓóá
  2089. ß«ó»áñáÑΓ ß ¡«¼Ñα«¼ ñѼ«¡Γ¿απѼ«⌐ ß¿ßΓѼδ. Ç¬Γ¿ó¡δ¼ Σá⌐½á¼ ß««ΓóÑΓßΓóπÑΓ »«-
  2090. ½«ª¿Γѽ∞¡«Ñ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ßß佫¬ ¿ ó ¿σ  τ¿ß½«  óσ«ñ∩Γ  ΓѬπΘ¿⌐  ¬áΓὫú
  2091. »α«µÑßßá,  Σá⌐½δ ß αáºñѽ∩Ñ¼δ¼ ΓѬßΓ«¼, ¬«Γ«αδÑ ¿ß»«½¡∩εΓß∩ ó ΓѬπΘ¿⌐ ¼«¼Ñ¡Γ
  2092. (ú½áóá 7), ¿ «Γ¬αδΓδÑ ¬«úñá-Γ« Σá⌐½δ, ¬«Γ«αδÑ »«Γ«¼ ¡Ñ  í뫨  ºá¬αδΓδ.  àß½¿
  2093. ¬á¬¿Ñ-¡¿íπñ∞  Σá⌐½δ  ¿º Σá⌐½«ó«⌐ ß¿ßΓѼδ á¬Γ¿ó¡δ, Σπ¡¬µ¿∩ umount ºáóÑαΦáÑΓß∩
  2094. ¡Ñπñáτ¡«: Ñß½¿ íδ «¡á »α«Φ½á πß»ÑΦ¡«, á¬Γ¿ó¡δÑ Σá⌐½δ ßñѽ὿ß∞ íδ  ¡Ññ«ßΓπ»-
  2095. ¡δ¼¿.
  2096.     üπΣÑα¡δ⌐  »π½  óßÑ ÑΘÑ ß«ñÑαª¿Γ í½«¬¿ ß "«Γ½«ªÑ¡¡«⌐ ºá»¿ß∞ε", ¡Ñ »ÑαÑ»¿-
  2097. ßá¡¡δÑ ¡á ñ¿ß¬, »«φΓ«¼π ∩ñα« "óδ¼δóáÑΓ" ¿σ ¿º íπΣÑα¡«ú« »π½á.  ƒñα«  πñá½∩ÑΓ
  2098. ºá»¿ß¿  ß  αáºñѽ∩Ñ¼δ¼  ΓѬßΓ«¼, ¬«Γ«αδÑ ¡áσ«ñ∩Γß∩ ó Γáí½¿µÑ «í½áßΓÑ⌐, ¡« ¡Ñ
  2099. ∩ó½∩εΓß∩ ñÑ⌐ßΓóπεΘ¿¼¿ (»«ñα«í¡«ßΓ¿ ó ú½áóÑ 7), ºá»¿ßδóáÑΓ ¡á ñ¿ß¬ óßÑ ¡Ññáó-
  2100. ¡« ß¬«ααÑ¬Γ¿α«óá¡¡δÑ ßπ»Ñαí½«¬¿ ¿ ¬«ααÑ¬Γ¿απÑΓ ñ¿ß¬«óδÑ ¬«»¿¿ óßÑσ ¿¡ñѬ߫ó,
  2101. ¬«Γ«αδÑ ΓαÑíπεΓ φΓ«ú«. èáºá½«ß∞, í佫 íδ ñ«ßΓáΓ«τ¡« «Γ¬«ααÑ¬Γ¿α«óáΓ∞  ñ¿ß¬«-
  2102. óδÑ  í½«¬¿,  ßπ»Ñαí½«¬  ¿ ¿¡ñѬßδ Γ«½∞¬« ñ½∩ ñѼ«¡Γ¿απѼ«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼδ,
  2103. «ñ¡á¬« ó µÑ½∩σ ß«σαá¡Ñ¡¿∩ »αÑѼßΓóÑ¡¡«ßΓ¿ ¿º¼Ñ¡Ñ¡¿⌐
  2104. ∩ñα« óδ»«½¡∩ÑΓ á¡á½«ú¿τ¡δÑ ñÑ⌐ßΓó¿∩ ñ½∩ óßÑ⌐ ß¿ßΓѼδ ó µÑ½«¼. çáΓѼ ∩ñα« «ß-
  2105. ó«í«ªñáÑΓ ¬«α¡Ñó«⌐ ¿¡ñѬߠ¼«¡Γ¿α«óá¡¡«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼδ, πñÑনóáѼδ⌐ ß ¼«-
  2106. ¼Ñ¡Γá »Ñαó«ú« «íαáΘÑ¡¿∩ ¬ ¡Ñ¼π ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ mount, ¿ ºá»π߬á-
  2107.  
  2108.  
  2109.                                     118
  2110.  
  2111.     ┌────────────────────────────────────────────────────────────┐
  2112.     │ á½ú«α¿Γ¼ umount                                            │
  2113.     │ óσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩:  ¿¼∩ ß»Ñµ¿á½∞¡«ú« Σá⌐½á, ß««ΓóÑΓßΓóπε- │
  2114.     │                      ΘÑú« ñѼ«¡Γ¿απѼ«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼѠ  │
  2115.     │ óδσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩: «ΓßπΓßΓóπÑΓ                           │
  2116.     │ {                                                          │
  2117.     │     Ñß½¿ (»«½∞º«óáΓѽ∞ ¡Ñ ∩ó½∩ÑΓß∩ ßπ»Ñα»«½∞º«óáΓѽѼ)     │
  2118.     │          ó«ºóαáΓ¿Γ∞ («Φ¿í¬π);                              │
  2119.     │     »«½πτ¿Γ∞ ¿¡ñѬߠ߻ѵ¿á½∞¡«ú« Σá⌐½á (á½ú«α¿Γ¼ namei);   │
  2120.     │     ¿ºó½Ñτ∞ ßΓáαΦ¿⌐ ¿ ¼½áñΦ¿⌐ ¡«¼Ñαá ñѼ«¡Γ¿απѼ«ú« πßΓα«⌐-│
  2121.     │      ßΓóá;                                                 │
  2122.     │     »«½πτ¿Γ∞ ó Γáí½¿µÑ ¼«¡Γ¿α«óá¡¿∩ ºá»¿ß∞ ñ½∩ ñѼ«¡Γ¿απÑ- │
  2123.     │      ¼«⌐ ß¿ßΓѼδ, ¿ßσ«ñ∩ ¿º ßΓáαΦÑú« ¿ ¼½áñΦÑú« ¡«¼Ñα«ó;   │
  2124.     │     «ßó«í«ñ¿Γ∞ ¿¡ñѬߠ߻ѵ¿á½∞¡«ú« Σá⌐½á (á½ú«α¿Γ¼ iput);  │
  2125.     │     πñ὿Γ∞ ¿º Γáí½¿µδ «í½áßΓÑ⌐ ºá»¿ß¿ ß αáºñѽ∩Ñ¼δ¼ ΓѬß- │
  2126.     │      Γ«¼ ñ½∩ Σá⌐½«ó, »α¿¡áñ½ÑªáΘ¿σ Σá⌐½«ó«⌐                │
  2127.     │      ß¿ßΓѼÑ;                     /* ú½áóá 7σσσ */         │
  2128.     │     ß¬«ααÑ¬Γ¿α«óáΓ∞ ßπ»Ñαí½«¬, ¿¡ñѬßδ, óδúαπº¿Γ∞ íπΣÑαδ   │
  2129.     │      ¡á ñ¿ß¬;                                              │
  2130.     │     Ñß½¿ (¬á¬¿Ñ-Γ« Σá⌐½δ ¿º Σá⌐½«ó«⌐ ß¿ßΓѼδ óßÑ ÑΘÑ ¿ß-   │
  2131.     │      »«½∞ºπεΓß∩)                                           │
  2132.     │          ó«ºóαáΓ¿Γ∞ («Φ¿í¬π);                              │
  2133.     │     »«½πτ¿Γ∞ ¿º Γáí½¿µδ ¼«¡Γ¿α«óá¡¿∩ ¬«α¡Ñó«⌐ ¿¡ñѬߠ¼«¡Γ¿-│
  2134.     │      α«óá¡¡«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼδ;                            │
  2135.     │     ºáí½«¬¿α«óáΓ∞ ¿¡ñѬß;                                  │
  2136.     │     «ßó«í«ñ¿Γ∞ ¿¡ñѬߠ(á½ú«α¿Γ¼ iput);  /* iget íδ½ »α¿    │
  2137.     │                                            ¼«¡Γ¿α«óá¡¿¿ */ │
  2138.     │     ºá»πßΓ¿Γ∞ »α«µÑñπαπ ºá¬αδΓ¿∩ ñ½∩ ß»Ñµ¿á½∞¡«ú« πßΓα«⌐-  │
  2139.     │      ßΓóá;                                                 │
  2140.     │     ßñѽáΓ∞ ¡ÑñÑ⌐ßΓó¿Γѽ∞¡δ¼¿ («Γ¼Ñ¡¿Γ∞) ó »π½Ñ íπΣÑαδ ¿º  │
  2141.     │      ñѼ«¡Γ¿απѼ«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼδ;                       │
  2142.     │     »«½πτ¿Γ∞ ¿º Γáí½¿µδ ¼«¡Γ¿α«óá¡¿∩ ¿¡ñÑ¬ß Γ«τ¬¿ ¼«¡Γ¿α«- │
  2143.     │      óá¡¿∩;                                                │
  2144.     │     ºáí½«¬¿α«óáΓ∞ ¿¡ñѬß;                                  │
  2145.     │     «τ¿ßΓ¿Γ∞ Σ½áú, »«¼ÑτáεΘ¿⌐ ¿¡ñѬߠ¬á¬ "Γ«τ¬π ¼«¡Γ¿α«óá- │
  2146.     │      ¡¿∩";                                                 │
  2147.     │     «ßó«í«ñ¿Γ∞ ¿¡ñѬߠ(á½ú«α¿Γ¼ iput);  /* iget íδ½ »α¿    │
  2148.     │                                            ¼«¡Γ¿α«óá¡¿¿ */ │
  2149.     │     «ßó«í«ñ¿Γ∞ íπΣÑα, ¿ß»«½∞ºπѼδ⌐ »«ñ ßπ»Ñαí½«¬;          │
  2150.     │     «ßó«í«ñ¿Γ∞ ó Γáí½¿µÑ ¼«¡Γ¿α«óá¡¿∩ ¼ÑßΓ«, ºá¡∩Γ«Ñ αá¡ÑÑ;│
  2151.     │ }                                                          │
  2152.     └────────────────────────────────────────────────────────────┘
  2153.  
  2154.         É¿ßπ¡«¬ 5.27. Ç½ú«α¿Γ¼ ñѼ«¡Γ¿α«óá¡¿∩ Σá⌐½«ó«⌐ ß¿ßΓѼδ
  2155.  
  2156.  
  2157.  
  2158. ÑΓ ¿º ñαá⌐óÑαá »α«µÑñπαπ ºá¬αδΓ¿∩ πßΓα«⌐ßΓóá, ß«ñÑαªáΘÑú« Σá⌐½«óπε  ß¿ßΓѼπ.
  2159. 黫߽ÑñßΓó¿¿  ∩ñα«  »α«ß¼áΓα¿óáÑΓ íπΣÑαδ ó íπΣÑα¡«¼ ¬ÑΦÑ ¿ ñѽáÑΓ ¡ÑñÑ⌐ßΓó¿-
  2160. Γѽ∞¡δ¼¿ ΓÑ ¿º ¡¿σ, ó ¬«Γ«αδσ ¡áσ«ñ∩Γß∩ í½«¬¿ ñѼ«¡Γ¿απѼ«⌐ Σá⌐½«ó«⌐  ß¿ßΓÑ-
  2161. ¼δ;  ó  σαá¡Ñ¡¿¿  ¿¡Σ«α¼áµ¿¿ ¿º φΓ¿σ í½«¬«ó ó ¬ÑΦÑ í«½∞ΦÑ ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿.
  2162. äѽá∩ íπΣÑαδ ¡ÑñÑ⌐ßΓó¿Γѽ∞¡δ¼¿, ∩ñα« óßΓáó½∩ÑΓ ¿σ ó ¡áτὫ ß»¿ß¬á  ßó«í«ñ¡δσ
  2163. íπΣÑα«ó,  ó  Γ« óαѼ∩ ¬á¬ í½«¬¿ ß á¬Γπá½∞¡«⌐ ¿¡Σ«α¼áµ¿Ñ⌐ «ßΓáεΓß∩ ó íπΣÑα¡«¼
  2164. ¬ÑΦÑ. ƒñα« ßíαáßδóáÑΓ ó ¿¡ñѬßÑ  ß¿ßΓѼδ,  úñÑ  »α«¿ºó«ñ¿½«ß∞  ¼«¡Γ¿α«óá¡¿Ñ,
  2165. Σ½áú  "Γ«τ¬¿  ¼«¡Γ¿α«óá¡¿∩", πßΓá¡«ó½Ñ¡¡δ⌐ Σπ¡¬µ¿Ñ⌐ mount, ¿ «ßó«í«ªñáÑΓ ¿¡-
  2166. ñѬß. Å«¼ÑΓ¿ó ºá»¿ß∞ ó Γáí½¿µÑ ¼«¡Γ¿α«óá¡¿∩ ßó«í«ñ¡«⌐ ñ½∩ «íΘÑú« ¿ß»«½∞º«óá-
  2167. ¡¿∩, Σπ¡¬µ¿∩ umount ºáóÑαΦáÑΓ αáí«Γπ.
  2168.  
  2169.  
  2170.  
  2171.                                     119
  2172.  
  2173.                                 /
  2174.                                 │
  2175.                                usr
  2176.                    ┌────────────┴─────────────┐
  2177.                    │                          │
  2178.                   src                      include
  2179.                    │                     ┌────┴────┐
  2180.                   uts                   sys    realfile.h
  2181.                    │                     ∙         ∙
  2182.                   sys ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙         ∙
  2183.            ┌───────┴───────┐                       ∙
  2184.         inode.h        testfile.h ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
  2185.  
  2186.     É¿ßπ¡«¬ 5.28.  öá⌐½δ  ó ñÑαÑóÑ Σá⌐½«ó«⌐ ß¿ßΓѼδ,  ßó∩ºá¡¡δÑ ß
  2187.                    »«¼«Θ∞ε Σπ¡¬µ¿¿ link
  2188.  
  2189.  
  2190.     E5.15 LINKF
  2191.  
  2192.     æ¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ link ßó∩ºδóáÑΓ Σá⌐½ ß ¡«óδ¼ ¿¼Ñ¡Ñ¼ ó ßΓαπ¬ΓπαÑ ¬áΓὫ-
  2193. ú«ó Σá⌐½«ó«⌐ ß¿ßΓѼδ, ß«ºñáóá∩ ñ½∩ ßπΘÑßΓóπεΘÑú« ¿¡ñѬßá ¡«óπε ºá»¿ß∞ ó  ¬á-
  2194. ΓὫúÑ. æ¿¡Γá¬ß¿ß ó맮óá Σπ¡¬µ¿¿ link:
  2195.  
  2196.     link(source file name, target file name);
  2197.  
  2198. úñÑ  source  file  name - ßπΘÑßΓóπεΘÑÑ ¿¼∩ Σá⌐½á, á target file name - ¡«ó«Ñ
  2199. (ñ«»«½¡¿Γѽ∞¡«Ñ) ¿¼∩, »α¿ßóá¿óáѼ«Ñ Σá⌐½π  »«ß½Ñ  óδ»«½¡Ñ¡¿∩  Σπ¡¬µ¿¿  link.
  2200. öá⌐½«óá∩ ß¿ßΓѼá σαá¡¿Γ ¿¼∩ »πΓ¿ »«¿ß¬á ñ½∩ ¬áªñ«⌐ ßó∩º¿, ¿¼ÑεΘÑ⌐ß∩ π Σá⌐½á,
  2201. ¿  »α«µÑßßδ  ¼«úπΓ «íαáΘáΓ∞ß∩ ¬ Σá⌐½π »« ½εí«¼π ¿º φΓ¿σ ¿¼Ñ¡. ƒñα« ¡Ñ º¡áÑΓ,
  2202. ¬á¬«Ñ ¿º ¿¼Ñ¡ Σá⌐½á ∩ó½∩ÑΓß∩ Ñú« »«ñ½¿¡¡δ¼ ¿¼Ñ¡Ñ¼, »«φΓ«¼π ¿¼∩ Σá⌐½á  ß»Ñµ¿-
  2203. á½∞¡« ¡Ñ «íαáíáΓδóáÑΓß∩. ìá»α¿¼Ñα, »«ß½Ñ óδ»«½¡Ñ¡¿∩ ¡áí«αá Σπ¡¬µ¿⌐:
  2204.  
  2205.    link("/usr/src/uts/sys","/usr/include/sys");
  2206.    link("/usr/include/realfile.h","/usr/src/uts/sys/testfile.h");
  2207.  
  2208. ¡á «ñ¿¡ ¿ Γ«Γ ªÑ Σá⌐½ íπñπΓ  π¬áºδóáΓ∞  Γα¿  ¿¼Ñ¡¿  »πΓ¿  »«¿ß¬á:
  2209.  
  2210. "/usr/src/uts/sys/testfile.h",  "/usr/include/sys/testfile.h"   ¿
  2211. "/usr/include/realfile" (ß¼. É¿ßπ¡«¬ 5.28).
  2212.  
  2213.     ƒñα«  »«ºó«½∩ÑΓ ßπ»Ñα»«½∞º«óáΓѽε (¿ Γ«½∞¬« Ñ¼π) ßó∩ºδóáΓ∞ ¬áΓὫú¿, π»-
  2214. α«Θá∩ ¡á»¿ßá¡¿Ñ »α«úαá¼¼, ΓαÑíπεΘ¿σ »ÑαÑßÑτÑ¡¿∩ ñÑαÑóá Σá⌐½«ó«⌐ ß¿ßΓѼδ. àß-
  2215. ½¿ íδ φΓ« í佫 αáºαÑΦÑ¡« »α«¿ºó«½∞¡«¼π »«½∞º«óáΓѽε, »α«úαá¼¼á¼,  »ÑαÑßѬáε-
  2216. Θ¿¼  ¿Ñαáασ¿τÑ߬πε  ßΓαπ¬Γπαπ Σá⌐½«ó, »α¿Φ½«ß∞ íδ ºáí«Γ¿Γ∞ß∩ « Γ«¼, τΓ«íδ ¡Ñ
  2217. »«»áßΓ∞ ó íÑ߬«¡Ñτ¡δ⌐ µ¿¬½ ó Γ«¼ ß½πτáÑ, Ñß½¿ »«½∞º«óáΓѽ∞ ßó∩ºá½ ¬áΓὫú  ß
  2218. óÑαΦ¿¡«⌐, ßΓ«∩ΘÑ⌐ ¡¿ªÑ ó ¿Ñαáασ¿¿. ÅαÑñ»«½áúáÑΓß∩, τΓ« ßπ»Ñα»«½∞º«óáΓѽ¿ í«-
  2219. ½ÑÑ «ßë᫪¡δ ó π¬áºá¡¿¿ Γᬿσ ßó∩ºÑ⌐. é«º¼«ª¡«ßΓ∞ ßó∩ºδóáΓ∞ ¼Ñªñπ ß«í«⌐ ¬á-
  2220. ΓὫú¿ ñ«½ª¡á íδ½á »«ññÑনóáΓ∞ß∩ ó αá¡¡¿σ óÑαß¿∩σ ß¿ßΓѼδ, Γᬠ¬á¬ φΓá ó«º-
  2221. ¼«ª¡«ßΓ∞ ΓαÑíπÑΓß∩ ñ½∩ αÑ὿ºáµ¿¿ ¬«¼á¡ñδ mkdir, ¬«Γ«αá∩ ß«ºñáÑΓ ¡«óδ⌐ ¬áΓá-
  2222. ½«ú. é¬½ετÑ¡¿Ñ Σπ¡¬µ¿¿ mkdir πßΓαá¡∩ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ∞ ó ßó∩ºδóá¡¿¿ ¬áΓὫú«ó.
  2223.     ìá  É¿ßπ¡¬Ñ  5.29 »«¬áºá¡ á½ú«α¿Γ¼ Σπ¡¬µ¿¿ link. æ¡áτá½á ∩ñα«, ¿ß»«½∞ºπ∩
  2224. á½ú«α¿Γ¼ namei, «»αÑñѽ∩ÑΓ ¼ÑßΓ«¡áσ«ªñÑ¡¿Ñ ¿¡ñѬßá ¿ßσ«ñ¡«ú« Σá⌐½á, πóѽ¿τ¿-
  2225. óáÑΓ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ßó∩ºÑ⌐ ó ¿¡ñѬßÑ, ¬«ααÑ¬Γ¿απÑΓ ñ¿ß¬«óπε ¬«»¿ε ¿¡ñѬßá
  2226. (ñ½∩ «íÑß»ÑτÑ¡¿∩ ß«ú½áß«óá¡¡«ßΓ¿) ¿ ß¡¿¼áÑΓ ß ¿¡ñѬßá í½«¬¿α«ó¬π. çáΓѼ ∩ñα«
  2227. ¿ΘÑΓ Σá⌐½ ß ¡«óδ¼ ¿¼Ñ¡Ñ¼; Ñß½¿ «¡ ßπΘÑßΓóπÑΓ, Σπ¡¬µ¿∩ link ºáóÑαΦáÑΓß∩  ¡Ñπ-
  2228. ñáτ¡«  ¿  ∩ñα«  ó«ßßΓá¡áó½¿óáÑΓ »αѪ¡ÑÑ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ßó∩ºÑ⌐, ¿º¼Ñ¡Ñ¡¡«Ñ
  2229. αá¡ÑÑ. é »α«Γ¿ó¡«¼ ß½πτáÑ ∩ñα« ¡áσ«ñ¿Γ ó α«ñ¿Γѽ∞߬«¼ ¬áΓὫúÑ ßó«í«ñ¡πε ºá-
  2230. »¿ß∞ ñ½∩ Σá⌐½á ß ¡«óδ¼ ¿¼Ñ¡Ñ¼, ºá»¿ßδóáÑΓ ó ¡ÑÑ ¡«ó«Ñ ¿¼∩  ¿  ¡«¼Ñα  ¿¡ñѬßá
  2231. ¿ßσ«ñ¡«ú« Σá⌐½á ¿ «ßó«í«ªñáÑΓ ¿¡ñѬߠα«ñ¿Γѽ∞߬«ú« ¬áΓὫúá, ¿ß»«½∞ºπ∩ á½ú«-
  2232.  
  2233.                                     120
  2234.  
  2235.     ┌────────────────────────────────────────────────────────────┐
  2236.     │ á½ú«α¿Γ¼ link                                              │
  2237.     │ óσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩:  ßπΘÑßΓóπεΘÑÑ ¿¼∩ Σá⌐½á                │
  2238.     │                      ¡«ó«Ñ ¿¼∩ Σá⌐½á                       │
  2239.     │ óδσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩: «ΓßπΓßΓóπÑΓ                           │
  2240.     │ {                                                          │
  2241.     │    »«½πτ¿Γ∞ ¿¡ñѬߠñ½∩ ßπΘÑßΓóπεΘÑú« ¿¼Ñ¡¿ Σá⌐½á (á½ú«α¿Γ¼ │
  2242.     │     namei);                                                │
  2243.     │    Ñß½¿ (π Σá⌐½á ß½¿Φ¬«¼ ¼¡«ú« ßó∩ºÑ⌐ ¿½¿ »α«¿ºó«ñ¿Γß∩     │
  2244.     │     ßó∩ºδóá¡¿Ñ ¬áΓὫúá íѺ αáºαÑΦÑ¡¿∩ ßπ»Ñα»«½∞º«óáΓѽ∩)  │
  2245.     │    {                                                       │
  2246.     │        «ßó«í«ñ¿Γ∞ ¿¡ñѬߠ(á½ú«α¿Γ¼ iput);                  │
  2247.     │        ó«ºóαáΓ¿Γ∞ («Φ¿í¬π);                                │
  2248.     │    }                                                       │
  2249.     │    πóѽ¿τ¿Γ∞ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ßó∩ºÑ⌐ ó ¿¡ñѬßÑ;           │
  2250.     │    «Γ¬«ααÑ¬Γ¿α«óáΓ∞ ñ¿ß¬«óπε ¬«»¿ε ¿¡ñѬßá;                │
  2251.     │    ß¡∩Γ∞ í½«¬¿α«ó¬π ß ¿¡ñѬßá;                             │
  2252.     │    »«½πτ¿Γ∞ ¿¡ñѬߠα«ñ¿Γѽ∞߬«ú« ¬áΓὫúá ñ½∩ ó¬½ετÑ¡¿∩ ¡«-│
  2253.     │     ó«ú« ¿¼Ñ¡¿ Σá⌐½á (á½ú«α¿Γ¼ namei);                     │
  2254.     │    Ñß½¿ (Σá⌐½ ß ¡«óδ¼ ¿¼Ñ¡Ñ¼ πªÑ ßπΘÑßΓóπÑΓ ¿½¿ ßπΘÑßΓóπε- │
  2255.     │     Θ¿⌐ Σá⌐½ ¿ ¡«óδ⌐ Σá⌐½ ¡áσ«ñ∩Γß∩ ó αạδσ Σá⌐½«óδσ ß¿ß- │
  2256.     │     ΓѼáσ)                                                 │
  2257.     │    {                                                       │
  2258.     │        «Γ¼Ñ¡¿Γ∞ ¬«ααÑ¬Γ¿α«ó¬π, ßñѽᡡπε óδΦÑ;             │
  2259.     │        ó«ºóαáΓ¿Γ∞ («Φ¿í¬π);                                │
  2260.     │    }                                                       │
  2261.     │    ß«ºñáΓ∞ ºá»¿ß∞ ó α«ñ¿Γѽ∞߬«¼ ¬áΓὫúÑ ñ½∩ Σá⌐½á ß ¡«-  │
  2262.     │     óδ¼ ¿¼Ñ¡Ñ¼:                                            │
  2263.     │        ó¬½ετ¿Γ∞ ó ¡ÑÑ ¡«ó«Ñ ¿¼∩ ¿ ¡«¼Ñα ¿¡ñѬßá ßπΘÑßΓóπε- │
  2264.     │         ΘÑú« Σá⌐½á;                                        │
  2265.     │    «ßó«í«ñ¿Γ∞ ¿¡ñѬߠα«ñ¿Γѽ∞߬«ú« ¬áΓὫúá (á½ú«α¿Γ¼      │
  2266.     │     iput);                                                 │
  2267.     │    «ßó«í«ñ¿Γ∞ ¿¡ñѬߠßπΘÑßΓóπεΘÑú« Σá⌐½á (á½ú«α¿Γ¼ iput);  │
  2268.     │ }                                                          │
  2269.     └────────────────────────────────────────────────────────────┘
  2270.  
  2271.               É¿ßπ¡«¬ 5.29. Ç½ú«α¿Γ¼ ßó∩ºδóá¡¿∩ Σá⌐½«ó
  2272.  
  2273.  
  2274. α¿Γ¼  iput.  Å«ß¬«½∞¬π Σá⌐½ ß ¡«óδ¼ ¿¼Ñ¡Ñ¼ αá¡ÑÑ ¡Ñ ßπΘÑßΓó«óá½, «ßó«í«ªñáΓ∞
  2275. ÑΘÑ ¬á¬«⌐-¡¿íπñ∞ ¿¡ñѬߠ¡Ñ ¡πª¡«. ƒñα«, «ßó«í«ªñá∩ ¿¡ñѬߠ ¿ßσ«ñ¡«ú«  Σá⌐½á,
  2276. ñѽáÑΓ  ºá¬½ετÑ¡¿Ñ:  ßτÑΓτ¿¬  ßó∩ºÑ⌐ ó ¿¡ñѬßÑ ¿¼ÑÑΓ º¡áτÑ¡¿Ñ, ¡á 1 í«½∞ΦÑÑ,
  2277. τѼ Γ« º¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ ßτÑΓτ¿¬ ¿¼Ñ½ »ÑαÑñ óδº«ó«¼ Σπ¡¬µ¿¿, ¿  «íαáΘÑ¡¿Ñ  ¬
  2278. Σá⌐½π  ΓÑ»Ñα∞  ¼«ªÑΓ  »α«¿ºó«ñ¿Γ∞ß∩  »« ÑΘÑ «ñ¡«¼π ¿¼Ñ¡¿ ó Σá⌐½«ó«⌐ ß¿ßΓѼÑ.
  2279. æτÑΓτ¿¬ ßó∩ºÑ⌐ σαá¡¿Γ ¬«½¿τÑßΓ󫠺ỿßÑ⌐ ó ¬áΓὫúáσ, ¬«Γ«αδÑ (ºá»¿ß¿)  π¬á-
  2280. ºδóáεΓ ¡á Σá⌐½, ¿ ΓѼ ßá¼δ¼ «Γ½¿τáÑΓß∩ «Γ ßτÑΓτ¿¬á ßß佫¬ ó ¿¡ñѬßÑ. àß½¿ »«
  2281. ºáóÑαΦÑ¡¿¿  óδ»«½¡Ñ¡¿∩  Σπ¡¬µ¿¿ link ¬ Σá⌐½π ¡ÑΓ «íαáΘÑ¡¿⌐ ß« ßΓ«α«¡δ ñαπú¿σ
  2282. »α«µÑßß«ó, ßτÑΓτ¿¬ ßß佫¬ ó ¿¡ñѬßÑ »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ, αáó¡«Ñ 0, á  ßτÑΓτ¿¬
  2283. ßó∩ºÑ⌐ - º¡áτÑ¡¿Ñ, í«½∞ΦÑÑ ¿½¿ αáó¡«Ñ 2.
  2284.     ìá»α¿¼Ñα, óδ»«½¡∩∩ Σπ¡¬µ¿ε, óδºóá¡¡πε ¬á¬:
  2285.     link("source","/dir/target");
  2286.  
  2287. ∩ñα«  «í¡áαπª¿óáÑΓ  ¿¡ñѬߠ ñ½∩  Σá⌐½á  "source", πóѽ¿τ¿óáÑΓ ó ¡Ñ¼ º¡áτÑ¡¿Ñ
  2288. ßτÑΓτ¿¬á ßó∩ºÑ⌐, ºá»«¼¿¡áÑΓ ¡«¼Ñα ¿¡ñѬßá, ß¬áªÑ¼ 74, ¿  ß¡¿¼áÑΓ  ß  ¿¡ñѬßá
  2289. í½«¬¿α«ó¬π.  ƒñα« ΓᬪѠ¡áσ«ñ¿Γ ¿¡ñѬߠ¬áΓὫúá "dir", ∩ó½∩εΘÑú«ß∩ α«ñ¿Γѽ∞-
  2290. ߬¿¼ ¬áΓὫú«¼ ñ½∩ Σá⌐½á "target", ¿ΘÑΓ ßó«í«ñ¡«Ñ ¼ÑßΓ« ó ¬áΓὫúÑ  "dir"  ¿
  2291. ºá»¿ßδóáÑΓ  ó  ¡Ñú« ¿¼∩ Σá⌐½á "target" ¿ ¡«¼Ñα ¿¡ñѬßá 74. Å« «¬«¡τá¡¿¿ φΓ¿σ
  2292. ñÑ⌐ßΓó¿⌐ «¡« «ßó«í«ªñáÑΓ ¿¡ñѬߠΣá⌐½á "source" »« á½ú«α¿Γ¼π iput. àß½¿  º¡á-
  2293. τÑ¡¿Ñ ßτÑΓτ¿¬á ßó∩ºÑ⌐ Σá⌐½á "source" αá¡∞ΦÑ í佫 αáó¡« 1, Γ« ΓÑ»Ñα∞ «¡« αáó-
  2294.  
  2295.                                     121
  2296.  
  2297. ¡« 2.
  2298.     æΓ«¿Γ π»«¼∩¡πΓ∞ « ñóπσ Γπ»¿¬«óδσ ß¿Γπᵿ∩σ, ∩ó¿óΦ¿σß∩ »α¿τ¿¡«⌐ Γ«ú«, τΓ«
  2299. »α«µÑßß ß¡¿¼áÑΓ ß ¿¡ñѬßá ¿ßσ«ñ¡«ú« Σá⌐½á í½«¬¿α«ó¬π »«ß½Ñ πóѽ¿τÑ¡¿∩ º¡áτÑ-
  2300. ¡¿∩  ßτÑΓτ¿¬á ßó∩ºÑ⌐. àß½¿ íδ ∩ñα« ¡Ñ ß¡¿¼á½« ß ¿¡ñѬßá í½«¬¿α«ó¬π, ñóá »α«-
  2301. µÑßßá, óδ»«½¡∩εΘ¿Ñ «ñ¡«óαѼѡ¡« ß½ÑñπεΘ¿Ñ Σπ¡¬µ¿¿:
  2302.  
  2303.     »α«µÑßß A:       link("a/b/c/d","e/f/g");
  2304.     »α«µÑßß B:       link("e/f","a/b/c/d/ee");
  2305.  
  2306. ºáΦ½¿ íδ ó Γπ»¿¬ (óºá¿¼¡á∩ í½«¬¿α«ó¬á). ÅαÑñ»«½«ª¿¼, τΓ« »α«µÑßß A «í¡áαπª¿½
  2307. ¿¡ñѬߠΣá⌐½á "a/b/c/d" ó Γ«Γ ßá¼δ⌐ ¼«¼Ñ¡Γ, ¬«úñá »α«µÑßß B «í¡áαπª¿½  ¿¡ñѬß
  2308. Σá⌐½á "e/f". öαáºá "ó Γ«Γ ªÑ ßá¼δ⌐ ¼«¼Ñ¡Γ" «º¡áτáÑΓ, τΓ« ß¿ßΓѼ«⌐ ñ«ßΓ¿ú¡πΓ«
  2309. ß«ßΓ«∩¡¿Ñ,  »α¿ ¬«Γ«α«¼ ¬áªñδ⌐ »α«µÑßß »«½πτ¿½ ¿ß¬«¼δ⌐ ¿¡ñѬß. (É¿ßπ¡«¬ 5.30
  2310. ¿½½εßΓα¿απÑΓ ßΓáñ¿¿ óδ»«½¡Ñ¡¿∩ »α«µÑßß«ó.) è«úñᠪѠΓÑ»Ñα∞ »α«µÑßß A »«»δΓá-
  2311. ÑΓß∩ »«½πτ¿Γ∞ ¿¡ñѬߠΣá⌐½á "e/f", «¡ »α¿«ßΓá¡«ó¿Γ  ßó«Ñ  óδ»«½¡Ñ¡¿Ñ  ñ«  ΓÑσ
  2312. »«α,  »«¬á ¿¡ñѬߠΣá⌐½á "f" ¡Ñ «ßó«í«ñ¿Γß∩. é Γ« ªÑ óαѼ∩ »α«µÑßß B »δΓáÑΓß∩
  2313. »«½πτ¿Γ∞ ¿¡ñѬߠ¬áΓὫúá "a/b/c/d" ¿ »α¿«ßΓá¡áó½¿óáÑΓß∩ ó «ª¿ñá¡¿¿  «ßó«í«ª-
  2314. ñÑ¡¿∩  ¿¡ñѬßá Σá⌐½á "d". Åα«µÑßß A íπñÑΓ πñÑনóáΓ∞ ºáí½«¬¿α«óá¡¡δ¼ ¿¡ñѬß,
  2315. ¡πª¡δ⌐ »α«µÑßßπ B, á »α«µÑßß B, ó ßó«ε «τÑαÑñ∞, íπñÑΓ πñÑনóáΓ∞  ºáí½«¬¿α«-
  2316. óá¡¡δ¼  ¿¡ñѬß, ¡πª¡δ⌐ »α«µÑßßπ A. ìá »αá¬Γ¿¬Ñ φëଽáßß¿τÑ߬¿⌐ »α¿¼Ñα óºá-
  2317. ¿¼¡«⌐ í½«¬¿α«ó¬¿ ¡Ñ󫺼«ªÑ¡ í½áú«ñáα∩ Γ«¼π, τΓ« ∩ñα« «ßó«í«ªñáÑΓ ¿¡ñѬߠ ¿ß-
  2318. σ«ñ¡«ú« Σá⌐½á »«ß½Ñ πóѽ¿τÑ¡¿∩ º¡áτÑ¡¿∩ ßτÑΓτ¿¬á ßó∩ºÑ⌐. Å«ß¬«½∞¬π »Ñαóδ⌐ ¿º
  2319. αÑßπαß«ó (¿¡ñѬß) ßó«í«ñÑ¡ »α¿ «íαáΘÑ¡¿¿ ¬ ß½ÑñπεΘѼπ αÑßπαßπ, óºá¿¼¡á∩ í½«-
  2320. ¬¿α«ó¬á ¡Ñ »α«¿ßσ«ñ¿Γ.
  2321.     æ½ÑñπεΘ¿⌐  »α¿¼Ñα »«¬áºδóáÑΓ, ¬á¬ ñóá »α«µÑßßá ¼«úπΓ ºá⌐Γ¿ ó Γπ»¿¬, Ñß½¿
  2322. ß ¿¡ñѬßá ¡Ñ íδ½á ß¡∩Γá í½«¬¿α«ó¬á. Äñ¿¡«τ¡δ⌐ »α«µÑßß ¼«ªÑΓ ΓᬪѠºáí½«¬¿α«-
  2323. óáΓ∞ ßἫú« ßÑí∩. àß½¿ «¡ óδºδóáÑΓ Σπ¡¬µ¿ε:
  2324.  
  2325.     link("a/b/c","a/b/c/d");
  2326.  
  2327. Γ« ó ¡áτá½Ñ á½ú«α¿Γ¼á «¡ »«½πτáÑΓ ¿¡ñѬߠñ½∩ Σá⌐½á "c"; Ñß½¿ íδ ∩ñα« ¡Ñ ß¡¿-
  2328. ¼á½« íδ ß ¿¡ñѬßá í½«¬¿α«ó¬π, »α«µÑßß ºáΦѽ íδ ó Γπ»¿¬, ºá»α«ß¿ó ¿¡ñѬߠ "c"
  2329. »α¿  »«¿ß¬Ñ Σá⌐½á "d". àß½¿ íδ ñóá »α«µÑßßá, ¿½¿ ñáªÑ «ñ¿¡ »α«µÑßß, ¡Ñ ¼«ú½¿
  2330. »α«ñ«½ªáΓ∞ ßó«Ñ óδ»«½¡Ñ¡¿Ñ ¿º-ºá óºá¿¼¡«⌐ í½«¬¿α«ó¬¿  (¿½¿  ßá¼«í½«¬¿α«ó¬¿),
  2331. τΓ«  ó  αѺπ½∞ΓáΓÑ  »α«¿º«Φ½« íδ ó ß¿ßΓѼѠ? Å«ß¬«½∞¬π ¿¡ñѬßδ ∩ó½∩εΓß∩ ΓѼ¿
  2332. αÑßπαßἿ, ¬«Γ«αδÑ »αÑñ«ßΓáó½∩εΓß∩ ß¿ßΓѼ«⌐  ºá  ¬«¡Ñτ¡«Ñ  óαѼ∩,  »«½πτÑ¡¿Ñ
  2333. ß¿ú¡á½á  ¡Ñ  ¼«ªÑΓ íδΓ∞ »α¿τ¿¡«⌐ ó«º«í¡«ó½Ñ¡¿∩ »α«µÑßß«¼ ßó«Ñ⌐ αáí«Γδ (ú½áóá
  2334. 7). æ½Ññ«óáΓѽ∞¡«, ß¿ßΓѼᠡѠ¼«ªÑΓ óδ⌐Γ¿ ¿º Γπ»¿¬á íѺ »ÑαѺáúαπº¬¿. àß½¿ ¬
  2335. Σá⌐½á¼, ºáí½«¬¿α«óá¡¡δ¼ »α«µÑßßἿ, ¡ÑΓ «íαáΘÑ¡¿⌐ ß« ßΓ«α«¡δ ñαπú¿σ  »α«µÑß-
  2336. ß«ó,  óºá¿¼¡á∩ í½«¬¿α«ó¬á ¡Ñ ºáΓαáú¿óáÑΓ «ßΓá½∞¡δÑ »α«µÑßßδ ó ß¿ßΓѼÑ. Äñ¡á-
  2337. ¬«, ½εíδÑ »α«µÑßßδ,
  2338. «íαáΓ¿óΦ¿Ñß∩ ¬ φΓ¿¼ Σá⌐½á¼ (¿½¿ «íαáΓ¿óΦ¿Ñß∩ ¬ ñαπú¿¼ Σá⌐½á¼ τÑαѺ  ºáí½«¬¿-
  2339. α«óá¡¡δ⌐ ¬áΓὫú), ¡Ñ»αѼѡ¡« ºá⌐ñπΓ ó Γπ»¿¬. Æá¬¿¼ «íαẫ¼, Ñß½¿ ºáí½«¬¿α«-
  2340. óá¡δ  Σá⌐½δ  "/bin"  ¿½¿  "/usr/bin"  («íδτ¡δÑ  σαá¡¿½¿Θá  ¬«¼á¡ñ)  ¿½¿ Σá⌐½
  2341. "/bin/sh" (¬«¼á¡ñ¡δ⌐ »α«µÑßß«α shell), »«ß½ÑñßΓó¿∩ ñ½∩ ß¿ßΓѼδ íπñπΓ ú¿íѽ∞-
  2342. ¡δ¼¿.
  2343.  
  2344.  
  2345.     E5.16 UNLINKF
  2346.  
  2347.     æ¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ unlink πñá½∩ÑΓ ¿º ¬áΓὫúá Γ«τ¬π óσ«ñá ñ½∩ Σá⌐½á. æ¿¡-
  2348. Γá¬ß¿ß ó맮óá Σπ¡¬µ¿¿ unlink:
  2349.  
  2350.     unlink(pathname);
  2351.  
  2352. úñÑ pathname π¬áºδóáÑΓ ¿¼∩ Σá⌐½á, πñá½∩Ѽ«Ñ ¿º ¿Ñαáασ¿¿ ¬áΓὫú«ó. àß½¿ »α«-
  2353. µÑßß αáºαδóáÑΓ ñá¡¡πε ßó∩º∞ Σá⌐½á ß ¬áΓὫú«¼ »α¿ »«¼«Θ¿ Σπ¡¬µ¿¿ unlink,  »«
  2354. π¬áºá¡¡«¼π ó ó맮óÑ Σπ¡¬µ¿¿ ¿¼Ñ¡¿ Σá⌐½ ¡Ñ íπñÑΓ ñ«ßΓπ»Ñ¡, »«¬á ó ¬áΓὫúÑ ¡Ñ
  2355.  
  2356.  
  2357.                                     122
  2358.  
  2359.              Åα«µÑßß A                          Åα«µÑßß B
  2360.     ┌─────────────────────────────────────────────────────────────
  2361.     │            ∙                       ÅδΓáÑΓß∩ »«½πτ¿Γ∞ ¿¡ñѬß
  2362.     │            ∙                            ñ½∩ Σá⌐½á "e"
  2363.     │            ∙                       ÅÉêÄæÆÇìÄé - ¿¡ñѬߠΣá⌐½á
  2364.     │            ∙                           "e" ºáí½«¬¿α«óá¡
  2365.     │  Å«½πτáÑΓ ¿¡ñѬߠñ½∩ "a"                      ∙
  2366.     │  Äßó«í«ªñáÑΓ ¿¡ñѬߠ"a"                       ∙
  2367.     │  Å«½πτáÑΓ ¿¡ñѬߠñ½∩ "b"                      ∙
  2368.     │  Äßó«í«ªñáÑΓ ¿¡ñѬߠ"b"                       ∙
  2369.     │  Å«½πτáÑΓ ¿¡ñѬߠñ½∩ "c"                      ∙
  2370.     │  Äßó«í«ªñáÑΓ ¿¡ñѬߠ"c"                       ∙
  2371.     │  Å«½πτáÑΓ ¿¡ñѬߠñ½∩ "d"                      ∙
  2372.     │                                               ∙
  2373.     │  ÅδΓáÑΓß∩ »«½πτ¿Γ∞ ¿¡ñѬߠ                    ∙
  2374.     │          ñ½∩ "e"                              ∙
  2375.     │  ÅÉêÄæÆÇìÄé - ¿¡ñѬߠΣá⌐½á                    ∙
  2376.     │     "e" ºáí½«¬¿α«óá¡                          ∙
  2377.     │            ∙                                  ∙
  2378.     │      ┌───────────────────────────────────────────────┐
  2379.     │      │  é«º«í¡«ó½Ñ¡¿Ñ óδ»«½¡Ñ¡¿∩ - ¿¡ñѬߠΣá⌐½á "e"  │
  2380.     │      │                αáºí½«¬¿α«óá¡                  │
  2381.     │      └───────────────────────────────────────────────┘
  2382.     │            ∙                        Å«½πτáÑΓ ¿¡ñѬߠñ½∩ "e"
  2383.     │            ∙                        Äßó«í«ªñáÑΓ ¿¡ñѬߠ"e"
  2384.     │            ∙                        Å«½πτáÑΓ ¿¡ñѬߠñ½∩ "f"
  2385.     │            ∙                        Å«½πτáÑΓ ¿¡ñѬߠñ½∩ "a"
  2386.     │            ∙                        Äßó«í«ªñáÑΓ ¿¡ñѬߠ"a"
  2387.     │            ∙                                  ∙
  2388.     │            ∙                                  ∙
  2389.     │            ∙                       ÅδΓáÑΓß∩ »«½πτ¿Γ∞ ¿¡ñѬß
  2390.     │            ∙                            ñ½∩ Σá⌐½á "d"
  2391.     │            ∙                       ÅÉêÄæÆÇìÄé - ¿¡ñѬߠΣá⌐½á
  2392.     │            ∙                           "d" ºáí½«¬¿α«óá¡
  2393.     │            ∙                              »α«µÑßß«¼ A
  2394.     │            ∙
  2395.     │  Å«½πτáÑΓ ¿¡ñѬߠñ½∩ "e"
  2396.     │  Äßó«í«ªñáÑΓ ¿¡ñѬߠ"e"
  2397.     │  ÅδΓáÑΓß∩ »«½πτ¿Γ∞ ¿¡ñѬß
  2398.     │          ñ½∩ "f"
  2399.     │  ÅÉêÄæÆÇìÄé - ¿¡ñѬߠΣá⌐½á
  2400.     │     "f" ºáí½«¬¿α«óá¡
  2401.     │        »α«µÑßß«¼ B
  2402.     │              ┌───────────────────────────────┐
  2403.     │              │  Æπ»¿¬ (óºá¿¼¡á∩ í½«¬¿α«ó¬á)  │
  2404.     v              └───────────────────────────────┘
  2405.   éαѼ∩
  2406.  
  2407.     É¿ßπ¡«¬ 5.30.  éºá¿¼¡á∩  í½«¬¿α«ó¬á  »α«µÑßß«ó »α¿ óδ»«½¡Ñ¡¿¿
  2408.                    Σπ¡¬µ¿¿ link
  2409.  
  2410. ß«ºñá¡á  ÑΘÑ  «ñ¡á ºá»¿ß∞ ß φΓ¿¼ ¿¼Ñ¡Ñ¼. ìá»α¿¼Ñα, »α¿ óδ»«½¡Ñ¡¿¿ ß½ÑñπεΘÑú«
  2411. Σαáú¼Ñ¡Γá »α«úαá¼¼δ:
  2412.  
  2413.     unlink("myfile");
  2414.     fd = open("myfile",O_RDONLY);
  2415.  
  2416. Σπ¡¬µ¿∩ open ºáóÑαΦ¿Γß∩ ¡Ñπñáτ¡«, »«ß¬«½∞¬π ¬ ¼«¼Ñ¡Γπ ÑÑ óδ»«½¡Ñ¡¿∩ ó  ΓѬπ-
  2417. ΘѼ ¬áΓὫúÑ í«½∞ΦÑ ¡Ñ íπñÑΓ Σá⌐½á ß ¿¼Ñ¡Ñ¼ myfile. àß½¿ πñá½∩Ѽ«Ñ ¿¼∩ ∩ó½∩-
  2418.  
  2419.                                     123
  2420.  
  2421. ÑΓß∩ »«ß½Ññ¡Ñ⌐ ßó∩º∞ε Σá⌐½á ß ¬áΓὫú«¼, ∩ñα« ó ¿Γ«úÑ «ßó«í«ªñáÑΓ óßÑ ¿¡Σ«α-
  2422. ¼áµ¿«¡¡δÑ  í½«¬¿ Σá⌐½á. Äñ¡á¬«, Ñß½¿ π Σá⌐½á í佫 ¡Ñ߬«½∞¬« ßó∩ºÑ⌐, «¡ «ßΓá-
  2423. ÑΓß∩ óßÑ ÑΘÑ ñ«ßΓπ»¡δ¼ »«ñ ñαπú¿¼¿ ¿¼Ñ¡á¼¿.
  2424.     ìá É¿ßπ¡¬Ñ 5.31 »αÑñßΓáó½Ñ¡ á½ú«α¿Γ¼ Σπ¡¬µ¿¿ unlink. æ¡áτá½á ñ½∩  »«¿ß¬á
  2425. Σá⌐½á  ß πñá½∩Ѽ«⌐ ßó∩º∞ε ∩ñα« ¿ß»«½∞ºπÑΓ ¼«ñ¿Σ¿¬áµ¿ε á½ú«α¿Γ¼á namei, ¬«Γ«-
  2426. αá∩ ó¼ÑßΓ« ¿¡ñѬßá Σá⌐½á ó«ºóαáΘáÑΓ ¿¡ñѬߠα«ñ¿Γѽ∞߬«ú« ¬áΓὫúá. ƒñα«  «í-
  2427. αáΘáÑΓß∩  ¬ ¿¡ñѬßπ Σá⌐½á ó »á¼∩Γ¿, ¿ß»«½∞ºπ∩ á½ú«α¿Γ¼ iget. (Äß«íδ⌐ ß½πτá⌐,
  2428. ßó∩ºá¡¡δ⌐ ß πñá½Ñ¡¿Ñ¼ ¿¼Ñ¡¿ Σá⌐½á ".", íπñÑΓ αáßß¼«ΓαÑ¡ ó π»α᪡ѡ¿¿). Å«ß½Ñ
  2429. »α«óÑન «ΓßπΓßΓó¿∩ «Φ¿í«¬ ¿ (ñ½∩ ¿ß»«½¡∩Ѽδσ Σá⌐½«ó)  πñá½Ñ¡¿∩  ¿º  Γáí½¿µδ
  2430. «í½áßΓÑ⌐ ºá»¿ßÑ⌐ ß ¡Ñá¬Γ¿ó¡δ¼ αáºñѽ∩Ñ¼δ¼ ΓѬßΓ«¼ (ú½áóá 7) ∩ñα« ßΓ¿αáÑΓ ¿¼∩
  2431. Σá⌐½á  ¿º  α«ñ¿Γѽ∞߬«ú«  ¬áΓὫúá: ßñѽáΓ∞ º¡áτÑ¡¿Ñ ¡«¼Ñαá ¿¡ñѬßá αáó¡δ¼ 0
  2432. ñ«ßΓáΓ«τ¡« ñ½∩ «τ¿ßΓ¬¿ ¼ÑßΓá, ºá¡¿¼áѼ«ú« ¿¼Ñ¡Ñ¼ Σá⌐½á ó ¬áΓὫúÑ. çáΓѼ ∩ñ-
  2433. α« »α«¿ºó«ñ¿Γ ß¿¡σα«¡¡πε ºá»¿ß∞ ¬áΓὫúá ¡á ñ¿ß¬, úáαá¡Γ¿απ∩ ΓѼ ßá¼δ¼,  τΓ«
  2434. »«ñ  ßó«¿¼  »αѪ¡¿¼  ¿¼Ñ¡Ñ¼  Σá⌐½  πªÑ ¡Ñ íπñÑΓ ñ«ßΓπ»Ñ¡, π¼Ñ¡∞ΦáÑΓ º¡áτÑ¡¿Ñ
  2435. ßτÑΓτ¿¬á ßó∩ºÑ⌐ ¿ ß »«¼«Θ∞ε á½ú«α¿Γ¼á iput «ßó«í«ªñáÑΓ ó »á¼∩Γ¿ ¿¡ñѬßδ  α«-
  2436. ñ¿Γѽ∞߬«ú« ¬áΓὫúá ¿ Σá⌐½á ß πñá½∩Ѽ«⌐ ßó∩º∞ε.
  2437.     Åα¿  «ßó«í«ªñÑ¡¿¿  ó  »á¼∩Γ¿ »« á½ú«α¿Γ¼π iput ¿¡ñѬßá Σá⌐½á ß πñá½∩Ѽ«⌐
  2438. ßó∩º∞ε, Ñß½¿ º¡áτÑ¡¿∩ ßτÑΓτ¿¬á ßß佫¬ ¿ ßτÑΓτ¿¬á ßó∩ºÑ⌐  ßΓá¡«ó∩Γß∩  αáó¡δ¼¿
  2439. 0, ∩ñα« ºáí¿αáÑΓ π Σá⌐½á «íαáΓ¡« ñ¿ß¬«óδÑ í½«¬¿, ¬«Γ«αδÑ «¡ ºá¡¿¼á½. ìá φΓ«Γ
  2440. ¿¡ñѬߠ í«½∞ΦÑ ¡Ñ π¬áºδóáÑΓ ¡¿ «ñ¡« ¿º Σá⌐½«óδσ ¿¼Ñ¡ ¿ ¿¡ñѬߠ¡Ñá¬Γ¿óÑ¡. ä½∩
  2441.  
  2442.     ┌────────────────────────────────────────────────────────────┐
  2443.     │ á½ú«α¿Γ¼ unlink                                            │
  2444.     │ óσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩:  ¿¼∩ Σá⌐½á                             │
  2445.     │ óδσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩: «ΓßπΓßΓóπÑΓ                           │
  2446.     │ {                                                          │
  2447.     │    »«½πτ¿Γ∞ α«ñ¿Γѽ∞߬¿⌐ ¿¡ñѬߠñ½∩ Σá⌐½á ß πñá½∩Ѽ«⌐      │
  2448.     │     ßó∩º∞ε (á½ú«α¿Γ¼ namei);                               │
  2449.     │    /* Ñß½¿ ó ¬áτÑßΓóÑ Σá⌐½á óδßΓπ»áÑΓ ΓѬπΘ¿⌐ ¬áΓὫú... */│
  2450.     │    Ñß½¿ (»«ß½Ññ¡Ñ⌐ ¬«¼»«¡Ñ¡Γ«⌐ ¿¼Ñ¡¿ Σá⌐½á ∩ó½∩ÑΓß∩ ".")   │
  2451.     │         πóѽ¿τ¿Γ∞ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ßß佫¬ ó ¿¡ñѬßÑ;      │
  2452.     │    ó »α«Γ¿ó¡«¼ ß½πτáÑ                                      │
  2453.     │         »«½πτ¿Γ∞ ¿¡ñѬߠñ½∩ Σá⌐½á ß πñá½∩Ѽ«⌐ ßó∩º∞ε (á½ú«-│
  2454.     │          α¿Γ¼ iget);                                       │
  2455.     │    Ñß½¿ (Σá⌐½ ∩ó½∩ÑΓß∩ ¬áΓὫú«¼, ¡« »«½∞º«óáΓѽ∞ ¡Ñ ∩ó½∩- │
  2456.     │     ÑΓß∩ ßπ»Ñα»«½∞º«óáΓѽѼ)                               │
  2457.     │    {                                                       │
  2458.     │         «ßó«í«ñ¿Γ∞ ¿¡ñѬßδ (á½ú«α¿Γ¼ iput);                │
  2459.     │         ó«ºóαáΓ¿Γ∞ («Φ¿í¬π);                               │
  2460.     │    }                                                       │
  2461.     │    Ñß½¿ (Σá⌐½ ¿¼ÑÑΓ αáºñѽ∩Ѽδ⌐ ΓѬßΓ ¿ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ   │
  2462.     │     ßτÑΓτ¿¬á ßó∩ºÑ⌐ αáó¡« 1)                               │
  2463.     │         πñ὿Γ∞ ºá»¿ß¿ ¿º Γáí½¿µδ «í½áßΓÑ⌐;                │
  2464.     │    ó α«ñ¿Γѽ∞߬«¼ ¬áΓὫúÑ: «í¡π½¿Γ∞ ¡«¼Ñα ¿¡ñѬßá ñ½∩ πñá-│
  2465.     │     ½∩Ѽ«⌐ ßó∩º¿;                                          │
  2466.     │    «ßó«í«ñ¿Γ∞ ¿¡ñѬߠα«ñ¿Γѽ∞߬«ú« ¬áΓὫúá (á½ú«α¿Γ¼      │
  2467.     │     iput);                                                 │
  2468.     │    π¼Ñ¡∞Φ¿Γ∞ τ¿ß½« ßó∩ºÑ⌐ Σá⌐½á;                           │
  2469.     │    «ßó«í«ñ¿Γ∞ ¿¡ñѬߠΣá⌐½á (á½ú«α¿Γ¼ iput);                │
  2470.     │         /* iput »α«óÑα∩ÑΓ, αáó¡« ½¿ τ¿ß½« ßó∩ºÑ⌐ 0, Ñß½¿   │
  2471.     │          * ñá,                                             │
  2472.     │          * «ßó«í«ªñáÑΓ í½«¬¿ Σá⌐½á (á½ú«α¿Γ¼ free) ¿       │
  2473.     │          * «ßó«í«ªñáÑΓ ¿¡ñѬߠ(á½ú«α¿Γ¼ ifree);            │
  2474.     │          */                                                │
  2475.     │ }                                                          │
  2476.     └────────────────────────────────────────────────────────────┘
  2477.  
  2478.        É¿ßπ¡«¬ 5.31. Ç½ú«α¿Γ¼ πñá½Ñ¡¿∩ ßó∩º¿ Σá⌐½á ß ¬áΓὫú«¼
  2479.  
  2480.  
  2481.                                     124
  2482.  
  2483. Γ«ú«, τΓ«íδ ºáíαáΓ∞ ñ¿ß¬«óδÑ í½«¬¿, ∩ñα« ó µ¿¬½Ñ »α«ß¼áΓα¿óáÑΓ  Γáí½¿µπ  ß«-
  2484. ñÑন¼«ú« ¿¡ñѬßá, «ßó«í«ªñá∩ óßÑ í½«¬¿ »α∩¼«⌐ áñαÑßᵿ¿ ¡Ñ¼Ññ½Ñ¡¡« (ó ß««Γ-
  2485. óÑΓßΓó¿¿  ß  á½ú«α¿Γ¼«¼ free). ùΓ« ¬áßáÑΓß∩ í½«¬«ó ¬«ßóÑ¡¡«⌐ áñαÑßᵿ¿, ∩ñα«
  2486. «ßó«í«ªñáÑΓ óßÑ í½«¬¿, »«∩ó½∩εΘ¿Ñß∩ ¡á αẽ¿τ¡δσ πα«ó¡∩󠬫ßóÑ¡¡«ßΓ¿, αѬπα-
  2487. ß¿ó¡«, »α¿τѼ ó »Ñαóπε «τÑαÑñ∞ «ßó«í«ªñáεΓß∩ í½«¬¿ ß  ¼Ñ¡∞Φ¿¼  πα«ó¡Ñ¼.  Ä¡«
  2488. «í¡π½∩ÑΓ  ¡«¼Ñαá í½«¬«ó ó Γáí½¿µÑ ß«ñÑন¼«ú« ¿¡ñѬßá ¿ πßΓá¡áó½¿óáÑΓ αẼÑα
  2489. Σá⌐½á ó ¿¡ñѬßÑ αáó¡δ¼ 0. çáΓѼ ∩ñα« «τ¿ΘáÑΓ ó ¿¡ñѬßÑ »«½Ñ Γ¿»á Σá⌐½á, π¬á-
  2490. ºδóá∩ ΓѼ ßá¼δ¼, τΓ« ¿¡ñѬߠßó«í«ñÑ¡,  ¿  «ßó«í«ªñáÑΓ  ¿¡ñѬߠ »«  á½ú«α¿Γ¼π
  2491. ifree.  ƒñα«  ñѽáÑΓ  ¡Ñ«íσ«ñ¿¼πε ¬«ααѬµ¿ε ¡á ñ¿ß¬Ñ, Γᬠ¬á¬ ñ¿ß¬«óá∩ ¬«»¿∩
  2492. ¿¡ñѬßá óßÑ ÑΘÑ π¬áºδóáÑΓ ¡á Γ«, τΓ« ¿¡ñѬߠ¿ß»«½∞ºπÑΓß∩; ΓÑ»Ñα∞ ¿¡ñѬߠßó«-
  2493. í«ñÑ¡ ñ½∩ ¡áº¡áτÑ¡¿∩ ñαπú¿¼ Σá⌐½á¼.
  2494.  
  2495.  
  2496.     E5.16.1 ûѽ«ßΓ¡«ßΓ∞ Σá⌐½«ó«⌐ ß¿ßΓѼδF
  2497.  
  2498.     ƒñα« »«ßδ½áÑΓ ßó«¿ ºá»¿ß¿ ¡á ñ¿ß¬ ñ½∩  Γ«ú«,  τΓ«íδ  ßóÑßΓ¿  ¬  ¼¿¡¿¼π¼π
  2499. «»áß¡«ßΓ∞  ¿ß¬áªÑ¡¿∩  Σá⌐½«ó«⌐  ß¿ßΓÑ¼δ  ó ß½πτáÑ ß¿ßΓѼ¡«ú« ßí«∩. ìá»α¿¼Ñα,
  2500. ¬«úñá ∩ñα« πñá½∩ÑΓ ¿¼∩ Σá⌐½á ¿º α«ñ¿Γѽ∞߬«ú« ¬áΓὫúá, «¡« ß¿¡σα«¡¡«  »ÑαÑ-
  2501. »¿ßδóáÑΓ  ¬áΓὫú ¡á ñ¿ß¬ - »ÑαÑñ ΓѼ, ¬á¬ π¡¿τΓ«ª¿Γ∞ ß«ñÑন¼«Ñ Σá⌐½á ¿ «ß-
  2502. ó«í«ñ¿Γ∞ Ñú« ¿¡ñѬß. àß½¿ ß¿ßΓѼá ñá½á ßí«⌐ ñ« Γ«ú«, ¬á¬ »α«¿º«Φ½«  πñá½Ñ¡¿Ñ
  2503. ß«ñÑন¼«ú« Σá⌐½á, πΘÑαí Σá⌐½«ó«⌐ ß¿ßΓѼѠíπñÑΓ ¡á¡ÑßÑ¡ ¼¿¡¿¼á½∞¡δ⌐: «ñ¿¡ ¿º
  2504. ¿¡ñѬ߫ó  íπñÑΓ ¿¼ÑΓ∞ τ¿ß½« ßó∩ºÑ⌐, ¡á 1 »αÑóδΦáεΘÑÑ τ¿ß½« ºá»¿ßÑ⌐ ó ¬áΓὫ-
  2505. úÑ, ¬«Γ«αδÑ ßßδ½áεΓß∩ ¡á φëà¿¡ñѬß, ¡« óßÑ «ßΓá½∞¡δÑ  ¿¼Ñ¡á  »πΓÑ⌐  »«¿ß¬á
  2506. Σá⌐½á  «ßΓá¡πΓß∩ ñ«»πßΓ¿¼δ¼¿. àß½¿ ºá»¿ß∞ ¡á ñ¿ß¬ ¡Ñ íδ½á ßñѽá¡á ß¿¡σα«¡¡«,
  2507. Γ«τ¬á óσ«ñá ó ¬áΓὫú ¡á ñ¿ß¬Ñ »«ß½Ñ ß¿ßΓѼ¡«ú« ßí«∩ ¼«ªÑΓ π¬áºδóáΓ∞ ¡á ßó«-
  2508. í«ñ¡δ⌐ (¿½¿ »ÑαѡạáτÑ¡¡δ⌐) ¿¡ñѬß. Æá¬¿¼ «íαẫ¼, τ¿ß½« ºá»¿ßÑ⌐ ó ¬áΓὫúÑ
  2509. ¡á ñ¿ß¬Ñ, ¬«Γ«αδÑ ßßδ½áεΓß∩ ¡á ¿¡ñѬß, »αÑóδß¿½« íδ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ßß佫¬
  2510. ó ¿¡ñѬßÑ. é τáßΓ¡«ßΓ¿, Ñß½¿ ¿¼∩ Σá⌐½á í佫 ¿¼Ñ¡Ñ¼  »«ß½Ññ¡Ñ⌐  ßó∩º¿  Σá⌐½á,
  2511. φΓ«  ¿¼∩  π¬áºδóὫ  íδ ¡á ¡Ñ¡áº¡áτÑ¡¡δ⌐ ¿¡ñѬß. ìÑ óδºδóáÑΓ ß«¼¡Ñ¡¿∩, τΓ« ó
  2512. »Ñαó«¼ ß½πτáÑ πΘÑαí, ¡á¡«ß¿¼δ⌐ ß¿ßΓѼÑ, ¼Ñ¡ÑÑ ßÑα∞Ѻѡ ¿ ½Ñú¬« πßΓαá¡¿¼ (ß¼.
  2513. αáºñѽ 5.18).
  2514.  
  2515.     ÅαÑñ»«½«ª¿¼, ¡á»α¿¼Ñα, τΓ« π Σá⌐½á ÑßΓ∞ ñóÑ ßó∩º¿ ß ¿¼Ñ¡á¼¿ "a"  ¿  "b",
  2516. «ñ¡á ¿º ¬«Γ«αδσ - "a" - αáºαδóáÑΓß∩ »α«µÑßß«¼ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ unlink. àß½¿
  2517. ∩ñα« ºá»¿ßδóáÑΓ ¡á ñ¿ß¬Ñ αѺπ½∞ΓáΓδ óßÑσ ßó«¿σ ñÑ⌐ßΓó¿⌐, Γ« «¡«, «τ¿Θá∩ Γ«τ-
  2518. ¬π  óσ«ñá ó ¬áΓὫú ñ½∩ Σá⌐½á "a", ñѽáÑΓ Γ« ªÑ ßἫѠ¡á ñ¿ß¬Ñ. àß½¿ ß¿ßΓѼá
  2519. ñá½á ßí«⌐ »«ß½Ñ ºáóÑαΦÑ¡¿∩ ºá»¿ß¿ αѺπ½∞ΓáΓ«ó ¡á ñ¿ß¬, τ¿ß½« ßó∩ºÑ⌐ π  Σá⌐½á
  2520. "b"  íπñÑΓ αáó¡« 2, ¡« Σá⌐½ "a" πªÑ ¡Ñ íπñÑΓ ßπΘÑßΓó«óáΓ∞, »«ß¬«½∞¬π »αѪ¡∩∩
  2521. ºá»¿ß∞ « ¡Ñ¼ íδ½á «τ¿ΘѡᠻÑαÑñ ßí«Ñ¼ ß¿ßΓѼδ. öá⌐½ "b", Γᬿ¼ «íαẫ¼,  íπ-
  2522. ñÑΓ ¿¼ÑΓ∞ ½¿Φ¡εε ßó∩º∞, ¡« »«ß½Ñ »ÑαѺáúαπº¬¿ τ¿ß½« ßó∩ºÑ⌐ »ÑαÑπßΓá¡«ó¿Γß∩ ¿
  2523. ß¿ßΓѼá íπñÑΓ αáí«ΓáΓ∞ ¡áñ½ÑªáΘ¿¼ «íαẫ¼.
  2524.     ÆÑ»Ñα∞  »αÑñ»«½«ª¿¼, τΓ« ∩ñα« ºá»¿ßδóὫ ¡á ñ¿ß¬ αѺπ½∞ΓáΓδ ßó«¿σ ñÑ⌐ßΓ-
  2525. ó¿⌐ ó «íαáΓ¡«¼ »«α∩ñ¬Ñ ¿ ß¿ßΓѼá ñá½á ßí«⌐: Γ« ÑßΓ∞, ∩ñα« π¼Ñ¡∞Φ¿½« º¡áτÑ¡¿Ñ
  2526. ßτÑΓτ¿¬á ßó∩ºÑ⌐ ñ½∩ Σá⌐½á "b", ßñѽáó Ñú« αáó¡δ¼ 1, ºá»¿ßὫ ¿¡ñѬߠ¡á  ñ¿ß¬
  2527. ¿  ñὫ  ßí«⌐  »ÑαÑñ ΓѼ, ¬á¬ «τ¿ßΓ¿Γ∞ ó ¬áΓὫúÑ Γ«τ¬π óσ«ñá ñ½∩ Σá⌐½á "a".
  2528. ū߽Ѡ»ÑαѺáúαπº¬¿ ß¿ßΓÑ¼δ ºá»¿ß¿ « Σá⌐½áσ "a" ¿ "b" ó ß««ΓóÑΓßΓóπεΘ¿σ ¬áΓá-
  2529. ½«úáσ íπñπΓ ßπΘÑßΓó«óáΓ∞, ¡« ßτÑΓτ¿¬ ßó∩ºÑ⌐ π Γ«ú«  Σá⌐½á,  ¡á  ¬«Γ«αδ⌐  «¡¿
  2530. π¬áºδóáεΓ,  íπñÑΓ  ¿¼ÑΓ∞  º¡áτÑ¡¿Ñ  1.  àß½¿  ºáΓѼ »α«µÑßß ºá»πßΓ¿Γ Σπ¡¬µ¿ε
  2531. unlink ñ½∩ Σá⌐½á "a", º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ßó∩ºÑ⌐ ßΓá¡ÑΓ αáó¡δ¼ 0, ¡Ñß¼«Γα∩  ¡á
  2532. Γ«,  τΓ« Σá⌐½ "b" ßßδ½áÑΓß∩ ¡á Γ«Γ ªÑ ¿¡ñѬß. àß½¿ »«ºñ¡ÑÑ ∩ñα« »Ñαѡạáτ¿Γ
  2533. ¿¡ñѬߠó αѺπ½∞ΓáΓÑ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ creat, ßτÑΓτ¿¬ ßó∩ºÑ⌐ ñ½∩ ¡«ó«ú« Σá⌐-
  2534. ½á íπñÑΓ ¿¼ÑΓ∞ º¡áτÑ¡¿Ñ, αáó¡«Ñ 1, ¡« ¡á Σá⌐½ íπñπΓ ßßδ½áΓ∞ß∩ ñóá ¿¼Ñ¡¿ »πΓ¿
  2535. »«¿ß¬á. æ¿ßΓѼᠡѠ¼«ªÑΓ óδ»αáó¿Γ∞ ß¿Γπᵿε, ¡Ñ »α¿íÑúá∩ ¬  »«¼«Θ¿  »α«úαá¼¼
  2536. ß«»α«ó«ªñÑ¡¿∩ (fsck, «»¿ßá¡¡«⌐ ó αáºñѽѠ5.18), «íαáΘáεΘ¿σß∩ ¬ Σá⌐½«ó«⌐ ß¿ß-
  2537. ΓѼѠτÑαѺ í½«τ¡δ⌐ ¿½¿ ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß.
  2538.     ä½∩ Γ«ú«, τΓ«íδ ßóÑßΓ¿ ¬ ¼¿¡¿¼π¼π «»áß¡«ßΓ∞ ¿ß¬áªÑ¡¿∩ Σá⌐½«ó«⌐ ß¿ßΓѼδ ó
  2539. ß½πτáÑ  ß¿ßΓѼ¡«ú«  ßí«∩,  ∩ñα« «ßó«í«ªñáÑΓ ¿¡ñѬßδ ¿ ñ¿ß¬«óδÑ í½«¬¿ ΓᬪѠó
  2540. «ß«í«¼ »«α∩ñ¬Ñ. Åα¿ πñá½Ñ¡¿¿ ß«ñÑন¼«ú« Σá⌐½á ¿ «τ¿ßΓ¬Ñ Ñú«  ¿¡ñѬßá  ¼«ª¡«
  2541. ß¡áτá½á «ßó«í«ñ¿Γ∞ í½«¬¿, ß«ñÑαªáΘ¿Ñ ñá¡¡δÑ Σá⌐½á, á ¼«ª¡« «ßó«í«ñ¿Γ∞ ¿¡ñѬß
  2542.  
  2543.                                     125
  2544.  
  2545. ¿ ºá¡«ó« »ÑαÑ»¿ßáΓ∞ Ñú«. ÉѺπ½∞ΓáΓ ó «í«¿σ ß½πτá∩σ, ¬á¬ »αá󿽫, «ñ¿¡á¬«óδ⌐,
  2546. «ñ¡á¬«,  Ñß½¿  úñÑ-Γ« ó ßÑαÑñ¿¡Ñ »α«¿º«⌐ñÑΓ ß¿ßΓѼ¡δ⌐ ßí«⌐, «¡¿ íπñπΓ αẽ¿-
  2547. τáΓ∞ß∩. ÅαÑñ»«½«ª¿¼, τΓ« ∩ñα« ß¡áτá½á «ßó«í«ñ¿½« ñ¿ß¬«óδÑ  í½«¬¿,  »α¿¡áñ½Ñ-
  2548. ªáóΦ¿Ñ  Σá⌐½π, ¿ ñὫ ßí«⌐. Å«ß½Ñ »ÑαѺáúαπº¬¿ ß¿ßΓÑ¼δ ¿¡ñѬߠóßÑ ÑΘÑ ß«ñÑα-
  2549. ª¿Γ ßß佬¿ ¡á ñ¿ß¬«óδÑ í½«¬¿, ºá¡¿¼áѼδÑ Σá⌐½«¼ »αѪñÑ ¿  ¡δ¡Ñ  ¡Ñ  σαá¡∩Θ¿Ñ
  2550. «Γ¡«ß∩Θπεß∩  ¬  Σá⌐½π ¿¡Σ«α¼áµ¿ε. ƒñαπ Σá⌐½ »«¬áºá½ß∩ íδ ó»«½¡Ñ πñ«ó½ÑΓó«α¿-
  2551. Γѽ∞¡δ¼, ¡« »«½∞º«óáΓѽ∞ »α¿ «íαáΘÑ¡¿¿ ¬ Σá⌐½π ºá¼ÑΓ¿Γ ¿ß¬áªÑ¡¿Ñ ñá¡¡δσ. ¥Γ¿
  2552. ñ¿ß¬«óδÑ í½«¬¿ ¬ Γ«¼π ªÑ ¼«úπΓ íδΓ∞ »ÑαѡạáτÑ¡δ ñαπú¿¼ Σá⌐½á¼. ùΓ«íδ «τ¿ß-
  2553. Γ¿Γ∞ Σá⌐½«óπε ß¿ßΓѼπ »α«úαá¼¼«⌐ fsck, »«ΓαÑí«ó὿ß∞ íδ í«½∞Φ¿Ñ πß¿½¿∩.  Äñ-
  2554. ¡á¬«,  Ñß½¿  ß¿ßΓѼᠠߡáτá½á  »ÑαÑ»¿ßá½á ¿¡ñѬߠ¡á ñ¿ß¬, á »«Γ«¼ ñá½á ßí«⌐,
  2555. »«½∞º«óáΓѽ∞ ¡Ñ ºá¼ÑΓ¿Γ ¬á¬¿σ-½¿í« ¿ß¬áªÑ¡¿⌐ ó Σá⌐½«ó«⌐ ß¿ßΓѼѠ»«ß½Ñ  »ÑαÑ-
  2556. ºáúαπº¬¿. ê¡Σ«α¼áµ¿«¡¡δÑ í½«¬¿, αá¡ÑÑ »α¿¡áñ½ÑªáóΦ¿Ñ Σá⌐½π, ßΓá¡πΓ ¡Ññ«ßΓπ»-
  2557. ¡δ  ñ½∩  ß¿ßΓѼδ,  ¡«  ¬á¬¿σ-¡¿íπñ∞ ∩ó¡δσ ¿º¼Ñ¡Ñ¡¿⌐ »α¿ φΓ«¼ »«½∞º«óáΓѽ¿ ¡Ñ
  2558. πó¿ñ∩Γ. Åα«úαἼѠfsck ΓᬠªÑ í佫 íδ  »α«ΘÑ  ºáíαáΓ∞  ¡áºáñ  «ßó«í«ñ¿óΦ¿Ñß∩
  2559. »«ß½Ñ πñá½Ñ¡¿∩ ßó∩º¿ ñ¿ß¬«óδÑ í½«¬¿, ¡ÑªÑ½¿ »α«¿ºó«ñ¿Γ∞ «τ¿ßΓ¬π, ¡Ñ«íσ«ñ¿¼πε
  2560. ó »Ñαó«¼ ¿º αáßß¼áΓα¿óáѼδσ ß½πτáÑó.
  2561.  
  2562.  
  2563.     E5.16.2 Å«ó«ñδ ñ½∩ ¬«¡¬παÑ¡µ¿¿F
  2564.  
  2565.     Å«ó«ñ«ó  ñ½∩  ¬«¡¬παÑ¡µ¿¿  »α¿ óδ»«½¡Ñ¡¿¿ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ unlink «τÑ¡∞
  2566. ¼¡«ú«, «ß«íÑ¡¡« »α¿ πñá½Ñ¡¿¿ ¿¼Ñ¡ ¬áΓὫú«ó. è«¼á¡ñá rmdir πñá½∩ÑΓ  ¬áΓὫú,
  2567. πíÑñ¿óΦ¿ß∞  »αÑñóáα¿Γѽ∞¡« ó Γ«¼, τΓ« ó ¬áΓὫúÑ «ΓßπΓßΓóπεΓ Σá⌐½δ («¡á ßτ¿-
  2568. ΓδóáÑΓ ¬áΓὫú ¿ »α«óÑα∩ÑΓ º¡áτÑ¡¿∩ ¿¡ñѬ߫ó ó« óßÑσ ºá»¿ß∩σ ¬áΓὫúá ¡á αá-
  2569. óÑ¡ßΓó« ¡π½ε). ì« Γᬠ¬á¬  ¬«¼á¡ñá  rmdir  ºá»π߬áÑΓß∩  ¡á  »«½∞º«óáΓѽ∞߬«¼
  2570. πα«ó¡Ñ, ñÑ⌐ßΓó¿∩ »« »α«óÑα¬Ñ ß«ñÑন¼«ú« ¬áΓὫúá ¿ πñá½Ñ¡¿∩ ¬áΓὫúá óδ»«½-
  2571. ¡∩εΓß∩  ¡Ñ Γá¬ πª »α«ßΓ«; ß¿ßΓѼá ñ«½ª¡á »ÑαѬ½ετáΓ∞ ¬«¡ΓѬßΓ ¼Ñªñπ óδ»«½¡Ñ-
  2572. ¡¿Ñ¼ Σπ¡¬µ¿⌐ read ¿ unlink. Äñ¡á¬«, »«ß½Ñ Γ«ú«, ¬á¬ ¬«¼á¡ñá rmdir  «í¡áαπª¿-
  2573. ½á,  τΓ« ¬áΓὫú »πßΓ, ñαπú«⌐ »α«µÑßß ¼«ªÑΓ »αÑñ»α¿¡∩Γ∞ »«»δΓ¬π ß«ºñáΓ∞ Σá⌐½
  2574. ó ¬áΓὫúÑ Σπ¡¬µ¿Ñ⌐ creat. êºíѪáΓ∞ φΓ«ú« »«½∞º«óáΓѽ¿  ¼«úπΓ  Γ«½∞¬«  »πΓѼ
  2575. ¿ß»«½∞º«óá¡¿∩  ¼Ñσá¡¿º¼á  ºáσóáΓá  Σá⌐½á ¿ ºá»¿ß¿. ÆÑ¼ ¡Ñ ¼Ñ¡ÑÑ, αẠ»α«µÑßß
  2576. »α¿ßΓπ»¿½ ¬ óδ»«½¡Ñ¡¿ε Σπ¡¬µ¿¿ unlink, ¡¿¬á¬«⌐ ñαπú«⌐ »α«µÑßß ¡Ñ ¼«ªÑΓ «íαá-
  2577. Γ¿Γ∞ß∩ ¬ Σá⌐½π ß πñá½∩Ѽ«⌐ ßó∩º∞ε, »«ß¬«½∞¬π ¿¡ñѬßδ α«ñ¿Γѽ∞߬«ú«  ¬áΓὫúá
  2578. ¿ Σá⌐½á ºáí½«¬¿α«óá¡δ.
  2579.     ÄíαáΓ¿¼ß∩  ÑΘÑ  αẠ ¬ á½ú«α¿Γ¼π Σπ¡¬µ¿¿ link ¿ »«ß¼«Γα¿¼, ¬á¬¿¼ «íαẫ¼
  2580. ß¿ßΓѼá ß¡¿¼áÑΓ ß ¿¡ñѬßá í½«¬¿α«ó¬π ñ« ºáóÑαΦÑ¡¿∩ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿.  àß½¿
  2581. íδ ñαπú«⌐ »α«µÑßß πñ὿½ ßó∩º∞ Σá⌐½á »«¬á Ñú« ¿¡ñѬߠßó«í«ñÑ¡, «¡ íδ ΓѼ ßá-
  2582. ¼δ¼ Γ«½∞¬« π¼Ñ¡∞Φ¿½ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ßó∩ºÑ⌐; Γᬠ¬á¬ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ßó∩-
  2583. ºÑ⌐ í佫 πóѽ¿τÑ¡« »ÑαÑñ πñá½Ñ¡¿Ñ¼ ßó∩º¿, φΓ« º¡áτÑ¡¿Ñ «ßΓá¡ÑΓß∩ »«½«ª¿Γѽ∞-
  2584. ¡δ¼.  æ½Ññ«óáΓѽ∞¡«,  Σá⌐½  ¡Ñ ¼«ªÑΓ íδΓ∞ πñá½Ñ¡ ¿ ß¿ßΓѼá αáí«ΓáÑΓ ¡áñѪ¡«.
  2585. ¥Γá ß¿Γπᵿ∩ á¡á½«ú¿τ¡á Γ«⌐, ¬«úñá Σπ¡¬µ¿∩ unlink óδºδóáÑΓß∩ ßαáºπ »«ß½Ñ ºá-
  2586. óÑαΦÑ¡¿∩ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ link.
  2587.     äαπú«⌐ »«ó«ñ ñ½∩ ¬«¡¬παÑ¡µ¿¿ ¿¼ÑÑΓ ¼ÑßΓ« ó Γ«¼ ß½πτáÑ, ¬«úñá  «ñ¿¡  »α«-
  2588. µÑßß  »αÑ«íαáºπÑΓ ¿¼∩ »πΓ¿ »«¿ß¬á Σá⌐½á ó ¿¡ñѬߠΣá⌐½á »« á½ú«α¿Γ¼π namei, á
  2589. ñαπú«⌐ »α«µÑßß πñá½∩ÑΓ ¬áΓὫú, ¿¼∩ ¬«Γ«α«ú« óσ«ñ¿Γ ó »πΓ∞ »«¿ß¬á. ä«»πßΓ¿¼,
  2590. »α«µÑßß A ñѽáÑΓ αáºí«α ¿¼Ñ¡¿ "a/ b/c/d" ¿ »α¿«ßΓá¡áó½¿óáÑΓß∩ ó« óαѼ∩ »«½π-
  2591. τÑ¡¿∩ ¿¡ñѬßá ñ½∩ Σá⌐½á "c". Ä¡ ¼«ªÑΓ »α¿«ßΓá¡«ó¿Γ∞ß∩ »α¿ »«»δΓ¬Ñ ºáí½«¬¿α«-
  2592. óáΓ∞ ¿¡ñѬߠ¿½¿ »α¿ »«»δΓ¬Ñ «íαáΓ¿Γ∞ß∩ ¬ ñ¿ß¬«ó«¼π í½«¬π,  úñÑ  φëà ¿¡ñѬß
  2593. σαá¡¿Γß∩  (ß¼.  á½ú«α¿Γ¼δ  iget ¿ bread). àß½¿ »α«µÑßßπ B ¡πª¡« πñ½¿Γ∞ ßó∩º∞
  2594. ñ½∩ ¬áΓὫúá ß ¿¼Ñ¡Ñ¼ "c", «¡ ¼«ªÑΓ »α¿«ßΓá¡«ó¿Γ∞ß∩ »« Γ«⌐ ªÑ ßἫ⌐ »α¿τ¿¡Ñ,
  2595. τΓ« ¿ »α«µÑßß A. ÅπßΓ∞ ∩ñα« ó»«ß½ÑñßΓó¿¿ αÑΦ¿Γ ó«º«í¡«ó¿Γ∞ »α«µÑßß B  αá¡∞ΦÑ
  2596. »α«µÑßßá A. ÅαѪñÑ τѼ »α«µÑßß A »α«ñ«½ª¿Γ ßó«Ñ óδ»«½¡Ñ¡¿Ñ, »α«µÑßß B ºáóÑα-
  2597. Φ¿Γß∩,  πñ὿ó  ßó∩º∞  ¬áΓὫúá "c" ¿ Ñú« ß«ñÑন¼«Ñ »« φΓ«⌐ ßó∩º¿. Å«ºñ¡ÑÑ,
  2598. »α«µÑßß A »«»δΓáÑΓß∩ «íαáΓ¿Γ∞ß∩ ¬ ¡ÑßπΘÑßΓóπεΘÑ¼π ¿¡ñѬßπ, ¬«Γ«αδ⌐  πªÑ  íδ½
  2599. πñá½Ñ¡.  Ç½ú«α¿Γ¼  namei,  »α«óÑα∩εΘ¿⌐ ó »Ñαóπε «τÑαÑñ∞ ¡ÑαáóÑ¡ßΓó« º¡áτÑ¡¿∩
  2600. ßτÑΓτ¿¬á ßó∩ºÑ⌐ ¡π½ε, ß««íΘ¿Γ «í «Φ¿í¬Ñ.
  2601.     Æá¬«⌐ »α«óÑન, «ñ¡á¬«, ¡Ñ óßÑúñá ñ«ßΓáΓ«τ¡«, »«ß¬«½∞¬π ¼«ª¡«  »αÑñ»«½«-
  2602. ª¿Γ∞, τΓ« ¬á¬«⌐-¡¿íπñ∞ ñαπú«⌐ »α«µÑßß ß«ºñáßΓ ó ½εí«¼ ¼ÑßΓÑ Σá⌐½«ó«⌐ ß¿ßΓѼδ
  2603. ¡«óδ⌐  ¬áΓὫú  ¿  »«½πτ¿Γ  Γ«Γ ¿¡ñѬß, ¬«Γ«αδ⌐ αá¡ÑÑ ¿ß»«½∞º«óá½ß∩ ñ½∩ "c".
  2604.  
  2605.                                     126
  2606.  
  2607. Åα«µÑßß A íπñÑΓ ºáí½πªñáΓ∞ß∩, ñπ¼á∩, τΓ« «¡ «íαáΓ¿½ß∩ ¬ ¡πª¡«¼π ¿¡ñѬßπ (ß¼.
  2608. É¿ßπ¡«¬ 5.32). èᬠíδ Γ« ¡¿ í佫, ß¿ßΓѼá ß«σαá¡∩ÑΓ ßó«ε µÑ½«ßΓ¡«ßΓ∞;  ßἫÑ
  2609. σπñΦÑÑ, τΓ« ¼«ªÑΓ »α«¿º«⌐Γ¿, φΓ« «íαáΘÑ¡¿Ñ ¡Ñ ¬ Γ«¼π Σá⌐½π - ß ó«º¼«ª¡δ¼ ¡á-
  2610.  
  2611.             Åα«µÑßß A          Åα«µÑßß B          Åα«µÑßß C
  2612.     ┌────────────────────────────────────────────────────────────
  2613.     │           ∙          ôñá½∩ÑΓß∩ ßó∩º∞ Σá⌐-       ∙
  2614.     │           ∙            ½á ß ¿¼Ñ¡Ñ¼ "ß"          ∙
  2615.     │           ∙                                     ∙
  2616.     │           ∙           Äí¡áαπª¿óáÑΓ, τΓ«         ∙
  2617.     │           ∙            ¿¡ñѬߠΣá⌐½á "c"         ∙
  2618.     │           ∙             ºáí½«¬¿α«óá¡            ∙
  2619.     │           ∙           Åα¿«ßΓá¡áó½¿óáÑΓ          ∙
  2620.     │           ∙              óδ»«½¡Ñ¡¿Ñ             ∙
  2621.     │           ∙                  ∙                  ∙
  2622.     │   Åα«ß¼áΓα¿óáÑΓ ¬á-          ∙                  ∙
  2623.     │   ΓὫú "b" ó »«¿ß-          ∙                  ∙
  2624.     │     ¬áσ ¿¼Ñ¡¿ "c"            ∙                  ∙
  2625.     │   Å«½πτáÑΓ ¡«¼Ñα ¿¡-         ∙                  ∙
  2626.     │     ñѬßá ñ½∩ "c"            ∙                  ∙
  2627.     │   Äí¡áαπª¿óáÑΓ, τΓ«          ∙                  ∙
  2628.     │    ¿¡ñѬߠΣá⌐½á "c"          ∙                  ∙
  2629.     │     ºáí½«¬¿α«óá¡             ∙                  ∙
  2630.     │   Åα¿«ßΓá¡áó½¿óáÑΓ           ∙                  ∙
  2631.     │      óδ»«½¡Ñ¡¿Ñ              ∙                  ∙
  2632.     │           ∙                  ∙                  ∙
  2633.     │           ∙          é«º«í¡«ó½∩ÑΓ óδ»«½-        ∙
  2634.     │           ∙           ¡Ñ¡¿Ñ, ¿¡ñѬߠ"c"         ∙
  2635.     │           ∙               ßó«í«ñÑ¡              ∙
  2636.     │           ∙          ôñá½∩ÑΓ ßó∩º∞ ß ¿¼Ñ-       ∙
  2637.     │           ∙          ¡Ñ¼ "c", »αѪ¡¿⌐ ¿¡-       ∙
  2638.     │           ∙          ñѬߠ«ßó«í«ªñáÑΓß∩,        ∙
  2639.     │           ∙          Ñß½¿ τ¿ß½« ßó∩ºÑ⌐ =0       ∙
  2640.     │           ∙                  ∙                  ∙
  2641.     │           ∙                  ∙           ìạáτáÑΓ ¿¡ñѬß
  2642.     │           ∙                  ∙           ¡«ó«¼π Σá⌐½π "n"
  2643.     │           ∙                  ∙           æ½πτá⌐¡« ¡áº¡áτá-
  2644.     │           ∙                  ∙           ÑΓ Ñ¼π ¿¡ñѬß, αá-
  2645.     │           ∙                  ∙           ¡ÑÑ »α¿¡áñ½ÑªáóΦ¿⌐
  2646.     │           ∙                  ∙                 "c"
  2647.     │           ∙                  ∙
  2648.     │           ∙                  ∙            é ¬«¡Ñτ¡«¼ ¿Γ«úÑ
  2649.     │           ∙                  ∙           ß¡¿¼áÑΓ í½«¬¿α«ó¬π
  2650.     │           ∙                  ∙             ß ¿¡ñѬßá "n"
  2651.     │           ∙                  ∙
  2652.     │   é«º«í¡«ó½∩ÑΓ óδ»«½-        ∙
  2653.     │   ¡Ñ¡¿Ñ, »αѪ¡¿⌐ ¿¡-         ∙
  2654.     │    ñѬߠ"c" (ΓÑ»Ñα∞          ∙
  2655.     │    "n") ßó«í«ñÑ¡             ∙
  2656.     │   Å«½πτáÑΓ ¿¡ñѬߠ"n"        ∙
  2657.     │   Åα«ß¼áΓα¿óáÑΓ ¬á-          ∙
  2658.     │   ΓὫú "n" ó »«¿ß-          ∙
  2659.     │     ¬áσ ¿¼Ñ¡¿ "d"            ∙
  2660.     v
  2661.   éαѼ∩
  2662.  
  2663.     É¿ßπ¡«¬ 5.32.  æ«»Ñα¡¿τÑßΓó« »α«µÑßß«ó ºá ¿¡ñѬߠ»α¿ óδ»«½¡Ñ-
  2664.                    ¡¿¿ Σπ¡¬µ¿¿ unlink
  2665.  
  2666.  
  2667.                                     127
  2668.  
  2669.     ┌────────────────────────────────────────────────────────────┐
  2670.     │ #include <sys/types.h>                                     │
  2671.     │ #include <sys/stat.h>                                      │
  2672.     │ #include <fcntl.h>                                         │
  2673.     │                                                            │
  2674.     │ main(argc,argv)                                            │
  2675.     │      int argc;                                             │
  2676.     │      char *argv[];                                         │
  2677.     │ {                                                          │
  2678.     │      int fd;                                               │
  2679.     │      char buf[1024];                                       │
  2680.     │      struct stat statbuf;                                  │
  2681.     │                                                            │
  2682.     │      if (argc != 2)             /* ¡πªÑ¡ »áαá¼ÑΓα */       │
  2683.     │           exit();                                          │
  2684.     │      fd = open(argv[1],O_RDONLY);                          │
  2685.     │      if (fd == -1)              /* open ºáóÑαΦ¿½áß∞        │
  2686.     │                                    ¡Ñπñáτ¡« */             │
  2687.     │           exit();                                          │
  2688.     │      if (unlink(argv[1]) == -1) /* πñ὿Γ∞ ßó∩º∞ ß Γ«½∞¬«  │
  2689.     │                                    τΓ« «Γ¬αδΓδ¼ Σá⌐½«¼ */  │
  2690.     │           exit();                                          │
  2691.     │      if (stat(argv[1],&statbuf) == -1)  /* πº¡áΓ∞ ß«ßΓ«∩-  │
  2692.     │                                      ¡¿Ñ Σá⌐½á »« ¿¼Ñ¡¿ */ │
  2693.     │           printf("stat %s ºáóÑαΦ¿½áß∞ ¡Ñπñáτ¡«\n",argv[1]);│
  2694.     │                              /* ¬á¬ ¿ ß½Ññ«óὫ íδ */      │
  2695.     │      else                                                  │
  2696.     │           printf("stat %s ºáóÑαΦ¿½áß∞ πß»ÑΦ¡«!\n",argv[1]);│
  2697.     │      if (fstat(fd,&statbuf) == -1)  /* πº¡áΓ∞ ß«ßΓ«∩¡¿Ñ    │
  2698.     │                                 Σá⌐½á »« ¿ñÑ¡Γ¿Σ¿¬áΓ«απ */ │
  2699.     │           printf("fstat %s ßαáí«Γá½á ¡Ñπñáτ¡«!\n",argv[1]);│
  2700.     │      else                                                  │
  2701.     │           printf("fstat %s ºáóÑαΦ¿½áß∞ πß»ÑΦ¡«\n",argv[1]);│
  2702.     │                              /* ¬á¬ ¿ ß½Ññ«óὫ íδ */      │
  2703.     │      while (read(fd,buf,sizeof(buf)) > 0) /* τΓÑ¡¿Ñ «Γ¬αδ- │
  2704.     │                         Γ«ú« Σá⌐½á ß πñá½Ñ¡¡«⌐ ßó∩º∞ε */   │
  2705.     │           printf("%1024s",buf);   /* óδó«ñ ¡á »ÑτáΓ∞ »«½∩  │
  2706.     │                                      αẼÑα«¼ 1 èíá⌐Γ */   │
  2707.     │ }                                                          │
  2708.     └────────────────────────────────────────────────────────────┘
  2709.  
  2710.            É¿ßπ¡«¬ 5.33. ôñá½Ñ¡¿Ñ ßó∩º¿ ß «Γ¬αδΓδ¼ Σá⌐½«¼
  2711.  
  2712.  
  2713. απΦÑ¡¿Ñ¼ ºáΘ¿Γδ - ¡« ß«»Ñα¡¿τÑßΓóá Γᬫú« α«ñá ¡á »αá¬Γ¿¬Ñ ñ«ó«½∞¡« αÑñ¬¿.
  2714.     Åα«µÑßß  ¼«ªÑΓ πñ὿Γ∞ ßó∩º∞ Σá⌐½á ó Γ« óαѼ∩, ¬á¬ ñαπú«¼π »α«µÑßßπ ¡πª-
  2715. ¡«, τΓ«íδ Σá⌐½ «ßΓáóá½ß∩ «Γ¬αδΓδ¼. (äáªÑ  »α«µÑßß,  πñá½∩εΘ¿⌐  ßó∩º∞,  ¼«ªÑΓ
  2716. íδΓ∞  »α«µÑßß«¼, óδ»«½¡¿óΦ¿¼ φΓ« «Γ¬αδΓ¿Ñ). Å«ß¬«½∞¬π ∩ñα« ß¡¿¼áÑΓ ß ¿¡ñѬßá
  2717. í½«¬¿α«ó¬π »« «¬«¡τá¡¿¿ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ open, Σπ¡¬µ¿∩  unlink  ºáóÑαΦ¿Γß∩
  2718. πß»ÑΦ¡«. ƒñα« íπñÑΓ óδ»«½¡∩Γ∞ á½ú«α¿Γ¼ unlink Γ«τ¡« ΓᬠªÑ, ¬á¬ Ñß½¿ íδ Σá⌐½
  2719. ¡Ñ  íδ½ «Γ¬αδΓ, ¿ πñá½¿Γ ¿º ¬áΓὫúᠺỿß∞ « Σá⌐½Ñ. ÆÑ»Ñα∞ »« ¿¼Ñ¡¿ πñá½Ñ¡-
  2720. ¡«⌐ ßó∩º¿ ¬ Σá⌐½π ¡Ñ ß¼«ªÑΓ «íαáΓ¿Γ∞ß∩ ¡¿¬á¬«⌐ ñαπú«⌐ »α«µÑßß.  Äñ¡á¬«,  Γá¬
  2721. ¬á¬ ß¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ open πóѽ¿τ¿½á º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ßß佫¬ ó ¿¡ñѬßÑ, ∩ñ-
  2722. α«  ¡Ñ «τ¿ΘáÑΓ ß«ñÑন¼«Ñ Σá⌐½á »α¿ óδ»«½¡Ñ¡¿¿ á½ú«α¿Γ¼á iput »ÑαÑñ ºáóÑαΦÑ-
  2723. ¡¿Ñ¼ Σπ¡¬µ¿¿ unlink. Å«φΓ«¼π »α«µÑßß, «Γ¬αδóΦ¿⌐ Σá⌐½, ¼«ªÑΓ »α«¿ºó«ñ¿Γ∞  ¡áñ
  2724. Σá⌐½«¼  óßÑ  «íδτ¡δÑ  ñÑ⌐ßΓó¿∩ »« Ñú« ñÑß¬α¿»Γ«απ, ó¬½ετá∩ τΓÑ¡¿Ñ ¿º Σá⌐½á ¿
  2725. ºá»¿ß∞ ó Σá⌐½. ì« ¬«úñá »α«µÑßß ºá¬αδóáÑΓ Σá⌐½, º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á  ßß佫¬  ó
  2726. á½ú«α¿Γ¼Ñ  iput ßΓá¡«ó¿Γß∩ αáó¡δ¼ 0, ¿ ∩ñα« «τ¿ΘáÑΓ ß«ñÑন¼«Ñ Σá⌐½á. è«α«τÑ
  2727. ú«ó«α∩, »α«µÑßß, «Γ¬αδóΦ¿⌐ Σá⌐½, »α«ñ«½ªáÑΓ αáí«Γπ Γá¬, ¬á¬ Ñß½¿ íδ  Σπ¡¬µ¿∩
  2728.  
  2729.                                     128
  2730.  
  2731. unlink  ¡Ñ  óδ»«½¡∩½áß∞, á unlink, ó ßó«ε «τÑαÑñ∞, αáí«ΓáÑΓ Γá¬, ¬á¬ Ñß½¿ íδ
  2732. Σá⌐½ ¡Ñ íδ½ «Γ¬αδΓ. äαπú¿Ñ ß¿ßΓѼ¡δÑ Σπ¡¬µ¿¿ ΓᬪѠ¼«úπΓ  »α«ñ«½ªáΓ∞  óδ»«½-
  2733. ¡∩Γ∞ß∩ ó »α«µÑßßÑ, «Γ¬αδóΦѼ Σá⌐½.
  2734.     é  »α¿óÑñÑ¡¡«¼ ¡á É¿ßπ¡¬Ñ 5.33 »α¿¼ÑαÑ »α«µÑßß «Γ¬αδóáÑΓ Σá⌐½, π¬áºá¡¡δ⌐
  2735. ó ¬áτÑßΓóÑ »áαá¼ÑΓαá, ¿ ºáΓѼ πñá½∩ÑΓ ßó∩º∞ Γ«½∞¬« τΓ« «Γ¬αδΓ«ú« Σá⌐½á. öπ¡-
  2736. ¬µ¿∩ stat ºáóÑαΦ¿Γß∩ ¡Ñπñáτ¡«, »«ß¬«½∞¬π  »Ñαó«¡áτá½∞¡«Ñ  ¿¼∩  »«ß½Ñ  unlink
  2737. í«½∞ΦÑ ¡Ñ π¬áºδóáÑΓ ¡á Σá⌐½ (»αÑñ»«-
  2738. ½áúáÑΓß∩,  τΓ«  ΓѼ  óαѼѡѼ ¡¿¬á¬«⌐ ñαπú«⌐ »α«µÑßß ¡Ñ ß«ºñá½ Σá⌐½ ß ΓѼ ªÑ
  2739. ¿¼Ñ¡Ñ¼), ¡« Σπ¡¬µ¿∩ fstat ºáóÑαΦ¿Γß∩ πß»ÑΦ¡«, Γᬠ¬á¬ «¡á óδí¿αáÑΓ ¿¡ñѬߠ»«
  2740. ñÑß¬α¿»Γ«απ Σá⌐½á. Åα«µÑßß óδ»«½¡∩ÑΓ µ¿¬½, ßτ¿Γδóá∩ ¡á ¬áªñ«¼ ΦáúÑ  »«  1024
  2741. íá⌐Γá ¿ »ÑαÑßδ½á∩ Σá⌐½ ó ßΓá¡ñáαΓ¡δ⌐ óδó«ñ. è«úñá »α¿ τΓÑ¡¿¿ íπñÑΓ «í¡áαπªÑ¡
  2742. ¬«¡Ñµ Σá⌐½á, »α«µÑßß ºáóÑαΦáÑΓ αáí«Γπ: »«ß½Ñ ºáóÑαΦÑ¡¿∩ »α«µÑßßá Σá⌐½ »ÑαÑß-
  2743. ΓáÑΓ ßπΘÑßΓó«óáΓ∞. Åα«µÑßßδ τáßΓ« ß«ºñáεΓ óαѼѡ¡δÑ Σá⌐½δ ¿ ßαáºπ ªÑ πñá½∩εΓ
  2744. ßó∩º∞  ß  ¡¿¼¿; «¡¿ ¼«úπΓ »α«ñ«½ªáΓ∞ óó«ñ-óδó«ñ ó φΓ¿ Σá⌐½δ, ¡« ¿¼Ñ¡á Σá⌐½«ó
  2745. í«½∞ΦÑ ¡Ñ »«∩ó½∩εΓß∩ ó ¿Ñαáασ¿¿ ¬áΓὫú«ó. àß½¿ »α«µÑßß »« ¬á¬«⌐-½¿í« »α¿τ¿-
  2746. ¡Ñ ºáóÑαΦáÑΓß∩ áóáα¿⌐¡«, «¡ ¡Ñ «ßΓáó½∩ÑΓ «Γ óαѼѡ¡δσ Σá⌐½«ó ¡¿¬á¬«ú« ß½Ññá.
  2747.  
  2748.     E5.17 ÇüæÆÉÇèÆì¢à ÄüÉÇÖàìꃠè öÇëïÄé¢î æêæÆàîÇîF
  2749.  
  2750.     ôá⌐¡íÑαúÑα«¼ í佫 óóÑñÑ¡« »«¡∩Γ¿Ñ "Γ¿» Σá⌐½«ó«⌐ ß¿ßΓѼδ" ñ½∩  «íΩ∩ߡѡ¿∩
  2751. ¼Ñσá¡¿º¼á  αáí«Γδ  »α¿¡áñ½ÑªáóΦÑ⌐  Ñ¼π ßÑΓÑó«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼδ (ß¼. ¬αáΓ¬«Ñ
  2752. «»¿ßá¡¿Ñ φΓ«ú« ¼Ñσá¡¿º¼á ó [Killian 84]) ¿ ó  »«ºñ¡Ñ⌐ΦÑ⌐  óÑαß¿¿  ß¿ßΓÑ¼δ  V
  2753. »«ññÑনóáεΓß∩  «ß¡«ó«»«½áúáεΘ¿Ñ  »α¿¡µ¿»δ  Ñú« ßσѼδ. ì὿τ¿Ñ Γ¿»á Σá⌐½«ó«⌐
  2754. ß¿ßΓѼδ ñáÑΓ ∩ñαπ ó«º¼«ª¡«ßΓ∞ »«ññÑনóáΓ∞ «ñ¡«óαѼѡ¡«  ¼¡«ªÑßΓó«  Σá⌐½«óδσ
  2755. ß¿ßΓѼ, Γᬿσ ¬á¬ ßÑΓÑóδÑ Σá⌐½«óδÑ ß¿ßΓѼδ (ú½áóá 13) ¿½¿ ñáªÑ Σá⌐½«óδÑ ß¿ß-
  2756. ΓÑ¼δ ¿º ñαπú¿σ «»Ñαᵿ«¡¡δσ ß¿ßΓѼ. Åα«µÑßßδ »«½∞ºπεΓß∩ ñ½∩ «íαáΘÑ¡¿∩ ¬ Σá⌐-
  2757. ½á¼ «íδτ¡δ¼¿ Σπ¡¬µ¿∩¼¿ ß¿ßΓѼδ UNIX, á ∩ñα« πßΓá¡áó½¿óáÑΓ ß««ΓóÑΓßΓó¿Ñ ¼Ñªñπ
  2758. «íΘ¿¼  ¡áí«α«¼ Σá⌐½«óδσ «»Ñαᵿ⌐ ¿ «»Ñαᵿ∩¼¿, ß»Ñµ¿Σ¿τ¡δ¼¿ ñ½∩ ¬áªñ«ú« Γ¿»á
  2759. Σá⌐½«ó«⌐ ß¿ßΓѼδ.
  2760.  
  2761.           Ä»Ñαᵿ¿ Σá⌐½«ó«⌐       ÄíΘ¿Ñ ¿¡ñѬßδ   ê¡ñѬߠ Σá⌐½«ó«⌐
  2762.                ß¿ßΓÑ¼δ                            ß¿ßΓѼδ óÑαß¿¿ V
  2763.           ┌───────────────┐          ┌──────┐         ┌───────┐
  2764. éÑαß¿∩ V  │     open      │    ┌─────┼─    ─┼────────>│       │
  2765.           │     close     │    │     ├──────┤         ├───────┤
  2766.           │     read      │    │ ┌───┼─    ─┼───┐     │       │
  2767.           │     write     │<───┘ │   ├──────┤   │     ├───────┤
  2768.           │       ∙       │<─────│───┼─    ─┼───│────>│       │
  2769.           │       ∙       │      │   ├──────┤   │     ├───────┤
  2770.           │       ∙       │      │   │      │   │     │   ∙   │
  2771.           │       ∙       │      │   ├──────┤   │     │   ∙   │
  2772.           ├───────────────┤      │   │      │   │     │   ∙   │
  2773. ôñá½Ñ¡¡á∩ │     ropen     │      │   ├──────┤   │     └───────┘
  2774. ß¿ßΓѼᠠ │     rclose    │      │   │  ∙   │   │
  2775.           │     rread     │      │   │  ∙   │   │   ê¡ñѬߠπñá½Ñ¡-
  2776.           │     rwrite    │<─────┘   │  ∙   │   │    ¡«⌐ ß¿ßΓѼδ
  2777.           │       ∙       │          │  ∙   │   │     ┌───────┐
  2778.           │       ∙       │          │  ∙   │   │     │       │
  2779.           │       ∙       │          │  ∙   │   │     ├───────┤
  2780.           │       ∙       │          │  ∙   │   └────>│       │
  2781.           ├───────────────┤          │  ∙   │         ├───────┤
  2782.           │       ∙       │          │  ∙   │         │       │
  2783.           │       ∙       │          │  ∙   │         ├───────┤
  2784.           │       ∙       │          │  ∙   │         │       │
  2785.           │       ∙       │          │  ∙   │         ├───────┤
  2786.           │       ∙       │          │  ∙   │         │   ∙   │
  2787.           └───────────────┘          └──────┘         └───────┘
  2788.  
  2789.      É¿ßπ¡«¬ 5.34. ê¡ñѬßδ ñ½∩ Σá⌐½«óδσ ß¿ßΓѼ αẽ¿τ¡δσ Γ¿»«ó
  2790.  
  2791.                                     129
  2792.  
  2793.  
  2794.     ê¡ñѬߠóδßΓπ»áÑΓ ¿¡ΓÑαΣÑ⌐ß«¼ ¼Ñªñπ áíßΓαá¬Γ¡«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼ«⌐  ¿  «Γ-
  2795. ñѽ∞¡«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼ«⌐. ÄíΘá∩ ¬«»¿∩ ¿¡ñѬßá ó »á¼∩Γ¿ ß«ñÑαª¿Γ ¿¡Σ«α¼áµ¿ε,
  2796. ¡Ñ ºáó¿ß∩Θπε «Γ «Γñѽ∞¡«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼδ, á ΓᬪѠπ¬áºáΓѽ∞ ¡á τáßΓ¡δ⌐ ¿¡-
  2797. ñѬߠΣá⌐½«ó«⌐ ß¿ßΓѼδ, ¬«Γ«αδ⌐ πªÑ ß«ñÑαª¿Γ ¿¡Σ«α¼áµ¿ε, ß»Ñµ¿Σ¿τ¡πε ñ½∩ ¡ÑÑ.
  2798. ùáßΓ¡δ⌐ ¿¡ñѬߠΣá⌐½«ó«⌐ ß¿ßΓѼδ ß«ñÑαª¿Γ Γá¬πε ¿¡Σ«α¼áµ¿ε, ¬á¬ »αáóá ñ«ßΓπ»á
  2799. ¿  αáß»«½«ªÑ¡¿Ñ  í½«¬«ó, á «íΘ¿⌐ ¿¡ñѬߠ߫ñÑαª¿Γ ¡«¼Ñα πßΓα«⌐ßΓóá, ¡«¼Ñα ¿¡-
  2800. ñѬßá ¡á ñ¿ß¬Ñ, Γ¿» Σá⌐½á, αẼÑα, ¿¡Σ«α¼áµ¿ε « ó½áñѽ∞µÑ ¿ ßτÑΓτ¿¬  ßß佫¬.
  2801. äαπúá∩ τáßΓ¡á∩ ¿¡Σ«α¼áµ¿∩, «»¿ßδóáεΘá∩ «Γñѽ∞¡πε Σá⌐½«óπε ß¿ßΓѼπ, ß«ñÑনΓ-
  2802. ß∩  ó  ßπ»Ñαí½«¬Ñ  ¿ ßΓαπ¬ΓπαÑ ¬áΓὫú«ó. ìá É¿ßπ¡¬Ñ 5.34 ¿º«íαáªÑ¡δ Γáí½¿µá
  2803. «íΘ¿σ ¿¡ñѬ߫ó ó »á¼∩Γ¿ ¿ ñóÑ Γáí½¿µδ τáßΓ¡δσ  ¿¡ñѬ߫󠠫Γñѽ∞¡δσ  Σá⌐½«óδσ
  2804. ß¿ßΓѼ,  «ñ¡á  ñ½∩  ßΓαπ¬Γπα Σá⌐½«ó«⌐ ß¿ßΓѼδ óÑαß¿¿ V, á ñαπúá∩ ñ½∩ ¿¡ñѬßá
  2805. πñá½Ñ¡¡«⌐ (ßÑΓÑó«⌐) ß¿ßΓѼδ. ÅαÑñ»«½áúáÑΓß∩, τΓ« »«ß½Ññ¡¿⌐  ¿¡ñѬߠ ß«ñÑনΓ
  2806. ñ«ßΓáΓ«τ¡«  ¿¡Σ«α¼áµ¿¿  ñ½∩ Γ«ú«, τΓ«íδ ¿ñÑ¡Γ¿Σ¿µ¿α«óáΓ∞ Σá⌐½, ¡áσ«ñ∩Θ¿⌐ß∩ ó
  2807. πñá½Ñ¡¡«⌐ ß¿ßΓѼÑ. ô Σá⌐½«ó«⌐ ß¿ßΓÑ¼δ ¼«ªÑΓ «ΓßπΓßΓó«óáΓ∞ ßΓαπ¬Γπαá,  »«ñ«í-
  2808. ¡á∩ ¿¡ñѬßπ; ¡« ¿ßσ«ñ¡δ⌐ ΓѬßΓ »α«úαá¼¼ «Γñѽ∞¡«⌐ Σá⌐½«ó«⌐ ß¿ßΓÑ¼δ »«ºó«½∩ÑΓ
  2809. ß«ºñáΓ∞  «íΩÑ¬Γ¡δ⌐  ¬«ñ,  πñ«ó½ÑΓó«α∩εΘ¿⌐ ßѼá¡Γ¿τÑ߬¿¼ ΓαÑí«óá¡¿∩¼ Σá⌐½«ó«⌐
  2810. ß¿ßΓѼδ UNIX ¿ ¡áº¡áτáεΘ¿⌐ ßó«⌐ "¿¡ñѬß", ¬«Γ«αδ⌐ ß««ΓóÑΓßΓóπÑΓ  «íΘÑ¼π  ¿¡-
  2811. ñѬßπ, ¡áº¡áτáѼ«¼π ∩ñα«¼.
  2812.  
  2813.     öá⌐½«óá∩  ß¿ßΓѼᠬáªñ«ú« Γ¿»á ¿¼ÑÑΓ ¡Ñ¬πε ßΓαπ¬Γπαπ, ó ¬«Γ«α«⌐ σαá¡∩Γß∩
  2814. áñαÑßá Σπ¡¬µ¿⌐, αÑ὿ºπεΘ¿σ áíßΓαá¬Γ¡δÑ ñÑ⌐ßΓó¿∩. è«úñá ∩ñαπ ¡πª¡« «íαáΓ¿Γ∞-
  2815. ß∩ ¬ Σá⌐½π, «¡« óδºδóáÑΓ ¬«ßóÑ¡¡πε Σπ¡¬µ¿ε ó ºáó¿ß¿¼«ßΓ¿  «Γ  Γ¿»á  Σá⌐½«ó«⌐
  2816. ß¿ßΓÑ¼δ  ¿  áíßΓαá¬Γ¡«ú«  ñÑ⌐ßΓó¿∩ (ß¼. É¿ßπ¡«¬ 5.34). Åα¿¼ÑαἿ áíßΓαá¬Γ¡δσ
  2817. ñÑ⌐ßΓó¿⌐ ∩ó½∩εΓß∩: «Γ¬αδΓ¿Ñ ¿ ºá¬αδΓ¿Ñ Σá⌐½á, τΓÑ¡¿Ñ ¿ ºá»¿ß∞ ñá¡¡δσ,  ó«ºó-
  2818. αáΘÑ¡¿Ñ  ¿¡ñѬßá ñ½∩ ¬«¼»«¡Ñ¡Γδ ¿¼Ñ¡¿ Σá⌐½á (»«ñ«í¡« namei ¿ iget), «ßó«í«ª-
  2819. ñÑ¡¿Ñ ¿¡ñѬßá (»«ñ«í¡« iput), ¬«ααѬµ¿∩ ¿¡ñѬßá, »α«óÑα¬á »αáó ñ«ßΓπ»á,  πß-
  2820. Γá¡«ó¬á áΓα¿íπΓ«ó Σá⌐½á (»αáó ñ«ßΓπ»á ¬ ¡Ñ¼π), á ΓᬪѠ¼«¡Γ¿α«óá¡¿Ñ ¿ ñѼ«¡-
  2821. Γ¿α«óá¡¿Ñ  Σá⌐½«óδσ ß¿ßΓѼ. é ú½áóÑ 13 íπñÑΓ »α«¿½½εßΓα¿α«óá¡« ¿ß»«½∞º«óá¡¿Ñ
  2822. ß¿ßΓѼ¡δσ áíßΓαᬵ¿⌐ »α¿ αáßß¼«ΓαÑ¡¿¿ αáß»αÑñѽѡ¡«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼδ.
  2823.  
  2824.  
  2825.     E5.18 æÄÅÉÄéÄåäàìêà öÇëïÄéÄë æêæÆàî¢F
  2826.  
  2827.     ƒñα« »«ññÑনóáÑΓ µÑ½«ßΓ¡«ßΓ∞ ß¿ßΓѼδ ó ßó«Ñ⌐ «íδτ¡«⌐ αáí«ΓÑ. ÆÑ¼ ¡Ñ ¼Ñ-
  2828. ¡ÑÑ, ΓᬿѠταѺóδτá⌐¡δÑ «íßΓ«∩Γѽ∞ßΓóá, ¬á¬ «Γ¬áº »¿Γá¡¿∩, ¼«úπΓ »α¿óÑßΓ¿  ¬
  2829. ΣáΓá½∞¡«¼π ßí«ε ß¿ßΓѼδ, ó αѺπ½∞ΓáΓÑ ¬«Γ«α«ú« ß«ñÑন¼«Ñ ß¿ßΓѼδ πΓαáτ¿óáÑΓ
  2830. ßó«ε ß«ú½áß«óá¡¡«ßΓ∞: í«½∞Φ¿¡ßΓó« ñá¡¡δσ ó Σá⌐½«ó«⌐ ß¿ßΓѼѠñ«ßΓπ»¡« ñ½∩ ¿ß-
  2831. »«½∞º«óá¡¿∩,  ¡« ¡Ñ¬«Γ«αá∩ ¡Ñß«ú½áß«óá¡¡«ßΓ∞ ¼Ñªñπ ¡¿¼¿ ¿¼ÑÑΓ ¼ÑßΓ«. è«¼á¡ñá
  2832. fsck »α«óÑα∩ÑΓ ß«ú½áß«óá¡¡«ßΓ∞ ñá¡¡δσ ¿ ó ß½πτáÑ ¡Ñ«íσ«ñ¿¼«ßΓ¿ ó¡«ß¿Γ ó Σá⌐-
  2833. ½«óπε ß¿ßΓѼπ ¿ß»αáó½Ñ¡¿∩. Ä¡á «íαáΘáÑΓß∩ ¬ Σá⌐½«ó«⌐ ß¿ßΓѼѠ τÑαѺ  í½«τ¡δ⌐
  2834. ¿½¿  ßΓ᫬«óδ⌐  ¿¡ΓÑαΣÑ⌐ß  (ú½áóá 10) ó «íσ«ñ Γαáñ¿µ¿«¡¡δσ ¼ÑΓ«ñ«ó ñ«ßΓπ»á ¬
  2835. Σá⌐½á¼. é φΓ«¼ αáºñѽѠαáßß¼áΓα¿óáεΓß∩  ¡Ñ¬«Γ«αδÑ  »α¿¼Ñαδ  »α«Γ¿ó«αÑτ¿ó«ßΓ¿
  2836. ñá¡¡δσ, ¬«Γ«αá∩ «í¡áαπª¿óáÑΓß∩ ¬«¼á¡ñ«⌐ fsck.
  2837.     ä¿ß¬«óδ⌐  í½«¬  ¼«ªÑΓ  »α¿¡áñ½ÑªáΓ∞  í«½ÑÑ τѼ «ñ¡«¼π ¿¡ñѬßπ ¿½¿ ß»¿ß¬π
  2838. ßó«í«ñ¡δσ í½«¬«ó. è«úñá Σá⌐½«óá∩ ß¿ßΓÑ¼á «Γ¬αδóáÑΓß∩ ó »Ñαóδ⌐ αáº, óßÑ  ñ¿ß-
  2839. ¬«óδÑ í½«¬¿ ¡áσ«ñ∩Γß∩ ó ß»¿ß¬Ñ ßó«í«ñ¡δσ í½«¬«ó. è«úñá ñ¿ß¬«óδ⌐ í½«¬ óδí¿αá-
  2840. ÑΓß∩  ñ½∩ ¿ß»«½∞º«óá¡¿∩, ∩ñα« πñá½∩ÑΓ Ñú« ¡«¼Ñα ¿º ß»¿ß¬á ßó«í«ñ¡δσ í½«¬«ó ¿
  2841. ¡áº¡áτáÑΓ í½«¬ ¿¡ñѬßπ. ƒñα« ¡Ñ ¼«ªÑΓ »Ñαѡạáτ¿Γ∞  ñ¿ß¬«óδ⌐  í½«¬  ñαπú«¼π
  2842. ¿¡ñѬßπ  ñ« ΓÑσ »«α, »«¬á í½«¬ ¡Ñ íπñÑΓ ó«ºóαáΘÑ¡ ó ß»¿ß«¬ ßó«í«ñ¡δσ í½«¬«ó.
  2843. Æá¬¿¼ «íαẫ¼, ñ¿ß¬«óδ⌐ í½«¬ ¼«ªÑΓ ½¿í« ¡áσ«ñ¿Γ∞ß∩ ó ß»¿ß¬Ñ  ßó«í«ñ¡δσ  í½«-
  2844. ¬«ó,  ½¿í«  íδΓ∞ ¡áº¡áτÑ¡¡δ¼ «ñ¡«¼π ¿º ¿¡ñѬ߫ó. Éáßß¼«Γα¿¼ αẽ¿τ¡δÑ ß¿Γπá-
  2845. µ¿¿, ¼«úπΘ¿Ñ ¿¼ÑΓ∞ ¼ÑßΓ« »α¿ «ßó«í«ªñÑ¡¿¿ ∩ñα«¼ ñ¿ß¬«ó«ú«  í½«¬á,  »α¿¡áñ½Ñ-
  2846. ªáóΦÑú«  Σá⌐½π, ß ó«ºóαáΘÑ¡¿Ñ¼ ¡«¼Ñαá í½«¬á ó ßπ»Ñαí½«¬, ¡áσ«ñ∩Θ¿⌐ß∩ ó »á¼∩-
  2847. Γ¿, ¿ »α¿ óδñѽѡ¿¿ ñ¿ß¬«ó«ú« í½«¬á ¡«ó«¼π Σá⌐½π. àß½¿  ∩ñα«  ºá»¿ßδóὫ  ¡á
  2848. ñ¿ß¬  ¿¡ñѬߠ ¿  í½«¬¿  ¡«ó«ú«  Σá⌐½á, ¡« »ÑαÑñ ó¡ÑßÑ¡¿Ñ¼ ¿º¼Ñ¡Ñ¡¿⌐ ó ¿¡ñѬß
  2849. »αѪ¡Ñú« Σá⌐½á ¡á ñ¿ß¬Ñ »α«¿º«Φѽ ßí«⌐, «íá ¿¡ñѬßá íπñπΓ áñαÑß«óáΓ∞ ¬ «ñ¡«-
  2850.  
  2851.  
  2852.  
  2853.                                     130
  2854.  
  2855. ¼π ¿ Γ«¼π ªÑ ¡«¼Ñαπ ñ¿ß¬«ó«ú« í½«¬á. Å«ñ«í¡δ¼ ªÑ «íαẫ¼, Ñß½¿ ∩ñα«  »ÑαÑ»¿-
  2856. ßδóὫ  ¡á  ñ¿ß¬ ßπ»Ñαí½«¬ ¿ Ñú« ß»¿ß¬¿ ßó«í«ñ¡δσ αÑßπα߫󠿠»ÑαÑñ »ÑαÑ»¿ß∞ε
  2857. ßΓáα«ú« ¿¡ñѬßá ß½πτ¿½ß∩ ßí«⌐, ñ¿ß¬«óδ⌐ í½«¬ »«∩ó¿Γß∩ «ñ¡«óαѼѡ¡« ¿ ó ß»¿ß-
  2858. ¬Ñ ßó«í«ñ¡δσ í½«¬«ó, ¿ ó ßΓáα«¼ ¿¡ñѬßÑ.
  2859.     àß½¿ í½«¬ «ΓßπΓßΓóπÑΓ ¬á¬ ó ß»¿ß¬Ñ ßó«í«ñ¡δσ í½«¬«ó, Γᬠ¿ ó Σá⌐½Ñ, Σá⌐-
  2860. ½«óá∩ ß¿ßΓѼá ∩ó½∩ÑΓß∩ ¡Ñß«ú½áß«óá¡¡«⌐, ¿í«, ¬á¬ πªÑ  ú«ó«α¿½«ß∞  óδΦÑ,  óßÑ
  2861. í½«¬¿  «í∩ºá¡δ úñÑ-¡¿íπñ∞ »α¿ßπΓßΓó«óáΓ∞. Æá¬á∩ ß¿Γπᵿ∩ ¼«ú½á íδ »α«¿º«⌐Γ¿,
  2862. Ñß½¿ íδ í½«¬ íδ½ πñá½Ñ¡ ¿º Σá⌐½á ¿ »«¼ÑΘÑ¡ ó ß»¿ß«¬ ßó«í«ñ¡δσ í½«¬«ó  ó  ßπ-
  2863. »Ñαí½«¬Ñ.  àß½¿  »α«¿ºó«ñ¿½áß∞  ºá»¿ß∞ »αѪ¡Ñú« Σá⌐½á ¡á ñ¿ß¬ ¿ ß¿ßΓѼá ñá½á
  2864. ßí«⌐ »ÑαÑñ ºá»¿ß∞ε ßπ»Ñαí½«¬á, í½«¬ íπñÑΓ  «ΓßπΓßΓó«óáΓ∞  ó«  óßÑσ  ß»¿ß¬áσ,
  2865. σαá¡∩Θ¿σß∩ ¡á ñ¿ß¬Ñ.
  2866.     ê¡ñѬߠ¼«ªÑΓ ¿¼ÑΓ∞ ßτÑΓτ¿¬ ßó∩ºÑ⌐ ß ¡Ñ¡π½Ñóδ¼ º¡áτÑ¡¿Ñ¼ »α¿ Γ«¼, τΓ« Ñú«
  2867. ¡«¼Ñα «ΓßπΓßΓóπÑΓ ó« óßÑσ ¬áΓὫúáσ Σá⌐½«ó«⌐ ß¿ßΓѼδ. éßÑ Σá⌐½δ, ºá ¿ß¬½ετÑ-
  2868. ¡¿Ñ¼ ¬á¡á½«ó (¡Ñ»«¿¼Ñ¡«óá¡¡δσ), ñ«½ª¡δ »α¿ßπΓßΓó«óáΓ∞ ó ñαÑó«ó¿ñ¡«⌐ ßΓαπ¬Γπ-
  2869. αÑ  Σá⌐½«ó«⌐ ß¿ßΓѼδ. àß½¿ ß¿ßΓѼá ñá½á ßí«⌐ »«ß½Ñ ß«ºñá¡¿∩ ¬á¡á½á ¿½¿ «íδτ-
  2870. ¡«ú« Σá⌐½á, ¡« »ÑαÑñ ß«ºñ᡿Ѽ ß««ΓóÑΓßΓóπεΘÑ⌐ φΓ«¼π ¬á¡á½π ¿½¿ Σá⌐½π  Γ«τ¬¿
  2871. óσ«ñá  ó  ¬áΓὫú,  ¿¡ñѬߠ íπñÑΓ ¿¼ÑΓ∞ ó »«½Ñ ßτÑΓτ¿¬á ßó∩ºÑ⌐ πßΓá¡«ó½Ñ¡¡«Ñ
  2872. º¡áτÑ¡¿Ñ, »πßΓ∞ ñáªÑ «¡ ∩ó¡« ¡Ñ »α¿ßπΓßΓóπÑΓ ó Σá⌐½«ó«⌐  ß¿ßΓѼÑ.  àΘÑ  «ñ¡á
  2873. »α«í½Ñ¼á  ¼«ªÑΓ ó«º¡¿¬¡πΓ∞, Ñß½¿ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ unlink íδ½á πñá½Ñ¡á ßó∩º∞
  2874. ¬áΓὫúá íѺ »α«óÑન πñá½Ñ¡¿∩ ¿º ¬áΓὫúá óßÑσ ß«ñÑαªáΘ¿σß∩ ó ¡Ñ¼ ßó∩ºÑ⌐  ß
  2875. «Γñѽ∞¡δ¼¿ Σá⌐½á¼¿.
  2876.  
  2877.     àß½¿  Σ«α¼áΓ ¿¡ñѬßá ¡ÑóÑαÑ¡ (¡á»α¿¼Ñα, Ñß½¿ º¡áτÑ¡¿Ñ »«½∩ Γ¿»á Σá⌐½á ¡Ñ
  2878. «»αÑñѽѡ«), º¡áτ¿Γ úñÑ-Γ« ¿¼ÑÑΓß∩ «Φ¿í¬á. ¥Γ« ¼«ªÑΓ »α«¿º«⌐Γ¿,  Ñß½¿  áñ¼¿-
  2879. ¡¿ßΓαáΓ«α ß¼«¡Γ¿α«óá½ Σá⌐½«óπε ß¿ßΓѼπ, ¬«Γ«αá∩ «ΓΣ«α¼áΓ¿α«óá¡á ¡Ñ»αáó¿½∞¡«.
  2880. ƒñα«  «íαáΘáÑΓß∩  ¬ ΓѼ ñ¿ß¬«óδ¼ í½«¬á¼, ¬«Γ«αδÑ, ¬á¬ ¬áªÑΓß∩ ∩ñαπ, ß«ñÑαªáΓ
  2881. ¿¡ñѬßδ, ¡« ó ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ «¬áºδóáÑΓß∩, τΓ« «¡¿ ß«ñÑαªáΓ ñá¡¡δÑ.
  2882.     àß½¿ ¡«¼Ñα ¿¡ñѬßá »α¿ßπΓßΓóπÑΓ ó ºá»¿ß¿ ¬áΓὫúá, ¡« ßá¼ ¿¡ñѬߠ ßó«í«-
  2883. ñÑ¡,  Σá⌐½«óá∩  ß¿ßΓѼᠠ∩ó½∩ÑΓß∩ ¡Ñß«ú½áß«óá¡¡«⌐, »«ß¬«½∞¬π ¡«¼Ñα ¿¡ñѬßá ó
  2884. ºá»¿ß¿ ¬áΓὫúá ñ«½ªÑ¡ íδΓ∞ ¡«¼Ñα«¼ ¡áº¡áτÑ¡¡«ú« ¿¡ñѬßá. ¥Γ« ¼«ú½« íδ »α«¿-
  2885. º«⌐Γ¿, Ñß½¿ íδ ∩ñα«, ß«ºñáóá∩ ¡«óδ⌐ Σá⌐½ ¿ ºá»¿ßδóá∩  ¡á  ñ¿ß¬  ¡«óπε  Γ«τ¬π
  2886. óσ«ñá  ó  ¬áΓὫú, ¡Ñ π߻ѽá íδ ß¬«»¿α«óáΓ∞ ¡á ñ¿ß¬ ¿¡ñѬߠΣá⌐½á ¿º-ºá ßí«∩.
  2887. Æá¬ªÑ φΓ« ¼«ªÑΓ ß½πτ¿Γ∞ß∩, Ñß½¿ »α«µÑßß, πñá½∩∩ ßó∩º∞ Σá⌐½á ß ¬áΓὫú«¼, ºá-
  2888. »¿ΦÑΓ «ßó«í«ñ¿óΦ¿⌐ß∩ ¿¡ñѬߠ¡á ñ¿ß¬, ¡« ¡Ñ πß»ÑÑΓ  «Γ¬«ααÑ¬Γ¿α«óáΓ∞  ¬áΓὫú
  2889. ¿º-ºá  ßí«∩. é«º¡¿¬¡«óÑ¡¿Ñ »«ñ«í¡δσ ß¿Γπᵿ⌐ ¼«ª¡« »αÑñ«ΓóαáΓ¿Γ∞, ¬«»¿απ∩ ¡á
  2890. ñ¿ß¬ αѺπ½∞ΓáΓδ αáí«Γδ ó ¡áñ½ÑªáΘѼ »«α∩ñ¬Ñ.
  2891.     àß½¿ τ¿ß½« ßó«í«ñ¡δσ í½«¬«ó ¿½¿ ßó«í«ñ¡δσ ¿¡ñѬ߫ó, ºá»¿ßá¡¡«Ñ ó ßπ»Ñαí-
  2892. ½«¬Ñ, ¡Ñ ß«ó»áñáÑΓ ß ¿σ ¬«½¿τÑßΓó«¼ ¡á ñ¿ß¬Ñ, Σá⌐½«óá∩ ß¿ßΓѼá ΓᬠªÑ  ∩ó½∩-
  2893. ÑΓß∩  ¡Ñß«ú½áß«óá¡¡«⌐.  êΓ«ú«óá∩ ¿¡Σ«α¼áµ¿∩ ó ßπ»Ñαí½«¬Ñ óßÑúñá ñ«½ª¡á ß««Γ-
  2894. óÑΓßΓó«óáΓ∞ ¿¡Σ«α¼áµ¿¿ « ΓѬπΘѼ ß«ßΓ«∩¡¿¿ Σá⌐½«ó«⌐ ß¿ßΓѼδ.
  2895.  
  2896.  
  2897.     E5.19 é¢éÄä¢F
  2898.  
  2899.     ¥Γ«⌐ ú½áó«⌐ ºáóÑαΦáÑΓß∩ »Ñαóá∩  τáßΓ∞  ¬¡¿ú¿,  »«ßó∩ΘÑ¡¡á∩  αáßß¼«ΓαÑ¡¿ε
  2900. «ß«íÑ¡¡«ßΓÑ⌐ Σá⌐½«ó«⌐ ß¿ßΓѼδ. â½áóá »«º¡á¬«¼¿½á »«½∞º«óáΓѽ∩ ß ΓαѼ∩ Γáí½¿-
  2901. µá¼¿,  »α¿¡áñ½ÑªáΘ¿¼¿  ∩ñαπ:  Γáí½¿µÑ⌐  »«½∞º«óáΓѽ∞߬¿σ ñÑß¬α¿»Γ«α«ó Σá⌐½á,
  2902. ß¿ßΓѼ¡«⌐ Γáí½¿µÑ⌐ Σá⌐½«ó ¿ Γáí½¿µÑ⌐ ¼«¡Γ¿α«óá¡¿∩. é ¡Ñ⌐  αáßß¼«ΓαÑ¡δ  á½ú«-
  2903. α¿Γ¼δ  óδ»«½¡Ñ¡¿∩ ß¿ßΓѼ¡δσ Σπ¡¬µ¿⌐, ¿¼ÑεΘ¿σ «Γ¡«ΦÑ¡¿Ñ ¬ Σá⌐½«ó«⌐ ß¿ßΓѼÑ, ¿
  2904. óºá¿¼«ñÑ⌐ßΓó¿Ñ ¼Ñªñπ  φΓ¿¼¿  Σπ¡¬µ¿∩¼¿.  êßß½Ññ«óá¡δ  ¡Ñ¬«Γ«αδÑ  áíßΓαá¬Γ¡δÑ
  2905. ßó«⌐ßΓóá  Σá⌐½«ó«⌐  ß¿ßΓѼδ,  »«ºó«½∩εΘ¿Ñ ß¿ßΓѼѠUNIX »«ññÑনóáΓ∞ Σá⌐½«óδÑ
  2906. ß¿ßΓѼδ αẽ¿τ¡δσ Γ¿»«ó. ìᬫ¡Ñµ, «»¿ßá¡ ¼Ñσá¡¿º¼ óδ»«½¡Ñ¡¿∩  ¬«¼á¡ñδ  fsck,
  2907. ¬«¡Γα«½¿απεΘÑ⌐ µÑ½«ßΓ¡«ßΓ∞ ¿ ß«ú½áß«óá¡¡«ßΓ∞ ñá¡¡δσ ó Σá⌐½«ó«⌐ ß¿ßΓѼÑ.
  2908.  
  2909.  
  2910.     E5.20 ôÅÉÇåìàìêƒF
  2911.  
  2912.    1. Éáßß¼«Γα¿¼ »α«úαá¼¼π, »α¿óÑñÑ¡¡πε ¡á É¿ßπ¡¬Ñ 5.35. èᬫѠº¡áτÑ¡¿Ñ ó«º-
  2913.       óαáΘáÑΓ ¬áªñá∩ «»Ñαᵿ∩ read ¿ τΓ« »α¿ φΓ«¼ ß«ñÑনΓß∩ ó íπΣÑαÑ ? Ä»¿-
  2914.  
  2915.                                     131
  2916.  
  2917.       Φ¿ΓÑ, τΓ« »α«¿ßσ«ñ¿Γ ó ∩ñαÑ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ ¬áªñ«ú« ó맮óá read.
  2918.    2. é¡«ó∞ óÑα¡Ñ¼ß∩ ¬ »α«úαἼѠ¡á É¿ßπ¡¬Ñ 5.35 ¿ »αÑñ»«½«ª¿¼, τΓ« «»ÑαáΓ«α
  2919.       lseek(fd,9000L,0);  ßΓ«¿Γ  »ÑαÑñ »Ñαóδ¼ «íαáΘÑ¡¿Ñ¼ ¬ Σπ¡¬µ¿¿ read. ùΓ«
  2920.       ¿ΘÑΓ »α«µÑßß ¿ τΓ« »α¿ φΓ«¼ »α«¿ßσ«ñ¿Γ ó ∩ñαÑ ?
  2921.    3. Åα«µÑßß ¼«ªÑΓ «Γ¬αδΓ∞ Σá⌐½ ñ½∩ αáí«Γδ ó αѪ¿¼Ñ  ñ«íáó½Ñ¡¿∩  ºá»¿ßÑ⌐  ó
  2922.       ¬«¡Ñµ  Σá⌐½á, »α¿ φΓ«¼ ¿¼ÑÑΓß∩ ó ó¿ñπ, τΓ« ¬áªñá∩ «»Ñαᵿ∩ ºá»¿ß¿ αáß-
  2923.       »«½áúáÑΓ ñá¡¡δÑ »« áñαÑßπ ß¼ÑΘÑ¡¿∩, π¬áºδóáεΘÑú« ΓѬπΘ¿⌐ ¬«¡Ñµ  Σá⌐½á.
  2924.       Æá¬¿¼ «íαẫ¼, ñóá »α«µÑßßá ¼«úπΓ «Γ¬αδΓ∞ Σá⌐½ ñ½∩ αáí«Γδ ó αѪ¿¼Ñ ñ«-
  2925.       íáó½Ñ¡¿∩  ºá»¿ßÑ⌐ ó ¬«¡Ñµ Σá⌐½á ¿ óó«ñ¿Γ∞ ñá¡¡δÑ, ¡Ñ «»áßá∩ß∞ ºáΓÑαÑΓ∞
  2926.       ºá»¿ß¿ ñαπú ñαπúπ. ùΓ« »α«¿º«⌐ñÑΓ, Ñß½¿ »α«µÑßß «Γ¬α«ÑΓ Σá⌐½ ó  αѪ¿¼Ñ
  2927.       ñ«íáó½Ñ¡¿∩ ó ¬«¡Ñµ, á ºá»¿ßδóáεΘπε ú«½«ó¬π πßΓá¡«ó¿Γ ¡á ¡áτὫ Σá⌐½á ?
  2928.    4. ü¿í½¿«ΓѬá ßΓá¡ñáαΓ¡δσ »«ñ»α«úαá¼¼ óó«ñá-óδó«ñá »«óδΦáÑΓ φΣΣÑ¬Γ¿ó¡«ßΓ∞
  2929.       óδ»«½¡Ñ¡¿∩  »«½∞º«óáΓѽѼ «»Ñαᵿ⌐ τΓÑ¡¿∩ ¿ ºá»¿ß¿ í½áú«ñáα∩ íπΣÑਧá-
  2930.       µ¿¿ ñá¡¡δσ ó í¿í½¿«ΓѬѠ¿ ß«σαá¡Ñ¡¿ε í«½∞Φ«ú« ¬«½¿τÑßΓóá ¼«ñπ½Ñ⌐ «íαá-
  2931.       ΘÑ¡¿∩ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ, ¡Ñ«íσ«ñ¿¼δσ »«½∞º«óáΓѽε. èᬠíδ óδ αÑá-
  2932.       ½¿º«ó὿ í¿í½¿«ΓÑτ¡δÑ Σπ¡¬µ¿¿ fread ¿ fwrite ? ùΓ« ñ«½ª¡δ ñѽáΓ∞  í¿í-
  2933.       ½¿«ΓÑτ¡δÑ Σπ¡¬µ¿¿ fopen ¿ fclose ?
  2934.  
  2935.     ┌────────────────────────────────────────────────────────────┐
  2936.     │ #include <fcntl.h>                                         │
  2937.     │ main()                                                     │
  2938.     │ {                                                          │
  2939.     │     int fd;                                                │
  2940.     │     char buf[1024];                                        │
  2941.     │     fd = creat("junk",0666);                               │
  2942.     │     lseek(fd,2000L,2);  /* ¿ΘÑΓß∩ íá⌐Γ ß ¡«¼Ñα«¼ 2000 */   │
  2943.     │     write(fd,"hello",5);                                   │
  2944.     │     close(fd);                                             │
  2945.     │                                                            │
  2946.     │     fd = open("junk",O_RDONLY);                            │
  2947.     │     read(fd,buf,1024);     /* τ¿ΓáÑΓ ¡π½¿ */               │
  2948.     │     read(fd,buf,1024); /* ßτ¿ΓδóáÑΓ ¡ÑτΓ«, «Γ½¿τ¡«Ñ «Γ 0 */│
  2949.     │     read(fd,buf,1024);                                     │
  2950.     │ }                                                          │
  2951.     └────────────────────────────────────────────────────────────┘
  2952.  
  2953.              É¿ßπ¡«¬ 5.35. æτ¿Γδóá¡¿Ñ ¡π½Ñ⌐ ¿ ¬«¡µá Σá⌐½á
  2954.  
  2955.  
  2956.    5.  àß½¿  »α«µÑßß τ¿ΓáÑΓ ñá¡¡δÑ ¿º Σá⌐½á »«ß½Ññ«óáΓѽ∞¡«, ∩ñα« ºá»«¼¿¡áÑΓ
  2957.       º¡áτÑ¡¿Ñ í½«¬á, »α«τ¿Γá¡¡«ú« ß »α«ñó¿ªÑ¡¿Ñ¼, ó ¿¡ñѬßÑ,  σαá¡∩ΘѼß∩  ó
  2958.       »á¼∩Γ¿.  ùΓ«  »α«¿º«⌐ñÑΓ,  Ñß½¿ ¡Ñ߬«½∞¬« »α«µÑßß«ó íπñπΓ «ñ¡«óαѼѡ¡«
  2959.       óÑßΓ¿ »«ß½Ññ«óáΓѽ∞¡«Ñ ßτ¿Γδóá¡¿Ñ ñá¡¡δσ ¿º «ñ¡«ú« ¿ Γ«ú« ªÑ Σá⌐½á ?
  2960.  
  2961.       ┌─────────────────────────────────────────────────────────┐
  2962.       │ #include <fcntl.h>                                      │
  2963.       │ main()                                                  │
  2964.       │ {                                                       │
  2965.       │     int fd;                                             │
  2966.       │     char buf[256];                                      │
  2967.       │                                                         │
  2968.       │     fd = open("/etc/passwd",O_RDONLY);                  │
  2969.       │     if (read(fd,buf,1024) < 0)                          │
  2970.       │         printf("τΓÑ¡¿Ñ ºáóÑαΦáÑΓß∩ ¡Ñπñáτ¡«\n");        │
  2971.       │ }                                                       │
  2972.       └─────────────────────────────────────────────────────────┘
  2973.  
  2974.      É¿ßπ¡«¬ 5.36. ùΓÑ¡¿Ñ í«½∞Φ«⌐ »«αµ¿¿ ñá¡¡δσ ó ¼á½Ñ¡∞¬¿⌐ íπΣÑα
  2975.  
  2976.  
  2977.                                     132
  2978.  
  2979.    6. Éáßß¼«Γα¿¼ »α«úαá¼¼π, »α¿óÑñÑ¡¡πε ¡á É¿ßπ¡¬Ñ 5.36.  ùΓ«  »α«¿º«⌐ñÑΓ  ó
  2980.       αѺπ½∞ΓáΓÑ  óδ»«½¡Ñ¡¿∩  »α«úαá¼¼δ ? Äí«ß¡π⌐ΓÑ «ΓóÑΓ. ùΓ« »α«¿º«Φ½« íδ,
  2981.       Ñß½¿ íδ «íΩ∩ó½Ñ¡¿Ñ ¼áßß¿óá buf í佫 óßΓáó½Ñ¡« ¼Ñªñπ «íΩ∩ó½Ñ¡¿∩¼¿  ñóπσ
  2982.       ñαπú¿σ ¼áßß¿ó«ó αẼÑα«¼ 1024 φ½Ñ¼Ñ¡Γá ¬áªñδ⌐ ? èᬿ¼ «íαẫ¼ ∩ñα« πß-
  2983.       Γá¡áó½¿óáÑΓ, τΓ« »α«τ¿Γá¡¡á∩ »«αµ¿∩ ñá¡¡δσ ß½¿Φ¬«¼ óѽ¿¬á ñ½∩ íπΣÑαá ?
  2984.   *7. é Σá⌐½«ó«⌐ ß¿ßΓѼѠBSD αáºαÑΦáÑΓß∩ Σαáú¼Ñ¡Γ¿α«óáΓ∞ »«ß½Ññ¡¿⌐ í½«¬ Σá⌐-
  2985.       ½á ó ß««ΓóÑΓßΓó¿¿ ß« ß½ÑñπεΘ¿¼¿ »αáó¿½á¼¿:
  2986.       * æó«í«ñ¡δÑ Σαáú¼Ñ¡Γδ «Γ߽Ѫ¿óáεΓß∩ ó ßΓαπ¬Γπαáσ, »«ñ«í¡δσ ßπ»Ñαí½«¬π;
  2987.       *  ƒñα«  ¡Ñ  »«ññÑনóáÑΓ »π½ αá¡ÑÑ óδñѽѡ¡δσ ßó«í«ñ¡δσ Σαáú¼Ñ¡Γ«ó, á
  2988.         αáºí¿óáÑΓ ¡á Σαáú¼Ñ¡Γδ ó ß½πτáÑ ¡Ñ«íσ«ñ¿¼«ßΓ¿ ßó«í«ñ¡δ⌐ í½«¬;
  2989.       * ƒñα« ¼«ªÑΓ ¡áº¡áτáΓ∞ Σαáú¼Ñ¡Γδ í½«¬á Γ«½∞¬« ñ½∩ »«ß½Ññ¡Ñú«  í½«¬á  ó
  2990.         Σá⌐½Ñ;
  2991.       *  àß½¿  í½«¬  αáºí¿Γ ¡á ¡Ñ߬«½∞¬« Σαáú¼Ñ¡Γ«ó, ∩ñα« ¼«ªÑΓ ¡áº¡áτ¿Γ∞ ¿σ
  2992.         αẽ¿τ¡δ¼ Σá⌐½á¼;
  2993.       * è«½¿τÑßΓó« Σαáú¼Ñ¡Γ«ó ó í½«¬Ñ ¡Ñ ñ«½ª¡« »αÑóδΦáΓ∞ óѽ¿τ¿¡π, Σ¿¬ß¿α«-
  2994.         óá¡¡πε ñ½∩ ñá¡¡«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼδ;
  2995.       * ƒñα« ¡áº¡áτáÑΓ  Σαáú¼Ñ¡Γδ  ó«  óαѼ∩  óδ»«½¡Ñ¡¿∩  ß¿ßΓѼ¡«⌐  Σπ¡¬µ¿¿
  2996.         write.
  2997.  
  2998.       Éáºαáí«Γá⌐ΓÑ  á½ú«α¿Γ¼,  »α¿ß«Ññ¿¡∩εΘ¿⌐ ¬ Σá⌐½π Σαáú¼Ñ¡Γδ í½«¬á. èᬿÑ
  2999.       ¿º¼Ñ¡Ñ¡¿∩ ñ«½ª¡δ íδΓ∞ ßñѽá¡δ ó ¿¡ñѬßÑ, τΓ«íδ »«ºó«½¿Γ∞ ¿ß»«½∞º«óá¡¿Ñ
  3000.       Σαáú¼Ñ¡Γ«ó ? èᬿѠ»αÑ¿¼πΘÑßΓóá ß ß¿ßΓѼ¡«⌐ Γ«τ¬¿ ºαÑ¡¿∩ »αÑñ«ßΓáó½∩ÑΓ
  3001.       ¿ß»«½∞º«óá¡¿Ñ Σαáú¼Ñ¡Γ«ó ñ½∩ ΓÑσ Σá⌐½«ó, ¬«Γ«αδÑ ¿ß»«½∞ºπεΓ í½«¬¿ ¬«ß-
  3002.       óÑ¡¡«⌐ áñαÑßᵿ¿ ? ìÑ óδú«ñ¡ÑÑ ½¿ í佫 íδ ¡áº¡áτáΓ∞ Σαáú¼Ñ¡Γδ ó« óαѼ∩
  3003.       óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ close ó¼ÑßΓ« Γ«ú«, τΓ«íδ ¡áº¡áτáΓ∞ ¿σ »α¿  óδ»«½¡Ñ-
  3004.       ¡¿¿ Σπ¡¬µ¿¿ write ?
  3005.   *8.  éÑα¡Ñ¼ß∩  ¬ «íßπªñÑ¡¿ε, ¡áτáΓ«¼π ó ú½áóÑ 4 ¿ ¬áßáεΘѼπß∩ αáß»«½«ªÑ¡¿∩
  3006.       ñá¡¡δσ ó ¿¡ñѬßÑ Σá⌐½á. ä½∩ Γ«ú« ß½πτá∩,  ¬«úñá  ¿¡ñѬߠ ¿¼ÑÑΓ  αẼÑα
  3007.       ñ¿ß¬«ó«ú«  í½«¬á,  αáºαáí«Γá⌐ΓÑ  á½ú«α¿Γ¼,  »« ¬«Γ«α«¼π «ßΓáΓ«¬ ñá¡¡δσ
  3008.       Σá⌐½á »ÑαÑ»¿ßδóáÑΓß∩ ó ¿¡ñѬߡδ⌐ í½«¬, Ñß½¿ »«¼ÑΘáÑΓß∩ Γπñá.  æαáó¡¿ΓÑ
  3009.       φëà¼ÑΓ«ñ ß ¼ÑΓ«ñ«¼, »αÑñ½«ªÑ¡¡δ¼ ñ½∩ αÑΦÑ¡¿∩ »αÑñδñπΘÑ⌐ »α«í½Ñ¼δ.
  3010.   *9. é óÑαß¿¿ V ß¿ßΓѼδ Σπ¡¬µ¿∩ fcntl ¿ß»«½∞ºπÑΓß∩ ñ½∩ αÑ὿ºáµ¿¿ ¼Ñσá¡¿º¼á
  3011.       ºáσóáΓá  Σá⌐½á  ¿  ºá»¿ß¿ ¿ ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ Σ«α¼áΓ: fcntl(fd,cmd,arg);
  3012.       úñÑ fd - ñÑß¬α¿»Γ«α Σá⌐½á, cmd - Γ¿» í½«¬¿απεΘÑ⌐  «»Ñαᵿ¿,  á  ó  arg
  3013.       π¬áºδóáεΓß∩  αẽ¿τ¡δÑ »áαá¼ÑΓαδ, ΓᬿѠ¬á¬ Γ¿» í½«¬¿α«ó¬¿ (ºá»¿ß¿ ¿½¿
  3014.       τΓÑ¡¿∩) ¿ ß¼ÑΘÑ¡¿∩ ó íá⌐Γáσ (ß¼. »α¿½«ªÑ¡¿Ñ). è í½«¬¿απεΘ¿¼  «»Ñαᵿ∩¼
  3015.       «Γ¡«ß∩Γß∩
  3016.       *  Åα«óÑα¬á  ¡á½¿τ¿∩ í½«¬¿α«ó«¬, »α¿¡áñ½ÑªáΘ¿σ ñαπú¿¼ »α«µÑßßá¼, ß ¡Ñ-
  3017.         ¼Ññ½Ñ¡¡δ¼ ó«ºóαáΓ«¼ π»αáó½Ñ¡¿∩ ó ß½πτáÑ «í¡áαπªÑ¡¿∩  Γᬿσ  í½«¬¿α«-
  3018.         ó«¬,
  3019.       * ôßΓá¡«ó¬á í½«¬¿α«ó¬¿ ¿ »α¿«ßΓá¡«ó ñ« πß»ÑΦ¡«ú« ºáóÑαΦÑ¡¿∩,
  3020.       * ôßΓá¡«ó¬á í½«¬¿α«ó¬¿ ß ¡Ñ¼Ññ½Ñ¡¡δ¼ ó«ºóαáΓ«¼ π»αáó½Ñ¡¿∩ ó ß½πτáÑ ¡Ñ-
  3021.         πñáτ¿.
  3022.       ƒñα«  áóΓ«¼áΓ¿τÑ߬¿  ß¡¿¼áÑΓ  í½«¬¿α«ó¬¿, πßΓá¡«ó½Ñ¡¡δÑ »α«µÑßß«¼, »α¿
  3023.       ºá¬αδΓ¿¿ Σá⌐½á. Ä»¿Φ¿ΓÑ αáí«Γπ á½ú«α¿Γ¼á, αÑ὿ºπεΘÑú« ºáσóáΓ Σá⌐½á  ¿
  3024.       ºá»¿ß¿.  àß½¿ í½«¬¿α«ó¬¿ ∩ó½∩εΓß∩ «í∩ºáΓѽ∞¡δ¼¿, ñαπú¿¼ »α«µÑßßá¼ ß½Ñ-
  3025.       ñπÑΓ ºá»αÑΓ¿Γ∞ ñ«ßΓπ» ¬ Σá⌐½π. èᬿѠ¿º¼Ñ¡Ñ¡¿∩ ß½ÑñπÑΓ ßñѽáΓ∞ ó  «»Ñ-
  3026.       αᵿ∩σ τΓÑ¡¿∩ ¿ ºá»¿ß¿ ?
  3027.  *10. àß½¿ »α«µÑßß »α¿«ßΓá¡«ó¿½ ßó«ε αáí«Γπ ó «ª¿ñá¡¿¿ ß¡∩Γ¿∩ ß Σá⌐½á í½«¬¿-
  3028.       α«ó¬¿, ó«º¡¿¬áÑΓ «»áß¡«ßΓ∞ óºá¿¼¡«⌐ í½«¬¿α«ó¬¿: »α«µÑßß A ¼«ªÑΓ ºáí½«-
  3029.       ¬¿α«óáΓ∞ Σá⌐½ "one" ¿ »«»δΓáΓ∞ß∩ ºáí½«¬¿α«óáΓ∞ Σá⌐½ "two", á »α«µÑßß B
  3030.       ¼«ªÑΓ  ºáí½«¬¿α«óáΓ∞ Σá⌐½ "two" ¿ »«»δΓáΓ∞ß∩ ºáí½«¬¿α«óáΓ∞ Σá⌐½ "one".
  3031.       Äíá »α«µÑßßá »ÑαÑ⌐ñπΓ ó ß«ßΓ«∩¡¿Ñ, »α¿ ¬«Γ«α«¼ «¡¿ ¡Ñ  ß¼«úπΓ  »α«ñ«½-
  3032.       ª¿Γ∞ ßó«ε αáí«Γπ. ÉáßΦ¿α∞ΓÑ á½ú«α¿Γ¼ αÑΦÑ¡¿∩ »αÑñδñπΘÑ⌐ »α«í½Ñ¼δ Γᬿ¼
  3033.       «íαẫ¼,  τΓ«íδ ∩ñα« ¼«ú½« «í¡áαπª¿óáΓ∞ ß¿Γπᵿ¿ óºá¿¼¡«⌐ í½«¬¿α«ó¬¿ ¿
  3034.       »αÑαδóáΓ∞ óδ»«½¡Ñ¡¿Ñ ß¿ßΓѼ¡δσ Σπ¡¬µ¿⌐. æ½ÑñπÑΓ ½¿ »«απτáΓ∞  «í¡áαπªÑ-
  3035.       ¡¿Ñ óºá¿¼¡δσ í½«¬¿α«ó«¬ ∩ñαπ ?
  3036.   11. ä« ßπΘÑßΓó«óá¡¿∩ ß»Ñµ¿á½∞¡«⌐ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ ºáσóáΓá Σá⌐½á »«½∞º«óá-
  3037.       Γѽ∩¼  »α¿σ«ñ¿½«ß∞ »α¿íÑúáΓ∞ ¬ πß½πúá¼ »áαώѽ∞¡« ñÑ⌐ßΓóπεΘ¿σ »α«µÑß-
  3038.  
  3039.                                     133
  3040.  
  3041.       ß«ó ñ½∩ αÑ὿ºáµ¿¿ ¼Ñσá¡¿º¼á ºáσóáΓá »πΓѼ ó맮óá  ß¿ßΓѼ¡δσ  Σπ¡¬µ¿⌐,
  3042.       óδ»«½¡∩εΘ¿σ φ½Ñ¼Ñ¡Γáα¡δÑ ñÑ⌐ßΓó¿∩. èᬿѠ¿º ß¿ßΓѼ¡δσ Σπ¡¬µ¿⌐, «»¿ßá¡-
  3043.       ¡δσ  ó φΓ«⌐ ú½áóÑ, ¼«ú½¿ íδ ¿ß»«½∞º«óáΓ∞ß∩ ? èᬿѠ«»áß¡«ßΓ¿ »«ñßΓÑαÑ-
  3044.       úáεΓ »α¿ ¿ß»«½∞º«óá¡¿¿ φΓ¿σ ¼ÑΓ«ñ«ó ?
  3045.   12. É¿τ¿ ºá∩ó½∩½ (ß¼. [Ritchie 81]), τΓ« ºáσóáΓá  Σá⌐½á  ¡Ññ«ßΓáΓ«τ¡«  ñ½∩
  3046.       Γ«ú«, τΓ«íδ »αÑñ«ΓóαáΓ¿Γ∞ »πΓá¡¿µπ, óδºδóáѼπε Γᬿ¼¿ »α«úαἼἿ, ¬á¬
  3047.       αÑñá¬Γ«αδ,  ¬«Γ«αδÑ ß«ºñáεΓ ¬«»¿ε Σá⌐½á »α¿ αÑñá¬Γ¿α«óá¡¿¿ ¿ »ÑαÑ»¿ßδ-
  3048.       óáεΓ »Ñαó«¡áτá½∞¡δ⌐ Σá⌐½ »« «¬«¡τá¡¿¿ αáí«Γδ. ÄíΩ∩ß¡¿ΓÑ, τΓ« «¡ ¿¼Ñ½ ó
  3049.       ó¿ñπ, ¿ »α«¬«¼¼Ñ¡Γ¿απ⌐ΓÑ.
  3050.   13. Éáßß¼«Γα¿¼ ÑΘÑ «ñ¿¡ ß»«ß«í í½«¬¿α«ó¬¿ Σá⌐½«ó, »αÑñ«ΓóαáΘáεΘ¿⌐ αáºαπΦ¿-
  3051.       Γѽ∞¡δÑ »«ß½ÑñßΓó¿∩ ¬«ααÑ¬Γ¿α«ó¬¿. ÅαÑñ»«½«ª¿¼, τΓ« ó  ¿¡ñѬßÑ  ß«ñÑα-
  3052.       ª¿Γß∩ ¡«óá∩ πßΓá¡«ó¬á »αáó ñ«ßΓπ»á, »«ºó«½∩εΘá∩ Γ«½∞¬« «ñ¡«¼π »α«µÑßßπ
  3053.       ó ΓѬπΘ¿⌐ ¼«¼Ñ¡Γ «Γ¬αδóáΓ∞ Σá⌐½ ñ½∩ ºá»¿ß¿ ¿ ¡Ñ߬«½∞¬¿¼ »α«µÑßßá¼ «Γ¬-
  3054.       αδóáΓ∞ Σá⌐½ ñ½∩ τΓÑ¡¿∩. Ä»¿Φ¿ΓÑ αÑ὿ºáµ¿ε φΓ«ú« ß»«ß«íá.
  3055.  
  3056.       ┌──────────────────────────────────────────────────────────┐
  3057.       │ main(argc,argv)                                          │
  3058.       │       int argc;                                          │
  3059.       │       char *argv[];                                      │
  3060.       │ {                                                        │
  3061.       │       if (argc != 2)                                     │
  3062.       │       {                                                  │
  3063.       │             printf("óóÑñ¿ΓÑ: ¬«¼á¡ñá  ¿¼∩ ¬áΓὫúá\n");  │
  3064.       │             exit();                                      │
  3065.       │       }                                                  │
  3066.       │                                                          │
  3067.       │       /* »αáóá ñ«ßΓπ»á ¬ ¬áΓὫúπ: ºá»¿ß∞, τΓÑ¡¿Ñ ¿ ¿ß-  │
  3068.       │          »«½¡Ñ¡¿Ñ αáºαÑΦÑ¡δ ñ½∩ óßÑσ */                  │
  3069.       │       /* Γ«½∞¬« ßπ»Ñα»«½∞º«óáΓѽ∞ ¼«ªÑΓ ñѽáΓ∞ ß½Ññπε-   │
  3070.       │          ΘÑÑ */                                          │
  3071.       │       if (mknod(argv[1],040777,0) == -1)                 │
  3072.       │             printf("mknod ºáóÑαΦ¿½áß∞ ¡Ñπñáτ¡«\n");      │
  3073.       │ }                                                        │
  3074.       └──────────────────────────────────────────────────────────┘
  3075.  
  3076.          É¿ßπ¡«¬ 5.37. èáΓὫú, ß«ºñá¡¿Ñ ¬«Γ«α«ú« ¡Ñ ºáóÑαΦÑ¡«
  3077.  
  3078.  
  3079.  *14.  Éáßß¼«Γα¿¼ »α«úαá¼¼π (É¿ßπ¡«¬ 5.37), ¬«Γ«αá∩ ß«ºñáÑΓ ¬áΓὫú ß ¡ÑóÑα-
  3080.       ¡δ¼ Σ«α¼áΓ«¼ (ó ¬áΓὫúÑ «ΓßπΓßΓóπεΓ ºá»¿ß¿ ß  ¿¼Ñ¡á¼¿  "."  ¿  "..").
  3081.       Å«»α«íπ⌐ΓÑ,  ¡áσ«ñ∩ß∞ ó φΓ«¼ ¬áΓὫúÑ, óδ»«½¡¿Γ∞ ¡Ñ߬«½∞¬« ¬«¼á¡ñ, Γá-
  3082.       ¬¿σ ¬á¬ ls -l, ls -ld, ¿½¿ cd. ùΓ« »α«¿º«⌐ñÑΓ »α¿ φΓ«¼ ?
  3083.   15. ìá»¿Φ¿ΓÑ »α«úαá¼¼π, ¬«Γ«αá∩ óδó«ñ¿Γ ñ½∩ Σá⌐½«ó, ¿¼Ñ¡á ¬«Γ«αδσ  π¬áºá¡δ
  3084.       ó ¬áτÑßΓóÑ »áαá¼ÑΓα«ó, ¿¡Σ«α¼áµ¿ε « ó½áñѽ∞µÑ, Γ¿»Ñ Σá⌐½á, »αáóáσ ñ«ß-
  3085.       Γπ»á ¿ óαѼѡ¿ ñ«ßΓπ»á. àß½¿ Σá⌐½ (»áαá¼ÑΓα) ∩ó½∩ÑΓß∩ ¬áΓὫú«¼, »α«ú-
  3086.       αá¼¼á ñ«½ª¡á τ¿ΓáΓ∞ ºá»¿ß¿ ¿º ¬áΓὫúá ¿ óδó«ñ¿Γ∞ óδΦÑπ¬áºá¡¡πε ¿¡Σ«α-
  3087.       ¼áµ¿ε ñ½∩ óßÑσ Σá⌐½«ó ó ¬áΓὫúÑ.
  3088.   16. ÅαÑñ»«½«ª¿¼, τΓ« π »«½∞º«óáΓѽ∩ ÑßΓ∞ αáºαÑΦÑ¡¿Ñ ¡á τΓÑ¡¿Ñ ¿º ¬áΓὫúá,
  3089.       ¡«  ¡ÑΓ αáºαÑΦÑ¡¿∩ ¡á ¿ß»«½¡Ñ¡¿Ñ. ùΓ« »α«¿º«⌐ñÑΓ, Ñß½¿ ¬áΓὫú ¿ß»«½∞-
  3090.       º«óáΓ∞ ó ¬áτÑßΓóÑ »áαá¼ÑΓαá ¬«¼á¡ñδ ls, ºáñá¡¡«⌐ ß «»µ¿Ñ⌐ "-i"  ?  ùΓ«
  3091.       íπñÑΓ,  Ñß½¿  π¬áºá¡á  «»µ¿∩  "-l" ? Å«∩ß¡¿ΓÑ ßó«¿ «ΓóÑΓδ. ÄΓóÑΓ∞ΓÑ ¡á
  3092.       ó«»α«ß, ßΣ«α¼π½¿α«óá¡¡δ⌐ ñ½∩ ß½πτá∩, ¬«úñá ÑßΓ∞ αáºαÑΦÑ¡¿Ñ ¡á ¿ß»«½¡Ñ-
  3093.       ¡¿Ñ, ¡« ¡ÑΓ αáºαÑΦÑ¡¿∩ ¡á τΓÑ¡¿Ñ ¿º ¬áΓὫúá.
  3094.   17. æαáó¡¿ΓÑ »αáóá ñ«ßΓπ»á, ¬«Γ«αδÑ ñ«½ª¡δ íδΓ∞ π »α«µÑßßá ñ½∩  óδ»«½¡Ñ¡¿∩
  3095.       ß½ÑñπεΘ¿σ ñÑ⌐ßΓó¿⌐, ¿ »α«¬«¼¼Ñ¡Γ¿απ⌐ΓÑ:
  3096.       * ä½∩ ß«ºñá¡¿∩ ¡«ó«ú« Σá⌐½á ΓαÑíπÑΓß∩ αáºαÑΦÑ¡¿Ñ ¡á ºá»¿ß∞ ó ¬áΓὫú.
  3097.       *  ä½∩ "ß«ºñá¡¿∩" ßπΘÑßΓóπεΘÑú« Σá⌐½á ΓαÑíπÑΓß∩ αáºαÑΦÑ¡¿Ñ ¡á ºá»¿ß∞ ó
  3098.         Σá⌐½.
  3099.       * ä½∩ πñá½Ñ¡¿∩ ßó∩º¿ Σá⌐½á ß ¬áΓὫú«¼ ΓαÑíπÑΓß∩ αáºαÑΦÑ¡¿Ñ ¡á  ºá»¿ß∞
  3100.  
  3101.                                     134
  3102.  
  3103.         ó ¬áΓὫú, á ¡Ñ ó Σá⌐½.
  3104.  *18. ìá»¿Φ¿ΓÑ »α«úαá¼¼π, ¬«Γ«αá∩ ¡áóÑΘáÑΓ óßÑ ¬áΓὫú¿, ¡áτ¿¡á∩ ß ΓѬπΘÑú«.
  3105.       èᬠ«¡á ñ«½ª¡á π»αáó½∩Γ∞ µ¿¬½á¼¿ ó ¿Ñαáασ¿¿ ¬áΓὫú«ó ?
  3106.   19. éδ»«½¡¿ΓÑ »α«úαá¼¼π, »α¿óÑñÑ¡¡πε ¡á É¿ßπ¡¬Ñ 5.38, ¿ «íΩ∩ß¡¿ΓÑ, τΓ« »α¿
  3107.       φΓ«¼ »α«¿ßσ«ñ¿Γ ó ∩ñαÑ. (ìá¼Ñ¬: óδ»«½¡¿ΓÑ ¬«¼á¡ñπ pwd, ¬«úñá »α«úαá¼¼á
  3108.       ºá¬«¡τ¿Γß∩).
  3109.   20.  ìá»¿Φ¿ΓÑ »α«úαá¼¼π, ¬«Γ«αá∩ ºá¼Ñ¡∩ÑΓ ¬«α¡Ñó«⌐ ¬áΓὫú π¬áºá¡¡δ¼ ¬áΓá-
  3110.       ½«ú«¼, ¿ ¿ßß½Ññπ⌐ΓÑ ñÑαÑó« ¬áΓὫú«ó, ñ«ßΓπ»¡«Ñ ñ½∩ φΓ«⌐ »α«úαá¼¼δ.
  3111.   21. Å«τѼπ »α«µÑßß ¡Ñ ¼«ªÑΓ «Γ¼Ñ¡¿Γ∞ »αÑñδñπΘ¿⌐ ó맮ó Σπ¡¬µ¿¿ chroot ? êº-
  3112.       ¼Ñ¡¿ΓÑ ¬«¡¬αÑΓ¡πε αÑ὿ºáµ¿ε »α«µÑßßá Γᬿ¼ «íαẫ¼, τΓ«íδ «¡ ¼«ú  ¼Ñ-
  3113.       ¡∩Γ∞  ΓѬπΘÑÑ  º¡áτÑ¡¿Ñ  ¬«α¡∩ ¡á »αÑñδñπΘÑÑ. èᬿѠπ φΓ«⌐ ó«º¼«ª¡«ßΓ¿
  3114.       »αÑ¿¼πΘÑßΓóá ¿ ¡Ñπñ«íßΓóá ?
  3115.   22. Éáßß¼«Γα¿¼ »α«ßΓ«⌐ »α¿¼Ñα ¬á¡á½á (É¿ßπ¡«¬ 5.19), ¬«úñá »α«µÑßß ºá»¿ßδ-
  3116.       óáÑΓ ó ¬á¡á½ ßΓ᫬π "hello" ¿ ºáΓѼ ßτ¿ΓδóáÑΓ
  3117.  
  3118.       ┌──────────────────────────────────────────────────────────┐
  3119.       │ main(argc,argv)                                          │
  3120.       │    int argc;                                             │
  3121.       │    char *argv[];                                         │
  3122.       │ {                                                        │
  3123.       │    if (argc != 2)                                        │
  3124.       │    {                                                     │
  3125.       │        printf("¡πªÑ¡ 1 áαúπ¼Ñ¡Γ - ¿¼∩ ¬áΓὫúá\n");      │
  3126.       │        exit();                                           │
  3127.       │    }                                                     │
  3128.       │                                                          │
  3129.       │    if (chdir(argv[1]) == -1)                             │
  3130.       │        printf("%s Σá⌐½ ¡Ñ ∩ó½∩ÑΓß∩ ¬áΓὫú«¼\n",argv[1]);│
  3131.       │ }                                                        │
  3132.       └──────────────────────────────────────────────────────────┘
  3133.  
  3134.       É¿ßπ¡«¬ 5.38. Åα¿¼Ñα »α«úαá¼¼δ ß ¿ß»«½∞º«ó᡿Ѽ Σπ¡¬µ¿¿ chdir
  3135.  
  3136.  
  3137.       ÑÑ. ùΓ« »α«¿º«Φ½« íδ, Ñß½¿ íδ ¼áßß¿ó ñ½∩ ºá»¿ß¿ ñá¡¡δσ  ó  ¬á¡á½  ¿¼Ñ½
  3138.       αẼÑα  1024 íá⌐Γá ó¼ÑßΓ« 6 (á «íΩѼ ßτ¿ΓδóáѼδσ ºá «ñ¡π «»Ñαᵿε ñá¡-
  3139.       ¡δσ «ßΓáóá½ß∩ αáó¡δ¼ 6) ? ùΓ« »α«¿º«⌐ñÑΓ, Ñß½¿ »«α∩ñ«¬ ó맮óá  Σπ¡¬µ¿⌐
  3140.       read ¿ write ó »α«úαἼѠ¿º¼Ñ¡¿Γ∞, »«¼Ñ¡∩ó Σπ¡¬µ¿¿ ¼ÑßΓἿ ?
  3141.   23.  ùΓ« »α«¿º«⌐ñÑΓ »α¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ, ¿½½εßΓα¿απεΘÑ⌐ ¿ß»«½∞º«óá¡¿Ñ
  3142.       »«¿¼Ñ¡«óá¡¡δσ ¬á¡á½«ó (É¿ßπ¡«¬ 5.19), Ñß½¿  Σπ¡¬µ¿∩  mknod  «í¡áαπª¿Γ,
  3143.       τΓ«  ¬á¡á½ ß Γᬿ¼ ¿¼Ñ¡Ñ¼ πªÑ ßπΘÑßΓóπÑΓ ? èᬠφë༫¼Ñ¡Γ αÑ὿ºπÑΓß∩
  3144.       ∩ñα«¼ ? ùΓ« »α«¿º«Φ½« íδ, Ñß½¿  íδ  ó¼ÑßΓ«  »«ñαáºπ¼ÑóáѼδσ  ó  ΓѬßΓÑ
  3145.       »α«úαá¼¼δ  «ñ¡«ú«  ßτ¿ΓδóáεΘÑú« ¿ «ñ¡«ú« ºá»¿ßδóáεΘÑú« »α«µÑßß«ó ßó∩º∞
  3146.       ¼Ñªñπ ß«í«⌐ τÑαѺ ¬á¡á½ »«»δΓ὿ß∞ πßΓá¡«ó¿Γ∞ ¡Ñ߬«½∞¬« ßτ¿ΓδóáεΘ¿σ  ¿
  3147.       ºá»¿ßδóáεΘ¿σ  »α«µÑßß«ó  ?  èᬠó φΓ«¼ ß½πτáÑ úáαá¡Γ¿α«óá½áß∞ íδ ßó∩º∞
  3148.       «ñ¡«ú« ßτ¿ΓδóáεΘÑú« »α«µÑßßá ß «ñ¡¿¼ ºá»¿ßδóáεΘ¿¼ »α«µÑßß«¼ ?
  3149.   24. ÄΓ¬αδóá∩ »«¿¼Ñ¡«óá¡¡δ⌐ ¬á¡á½ ñ½∩ τΓÑ¡¿∩, »α«µÑßß »α¿«ßΓá¡áó½¿óáÑΓß∩ ñ«
  3150.       ΓÑσ »«α, »«¬á ÑΘÑ «ñ¿¡ »α«µÑßß ¡Ñ «Γ¬α«ÑΓ ¬á¡á½ ñ½∩ ºá»¿ß¿.  Å«τѼπ  ?
  3151.       ìÑ  ¼«ú  íδ  »α«µÑßß πß»ÑΦ¡« »α«⌐Γ¿ Σπ¡¬µ¿ε open, »α«ñ«½ª¿Γ∞ αáí«Γπ ñ«
  3152.       Γ«ú« ¼«¼Ñ¡Γá, ¬«úñá ¿¼ íπñÑΓ »αÑñ»α¿¡∩Γá »«»δΓ¬á τΓÑ¡¿∩ ñá¡¡δσ ¿º  ¬á-
  3153.       ¡á½á, ¿ »α¿«ßΓá¡«ó¿Γ∞ß∩ »α¿ óδ»«½¡Ñ¡¿¿ Σπ¡¬µ¿¿ read ?
  3154.   25.  èᬠ íδ óδ αÑ὿º«ó὿ á½ú«α¿Γ¼ óδ»«½¡Ñ¡¿∩ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ dup2 (¿º
  3155.       óÑαß¿¿ 7), óδºδóáѼ«⌐ ß½ÑñπεΘ¿¼ «íαẫ¼:         dup2(oldfd,newfd);
  3156.       úñÑ oldfd -  Σá⌐½«óδ⌐  ñÑß¬α¿»Γ«α,  ¬«Γ«αδ⌐  ñπí½¿απÑΓß∩  ñÑß¬α¿»Γ«α«¼
  3157.       newfd ? ùΓ« »α«¿º«Φ½« íδ, Ñß½¿ íδ ñÑß¬α¿»Γ«α newfd πªÑ »α¿¡áñ½Ñªá½ «Γ-
  3158.       ¬αδΓ«¼π Σá⌐½π?
  3159.  *26.  èᬿѠ »«ß½ÑñßΓó¿∩ ¿¼Ñ½« íδ αÑΦÑ¡¿Ñ ∩ñαá »«ºó«½¿Γ∞ ñóπ¼ »α«µÑßßá¼ «ñ-
  3160.       ¡«óαѼѡ¡« ß¼«¡Γ¿α«óáΓ∞ «ñ¡π ¿ Γπ ªÑ Σá⌐½«óπε ß¿ßΓѼπ  ó  ñóπσ  Γ«τ¬áσ
  3161.       ¼«¡Γ¿α«óá¡¿∩ ?
  3162.  
  3163.                                     135
  3164.   27.  ÅαÑñ»«½«ª¿¼,  τΓ« «ñ¿¡ »α«µÑßß ¼Ñ¡∩ÑΓ ßó«⌐ ΓѬπΘ¿⌐ ¬áΓὫú ¡á ¬áΓὫú
  3165.       "/mnt/a/b/c", »«ß½Ñ τÑú« ñαπú«⌐ »α«µÑßß ó  ¬áΓὫúÑ  "/mnt"  ¼«¡Γ¿απÑΓ
  3166.       Σá⌐½«óπε  ß¿ßΓѼπ.  çáóÑαΦ¿Γß∩ ½¿ Σπ¡¬µ¿∩ mount πß»ÑΦ¡« ? ùΓ« »α«¿º«⌐-
  3167.       ñÑΓ, Ñß½¿ »Ñαóδ⌐ »α«µÑßß óδ»«½¡¿Γ ¬«¼á¡ñπ pwd ? ƒñα« ¡Ñ »«ºó«½¿Γ Σπ¡¬-
  3168.       µ¿¿ mount πß»ÑΦ¡« ºáóÑαΦ¿Γ∞ß∩, Ñß½¿ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ßß佫¬ ó ¿¡ñѬßÑ
  3169.       ¬áΓὫúá "/mnt" »αÑóδΦáÑΓ 1. Å᫬«¼¼Ñ¡Γ¿απ⌐ΓÑ φë༫¼Ñ¡Γ.
  3170.   28. Åα¿ ¿ß»«½¡Ñ¡¿¿ á½ú«α¿Γ¼á »ÑαÑßÑτÑ¡¿∩ Γ«τ¬¿ ¼«¡Γ¿α«óá¡¿∩ »« ¿¼Ñ¡¿  ".."
  3171.       ó  ¼áαΦαπΓÑ  »«¿ß¬á Σá⌐½á ∩ñα« »α«óÑα∩ÑΓ óδ»«½¡Ñ¡¿Ñ ΓαÑσ πß½«ó¿⌐, ßó∩-
  3172.       ºá¡¡δσ ß Γ«τ¬«⌐ ¼«¡Γ¿α«óá¡¿∩: τΓ« ¡«¼Ñα «í¡áαπªÑ¡¡«ú« ¿¡ñѬßá ß«ó»áñá-
  3173.       ÑΓ ß ¡«¼Ñα«¼ ¬«α¡Ñó«ú« ¿¡ñѬßá, τΓ«  αáí«τ¿⌐  ¿¡ñѬߠ ∩ó½∩ÑΓß∩  ¬«α¡Ñ¼
  3174.       Σá⌐½«ó«⌐  ß¿ßΓÑ¼δ  ¿ τΓ« ¿¼∩ ¬«¼»«¡Ñ¡Γδ ¼áαΦαπΓá »«¿ß¬á - "..". Å«τѼπ
  3175.       ¡Ñ«íσ«ñ¿¼« »α«óÑα∩Γ∞ óδ»«½¡Ñ¡¿Ñ óßÑσ ΓαÑσ πß½«ó¿⌐ ? ä«¬áª¿ΓÑ, τΓ« »α«-
  3176.       óÑન ½εíδσ ñóπσ πß½«ó¿⌐ ¡Ññ«ßΓáΓ«τ¡« ñ½∩ Γ«ú«, τΓ«íδ  αáºαÑΦ¿Γ∞  »α«-
  3177.       µÑßßπ »ÑαÑßÑτ∞ Γ«τ¬π ¼«¡Γ¿α«óá¡¿∩.
  3178.   29.  àß½¿  »«½∞º«óáΓѽ∞ ¼«¡Γ¿απÑΓ Σá⌐½«óπε ß¿ßΓѼπ Γ«½∞¬« ñ½∩ τΓÑ¡¿∩, ∩ñα«
  3179.       πßΓá¡áó½¿óáÑΓ ß««ΓóÑΓßΓóπεΘ¿⌐ Σ½áú ó ßπ»Ñαí½«¬Ñ. èᬠ∩ñα« ¼«ªÑΓ  ó«ß»-
  3180.       αÑ»∩ΓßΓó«óáΓ∞  óδ»«½¡Ñ¡¿ε  «»Ñαᵿ⌐  ºá»¿ß¿  ó  Σπ¡¬µ¿∩σ write, creat,
  3181.       link, unlink, chown ¿ chmod ? èᬫú« α«ñá ¿¡Σ«α¼áµ¿ε ºá»¿ßδóáεΓ ó Σá⌐-
  3182.       ½«óπε ß¿ßΓѼπ óßÑ »ÑαÑτ¿ß½Ñ¡¡δÑ Σπ¡¬µ¿¿ ?
  3183.  *30. ÅαÑñ»«½«ª¿¼, τΓ« «ñ¿¡ »α«µÑßß »δΓáÑΓß∩ ñѼ«¡Γ¿α«óáΓ∞ Σá⌐½«óπε ß¿ßΓѼπ,
  3184.       ó Γ« óαѼ∩ ¬á¬ ñαπú«⌐ »α«µÑßß »δΓáÑΓß∩ ß«ºñáΓ∞ ó Σá⌐½«ó«⌐ ß¿ßΓѼѠ ¡«-
  3185.       óδ⌐  Σá⌐½.  Æ«½∞¬«  «ñ¡á ¿º Σπ¡¬µ¿⌐ umount ¿ creat óδ»«½¡¿Γß∩ πß»ÑΦ¡«.
  3186.       Å«ñα«í¡« αáßß¼«Γα¿ΓѠ󫺡¿¬Φπε ¬«¡¬παÑ¡µ¿ε.
  3187.  *31. è«úñá Σπ¡¬µ¿∩ umount »α«óÑα∩ÑΓ «ΓßπΓßΓó¿Ñ ó Σá⌐½«ó«⌐ ß¿ßΓѼѠ á¬Γ¿ó¡δσ
  3188.       Σá⌐½«ó,  ó«º¡¿¬áÑΓ «ñ¡á »α«í½Ñ¼á, ßó∩ºá¡¡á∩ ß ΓѼ, τΓ« ¬«α¡Ñó«⌐ ¿¡ñѬß
  3189.       Σá⌐½«ó«⌐ ß¿ßΓѼδ, ¡áº¡áτáѼδ⌐ »α¿ óδ»«½¡Ñ¡¿¿ Σπ¡¬µ¿¿ mount  ß  »«¼«Θ∞ε
  3190.       á½ú«α¿Γ¼á  iget,  ¿¼ÑÑΓ  ßτÑΓτ¿¬ ßß佫¬ ß »«½«ª¿Γѽ∞¡δ¼ º¡áτÑ¡¿Ñ¼. èá¬
  3191.       Σπ¡¬µ¿∩ umount ß¼«ªÑΓ πíÑñ¿Γ∞ß∩ ó «ΓßπΓßΓó¿¿ á¬Γ¿ó¡δσ Σá⌐½«ó  ¿  «Γτ¿-
  3192.       ΓáΓ∞ß∩ »ÑαÑñ ¬«α¡Ñ¼ Σá⌐½«ó«⌐ ß¿ßΓѼδ ? Éáßß¼«Γα¿ΓÑ ñóá ß½πτá∩:
  3193.       *  Σπ¡¬µ¿∩  umount «ßó«í«ªñáÑΓ ¬«α¡Ñó«⌐ ¿¡ñѬߠ»« á½ú«α¿Γ¼π iput »ÑαÑñ
  3194.         »α«óÑᬫ⌐ á¬Γ¿ó¡δσ ¿¡ñѬ߫ó. (èᬠΣπ¡¬µ¿¿ óÑα¡πΓ∞ φëà¿¡ñѬߠ«íαáΓ-
  3195.         ¡«, Ñß½¿ íπñπΓ «í¡áαπªÑ¡δ á¬Γ¿ó¡δÑ Σá⌐½δ ?)
  3196.       * Σπ¡¬µ¿∩ umount »α«óÑα∩ÑΓ «ΓßπΓßΓó¿Ñ á¬Γ¿ó¡δσ Σá⌐½«ó ñ« Γ«ú«, ¬á¬ «ß-
  3197.         ó«í«ñ¿Γ∞ ¬«α¡Ñó«⌐ ¿¡ñѬß, ¿ αáºαÑΦá∩  ¬«α¡Ñó«¼π  ¿¡ñѬßπ  «ßΓáóáΓ∞ß∩
  3198.         á¬Γ¿ó¡δ¼. (ìá߬«½∞¬« á¬Γ¿ó¡δ¼ ¼«ªÑΓ íδΓ∞ ¬«α¡Ñó«⌐ ¿¡ñѬߠ?)
  3199.   32.  ÄíαáΓ¿ΓѠ󡿼᡿Ѡ¡á Γ«, τΓ« »α¿ óδ»«½¡Ñ¡¿¿ ¬«¼á¡ñδ ls -ld ¬«½¿τÑßΓó«
  3200.       ßó∩ºÑ⌐ ß ¬áΓὫú«¼ ¡¿¬«úñá ¡Ñ αáó¡« 1. Å«τѼπ ?
  3201.   33. èᬠαáí«ΓáÑΓ ¬«¼á¡ñá mkdir (ß«ºñáΓ∞ ¡«óδ⌐ ¬áΓὫú) ?  (ìáó«ñ∩Θ¿⌐  ó«»-
  3202.       α«ß:  ¬á¬¿Ñ  ¡«¼Ñαá »« ºáóÑαΦÑ¡¿¿ óδ»«½¡Ñ¡¿∩ ¬«¼á¡ñδ ¿¼ÑεΓ ¿¡ñѬßδ ñ½∩
  3203.       Σá⌐½«ó "." ¿ ".." ?)
  3204.  *34. Å«¡∩Γ¿Ñ "ß¿¼ó«½¿τÑ߬¿Ñ ßó∩º¿" ¿¼ÑÑΓ «Γ¡«ΦÑ¡¿Ñ ¬ ó«º¼«ª¡«ßΓ¿ π¬áºá¡¿∩ ß
  3205.       »«¼«Θ∞ε Σπ¡¬µ¿¿ link ßó∩ºÑ⌐ ¼Ñªñπ Σá⌐½á¼¿, »α¿¡áñ½ÑªáΘ¿¼¿ ¬  αẽ¿τ¡δ¼
  3206.       Σá⌐½«óδ¼ ß¿ßΓѼá¼. æ Σá⌐½«¼ ß¿¼ó«½¿τÑ߬«⌐ ßó∩º¿ áßß«µ¿¿α«óá¡ π¬áºáΓѽ∞
  3207.       ¡«ó«ú«  Γ¿»á;  ß«ñÑন¼δ¼ Σá⌐½á ∩ó½∩ÑΓß∩ ¿¼∩ »πΓ¿ »«¿ß¬á Γ«ú« Σá⌐½á, ß
  3208.       ¬«Γ«αδ¼ «¡ ßó∩ºá¡. Ä»¿Φ¿ΓÑ αÑ὿ºáµ¿ε ß¿¼ó«½¿τÑ߬¿σ ßó∩ºÑ⌐.
  3209.  *35. ùΓ« »α«¿º«⌐ñÑΓ, Ñß½¿ »α«µÑßß ó맮óÑΓ Σπ¡¬µ¿ε unlink(".");
  3210.       èᬿ¼ íπñÑΓ ΓѬπΘ¿⌐ ¬áΓὫú »α«µÑßßá ? ÅαÑñ»«½áúáÑΓß∩, τΓ« »α«µÑßß «í-
  3211.       ½áñáÑΓ »αáóἿ ßπ»Ñα»«½∞º«óáΓѽ∩.
  3212.   36. Éáºαáí«Γá⌐ΓÑ ß¿ßΓѼ¡πε Σπ¡¬µ¿ε, ¬«Γ«αá∩ πßѬáÑΓ ßπΘÑßΓóπεΘ¿⌐  Σá⌐½  ñ«
  3213.       »α«¿ºó«½∞¡δσ  αẼÑα«ó,  π¬áºá¡¡δσ  ó ¬áτÑßΓóÑ áαúπ¼Ñ¡Γá, ¿ «»¿Φ¿ΓÑ ÑÑ
  3214.       αáí«Γπ. ÉÑ὿ºπ⌐ΓÑ ß¿ßΓѼ¡πε Σπ¡¬µ¿ε, ¬«Γ«αá∩ »«ºó«½∩½á íδ »«½∞º«óáΓÑ-
  3215.       ½ε πñá½∩Γ∞ ßÑú¼Ñ¡Γ Σá⌐½á, αáß»«½«ªÑ¡¡δ⌐ ¼Ñªñπ ñóπ¼∩ áñαÑßἿ, ºáñá¡¡δ-
  3216.       ¼¿ ó ó¿ñÑ ß¼ÑΘÑ¡¿⌐, ¿ ßª¿¼áΓ∞ Σá⌐½. ìá»¿Φ¿ΓÑ »α«úαá¼¼π, ¬«Γ«αá∩ ¡Ñ óδ-
  3217.       ºδóá½á íδ φΓ¿ Σπ¡¬µ¿¿, ¡« «í½áñá½á íδ ΓѼ¿ ªÑ Σπ¡¬µ¿«¡á½∞¡δ¼¿  ó«º¼«ª-
  3218.       ¡«ßΓ∩¼¿.
  3219.   37. Ä»¿Φ¿ΓÑ óßÑ πß½«ó¿∩, »α¿ ¬«Γ«αδσ ßτÑΓτ¿¬ ßß佫¬ ó ¿¡ñѬßÑ ¼«ªÑΓ »αÑóδ-
  3220.       ΦáΓ∞ º¡áτÑ¡¿Ñ 1.
  3221.   38. çáΓαáú¿óá∩ ΓѼπ áíßΓαá¬Γ¡δσ «íαáΘÑ¡¿⌐ ¬ Σá⌐½«óδ¼ ß¿ßΓѼá¼, «ΓóÑΓ∞ΓÑ ¡á
  3222.       ó«»α«ß: ß½ÑñπÑΓ ½¿ Σá⌐½«ó«⌐ ß¿ßΓѼѠ¬áªñ«ú« Γ¿»á ¿¼ÑΓ∞ ½¿τ¡πε «»Ñαᵿε
  3223.       í½«¬¿α«óá¡¿∩,  óδºδóáѼπε  ¿º «íΘÑ⌐ »α«úαá¼¼δ, ¿½¿ ªÑ ñ«ßΓáΓ«τ¡« «íΘÑ⌐
  3224.       «»Ñαᵿ¿ í½«¬¿α«óá¡¿∩ ?
  3225.                                     136
  3226.