<title>Unix overview CHAP09</title>



     9

          




     ஢ ᯮ짮 ୮ ६, ᬮ७
  ।饩 ,  ᨫ쭮 ⥯   ࠭ ⥣ ࠢ-
 .   믮, ᫨    筮 -
  ᭮ ;    ᯮ ,  㦥
  .   , ᭮  -     -
,          ⨢   ⥬.
᫨, ਬ,  ⥬  ᭮  ꥬ 8 ,  
ᮢ ࠧ஬  1   㦥  ᬮ   ६ -
.    ⠪ 砥 ᫥ ࠧ     (  
筮),    , 蠥 ⥬ ࠢ ,   ࠢ-
 ⪠ 㠫쭮 ᭮ ࠭⢠ ,  १묨
 .  ᫥  ꥬ 㯭 ࠭⢠  ᭮    
 ࠢ ਮ᪨ ९뢠   ன⢮ 譥 ,
㥬  ன⢮ 㧪, ᢮  ᭮  ⥫쭮
.        ன⢠ 㧪  -
 .
     ࠭  ⥬ UNIX  ७ᨫ   ᭮  -
    ன⢮ 㧪 楫 ,  ᪫祭 ࠧ塞 
, ⤥ ᨬ      ꥪ⠬ ६-
饭.  ⥣ ࠢ  뢠 ᢮  (窮).
  ⥣   ॠ뢠  設 ⨯ PDP-11,  -
 ࠧ  ⠢ 64 .  ᯮ짮 ⮩  -
  ࠧ    ࠭稢 ꥬ 䨧᪮ , 㯭 
⥬. ⥬ BSD ( 4.0)       ਬ
㣮 ⥣, ⥣ "窨  饭" (demand paging),  ᮮ-
⢨    ன ᭮    譥  ᠬ, 
࠭栬 ;  ⥣ ন   ᫥ । -
ᨨ V ⥬ UNIX. ঠ  ᭮   믮塞    
室,   㦠   ⮫쪮 ⤥ ࠭  -
 믮饣 , 뫠饣  . २⢮ ⥣ -
窨   饭 ⮨  ⮬,    ⮡ࠦ 㠫쭮
᭮ ࠭⢠   䨧  設 ⠭ 
: ᪠ ॢ襭 ࠧ஬  ꥬ 㯭 䨧᪮
  ६ ࠧ饭  ᭮  襣  ᫠  -
ᮢ.  २⢮ ⥣ ᢮ ⮨   ॠ樨  -
祭 "஥筮"  ⥬.  ⥣ ࠢ    -
ਢ  饩 .


        9.1 

    ᠭ ⬠ ᢮  ࠧ   : ࠢ -
࠭⢮    ன⢥  㧪, 㧪 ᮢ  ᭮  
窠 ᮢ  ᭮ .


        9.1.1 ࠢ ࠭⢮  ன⢥ 㧪

    ன⢮ 㧪  ன⢮ 筮 ⨯,  ஥  ।-
⠢  ᮡ  䨣㥬 ࠧ ᪠.   筮  뤥
  䠩      ,    ன⢥  㧪

                                    253

࠭⢮  뤥  㯯  ᬥ . ࠭⢮, 뤥塞
 䠩, ᯮ ᪨  ࠧ;  ᪮  奬  祭
࠭⢠    䠩   祭 ⥫쭮 ਮ ६, 
   ᫥ ᮪饭 ᫠ 砥 ࠣ樨 , ᫥-
⥫쭮, ꥬ ᯮ㥬 ࠭⢠  䠩 ⥬. 뤥
࠭⢠  ன⢥ 㧪, ⨢,  ६,  ᨫ쭮
⥯ 騬  堭 ᯥਧ樨 ᮢ. , ࠧ頥-
  ன⢥ 㧪,  筮 ⮣ ୥  ᭮ , -
   譥 ன⢥. ᪮ ६  騬 䠪-
஬   ⮬ ⮣,  -뢮    ⨡  
ந室  ॥, 祬  ᪮쪮  権,  뤥 
ன⢥ 㧪 뢭 ࠭⢮,      
ࠣ.
        奬 뤥 ࠭⢠  ன⢥ 㧪 ⫨砥
 奬, ᯮ㥬  䠩 ⥬,  , ॣ騥
᢮ ࠭⢮,  ⠪ ⫨. ࠭⢮,  ᢮  
䠩  ⥬,  뢠   吝 ᯨ᪠ ᢮ ,
  ஬ ⢫ १ 㯥࡫ 䠩 ⥬,  ଠ-
    ᢮  ࠭⢥  ன⢥ 㧪 ᮡࠥ  ⠡,
㥬 "  ன⢠".  ,  ன⢠ -
, ᯮ  㣨 ⥬묨 ᠬ (ਬ, ࠩࠬ  -
 ன),    ।  ன⢠ ( -
 ᬥ )  ⮤ ࢮ 室饣.
     ப    ⮨   ।塞  
⢠  㯭   ;    ப 
ᮮ⢥⢨  ⨯ .  ᠬ 砫     ⮨    
ப,  ᮤঠ饩    饥 ⢮ ᮢ. ᫨  뢠
।   ன⢥ 㧪,   ࠪ    
  㯯 ᪮ ,   -  ᬥ饭    -
   㧪. ࢮ砫     ன⢠ -
, 饣  10000   砫 ᮬ, ࠢ 1,   -
㭪 9.1. 뤥  ᢮ ,
 ४  ,   ⮬, ⮡   ﭭ ᮤ-
 筠 ଠ  ᢮   ⥬.
     㭪 9.2 ।⠢   뤥  ࠭⢠    
   (malloc).  ᬠਢ   ᪠ ࢮ ப, -
ঠ饩 ⢮  , 筮  㤮⢮७  .
᫨    뢠    ⢮ , ᮤঠ饥  ப, 
㤠 ப  㯫  (    ⠭    ப
).   ⨢ 砥  ⠭   ᫮ ⠢
  ப  ᮮ⢥⢨  ᫮ , 뤥    .  
㭪  9.3 ,       ன⢠ 㧪
᫥ 뤥 100, 50   100  .  筮  ⮣  
  ਭ  , 뢠騩,   250   뤥
 ᠬ,   ⥯ ⠫ ᢮묨 9750 , 稭   
251.



                         ᫮  
              +------------------------------------+
              |   1                  10000         |
              +------------------------------------+

    㭮 9.1. ࢮ砫     ன⢠ 㧪





                                    254
    +------------------------------------------------------------+
    |  malloc    /*  뤥 ࠭⢠  -|
    |                       짮   */         |
    | 室 ଠ:  (1)     /* 㪠뢠  ⨯ -  |
    |                                      㥬  */   |
    |                      (2) ॡ㥬 ᫮      |
    | 室 ଠ:  -  砥 ᯥ譮 襭 |
    |                      0 -  ⨢ 砥                |
    | {                                                          |
    |     ( ப )                               |
    |    {                                                       |
    |       ᫨ (ॡ㥬 ᫮   ᯮ  |
    |        ப )                                       |
    |       {                                                    |
    |          ᫨ (ॡ㥬 ᫮ ==    ப)   |
    |              㤠 ப  ;                      |
    |           ⨢ 砥                                |
    |              ॣ㫨஢ ⮢   ப;      |
    |           (ࢮ砫  ப);            |
    |       }                                                    |
    |    }                                                       |
    |     (0);                                            |
    | }                                                          |
    +------------------------------------------------------------+

    㭮 9.2.  뤥 ࠭⢠    


    ᢮  ,      ᮮ⢥饥    
.  ⮬   :

     ᫮           ᫮  
+------------------------------+  +------------------------------+
|   1            10000         |  |  101            9900         |
+------------------------------+  +------------------------------+

              ()                               ()

     ᫮           ᫮  
+------------------------------+  +------------------------------+
|  151            9850         |  |  251            9750         |
+------------------------------+  +------------------------------+

              ()                               ()

    㭮 9.3. 뤥 ࠭⢠  ன⢥ 㧪


 1. ᢮訥   뢠 ஡   . 㣨-
     ᫮,   ᬥ   ᠬ ᮢ   ப,  -
    ।⢥  ।饩   ᫥饩  .  ⮬ 砥 
    ꥤ  ᢮訥   ᠬ  㪠 ப 
     ப  .
 2. ᢮訥  筮 뢠 ஡     .  ᫨
        , ᬥ  ᮬ ᮢ  ப, ।⢥
    ।饩  ।⢥ ᫥饩   (   ᠬ
      ப),  ⠭ 祭   ᫠ ᮢ
     ᮮ⢥饩 ப  ⮬  ᢮  ᮢ.  ᫮
    ப    ⠥ .
 3.  ᢮訥   筮 뢠 ஡   ,  

                                    255

      ᮯਪ  ᠬ - 㣨 ᮢ . -
     ᮧ  ப  ⠢   ᮮ⢥饥   .

      ।饬 ਬ, ⬥⨬,  ᫨  ᢮ 50
 , 稭   101,       ப,
᪮ ᢮訥   ,  ᮯਪ騥  ᠬ
  ப  . ᫨  ⥬  ᢮ 100  ,
稭   1, ࢠ ப  㤥 ७,  ᪮  ᢮-
訥   , ᬥ  ᮬ ࢮ ப.  -
ﭨ        㭪 9.4.
    ।,    ᤥ   뤥 200  ()
࠭⢠ ன⢠ 㧪. ᪮ ࢠ ப  ᮤন -
ଠ  ⮫쪮   150 ,  ਢ  㤮⢮७ 
ଠ  ன ப (. 㭮 9.5). , ।,  -
 ᢮ 350


     ᫮           ᫮  
+------------------------------+  +------------------------------+
|  251            9750         |  |  101              50         |
+------------------------------+  +------------------------------+
                                  |  251            9750         |
              ()                 +------------------------------+

                                                ()

                      ᫮  
                 +------------------------------+
                 |   1              150         |
                 +------------------------------+
                 |  251            9750         |
                 +------------------------------+

                               ()

    㭮 9.4. ᢮ ࠭⢠  ன⢥ 㧪


     ᫮           ᫮  
+------------------------------+  +------------------------------+
|   1              150         |  |   1              150         |
+------------------------------+  +------------------------------+
|  251            9750         |  |  451            9550         |
+------------------------------+  +------------------------------+

              ()                               ()

    㭮 9.5.  뤥  ࠭⢠  ன⢥ 㧪,
                  ᠭ  ன ப  


 ࠭⢠, 稭   151. ᬮ  ,   350  -
  뫨  뤥  ஬  ࠧ ६,   稭,  ன
    ᢮   ࠧ.  㧭  ⮬,   ᢮-
訥   뢠 ࠧ  ࢮ  ன ப -
,    ०  ᮧ  ப,   砥  ᢮-
訥 .
     ࠤ樮 ॠ樨 ⥬ UNIX ᯮ  ன⢮ -
㧪,   ᫥ । ᨨ V ᪠ 㦥 稥 -

                                    256

⢠ ன 㧪.  롨ࠥ ன⢮ 㧪  奬  "-
 ᯨ᪠"  ᫮,   ன⢥   ꥬ -
뢭 ᭮ ࠭⢠.   ᪨ ᮧ 
㤠    ⥬ ன⢠ 㧪. ᫨ ன⢮ 㧪 㤠
 ⥬,   㦠   ; ᫨   稢 
㤠塞 ன⢠, ᭠砫  ஦  ⮫쪮 ᫥  ᢮
ਭ饣 ன ࠭⢠ ன⢮   㤠  -
⥬.


        9.1.2 㧪 ᮢ

      㦠 , ᫨ 뢠 ॡ  ᢮ ,
    ᫥ :
 1. ந 饭  ⥬ 㭪樨 fork,    뤥
        -⮬.
 2. ந 饭  ⥬ 㭪樨 brk, 㢥稢饩 ࠧ -
    .
 3.     㢥稫  १ ⢥ 㢥祭 ⥪
    .
 4.  㦭 ᢮     窨 ࠭ 㦥 -
    ᮢ.
    饭  ⥬ 㭪樨 fork 뤥  ᮡ , ᪮
 ⢥ 砩,  ࠭⢮ , ࠭ ⮥  ᮬ
(த⥫),  ᢮.
      ਭ 襭  ⮬,   㤥 㦥  ᭮-
  ,  㬥蠥 祭 稪 뫮, 樨஢  -
  ,  㦠  ,   稪 뫮 ⠫
ࠢ 0.  뤥   ன⢥ 㧪      
  (   1-3),   㧪 (. ࠦ 9.12)  
,    ⥪  㧪.   㧪  -
⥩  ࠭  ᮮ⢥  ⠡ ⥩.
       -뢮,  ன  ன⢮ 㧪 
᭮  ࠭⢮      ⢫ १  ,
 㦠 ᨬ쭮- ⢮ . ᫨   
ﭨ ।    ᮤন  ᪮쪨  ࠭  ,
। ணࠬ  ⠥  ⢨ । ᮤন 
 ᪮쪮 蠣   ࠭   .  ࠧ, -
  ᪮  堭 ।  ।,  ᥣ 祣,
ﬨ ᪮ ஫  ⥣ । .  -
ਬ,  ᫨  ᯮ ࠭筠 ࣠ ,  -
,  㦠   ᬥ ⪨ 䨧᪮  .
  易 ᮡ ଠ   ࠭  㦠묨 묨,
 ᫥⢨ ᯮ ᪮ ࠩ, ⢫騩  ࠢ
ᮬ  -뢮.  ।  ⥬,  㧨 ᫥  ,
ணࠬ 窨 (㧪)  襭 ।饩 樨  --
.
      ⮬ । ஬  ⠥  ९  ன⢮ 㧪
ᮤন 㠫쭮 ᭮ ࠭⢠    .  
⮣    ன⢮ 㧪 ᮤন 䨧᪮ , -
  ,   ᯮ㥬 㠫 .  
稢  ⭮  ,    ᥡ  㠫 -
ᮢ    ७   .    뢠
   ୮   䨧 ,   祩,  -
 ⠭ ᮮ⢥⢨  㠫묨 ᠬ .
      㭪  9.6 ਢ ਬ ⮡ࠦ ࠧ    
᭮ ࠭⢮ ன⢠ 㧪 (*).  ᯮ ६ -
ﬨ: ,   ⥪.   稢  㠫쭮


                                    257

---------------------------------------
(*)      㠫쭮  ᭮ ࠭⢮   ⮬  
     ᫥ 㭪 ࠦ      ᨢ  祪
    室    ⠡  ࠭,  ਭ    䠪,  
     筮  ᢮ ⤥ ⠡ ࠭.

     ᯮ 㠫 ᮢ        ன⢮ 㧪
      㠫, 䨧᪨ 

         +----------------------+            +-----------------+
  |   0         278 ----+-------684--+--->             |
   +----------------------+            +-----------------+
         |  1         432 ----+------------+--->             |
         +----------------------+            +-----------------+
         |                 |   +--------+--->             |
         +----------------------+   -        +-----------------+
         |          -           |   -+-------+--->             |
         |          -           |   --       +-----------------+
         |          -           |   --+------+--->             |
         +----------------------+   ---      +-----------------+
  | 64         573 ----+---+-- +----+--->             |
   +----------------------+    -- -    +-----------------+
         | 65         647 ----+----+- 690  |                 |
         +----------------------+     - -    +-----------------+
         | 66         595 ----+-----+ -
         +----------------------+       -
         |                 |       -
         +----------------------+       -
         |          -           |       -
         |          -           |       -
         +----------------------+       -
  |128         401 ----+-------+
⥪    +----------------------+
         |                 |
         +----------------------+

    㭮 9.6. ⮡ࠦ ࠭⢠   ன⢮ 㧪

 2,    稭   64, ⠪ ࠧ   -
쭮  ᭮  ࠭⢥  ࠧ  ய  62 .  
㦠 ,  㦠 ᮤন ࠭   ᠬ 0, 1,
64, 65, 66  128;  ன⢥ 㧪   㤥  ⢥    
ய   62   ﬨ   ,    ய  61
  ﬨ   ⥪,  ࠭⢮  ன⢥ -
  뢭.   㦠   ⭮    ,
  㦥           ⮬,     ᢮
࠭⢥ ᯮ㥬 ⮪ ࠧ஬ 62,   ⮬ ⮣ ᮮ⢥-
⢥ 뤥 䨧 .  砩  ந஢    
㭪 9.7. ࠢ 㭪 9.6  9.7 뢠,  䨧᪨ ,
 ᮬ   ᫥ 㧪, 
ᮢ  ᮡ; ,  짮⥫᪮ ஢   -
    , ᪮ ᮤন  㠫쭮 ࠭-
⢠ ⠫ ⥬  ᠬ.
    ᪨  ࠭⢮ , ⮥ ᮬ,  ⮬ ᫥ 
筮 ᭮ ࠭⢮  ⥪ ,   㦥,    
  ६ ஢     ६ 믮 -
 樨.  ࠪ᪨,     㦠  ᮤন  ᭮



                                    258

     ᯮ 㠫 ᮢ        ன⢮ 㧪
      㠫, 䨧᪨ 
         +----------------------+            +-----------------+
  |   0         401 <---+-------684--+----             |
   +----------------------+            +-----------------+
         |  1         370 <---+------------+----             |
         +----------------------+            +-----------------+
         |                 |   +--------+----             |
         +----------------------+   -        +-----------------+
         |          -           |   -+-------+----             |
         |          -           |   --       +-----------------+
         |          -           |   --+------+----             |
         +----------------------+   ---      +-----------------+
  | 64         788 <---+---+-- +----+----             |
   +----------------------+    -- -    +-----------------+
         | 65         492 <---+----+- 690  |                 |
         +----------------------+     - -    +-----------------+
         | 66         647 <---+-----+ -
         +----------------------+       -
         |                 |       -
         +----------------------+       -
         |          -           |       -
         |          -           |       -
         +----------------------+       -
  |128         955 <---+-------+
⥪    +----------------------+
         |                 |
         +----------------------+

              㭮 9.7. 㧪   


࠭⢠  ,  ᫨   室 ⠡ ८ࠧ ᮢ
( ⠡) . ࠪ᪨ ᮮࠦﬨ  ⠪    
᫮,         㧨 ᠬ ᥡ  ॡ
᢮ 㧪 㣨 ᮬ (. ࠦ 9.4).


        9.1.2.1 㧪  믮 ⥬ 㭪樨 fork

     ᠭ ⥬ 㭪樨 fork (ࠧ 7.1) ।,   -
-த⥫  稫   ᢮ ᯮ殮 ,   ᮧ
⥪ ⮬. ᫨  ᫮  믮,   㦠  
  ,  ᢮ ࠭⢮ ,   (த⥫) -
.  楤 㧪 ,  -⮬  㤥  ᯮ-
    ன⢥ 㧪; -த⥫ ॢ ᢮ ⮬ 
ﭨ "⮢  믮" (. 㭮 6.1)  頥  ०
. ᪮ -⮬ 室  ﭨ "⮢  믮-
", ணࠬ 窨   殢 㧨    ,    
    믮; ⮬  ⥬ ᠬ ᢮ ஫  믮-
 ⥬ 㭪樨 fork  ୥  ० .

        9.1.2.2 㧪  ७

    ᫨  뢠 ॡ  ⥫쭮 䨧᪮  ,
  १ ७ ⥪,   १ ᪠ 㭪樨 brk, 
᫨  ॡ ॢ蠥 㯭 १ ,  믮 -
 㧪   ७  ࠧ  ன⢥ 㧪. 
ன⢥  㧪  १ࢨ   ࠧ饭   ⮬

                                    259

       ࢮ砫쭮           ७
        ᯮ               ଠ
        㠫,            㠫,           ன⢮
     䨧᪨         䨧᪨          㧪
       +------------+          +------------+          +---------+
|   0  278  |          |   0  278 -+-----684--+--->     |
 +------------+          +------------+          +---------+
       |  1  432  |          |  1  432 -+----------+--->     |
       +------------+          +------------+          +---------+
       |       |          |       | +--------+--->     |
       +------------+          +------------+ -        +---------+
       |     -      |          |     -      | -+-------+--->     |
       |     -      |          |     -      | --       +---------+
       |     -      |          |     -      | --+------+--->     |
       +------------+          +------------+ ---      +---------+
| 64  573  |          | 64  573 -+-+-- +----+--->     |
 +------------+          +------------+  -- -    +---------+
       | 65  647  |          | 65  647 -+--+- 690  |         |
       +------------+          +------------+   - -    +---------+
       | 66  595  |          | 66  595 -+---+ 691 +|--->     |
       +------------+          +------------+     -   -+---------+
       |       |          |       |     -   -
       +------------+          +------------+     -   -
       |     -      |          |     -      |     -   -
       |     -      |          |     -      |     -   -
       +------------+          +------------+     -   -
|128  401  |          |128  401 -+-----+   -
⥪  +------------+          +------------+         -
       |       |     |129  ...  -+---------+
       +------------+  ࠭+------------+
                               |       |
                               +------------+

    㭮 9.8. ७ன    砥 㧪  ७



७  ࠧ. ⥬ ந ७ன ⠡  ८ࠧ-
  ᮢ    ⮬ ⥫쭮 㠫쭮 ࠭⢠,
  뤥 䨧᪮  ( 裡   ⢨). , 
㦠 , 믮 楤 㧪   浪    
  뤥  ࠭⢮   ன⢥ (. 㭮 9.8).  -
쪮   㤥 㦠  ⭮  , 䨧᪮ -
࠭⢮ 㤥 뤥 㦥  ⮬  ﭨ ⠡ ८ࠧ
ᮢ.      㦥 㤥   ᯮ殮  
筮 ꥬ.


        9.1.3 㧪 (窠) ᮢ

    㫥  ( 窨)  ⢥ ᮬ, -
㦠騬 㣨     ன 㧪.  窨 -
稭  ࠡ    믮  ⮩ ᢮ ⢥ 㭪樨  砭
樠樨 ⥬ ( 㦥 ਫ  ࠧ 7.9).  㦠  -
   , ᫨   墠⠥   , 㦠 㤠 -
    ᮢ,  室  ⠬. ᫨   窨  ࠡ
(ਬ,  , 騥 㧪  )     
ﭨ 믮 ᢮ ࠡ (   ᮢ      -
),    窨  ਮ⠭;  ਮ᪨ 

                                    260

 믮.     窨 筮  ⠪  ,  
   ⭮襭 㣨 ᮢ, ਥ   ᮪ ਮ-
,    ⮬  窨 믮 ⮫쪮  ० . 
窨  頥  㭪 樮 ⥬,  ᯮ  ᢮
ࠡ ⮫쪮 ७ 㭪樨 ;   ⨯   ᮢ
.
      㦥  ਫ   8, ணࠬ ࠡ⪨ 뢠 
⠩  ६ 宦        ﭨ
㧪.     窨  ᢮ ࠡ  㧪 -
ᮢ  ,  ᬠਢ  , 室騥  ﭨ "-
⮢  믮,  㦥묨",  롨ࠥ   , 
室  ⮬ ﭨ  ⠫ (. 㭮 9.9). ᫨  
筮  ᢮  ,  窨 㦠 ࠭ ,
믮 樨  ᫥⥫쭮, ⭮ 㧪 .  砫
뤥 䨧᪠ , ⥬  ன⢠ 㧪 뢠 㦭
  ᢮   ன⢥.
    ᫨    窨  믮  楤  㧪 ᯥ譮,  
ᬠਢ ᮢ㯭 㦥,  ⮢  믮 ᮢ  
᪠  ᫥饣  ,   । 㧨  , 
 㪠 ᫥⥫쭮 ⢨.  筮 ⮣  
  ᫥ 権:
  *   ன⢥ 㧪     , ⮢  믮-
    .  窨 ਮ⠭ ᢮ ࠡ   ,  
       ன⢥ 㧪        㧨
    ,  ⮢  믮. (ᯮ ࠬ ﭨ  㭪
    6.1).
  *  窨 㦨 , ⮢  㧪,   ⥬ -
    筮    ࠧ饭.  窨  ⠥  -
      㣮     砥 ᯥ १᪠  窨,
    த  㦠 ᮢ.
    ᫨  窨 㦭 㧨  ,    ᬠਢ  
   . ४⨢訥 ᢮ ⢮   室 
㧪, ᪮    䨧 ; ⠪     
㦥 , ஢  , ਬ, 믮騥 樨
  ﬨ.   ।⠥ 㦠 ਮ⠭ , -
 , ⮢  믮,   蠭ᮢ  ᪮  -
࠭묨   믮. 襭  㧪  ਭ ஬  -
  ਮ  த⥫쭮  ॡ뢠  .  ᫨  
        ਮ⠭ , 襭  ⮬,  
ᮢ, ⮢  믮, ᫥  㧨,      祭,
᢮  㭪樥 nice,  ⠪  த⥫쭮 ॡ뢠
  .
    ,  ⮢  믮,   १    -
  襩  2 ᥪ㭤  ⮣,    ,  ,  㦠-
  ,   襩  2 ᥪ㭤 ஡  ன⢥ -
. ᫨  窨      , 室饣 
㧪,       , 室饣  㧪,   
, । 㧪   2 ᥪ㭤 (**) 室襣  ,  
ਮ⠭  ᢮  ࠡ  稭 ⮣,   㦭 㧨 -
  ,        ࠧ饭.  ⮩ 樨 ⠩-
  믮  窨  १    ᥪ㭤.  

---------------------------------------
(**)    ᨨ  6  ⥬  UNIX     㦥   
     楫 ⪨   㦠    ,  -
        ஢  ᪥ 3 ᥪ㭤. 室騩    -
       ஢     2 ᥪ㭤. ६ ࢠ -
       ࠧ    ,  १ 祣 蠥 ந-
     ⥫쭮 ⥬.

                                    261

    +------------------------------------------------------------+
    |  swapper    /* 㧪 㦥 ᮢ,     |
    |                      * 㧪 㣨 ᮢ  楫   |
    |                      * ⪨    */         |
    | 室 ଠ:                             |
    | 室 ଠ:                            |
    | {                                                          |
    |    loop:                                                   |
    |       ( 㦥 ᮢ, ⮢  믮)|
    |           , 室騩  ﭨ 㦥-|
    |             ⠫;                          |
    |      ᫨ (⠪ ᮢ )                            |
    |      {                                                     |
    |          ਮ⠭ ( ,   -|
    |           室  㧪 ᮢ);                 |
    |          ३  loop;                                  |
    |      }                                                     |
    |      ᫨ ( ᭮  筮   ࠧ- |
    |        )                                        |
    |      {                                                     |
    |          㧨 ;                                |
    |          ३  loop;                                  |
    |      }                                                     |
    |  /* loop2:  ⠢ ࠢ, ᥭ  - |
    |   *  */                                                |
    |       ( ᮢ, 㦥  ᭮ ,   |
    |       ஬ ४⨢ ⢮  ஢  |
    |       )                                              |
    |      {                                                     |
    |          ᫨ (    ਮ⠭ ) |
    |               ,  ண 㬬 ਮ |
    |               த⥫쭮 宦   -   |
    |               ;                                     |
    |           ⨢ 砥  /*    ਮ⠭-  |
    |                               *   */        |
    |               ,  ண 㬬 த-   |
    |               ⥫쭮 宦    祭 nice|
    |               ;                                  |
    |      }                                                     |
    |      ᫨ (࠭    ਮ⠭  |
    |         ᮡ ᫮ १⭮)              |
    |          ਮ⠭ ( ,   -  |
    |            㧨 );                     |
    |       ⨢ 砥                                    |
    |          㧨 ;                                |
    |      ३  loop;   /*  loop2  ࠢ -|
    |                          *  */                           |
    | }                                                          |
    +------------------------------------------------------------+

                    㭮 9.9.  窨


⠪  ࠡ  窨  ⮬ 砥,    -
ᮢ  室  ﭨ ਮ⠭, ⠪  ᫥  
 室騬  㧪 ᮬ  ࠢ  ࠭ ᬮ७묨.
᫨  窨 ⨫     ᫨   ਮ⠭
 稭  ᤥ ,   ᢮ ࠡ   १-
᪠  ⬠  窨 ( ᠬ  砫),  ।ਭ 

                                    262

㧨 騥 믮 .
     㭪 9.10   믮  ᮢ   㪠
⮢      ॠ樨 ⬠ 窨.   ,
   ⥭ᨢ ᯮ  業ࠫ쭮   
  ந 饭  ⥬ 㭪; ᫥⥫쭮,  ४-
  ⥪  ந室  ⮫쪮   १  뢠 
⠩  ࢠ  1 ᥪ㭤.  窨 ᯮ    訬
ਮ⮬  ஢, ⮬  ᥣ 㪫뢠  ᥪ㭤 -
,     . । ,    -
 ࠧ    ᭮   ६    ⮫쪮
  . 砫   室  A  B, ⠫ 
㦥.  窨   ஭        -
祭   ᥪ㭤, ᪮ ⮣ ॡ ᫮ 宦 ६-
頥     祭 ⮣ ࢠ    (   
ன⢥ 㧪),   祭 2 ᥪ㭤  窨 㦠-
  A  B  㦠     C  D.  ⠥  ⠪
㧨   E,  ௨ 㤠, ᪮  ᭮  -
筮    ⮣.  3-ᥪ㭤 ⬥⪥  E    
㧪, ᪮  室  3 ᥪ㭤   ன⢥  㧪,  
  窨   㧨      ᮢ,  
室    2 ᥪ㭤.  4-ᥪ㭤 ⬥⪥    窨
㦠  C  D  㦠    E  A.
      窨 롨ࠥ   㧪, ᭮뢠  த-
⥫쭮  ॡ뢠  ன⢥ 㧪.  ⢥ 㣮  -
  ਬ  ᮪ ਮ 㦠   ࠢ-
    ⠫묨, ⮢묨  믮 ᠬ, ᪮ ⠪ -
  ।⥫  ᪠. ࠪ⨪ ,   ⠪  室
"᪮쪮"  蠥 ய᪭ ᯮᮡ ⥬  ᫮ ᨫ쭮 -
㦥 (. [Peachey 84]).
     롮   㧪       楫  ᢮
  ॡ㥬  ꥬ  , ,  쥧 . -,
 窨 ந 㧪  ᭮ ਮ,  த⥫-
 宦    祭 nice. ᬮ  ,   ந
㧪    ⢥ 楫 - ᢮     -
㦠 ,   㧨   ,      ᢮
 ॡ㥬 ࠧ. ਬ, ᫨  窨 ⠥ 㧨
   ࠧ஬ 1 ,   ⥬  ᢮ ,
㤥   筮 㧨 , 騩 ⮫쪮 2  -
.  ⢥ ୠ⨢   । ⥣ 㧪 㯯
ᮢ  ᫮,   ᢮ , 筮  ࠧ饭
㦠 ᮢ.ᯥਬ  ᯮ짮 設 PDP 11/23 -
,  ᫮ ᨫ쭮 㦥 ⠪ ⥣  㢥 -
⥫쭮 ⥬   10 業⮢ (. [Peachey 84]).
    -, ᫨  窨 ਮ⠭ ᢮ ࠡ  ⮣, 
      墠⨫     㧪 , ᫥  
 롨ࠥ   㧪  , ᬮ  ,   ࠭  
㦥    ᤥ  롮.  稭 ⠪  砥  ⮬,  
襤襥 ६  ﭨ ⮢   믮    ३  㣨
㦥  ,  室騥  㧪    ࠢ 
࠭ ࠭ ᮬ.   ⮣  襭  ࠭ ࠭-
 ,   饣 㧨  .    ॠ-
  窨 ६  ⮬, ⮡ । 㧪   -
  㯭  㧨 讥 ⢮ ᮢ 쪮 ࠧ-
,     ⬥ 窨 ࠦ     
 (㭮 9.9).
    -,  ᫨  窨 롨ࠥ  㧪 , 室-
騩  ﭨ "⮢  믮",  ᪫祭   ⮣,
    ᫥ 㧪    ࠧ   饭  ᯮ-
.  砩   㭪 9.11,  ண ,   -

                                    263

  D  2- ᥪ㭤 ⬥⪥, ᪠    C,    ⥬  
3-ᥪ㭤  ⬥⪥  D 㦠    E (㯠 -
  祭 nice), ᬮ  ,   D ⠪      -
⠢ . ⭮,  ⠪   ⥫쭮.
      㯮       ᭮. ᫨  ⪥ 㧨
  ன⢥ 㧪  㤥  ᢮ ,    ⥬
    㯨  ,  ன:    ᭮


६   A       B           C           D           E
--+--------------+-----------+-----------+-----------+-----------
 0|       0      |     0     | 㦥  | 㦥  | 㦥
  |    饭   |           |     0     |     0     |     0
  |              |           |           |           |
  |              |           |           |           |
  |              |           |           |           |
  |              |           |           |           |
--+-      1      |     1     |     1     |     1     |     1
 1|              |  饭  |           |           |
  |              |           |           |           |
  |              |           |           |           |
  |              |           |           |           |
  |              |           |           |           |
--+-      2      |     2     |     2     |     2     |     2
 2|   㦥   | 㦥  | 㦥  | 㦥  |
  |       0      |     0     |     0     |     0     |
  |              |           |  饭  |           |
  |              |           |           |           |
  |              |           |           |           |
--+-      1      |     1     |     1     |     1     |     3
 3|              |           |           |  饭  |
  |              |           |           |           |
  |              |           |           |           |
  |              |           |           |           |
  |              |           |           |           |
--+-      2      |     2     |     2     |     2     |     4
 4|   㦥   |           | 㦥  | 㦥  | 㦥
  |       0      |           |     0     |     0     |     0
  |              |           |           |           |  饭
  |              |           |           |           |
  |              |           |           |           |
--+-      1      |     3     |     1     |     1     |     1
 5|    饭   |           |           |           |
  |              |           |           |           |
  |              |           |           |           |
  |              |           |           |           |
  |              |           |           |           |
--+-      2      |     4     |     2     |     2     |     2
 6|   㦥   | 㦥  | 㦥  |           | 㦥
  |       0      |     0     |     0     |           |     0
  |              |  饭  |           |           |
  |              |           |           |           |
  v


    㭮 9.10.    ᫥⥫쭮   権,   믮塞
                     ᮬ 窨



                                    264


६   A       B           C           D           E
--+--------------+-----------+-----------+-----------+-----------
 0|       0      |     0     | 㦥  |  nice 25  | 㦥
  |    饭   |           |     0     | 㦥  |     0
  |              |           |           |     0     |
  |              |           |           |           |
  |              |           |           |           |
  |              |           |           |           |
--+-      1      |     1     |     1     |     1     |     1
 1|              |  饭  |           |           |
  |              |           |           |           |
  |              |           |           |           |
  |              |           |           |           |
  |              |           |           |           |
--+-      2      |     2     |     2     |     2     |     2
 2|   㦥   | 㦥  | 㦥  | 㦥  |
  |       0      |     0     |     0     |     0     |
  |              |           |  饭  |           |
  |              |           |           |           |
  |              |           |           |           |
--+-      1      |     1     |     1     |     1     |     3
 3|              |           |           | 㦥  | 㦥
  |              |           |           |     0     |     0
  |              |           |           |           |  饭
  |              |           |           |           |
  |              |           |           |           |
--+-      2      |     2     |     2     |     1     |     1
 4|   㦥   |           | 㦥  |           |
  |       0      |           |     0     |           |
  |    饭   |           |           |           |
  |              |           |           |           |
  |              |           |           |           |
--+-      1      |     3     |     1     |     2     |     2
 5|              | 㦥  |           |           | 㦥
  |              |     0     |           |           |     0
  |              |  饭  |           |           |
  |              |           |           |           |
  |              |           |           |           |
--+-      2      |     1     |     2     |     3     |     1
 6|   㦥   |           |           | 㦥  |
  |       0      |           |           |     0     |
  |              |           |           |  饭  |
  |              |           |           |           |
  v

    㭮 9.11.  㧪 ᮢ  砥 ࠧ ६
                   ࢠ  


 室  ﭨ ਮ⠭,  ⮢  믮  
㦥,      ᮢ   ன⢥ 㧪 㦥  , 
᢮    ᭮ .   ࠧࠥ   ࠦ
9.5.    ஡, 易  窮 ᮢ,  ᫥ 
ᯠ  裡  ॠ樥 ⬮ 窨 ࠭ .





                                    265

        9.2   

     窨 ࠭  ন  設  ࠭筮
࣠樥    , 騬 뢠  (***).  ⥬  
窮  ࠭    ࠭祭  ࠧ , 易 
ꥬ 㯭 䨧᪮ . ਬ,  設  ꥬ  䨧-
    1  2   ᯮ  ࠧ஬ 4  5 .
࠭祭  㠫 ࠧ , 易   ꥬ  㥬
㠫쭮  , ⠥  ᨫ  . ᪮    -
  䨧᪮ ,  室 ᪨ 㦠    -
  ⤥      ᯮ , ᬮ  ⢨ ⠫
⥩.  堭 窨 ࠭    짮⥫᪨  ண-
ࠬ,  ᪫祭 ࠧ襭  㠫쭮 ࠧ.
     ६ ᯮ  訬 ﬨ,  -
  ணࠬ묨  横    ணࠬ, ᯮ㥬  㪠⥫
㯯  訥 , ᯮ  ଠ樮 ࠭-
⢥ .  ⮬ ⮨  ⠪ 뢠  ਭ樯  "쭮".
  [Denning  68] 뫮 㫨஢ ⨥ ࠡ祣 ⢠ -
  ᮢ㯭 ࠭, ᯮ짮 ᮬ  ᫥ n -
  ᭮ ࠭⢮ ; ᫮ n 뢠  ࠡ祣  -
⢠.  ᪮  ࠡ祥  ⢮     楫, 
᭮     ᮢ  ࠢ  ⥬  -
⥬,    ࠢ    窥 ᮢ,   -
筮 ⮣ ਢ  㢥祭 ந⥫쭮 ⥬.  
頥  ࠭, 饩      ࠡ祬  ⢥,  
訡,   ࠡ⪥ ன  ४ ࠡ祥 ⢮ ,
 砥 室 稢 ࠭  譥 ன⢠.
     㭪 9.12 ਢ ᫥⥫쭮 ᯮ㥬 ᮬ 㪠-
⥫ ࠭, 뢠 ࠡ稥 ⢠    ࠧ  ࠧ஢
 ᫮ ᮡ ⬠ 饭 "ਪ" (饭 ࠭ -
⥬ ⪠窨 ,      뫮 饭).   믮-
   ࠡ祥 ⢮   ᮮ⢥⢨  ᯮ-
㥬묨 ᮬ 㪠⥫ﬨ ࠭; 㢥祭 ࠧ    -
 㢥祭 ࠡ祣 ⢠ ,  㣮 ஭, ᮪饭 ᫠ -
    믮 . ᯮ짮  ࠡ祣 ⢠ 
ࠪ⨪, ᪮  । ᫥ 㪠⥫  -
 ॡ  ᫨誮  . ਡ⥫쭮 ᮮ⢥⢨ -
  塞 ࠡ稬 ⢮  ࠭⢮  ⨣ ⥬
⠭  㯮 (reference bit)  饭  ࠭ , 
⠪ ਮ᪨ ᮬ 㪠⥫ ࠭. ᫨  ࠭ 뫠 ᤥ-
 뫪,  ࠭ 砥  ࠡ祥 ⢮;   ⨢  砥
 "ॢ"     ᢮ ।.
      砥  訡 - 饭  ࠭, 饩
 ࠡ祬 ⢥,  ਮ⠭ 믮      ,
 ࠭  㤥 ⠭     ⠭ 㯭 . -
 ࠭ 㤥 㦥,  १  ,  ன -
    뫮  ਮ⠭ - 訡.  ࠧ, ࠡ
⥬ 饭 ࠭ ᯠ   : ⪠窠 । ᯮ-
㥬 ࠭  ன⢮ 㧪  ࠡ⪠  訡  -  ⢨
㦭 ࠭.  饥 ⮫ 堭 饭 ࠭, 筮
,  室   ।  ⭮ ⥬. ⠢   
⨬  ⠫쭮 ᬮ७ ᮡ⥩ ॠ樨  ⮣  -
  ᨨ V ⥬ UNIX.

---------------------------------------
(***)  ᫨  ᯮ   訡, 易  ⢨
      ࠭, ᫥ ࠡ⪨ 訡  易 १ , -
       ஬ १, 祭      
      訡,   祭.

                                    266


        9.2.1  , ᯮ㥬 ⥬ 饭 ࠭

      প  㭪権 ࠢ   設 () ஢ 
 ॠ樨 堭 饭 ࠭  ᯮ 4 ᭮ -
 :  ⠡ ࠭, ਯ  ᪮  ,  ⠡
ᮤন ࠭  (page frame data table - ᮪饭: pfdata) 
⠡  ᯮ짮  窨.   ⠡ pfdata 뤥
 ࠧ   ६  ⥬,  㣨   ࠭  
뤥 ᪨.
      6  ⭮,    ᯮ ᢮ ⠡栬
࠭,    ⢫   䨧᪮ . 
  ⠡ ࠭ (㭮 9.13) ⮨  䨧᪮  ࠭-
,  ,  ࠧ鸞 ண 뢠 ࠢ  㯠    
࠭ ( ⥭,   ᯮ),  ⠪ ᫥  ,
ᯮ㥬 堭 饭 ࠭:

᫥⥫-
 㪠-       稥 ⢠      
   ࠭      2         3           4               5
+------------+ +-------+----------+-------------+----------------+
|     24     | |  24   |    24    |     24      |       24       |
+------------+ |       |          |             |                |
|     15     | | 15 24 |  15 24   |   15 24     |     15 24      |
+------------+ |       |          |             |                |
|     18     | | 18 15 | 18 15 24 |  18 15 24   |    18 15 24    |
+------------+ |       |          |             |                |
|     23     | | 23 18 | 23 18 15 | 23 18 15 24 |   23 18 15 24  |
+------------+ |       |          |      -      |        -       |
|     24     | | 24 23 | 24 23 18 |      -      |        -       |
+------------+ |       |          |      -      |        -       |
|     17     | | 17 24 | 17 24 23 | 17 24 23 18 | 17 24 23 18 15 |
+------------+ |       |          |      -      |        -       |
|     18     | | 18 17 | 18 17 24 |      -      |        -       |
+------------+ |       |     -    |      -      |        -       |
|     24     | | 24 18 |     -    |      -      |        -       |
+------------+ |       |     -    |      -      |        -       |
|     18     | | 18 24 |     -    |      -      |        -       |
+------------+ |       |     -    |      -      |        -       |
|     17     | | 17 18 |     -    |      -      |        -       |
+------------+ |       |     -    |      -      |        -       |
|     17     | |       |     -    |      -      |        -       |
+------------+ |       |     -    |      -      |        -       |
|     15     | | 15 17 | 15 17 18 | 15 17 18 24 |        -       |
+------------+ |       |          |      -      |        -       |
|     24     | | 24 15 | 24 15 17 |      -      |        -       |
+------------+ |       |     -    |      -      |        -       |
|     17     | | 17 24 |     -    |      -      |        -       |
+------------+ |       |     -    |      -      |        -       |
|     24     | | 24 17 |     -    |      -      |        -       |
+------------+ |       |     -    |      -      |        -       |
|     18     | | 18 24 | 18 24 17 |      -      |        -       |
+------------+ +-------+----------+-------------+----------------+

            㭮 9.12. 祥 ⢮ 


  *  㯭
  *  㯮

                                    267

  *  䨪樨
  *  ஢  
  * "" ࠭
    ⠭    㯭  ᢨ⥫  ࠢ쭮 ᮤন
࠭ ,   ⮣,   㯭 몫祭,  ᫥  
室  ,    뫪   ࠭ ⨬,  祬  㡥
.  㯮 ⠭   ⮬  砥,  ᫨    
뫪   ࠭,   䨪樨 -  ⮬ 砥, ᫨  ᪮४-
஢ ᮤন ࠭. ⠭  ஢  , ந-
  ६ 믮 ⥬ 㭪樨 fork, ᢨ⥫  ⮬, 
  砥,   ४ ᮤন ࠭, ᫥  ᮧ-
     . , "" ࠭   த⥫-
  ॡ뢠  ⠢ ࠡ祣 ⢠ .  㯭,
஢    "" ࠭ ⠭ ஬,  㯮-
  䨪樨 -  ⥬;   ࠧ  9.2.4  ᬠਢ
䨣樨,      ন ன.

+--------+ +->+----------------------+---------------------------+
|        | |  |                      |                           |
|        | |  +----------------------+---------------------------+
|        | |  |                      |                           |
|        | |  +----------------------+---------------------------+
| | |  |                      |                           |
|        | |  +----------------------+---------------------------+
|        | |  | ⠡ ࠭|ਯ ᪮ |
|    ----+-+  +----------------------+---------------------------+
|        |    |                      |                           |
|        |    +----------------------+---------------------------+
|        |    |                      |                           |
+--------+    +----------------------+---------------------------+
              |                      |                           |
              +----------------------+---------------------------+
              |                      |                           |
              +----------------------+---------------------------+
              |                      |                           |
              +----------------------+---------------------------+
              |                      |                           |
              +----------------------+---------------------------+

                      ⠡ ࠭
+-----------------------------+-------+-----+-----+----+-----+---+
|  ࠭ (䨧᪨) ||-|-|-|-  |-|
|                             |       |஢-|䨪-|- |- |-|
|                             |       |  |  |- |-  | |
|                             |       |  |     | ||   |
|                             |       |-|     |    |     |   |
|                             |       |   |     |    |     |   |
+-----------------------------+-------+-----+-----+----+-----+---+

                   ਯ ᪮ 
+-----------------------+---------------+------------------------+
|  ன⢮ 㧪  |     |  (室  -  |
|                       |               | ன⢥ 㧪,    |
|                       |               | 䠩,  饭   |
|                       |               | , - |
|                       |               | )                    |
+-----------------------+---------------+------------------------+

    㭮 9.13.  ⠡ ࠭  ਯ ᪮ 

                                    268

        ⠡  ࠭ 易  ਯ஬ ᪮ ,
뢠騬 ᪮  㠫쭮 ࠭ (㭮 9.13). ⮬ -
, ᯮ騥 ࠧ塞 ,   騬   ⠡
࠭       ⥬  ਯࠬ ᪮ . ন -
쭮 ࠭ ᯮ   ⤥쭮   ன⢥ 㧪,
  ᯮ塞 䠩,       ன⢥  㧪.
᫨ ࠭ 室  ன⢥ 㧪,  ਯ ᪮ -
  ᮤন  ᪨   ன⢠   ,   
᪠ ᮤন ࠭. ᫨ ࠭ ᮤন  ᯮ塞  䠩,
  ਯ ᪮  ᯮ  ᪮   䠩
 ᮤন ࠭;    ८ࠧ     
᪥.  ਯ ᪮  ⠪  ଠ     -
  㭪樥 exec ᮡ ᫮: ࠭  饭   -
 ("demand fill")    ("demand  zero").  ᭥  
⮬    ࠧ 9.2.1.2.
      ⠡  pfdata 뢠  ࠭ 䨧᪮ . 
⠡ ந஢   ࠭    ᫥ :
  *  ࠭, 㪠뢠騩  ,  ࠭ ᯮ    -
    ன⢥ 㧪   ᯮ塞 䠩,   ࠭ ந -
    饭   אַ    (⥬ 뢠 ଠ樨  -
    ன⢠ 㧪),   ,  ࠭   ७祭.
  * ⢮ ᮢ, 뫠   ࠭.  稪  뫮  ࠭
    ᫮ ᥩ  ⠡ ࠭,  뫪  ⥪ ࠭. 
    祭  ⫨  ⢠ ᮢ, ᯮ ࠧ-
        ࠭楩,  祬  㡥  ,  -
     ᭮    㭪樨 fork.
  * ᪨  ன⢠ (ன⢠ 㧪  䠩 ⥬) 
     , 㪠뢠騥 ᯮ ᮤন ࠭.
  * ⥫  㣨  ⠡ pfdata  ᮮ⢥⢨  ᯨ᪮ ᢮-
     ࠭   -। ࠭.
        襬  뢠  ⠡ pfdata  ᯨ-
᮪  ᢮  ࠭  -।. ᮪ ᢮ ࠭ ।⠢
ᮡ ,  ᮤন ࠭, 㯭  ७祭, 
, ⨢訩  ⨬ ࠭栬,  ⮫  訡  -
樨,  ⠪    稢 ᮮ⢥ ࠭  ᯨ᪠.  ᯨ᮪ 
  ᮪ ᫮ 権 ⥭  ன⢠ 㧪. 
뤥 ࠭  ⮣ ᯨ᪠  襭 ਭ樯 饭 "-
ਪ".  ࠨ  ⠡  -।  ᮮ⢥⢨  -
஬ ன⢠ (㧪)  ஬ . ᯮ  ,   
  ᪠ ࠭, ᫨  室  . । 䨧
࠭ ,  롨ࠥ ᮮ⢥    ᯨ᪠  ᢮
࠭,  ࠢ 㪠    ன⢠    頥 
 ᮮ⢥饥  -।.
      ⠡ ᯮ짮  窨 ᮮ⢥ -
, 室饩  ன⢥ 㧪.   ᮤন  稪  뫮,
뢠騩 ⢮ ᥩ ⠡ ࠭,    뫪 
⥪ ࠭.
      㭪  9.14      ﬨ ⠡ ࠭,
ਯࠬ ᪮ , ﬨ ⠡ pfdata  ⠡ ᯮ짮-
  窨. 㠫  1493 ⮡ࠦ   ⠡
࠭, ᮮ⢥ ࠭  䨧᪨ ஬ 794; ਯ  -
  , 易  ⮩ , ᢨ⥫  ⮬,  ᮤন-
 ࠭ ᯮ  ன⢥ 㧪   ஬  1    ᪮
    ஬ 2743.  ⠡ pfdata,  ⮣,  㪠뢠 
   ன⢠  , ᮮ頥,  稪 뫮   䨧
࠭   祭, ࠢ 1.  ⮬, 祬  ᪮  -
   ⠡ pfdata,  㧭    ࠧ  9.2.4.1.  稪
뫮   㠫 ࠭ (  ⠡ ᯮ짮  -
窨) ᢨ⥫  ⮬,    ࠭   ன⢥  㧪

                                    269

뫠 ⮫쪮   ⠡ ࠭.


        9.2.1.1 㭪 fork  ⥬  饭 ࠭

      㦥 ਫ  ࠧ 7.1,  ६ 믮 㭪樨 fork 
ᮧ    த⥫᪮   ᮥ   -
-⮬.  ⥬  饭 -

             +-----------------------+--------------------------+
㠫  | ⠡  ࠭|ਯ ᪮ |
        +-----------------------+--------------------------+
   1493     |    ࠭ 794  | ன⢮ 1    2743 |
             +---+-+-----------------+--------------------+-----+
                 | |                                      |
                 | |  ⠡ pfdata,               |
                 | | ᮮ⢥ -   +------------+
    +------------+ v   ஬ 794      |
    | +------------+-----------------------+ |
    | |            | 稪 뫮      1 | |   ⠡
    | |            +-----------------------+ |  ᯮ짮
    | |            |  ன⢠    1 | |   窨
    | |            +-----------------------+ | +-----------------+
    | |            |        2743 | | |稪 뫮  1|
    | |            +-----------------+-----+ | +--------+--------+
    | |                              | +-----+          |
    | |                              | | +--------------+
    v v                              v v v
    +--------------------------+     +---------------------------+
    | ᪠ ࠭  794 |     |            2743 |
    +--------------------------+     +---------------------------+

    㭮 9.14.   ࠬ , 騬   ॠ-
                  樨 堭 饭 ࠭  饭

   ࠤ樨 ᮧ 䨧  ᭮ ࠭⢠ -
-த⥫,    饬 砥  쭮 ⥫쭮 樥,
᪮   ᫥ 믮 㭪樨 fork 頥    㭪樨
exec    ⥫쭮  ᢮ ⮫쪮  ᪮஢ ࠭⢮.
᫨  ࠧ塞,  ᨨ V  ஢ ࠭  
㢥稢 祭 稪 뫮   ( ⠡ ⥩,   ⠡-
  ࠭   ⠡ pfdata).   ,   ⥩, ⠪
    ⥪,  ⢮  ⠡ ⥩  ⠡  -
  , ᫥ 祣 ᬠਢ  ⠡ ࠭   -
-த⥫: ᫨  ୠ,  㢥稢 祭 稪 뫮
 ⠡ pfdata, ࠦ饥 ⢮ ᮢ, ᯮ ࠭ -
१  ࠧ    ( ⫨稥   ᮢ,  ᯮ 
࠭ १ ࠧ塞 ). ᫨ ࠭ ᯮ  ன-
⢥ 㧪,  㢥稢 祭 稪 뫮  ⠡  ᯮ짮-
  窨.
      ࠭  뫠  , ᯮ騥  ࠭-
 ᮢ⭮,       .  ⮫쪮 ࠭ -
      ,  ᮧ  ,  ⥬, ⮡  
 뫠 ᢮ 筠  ࠭.  ⮣   믮  㭪樨
fork    ⠡ ࠭, ᮮ⢥饩   த-
⥫    ⮬,  ⠭  "஢  ". ᫨ 
 ᮢ ⠥ -   ࠭,   ⪠ -
 , ᫥ 祣   㤥 ᮧ   ᮤন ࠭-
.  ࠧ, 䨧᪮ ஢ ࠭ ⪫뢠  ⮣ -

                                    270

,   ⮬  ॠ쭠 ॡ.
     ⢥ ਬ ᬮਬ 㭮 9.15.  ࠧ   
⠡  ࠭  ᮢ⭮  ᯮ㥬   T, ⮬ 祭
稪 뫮   ࠢ 2,   ࠭   ( ⠡
pfdata).  砥 -

           -த⥫           -⮬

            ⭠ ⠡            ⭠ ⠡
           ⥩           ⥩ 
           +--------------+           +--------------+
           | -            |           | -            |
           +--------------+           +--------------+
           | -          - |           | -          - |
           +--------------+           +--------------+
             -   + ---------------------+          -
             -   -      -                          -
             v   v      v                          v
+-------------------+ +-------------------+ +-------------------+
|      T     | |      P1    | |      C1    |
| 稪 뫮  2 | | 稪 뫮  1 | | 稪 뫮  1 |
|+-----------------+| |+-----------------+| |+-----------------+|
||   ⠡ || ||   ⠡ || ||   ⠡ ||
||     ࠭     || ||     ࠭     || ||     ࠭     ||
|+-----------------+| |+-----------------+| |+-----------------+|
||        -        || ||        -        || ||        -        ||
||        -        || ||        -        || ||        -        ||
|+-----------------+| ||        -        || ||        -        ||
||㠫-   -|| ||        -        || ||        -        ||
||     || ||        -        || ||        -        ||
||  24        967 || ||        -        || ||        -        ||
|+-----------------+| |+-----------------+| |+-----------------+|
||        -     -  || ||㠫-   -|| ||㠫-   -||
||        -     -  || ||     || ||     ||
||        -     -  || ||  97        613 || ||  97        613 ||
||        -     -  || |+-----------------+| |+-----------------+|
||        -     -  || ||        -     -  || ||        -     -  ||
||        -     -  || ||        -     -  || ||        -     -  ||
|+-----------------+| |+-----------------+| |+-----------------+|
+-------------------+ +-------------------+ +-------------------+
                -                     -           -----------
                v                     v           v
+---------------------+         +---------------------+
| ࠭  967 |         | ࠭  613 |
| 稪 뫮    1 |         | 稪 뫮    2 |
+---------------------+         +---------------------+

    㭮 9.15.   ࠭,     -
                    㭪樨 fork


-⮬    C1,    P1  -
-த⥫.   ᯮ      ⠡ ࠭, 
  ਬ ࠭  㠫 ᮬ 97. ⮩ ࠭  ⠡
pfdata ᮮ⢥   ஬ 613, 稪 뫮  ன ࠢ 2,
  ࠭ 뫠  .
      室 믮 㭪樨 fork  ⥬ BSD ᮧ 䨧᪠ 
࠭ த⥫᪮ . , 뢠 稥 権,  
ᮧ 䨧᪮    易⥫,  ⥬ BSD 

                                    271

⠪ 㭪 vfork,  ᯮ  ⮬ 砥, ᫨    ࠧ
  襭 㭪樨 fork ᮡࠥ  㭪 exec. 㭪 vfork
  ⠡ ࠭, ⮬  ࠡ⠥ ॥, 祬 㭪  fork
  ᨨ  V ⥬ UNIX.  -⮬  ⮬ ᯮ  
 ᠬ 䨧᪨ ,    த⥫,     ⮬  
    ⥪  த⥫᪮ . ᫨ ணࠬ ᯮ 㭪
vfork ୮,   ᭠ ,  ⮬    ⢥⢥-
   ᯮ짮   ணࠬ. 稥  室 
ᬠਢ     ⥬ UNIX  BSD  䨫᪨ ࠪ,
  ࠧ ⢥      : ᫥   뢠 -
 ॠ樨 ᢮ 㭪権, ॢ   ⠩    짮⥫,
    ⮨   짮⥫   䥪⨢
믮 ⥬ 権 ?

    +------------------------------------------------------------+
    | int global;                                                |
    | main()                                                     |
    | {                                                          |
    |     int local;                                             |
    |                                                            |
    |     local = 1;                                             |
    |     if (vfork() == 0)                                      |
    |     {                                                      |
    |         /* ⮬ */                                      |
    |         global = 2;  /*     த⥫ */|
    |         local = 3;   /*   ⥪ த⥫ */          |
    |         _exit();                                           |
    |     }                                                      |
    |     printf("global %d local %d\n",global,local);           |
    | }                                                          |
    +------------------------------------------------------------+

     㭮 9.16. 㭪 vfork  ᪠ ଠ樨 

     ⢥ ਬ ᬮਬ ணࠬ, ਢ    㭪  9.16.
᫥  믮 㭪樨 vfork -⮬  ᪠ 㭪 exec, 
⠭ 祭 ६ global  local   蠥  (****).
⥬  ࠭,  -த⥫ ਮ⠭  ⮣ -
,  ⮬ ᯮ 㭪樨 exec  exit.   筮 -
 ᢮ 믮, -த⥫ 㦨,  祭    -
    ᮢ    ⥬ 祭ﬨ,  뫨    饭 
㭪樨 vfork !  訩 䥪  ந 饭 --
⮬  㭪樨, 맢襩 㭪 vfork (. ࠦ 9.8).



        9.2.1.2 㭪 exec  ⥬  饭 ࠭

     㦥 ਫ   7,   頥  ⥬ 㭪-
樨 exec,  뢠  䠩 ⥬   㪠  ᯮ塞
䠩.      ⥬   饭 ࠭   ᯮ塞 䠩,

---------------------------------------
(****) 㭪 exit ᯮ  ਠ _exit, ⮬    "頥"
        , । १ ⠭ -뢮 ( -
       ⥫᪮  ஢),    ᮢ, ⠪   printf,
       ᯮ㥬 த⥫,   ࠢ १ -   -
       ⥫  䥪  ਬ 㭪樨 vfork.


                                    272

騩 让 ࠧ,   㬥  㯭 ࠭⢥  ᭮-
  . ⮬   砥  ࠧ  ࠭⢮,  ⢮
     .  砫    砥  䠩  ⠡
࠭  ਯ ᪮ ,  ࠭   ⠡ 
"塞    饭"  (   , ஬  ⨯ bss) 
"塞  饭" (  ⨯ bss). 뢠     
࠭  䠩    read,  砥 訡 - ⢨
(㯭) . ணࠬ ࠡ⪨ 訡 ஢,  
࠭ "塞  饭" (⮣  ᮤন  㤥  
  ᮤন  ᯮ塞 䠩  ⮬    ) 
"塞  饭" (⮣  ᫥ ).  ࠧ  9.2.3  
㢨,      ந室.  ᫨       ,
"ᡮ騪" ࠭ ᢮   , ਮ᪨ ⪠稢   -
 ᯮ㥬 ࠭.
      ⮩ 奬   ⪨. -,  ⥭  -
 ᯮ塞 䠩  ⠫  訡 - 饭  -
饩 ࠭,           頫    .
-,  ᫨  ᫥ ⮣,  "ᡮ騪" ࠭ ⪠砫  ࠭ 
, 뫠 饭 㭪 exec,  ⮫쪮   㦥    
  ࠭  ॡ  ⥫    㧪.
⮡  䥪⨢ 㭪樨 exec,   ॡ  ࠭
।⢥    ᯮ塞 䠩, ᫨   䠩 ᮮ⢥騬
ࠧ ஥,  । 祭 .. "᪮ ᫠".  -
,  ᯮ짮 ⠭ ⬮ 㯠  䠩 (ਬ, bmap)
ॡ   饭  ࠭, 饩   ᢥ -
樨,  , 易   ᯮ짮 ୮ -
  ⥭  . ஬ ⮣, 㭪 bmap    ॥-
쭮,     ᭮ 襭 楫⭮ .  ६
믮 ⥬ 㭪樨 read  ⠭  ࠭⢥ 
祭 ࠧ ࠬ஢ -뢮.  ᫨    ⪥  ᪮஢
    ࠭⢮ 짮⥫  ⮫  ⢨ 㦭
࠭, , 뢠 ࠭  䠩 ⥬,   ᮤঠ-
騥  ࠬ . ⮬       ਡ    ᯮ짮
 ⬮ ࠡ⪨ 訡  த. 筮   -
         ॥ࠡ묨, ᪮   
᢮ ⤥쭮 ᭮ ࠭⢮     ६  ᯮ-
 ᪮쪮 ⥬ 㭪権.
      ⮣, ⮡ 뢠 ࠭ ।⢥  ᯮ塞 䠩-
,   ६ ᯮ 㭪樨 exec ⠢ ᯨ᮪ ஢ ᪮
 䠩  ᮥ  ᯨ᮪   䠩.   ⠡栬
࠭ ⠪ 䠩,  室 ਯ ᪮  ,  ᮤঠ饣
࠭,       䠩;    ᯮ-

                                               ᮪ ,
                                 +-> 易  ᮬ
    +---------------------------------+ |    +----------------+
    |                -----------+-+  0 |                |
    |                                 |    - |                |
    |                                 |    - |                |
    |   ਯ ᪮     |    - |                |
    |  +---------------------------+  |    - |                |
    |  | ᪨         84 |  |    - +----------------+
    |  +---------------------------+  |   84 |       279      |
    |                                 |      +----------------+
    +---------------------------------+      |                |
                                             |                |
                                             +----------------+

            㭮 9.17. ⮡ࠦ 䠩  

                                    273

  㧪 ࠭  䠩.  㭪 9.17  ਬ,  -
஬ ࠭   ᯮ  ᪮   ஬ 84  -
砫 䠩.    㪠⥫  ,  ஬ ᮤন  -
 ᮮ⢥饣 䨧᪮   ᪥ (279).



        9.2.2 "騪" ࠭

    "騪"  ࠭ (page stealer)  ᮬ, ਭ騬 
樮 ⥬  믮騬 㧪     ࠭,  
    室    ⠢ ࠡ祣 ⢠ 짮⥫᪮ .
  ᮧ ஬  ६ 樠樨 ⥬  ᪠  
  ,     室.  ᬠਢ  -
⨢ ஢   㢥稢  祭  ""  
ਭ饩  ࠭ (஢  ய᪠,  ᫥-
⢨,  ⨨ ஢, ⮦  ⥭).    ࠡ 
࠭楩,  ਭ饩  , 砥 訡,   ,
⮡ "ᡮ騪"  ᬮ 㧨 ࠭   ,  訡   㤥
ࠡ⠭.
    ࠭     室   ﭨ:  "ॢ",
   ⮢  㧪,   ⮢  㧪    㯭
  ਢ離  㣨 㠫 ࠭栬. ࢮ ﭨ 砥, 
 ⨫  ࠭  ⮬ ࠭ 祭   ࠡ祥  -
⢮.   饭  ࠭   設 ⭮ ⠭-
  㯮, ᫨     믮, ᮮ⢥⢥,  
ணࠬ  ⮤  ᪮॥  ᥣ  ᯮ 㣨 (ࠧ 9.2.4). ᫨
࠭ 室  ࢮ ﭨ, "ᡮ騪" 뢠  㯮 
,   ⢮ ᬮ஢ ⢠ ࠭,  믮  
 ᫥ 饭  ࠭  ஭ 짮⥫᪮ -
.   ࠧ, ࢮ ﭨ ᯠ  ᪮쪮 ﭨ 
ᮮ⢥⢨  ⥬, ᪮쪮 ࠧ "ᡮ騪" ࠭ ⨫    ࠭  
⮣,   ࠭ ⠫ ⮢  㧪 (. 㭮 9.18).  
᫮ ॢ蠥 ஥ ண 祭,    ॢ  ࠭  
஥  ﭨ  - ﭨ ⮢  㧪. ᨬ쭠 த-
⥫쭮 ॡ뢠 ࠭  ࢮ ﭨ   ᫮ -
 ॠ樨  ࠭稢 ᫮ ⢥  ⮣  ࠧ冷  
 ⠡ ࠭.
     㭪 9.19  ⢨  ᠬ, ࠡ騬 
࠭楩,   "ᡮ騪" ࠭.    饭 "ᡮ-

                        뫪  ࠭
    +------------+----------+----------+-----------------+
    |            ^          ^          ^                 |
    v            |          |          |                 | ⮢-
+-------+        |          |          |                 | 
| - |      +-+-+      +-+-+      +-+-+             +-+-+ 
|  |----->| 1 +----->| 2 +----->| 3 +-------->| n | -
| |      +---+      +---+      +---+             +-+-+ -
+-------+      "ॢ" ࠭ --- ⢨      |   
    ^                        뫮                      |
    |                                                    |
    |                       +--------+                   |
    |                       | ࠭-|                   |
- +-----------------------|  - |<------------------+ -
㧪                      | 㦥|                     
                            +--------+

            㭮 9.18. ࠬ ﭨ ࠭

                                    274


"  ࠭  ⮣ ,  ࠭-
 뫠 㦥  . , ⨢訩  ࠭  ᫥  ண
ᬮ ࠭ "ᡮ騪", ᨫ  ""  0. ᫥  -
 짮⥫᪨  頫  ࠭ ,    殢
"ᡮ騪" ࠭ ⢨  ᬮ ࠭   ᫥ -
饭    ஭ 짮⥫᪮   㧨   .
    ᫨   ᯮ ᮢ⭮  , 祬  ᠬ, 
 ࠡ  ⠬ 㯮    ⮬      ᥩ  ⠡
࠭.    ࠧ, ࠭    ࠡ稥 ⢠ -
쪨 ᮢ,   "ᡮ騪" ࠭     祭.
᫨ ࠭ 祭  ࠡ祥 ⢮     ᮢ,  
⠥   ;  ⨢ 砥    㦥. 祣, 
 ,  ਬ,    ࠭ ,  祬    㣨:
"ᡮ騪"  ࠭    ⠥ 㧨 ࠢ ⢮ ࠭  
⨢ ⥩.
      ࠡ "ᡮ騪" ࠭,  㯭    ⥬
᢮   ࠧ,  騩   ⨬ ⬥⪨,
  ⮣ "ᡮ騪" ந ⪠ ࠭   ,  ꥬ ᢮-
   ॢ  ⬥.  ᯮ짮  ⬥⮪ -
⢮ ந 権 ᮪頥,  ᫨    ᯮ  ⮫쪮
  ண  祭,  㤥 㦠 筮 ᫮ ࠭ 
᢮   ண 祭,    १  饭
訡筮  㦥 ࠭   ࠧ ᢮ ࠭⢠ ᪮
   ⮣ ண. ꥬ ᢮   ⮬ ﭭ
 ন  ண ⬥⪨. 㧪 ࠭    ᢮
  ꥬ, ॢ饬  ⬥, ⪫뢠 ,  -
 ᢮   ⥬ ⠭   ⬥⪨, ⮬ "ᡮ-
"  ࠭   室 㦥 ⠪  믮 ᢮ ࠡ. ⨬
롮 ஢ 孥   ⬥⮪ ஬  蠥  ந-
⥫쭮 ⥬.
      "ᡮ騪" ࠭ ਭ 襭 㧨 ࠭  ,
 ஢  宦  ⮩ ࠭   ன⢥  -
㧪.  ⮬     :

       ﭨ ࠭     ६ (᫥ 㯮)
     +----------------------+-----------+
     |               |     0     |
     +----------------------+-----------+
     |                      |     1     |
     +----------------------+-----------+
     |                      |     2     |
     +----------------------+-----------+ 뫪  ࠭
     |                      |     0     |
     +----------------------+-----------+
     |                      |     1     |
     +----------------------+-----------+ 뫪  ࠭
     |                      |     0     |
     +----------------------+-----------+
     |                      |     1     |
     +----------------------+-----------+
     |                      |     2     |
     +----------------------+-----------+
     |                      |     3     |
     +----------------------+-----------+ ࠭ 㦥
     |             |           |
     +----------------------+-----------+

          㭮 9.19. ਬ "ᮧॢ" ࠭

                                    275


 1.  ᫨   ன⢥ 㧪   ࠭,  "" -
    㧪 ࠭: "ᡮ騪" ࠭ 頥   ᯨ᮪ 㦥 -
      室 ; 㧪 ⠥ ᪨ 訢襩. -
     ᫮ ࠭  ᯨ᪥ ॢ ࠭祭 (।塞  -
    ﬨ  ᪮  ஫),   ९뢠 ࠭  ன⢮
    㧪.
 2. ᫨  ன⢥ 㧪 㦥   ࠭   ᮤন  -
    祬    ⫨砥   ᮤন ࠭   ( 䨪樨 
     ⠡ ࠭  ⠭),  뢠      -
    㯭 ( ⮩   ⠡), 㬥蠥 祭 稪 뫮 
    ⠡ pfdata  頥   ᯨ᮪ ᢮ ࠭  饣
    ७祭.
 3.  ᫨  ன⢥ 㧪   ࠭,    -
    ন  ਣ  ,   㧪 ࠭  ᢮-
            ன⢥  㧪.
    "騪"  ࠭   ࠭  ன⢮ 㧪, ᫨ 
 砨 1  3.
    ⮡ ந஢ ࠧ  ᫥  ﬨ,  ।-
,    ࠭ 室  ன⢥ 㧪  㦠  -
  ᫥ ⮣,   ⮫   ⢨  室
. ⨬,   ⠫ ⮬᪨ 㤠  ࠭  -
.   殢, "ᡮ騪" ࠭  ਬ 襭 㧨 ࠭-
. ᫨   㧪    ࠭  ந  -
,  ᮤন ࠭   筮 ᮤন  ᪮  
 ९ ࠭  ன⢮ 㧪 室  . -
, ᫨  ᯥ -   ࠭,      -
  ࠧ, ⮬  ᫥ ९ ࠭  ன-
⢮  㧪, ᢮ ।⥫쭮 ,   ன⢥ -
 ਠ⮬.   ࠧ ᯮ ᢮ ࠭⢮    -
ன⢥  㧪,  ⮬      ন 뢭
ࠧ饭  ⪮,  蠥 䥪⨢ ᯮ짮 -
 㧪.
    "騪" ࠭  ᯨ᮪ 㦥 ࠭,    ਭ-
樯    ਭ ࠧ ,    ᯨ᪠ ⪠稢
  ன⢮ 㧪.  室  ⮬, ⮡  ࠭ -
  ६ 㦠:  ਬ,   ࠭, -
, 筮 "ᮧ५"  ⮣.  ⮬  ࠧ稥   ⥣
㧪  ᮢ, ᮣ᭮ ன   㦠  ࠭ -
 ,   ⥬ ⮤ ९      ன⢮  㧪
祭  ⮬  ⮤,  ᠭ  ⥬  饭 ᮢ 
ࠧ 9.1.2. ᫨  ன⢥ 㧪 筮 뢭  -
࠭⢠,  㦠 ࠭  ⤥쭮 (  ࠭  -
),    筮 ⮣ 室 襢.  ⥬  饭 -
 ࠣ  ன⢥ 㧪 , 祬    ⥬    饭
ᮢ,  ᪮    㦠   ࠭,  㦠  
 ࠭  ⤥쭮.
      ९뢠 ࠭  ன⢮ 㧪,   뢠
  㯭  ᮮ⢥饩  ⠡ ࠭  㬥蠥 -
 稪 뫮  ᮮ⢥饩  ⠡ pfdata.  ᫨  祭
稪 ⠭ ࠢ 0,  ⠡ pfdata 頥   ᯨ-
  ᢮  ࠭     ᫥饣 ७祭. ᫨
祭 稪 ⫨筮  0,  砥,  ࠭ ( १ -
 㭪樨 fork) ᯮ ᮢ⭮ ᪮쪨 ᠬ,  -
  ࠢ 㦠 . ,  뤥 ࠭⢮  ன⢥
㧪, ࠭    ਯ ᪮      㢥稢
祭 稪 뫮  ࠭  ⠡ ᯮ짮  -
.  ᫨      ६,  ࠭ 室  ᯨ᪥ ᢮ ࠭,
 㦨  ⢨, 稢 ᮮ⢥ 訡,   

                                    276

⠭    ,    ன 㧪. , -
  ࠢ 㤥  㦥, ᫨    ᯨ᮪  "ᡮ-
騪" ࠭.
    ।,   ਬ,  "ᡮ騪" ࠭ 㦠 30, 40, 50  20
࠭  ᮢ A, B, C  D, ᮮ⢥⢥,         
㧪    ᪮  ன⢮ ⪠稢 64 ࠭.  㭪 9.20
 ᫥⥫쭮   ⮬  権 㧪  -
,  "ᡮ騪" ࠭ ⢫ ᬮ ࠭ ᮢ   -
।: A, B, C, D. "騪" 뤥  ன⢥ 㧪   64
࠭  㦠 30 ࠭  A  34 ࠭  B. ⥬ 
뤥      ᫥  64 ࠭  㦠 ⠢訥 6 ࠭
 B, 50 ࠭  C  8 ࠭    D.  뤥  
ࠧ饭  ࠭      樨 ⪨  㧪   
ᬥ묨. "騪" ࠭ ⠢訥 12 ࠭   D    ᯨ᪥
㦠 ࠭,   㦠    ,  ᯨ᮪  㤥 -
    .    ⮫쪮  ᮢ  ॡ  窥
࠭  ன⢠ 㧪  ᫨ ࠭   㦭 ᯮ騬
 ᠬ ( 訫),   㧪 ᢮ .
    ⮡  ⮣, 뤥   ⪠窨 ࠭     
䠧.  ࢮ 䠧 "ᡮ騪" ࠭  ࠭, 室騥  -
,    頥    ᯨ᮪ 㦠 ࠭.  ன 䠧 
 ࠭  ன⢮ 㧪 (᫨    ),  -
뢠        ⨬  ᮮ⢥饩  ⠡ ࠭,
㬥蠥 祭 稪 뫮  ᮮ⢥饩  ⠡ pfdata

          ࠭ 㦠 㯯  64 ࠭
+--------------------+ +-------------------+ +-------------------+
| A  30 - | | B  6 - | | D 12 - |
|                    | |                   | |         -         |
| B  34 -| | C  50 -| |         -         |
+--------------------+ |                   | |         -         |
 -                   - | D  8 - | +-------------------+
  -                   -+-------------------+
   -                   -  -                 -
    -                   -   -                 -
     -                   -    -                 -
      -                   -     -                 -
       -                   -      -                 -
+-------+-------------------+-------+-----------------+----------+
|       |    A 30    B 34   |       |  B 6  C 50  D 8 |          |
+-------+-------------------+-------+-----------------+----------+
                       ன⢮ 㧪

    㭮 9.20. 뤥 ࠭⢠  ன⢥ 㧪 
                  ⥬  饭 ࠭

 ᫨  ⠭ ࠢ 0, 頥     ᯨ᪠ ᢮
࠭. ন 䨧᪮ ࠭         ,
 ࠭  㤥 ७祭 㣮 .


        9.2.3 ⪠  饭  ࠭栬

      ⥬   ⨯ ⪠  饭  ࠭: ⪠
- ⢨ (㯭)   ⪠ ⥬  .  ᪮
ணࠬ  ࠡ⪨ 뢠  ⪠  ਮ⠭ ᢮ 믮-
  ६ 뢠 ࠭  ᪠  ,  ணࠬ  
᪫祭  饣 ࠢ, ⢥ত饣  ਮ⠭ -
稪  뢠.   , ᪮ ணࠬ ࠡ⪨ 뢠

                                    277

 ⪠ ਮ⠭   ⥪  ,  த襣  ⠫
訡  , ⪠ ⭮  ⥪饬 ; ᫥⥫쭮, 
ਮ⠭  ந ࠧ.

        9.2.3.1 ࠡ⪠ 뢠  ⪠ - 㯭 

    ᫨  ⠥   ࠭,  㯭  ன
 ⠭,  砥 ⪠ - ⢨ (㯭)    
  ᪠ ணࠬ ࠡ⪨ 뢠  ⪠  ⨯ (-
 9.21).  㯭  ⠭      ࠭,  
ᯮ   । 㠫쭮 ᭮ ࠭⢠ , 
 ,  室  ⠢ ⮣ ࠭⢠,     騩
 䨧᪮   . ⠫쭠 訡  ந諠  -
 饭   㠫쭮  ࠭, ⮬   -
    ᮮ⢥ ⮩ ࠭   ⠡ ࠭  ਯ
᪮ . ⮡ ।  ஢,   -
, ᫨ "ᡮ騪" ⠥ 㧨 ࠭  ,   䨪-
     ᮮ⢥饩  ⠡ ࠭. ᫨  -
ਯ ᪮   ଠ  ࠭,
ᤥ  뫪   ࠭  ⨬   뫠 -
-⥫ ᨣ  "襭 ᥣ樨" (. 㭮 7.25).  -
冷 ⢨ ᮢ  ⥬ 浪, ண ਤন , 
 ⨫  ୮ , ᫨  ਭ    -
⥫⢮,   㧭  訡 , ⠪     "㯭"
࠭    १묨    . ᫨ 뫪  ࠭ ᤥ
ࠢ쭮,  뤥 䨧 ࠭    뢠    -
ন 㠫쭮 ࠭  ன⢠ 㧪   ᯮ塞 䠩-
.
    ࠭, 맢 ⪠, 室     ﭨ:
 1.  ன⢥ 㧪  .
 2.  ᯨ᪥ ᢮ ࠭  .
 3.  ᯮ塞 䠩.
 4.  ⪮ "塞  饭".
 5.  ⪮ "塞  饭".
    ᬮਬ  砩  ஡.
    ᫨  ࠭  室  ன⢥ 㧪,   (砩 1),
 砥,   - ᯮ  ,  뫠 㦥 -
㤠 "ᡮ騪" ࠭. ⨢  ਯ  ᪮  ,  
㧭    ன⢠ 㧪  ,  ᯮ ࠭,
 ஢,  ⠫  ࠭  .  ४  ⠡-
 ࠭ ⠪, ⮡  㪠뢠  ࠭,  । -
   , 砥 ᮮ⢥  ⠡ pfdata  -।
( ᫥ ࠡ ⪠)  뢠  ࠭    ன⢠
㧪.  ⨢訩 訡  ਮ⠭   -
 -뢮;         ,  訥
㧪 ᮤন ࠭.
    ⨬   㭪 9.22   ⢥ ਬ ᬮਬ  ⠡
࠭, 易  㠫 ᮬ 66. ᫨  饭   ࠭
 砥 ⪠ - 㯭 , ணࠬ ࠡ⪨ ⪠-
  頥  ਯ ᪮   㦨 ,  ࠭
室  ன⢥ 㧪    ஬ 847  (᫨  ।,
    ⥬ ⮫쪮  ன⢮ 㧪): ᫥⥫쭮, 㠫
 㪠 ୮. ⥬ ணࠬ ࠡ⪨ ⪠ 頥   ,  
  室  ଠ樨  ᪮   ஬ 847.  ࠧ, 
㠫쭮 ࠭     ணࠬ ࠡ⪨ ⪠ -
 㧨   ன⢠ 㧪.  ⢮  䨧  ࠭  
஬  1776 (㭮 9.23), 뢠    ன⢠ 㧪 ᮤন-
 㠫쭮 ࠭  ७ࠨ  ⠡ ࠭  ࠭-
  ஬ 1776.  襭  ४ ਯ ᪮  -

                                    278



    +------------------------------------------------------------+
    |  vfault     /* ࠡ⪠ ⪠ - ⢨   |
    |                        (㯭)  */           |
    | 室 ଠ:  ,  ஬ 祭 ⪠      |
    | 室 ଠ:                            |
    | {                                                          |
    |     ,   ⠡ ࠭, ਯ -|
    |      , 易  ᮬ,  ஬ 祭 |
    |     ⪠, ஢ ;                          |
    |    ᫨ (  ਭ 㠫쭮 ᭮ -|
    |     ࠭ )                                      |
    |    {                                                       |
    |       ᫠ ᨣ (SIGSEGV: 襭 ᥣ樨) - |
    |        ;                                              |
    |       ३  out;                                      |
    |    }                                                       |
    |    ᫨ ( 㪠 ୮)   /* ,  -|
    |                                       ﭨ - |
    |                                     ⠭ */            |
    |       ३  out;                                      |
    |    ᫨ (࠭   )                          |
    |    {                                                       |
    |        ࠭  ;                             |
    |       ࠢ   ⠡ ࠭;                  |
    |       믮  (ᮤন ࠭  ⠭ -|
    |        )     /* 㣮  稫 ⠪  ⪠,  |
    |                  *  ࠭ */                            |
    |           ਮ⠭;                                 |
    |    }                                                       |
    |     ⨢ 砥     /* ࠭    */|
    |    {                                                       |
    |          ࠭;                    |
    |                                                            |
    |         ࠭  , ⪮४஢ - |
    |          ⠡ pfdata;                              |
    |       ᫨ (࠭ ࠭  㦠     |
    |         "塞  饭")                 |
    |            ᮤন ࠭;                    |
    |        ⨢ 砥                                   |
    |       {                                                    |
    |            㠫 ࠭  ன⢠ -|
    |               ᯮ塞 䠩;                   |
    |           ਮ⠭ ( 襭 -뢮);    |
    |       }                                                    |
    |         (騥 㧪 ᮤন |
    |        ࠭);                                          |
    |    }                                                       |
    |    ⠭  㯭 ࠭;                    |
    |      䨪樨  "" ࠭;          |
    |     ਮ ;                         |
    |  out:  ஢  ;                          |
    | }                                                          |
    +------------------------------------------------------------+

    㭮 9.21.  ࠡ⪨ ⪠ - ⢨ (-
                  㯭) 


                                    279

,    㪠    ⮬,  ࠭ 㦥,  ⠪  ⠡
pfdata, ⬥,   ன⢥ 㧪    ஬ 847 ᮤন
㡫 㠫쭮 ࠭.
     ࠡ⪥ ⪠ - 㯭    ᥣ ਡ-
  믮 樨 -뢮,     ਯ  ᪮
  ,   ࠭ 㦥 ( 砥 2).   ⠪, 
 ᫥ 㧪 ᮤন 䨧᪮ ࠭ ⠪     ९᢮
   -    १ ⪠ 㧨 ᮤন -
㠫쭮 ࠭   䨧 ࠭.   砥 ணࠬ -
ࠡ⪨  ⪠ 㦨 ࠭  ,  ⢥  ᯮ -
   ਯ ᪮ .  ७ࠨ ᮮ⢥
  ⠡ ࠭  ⮫쪮   ࠭, 㢥稢  -
祭  稪 뫮  ࠭   砥 室 㡨ࠥ ࠭
 ᯨ᪠ ᢮ ࠭. ।,  ਬ,   -


                        ਯ
          ⠡ ࠭   ᪮        ࠭ 

           -
           ᪠                                     ᪮-
㠫-  -  -    -              -     -
      ﭨ      ﭨ                 稪
          +-----+--------+++-------+---------+  +----+------+----+
    0     |     |        |||       |         |  |    |      |    |
          +-----+--------+++-------+---------+  |    |      |    |
   1     | 1648| -  ||| 䠩|    3    |  |    |      |    |
          |     | 㯭 |||       |         |  |    |      |    |
          +-----+--------+++-------+---------+  |    |      |    |
   2     |     |        |||       |         |  |    |      |    |
          +-----+--------+++-------+---------+  |    |      |    |
   3     |  | -  ||||    5    |  |    |      |    |
          |     | 㯭 |||   |         |  |    |      |    |
          |     |        ||| -|         |  |    |      |    |
          |     |        |||饭|         |  |    |      |    |
          +-----+--------+++-------+---------+  +----+------+----+
   4     |     |        |||       |         |  |1036|  387 |  0 |
          +-----+--------+++-------+---------+  +----+------+----+
    -     |     |        |||       |         |  |  - |      |    |
    -     |     |        |||       |         |  |  - |      |    |
    -     |     |        |||       |         |  +----+------+----+
    -     |     |        |||       |         |  |1648| 1618 |  1 |
          +-----+--------+++-------+---------+  +----+------+----+
  64     | 1917| -  ||| -|  1206   |  |  - |      |    |
          |     | 㯭 |||     |         |  |  - |      |    |
          +-----+--------+++-------+---------+  |  - |      |    |
  65     |  | -  |||-|         |  |  - |      |    |
          |     | 㯭 |||   |         |  |  - |      |    |
          |     |        ||| -|         |  |  - |      |    |
          |     |        |||饭|         |  |  - |      |    |
          +-----+--------+++-------+---------+  +----+------+----+
  66     | 1036| -  ||| -|   847   |  |1861| 1206 |  0 |
          |     | 㯭 |||     |         |  +----+------+----+
          +-----+--------+++-------+---------+  |    |      |    |
  67     |     |        |||       |         |  |    |      |    |
          +-----+--------+++-------+---------+  +----+------+----+

    㭮 9.22.   ⪠ - 㯭 


                                    280

稫 ⪠  饭  㠫쭮  64 (㭮 9.22). ᬠ-
ਢ ,  ⠭,  ࠭   ஬ 1861  易  
᪮    1206.  ७ࠨ  ⠡ ࠭  -
 ᮬ 64  ࠭  ஬ 1861, ⠭  㯭
 । ࠢ ணࠬ ࠡ⪨ ⪠.  ࠧ,   -
  뢠   ⠡ ࠭  ⠡ pfdata, 祬 
     ⠡.
      , ணࠬ ࠡ⪨ ⪠  㦭 뢠 ࠭  -
, ᫨ -   㦥 稫 ⪠  ⮩  ᠬ ࠭,
    㧨 . ணࠬ 室    ⠡


                        ਯ
          ⠡ ࠭   ᪮        ࠭ 

           -
           ᪠                                     ᪮-
㠫-  -  -    -              -     -
      ﭨ      ﭨ                 稪
          +-----+--------+++-------+---------+  +----+------+----+
  66     | 1776| -||| -|   847   |  |1776|  847 |  1 |
          |     |      |||     |         |  |    |      |    |
          +-----+--------+++-------+---------+  +----+------+----+

        㭮 9.23.  㧪 ࠭  


                 A                       B
    +------------------------------------------------------------
    |  ⪠  饭  -  -              -
    |                           -              -
    |  㠫  ࠭   -              -
    |             ७             -              -
    |   ਮ⠭  襭    -              -
    |      뢠 ࠭      -              -
    |               -               -  ⪠  饭  -
    |               -               -             
    |               -               -  㠫  ࠭
    |               -               -             ७
    |               -               -   㧪 ࠭  
    |               -               -    ਮ⠭  砭
    |               -               -           㧪
    |               -               -              -
    |    室  ਮ⠭ --    -              -
    |       ࠭         -              -
    |    ࠭ 砥     -              -
    |           㯭           -              -
    |  室  ਮ⠭ 㣨  -              -
    |           ᮢ           -              -
    |                               -      室  ਮ⠭
    |     믮   -              -
    |               -               -              -
    |               -               -     믮
    |               -               -              -
    |               -               -              -
    | ६                         -
    v

            㭮 9.24.  ⪠   ࠭

                                    281


࠭,   㦥 ࠭ ஢.  ,  㤥 -
祭 横 ࠡ⪨ ।饣 ⪠, ᫥ 祣 㦨,  -
  ⠫ 㯭,  蠥 ᢮ ࠡ.  楤 ᫥
 㭪 9.24.

    ᫨  ࠭ 室   ன⢥ 㧪,   ᯮ塞
䠩 (砩 3),  㦠 ࠭  䠩. ணࠬ ࠡ⪨  -
  頥    ਯ ᪮ ,  ᮮ⢥騩 
᪮   䠩, ᮤঠ饣 ࠭,   ,  樨-
      ⠡  ⥩.   ᪮  ᯮ
ணࠬ  ⢥ ᬥ饭  ᯨ᪠ ஢ ᪮ , -
    ६ 믮 㭪樨 exec.       
᪥  ணࠬ 뢠 ࠭  . , ਬ, ਯ -
 , 易  㠫 ᮬ 1, 뢠,  ᮤন
࠭ ᯮ  ᯮ塞 䠩,  ᪮   -
஬ 3 (. 㭮 9.22).
    ᫨  稫 ⪠  饭    ࠭,  饩  
"塞    饭"  "塞  饭" (砨 4  5),
 뤥 ᢮ ࠭    ४ ᮮ⢥ -
 ⠡ ࠭. ᫨ ࠭ "塞  饭",    ⠪
頥  ᮤন.  襭 ࠡ⪨ 䫠 "塞  -
"   "塞  饭" 뢠.  ࠭ 室 
, 㯭 ᠬ   ᮤন      ன-
 㧪,   䠩 ⥬.  ந室, ᫨   頥
  ࠭栬  㠫묨 ᠬ 3  65 (. 㭮 9.22):   
ᮢ  頫  ⨬ ࠭栬   ,  䠩   饭  
믮 㭪樥 exec.
      襭  ᢮ ࠡ ணࠬ ࠡ⪨ ⪠ - ⢨
(㯭)  ⠭  㯭 ࠭    뢠
  䨪樨.  ਮ   ⮬ 뢠,   ६
믮 ணࠬ   ਮ⠭ ᢮ 믮  ஢ -
,  ⥬ ᠬ  饭  ०  㦥 २-
⢮ । 㣨 ᠬ. , ,   ० ,  ண-
ࠬ ஢,  뫮   ६ ࠡ⪨ ⪠ 㯫 -
ᨣ.


        9.2.3.2 ࠡ⪠ 뢠  ⪠ ⥬ 

      ⨯  ⪠, 饣  饭  ࠭, 
⪠ ⥬ ,  砥,   ⨫  饩
࠭ ,    ࠧ鸞, 뢠騬 ࠢ 㯠   ࠭,
        ஭ ⥪饣   ࠧ襭. (ᯮ ਬ,
뢠騩   ந     ;  .
㭮  7.22).  ⪠    ⨯   ⠪ ⮣,  
।ਭ   -  ࠭,  ன  ६  -
  ⥬  㭪樨 fork  ⠭  ஢  .
  ࠧ  ᮡ 樨,  ⪠ ந襫  稭
⮣,  ࠭ ॡ ஢  ,     -
⢨⥫쭮 - ⨬.
    ணࠬ ࠡ⪨ ⪠ ⥬  ⮬᪨ 砥  -
 ,  ஬ ந襫 ⪠,    ᮮ⢥饩 -
    ⠡ ࠭ (㭮 9.25).   , ⮡
"ᡮ騪" ࠭   㧨 ࠭,  易    ⪠  
㤥 ࠡ⠭. ᫨ ணࠬ ࠡ⪨ ⪠ ⠭,  稭
⪠  㦨 ⠭  ஢  ,  ᫨ ࠭ -
 ࠧ ᪮쪮 ᮢ,  뤥    ࠭  
   ᮤন ன ࠭; 뫪 㣨 ᮢ  

                                    282

࠭ ࠭ ᢮ 祭. ᫥ ஢  ᥭ   ⠡-
  ࠭   ࠭  㬥蠥 祭 稪 뫮
  ⠡ pfdata, ᮮ⢥饩 ன ࠭.  楤  -
    㭪  9.26,     ᮢ⭮ ᯮ 䨧
࠭  ஬ 828.  B 뢠 ࠭,  ᪮  -
஢   ⠭, 砥 ⪠ ⥬ . ணࠬ  -
ࠡ⪨  ⪠  뤥  ࠭  ஬ 786,    ᮤন
࠭ 828, 㬥蠥 祭 稪 뫮  ᪮஢ ࠭ 
७ࠨ ᮮ⢥  ⠡ ࠭  ࠭  ஬
786.
    ᫨  ஢    ⠭,    ࠭  ᯮ
⮫쪮  ᮬ,     ᯮ짮 䨧-
᪮ ࠭楩 ୮.  ⪫砥  ஢    ࠧ-
  ࠭     ᪥ (᫨ ⠪ ), ᪮-
  ᪫祭  ⮣,  ᪮   㣨 -
.  ⥬  㡨ࠥ  ⠡ pfdata  । ࠭,  -


    +------------------------------------------------------------+
    |  pfault    /* ࠡ⪠ ⪠ ⥬  */   |
    | 室 ଠ:  ,  ஬ 祭 ⪠      |
    | 室 ଠ:                            |
    | {                                                          |
    |     ,   ⠡ ࠭, ਯ -|
    |      , 易  ᮬ,  ஬ 祭 |
    |     ⪠, ஢ ;                          |
    |    ᫨ (࠭ 㯭  )                     |
    |        ३  out;                                     |
    |    ᫨ ( ஢    ⠭)         |
    |        ३  out;    /* ணࠬ 訡 - ᨣ */|
    |    ᫨ (稪 뫮  ࠭  > 1)            |
    |    {                                                       |
    |        뤥  䨧 ࠭;                 |
    |        ᪮஢   ᮤন ன ࠭;       |
    |        㬥 祭 稪 뫮   -  |
    |          ;                                       |
    |        ७ந  ⠡ ࠭   䨧- |
    |          ࠭;                                   |
    |    }                                                       |
    |     ⨢ 砥   /*  ࠭, ᪮   |
    |                          *    ᯮ */ |
    |    {                                                       |
    |        ᫨ ( ࠭   ன⢥ 㧪)|
    |             ᢮   ன⢥, ࠧࢠ |
    |               ࠭楩;                                 |
    |        ᫨ (࠭ 室  -। ࠭)     |
    |              ࠭  -।;                |
    |    }                                                       |
    |      ⠡ ࠭ ⠭  䨪樨,    |
    |       ஢  ;                   |
    |     ਮ ;                         |
    |    ஢,  㯠  ᨣ;                     |
    |  out:  ஢  ;                          |
    | }                                                          |
    +------------------------------------------------------------+

       㭮 9.25.  ࠡ⪨ ⪠ ⥬ 



                                    283

 㠫쭮 ࠭ ᯮ    ன⢥  㧪.  ஬
⮣,   㬥蠥 祭 稪 뫮  ࠭  ⠡ ᯮ-
  窨,  ᫨  祭 ⠭ ࠢ 0,  ᢮-
   ன⢥ (. ࠦ 9.11).
    ᫨    ⠡ ࠭ 㪠뢠  ,  ࠭ 㯭,
   ஢   ⠭, 㯠   ⪠ -
⥬ , ⨬,  ⥬  饭  ࠭ ᭠砫  ࠡ-
뢠 ⪠ - 㯭  (⭠ । ᬠਢ-
    ࠦ 9.17). ᬮ  , ணࠬ ࠡ⪨ ⪠ ⥬
  ࠢ 易 㡥  㯭 ࠭, ᪮  -
⠭ ஢   ணࠬ  ਮ⠭,    "ᡮ騪"
࠭  ⥬  ६  㧨 ࠭  . ᫨ ࠭ -
㯭 ( 㯭 襭), ணࠬ    ࠡ  
    ⪠ - 㯭 .  ࠡ⠥  -
,     ⪠ ⥬ .  祬 ⭮,  
⥫ ⪠ ⥬  㤥 ࠡ⠭  - ९-
   , ᪮ ன 쭮 ⥫ ਮ ६, ०
祬 ࠭ 筮 "ᮧ॥"  㧪  . ᠭ ᫥-
⥫쭮 ᮡ⨩   㭪 9.27.

     ⠡ ࠭ -  A
+-----------------------------------------------+
| ࠭ 828: 㯭,    +-+
+-----------------------------------------------+ |
                                                  |
     ⠡ ࠭ -  B            |  +-----------+
+-----------------------------------------------+ +->| ࠭|
| ࠭ 828: 㯭,    +--->|   828 |
+-----------------------------------------------+ +->| 稪   |
                                                  |  | 뫮  3 |
     ⠡ ࠭ -  C            |  +-----------+
+-----------------------------------------------+ |
| ࠭ 828: 㯭,    +-+
+-----------------------------------------------+

    () । ⥬,   B 稫 ⪠ ⥬ 


     ⠡ ࠭ -  A
+-----------------------------------------------+    +-----------+
| ࠭ 828: 㯭,    +-+  | ࠭|
+-----------------------------------------------+ |  |   828 |
                                                  +->| 稪   |
     ⠡ ࠭ -  B            +->| 뫮  2 |
+-----------------------------------------------+ |  +-----------+
| ࠭ 828: 㯭                        ++|
+-----------------------------------------------+||  +-----------+
                                                 +|->| ࠭|
     ⠡ ࠭ -  C            |  |   786 |
+-----------------------------------------------+ |  | 稪   |
| ࠭ 828: 㯭,    +-+  | 뫮  1 |
+-----------------------------------------------+    +-----------+

    () ᫥ ᪠ ணࠬ ࠡ⪨ ⪠ ⥬ 
          B

    㭮 9.26. ⪠ ⥬  - ⠭  -
                  ஢  


                                    284

    । 襭 ணࠬ ࠡ⪨ ⪠ ⥬  ⠭-
  䨪樨  ,  뢠  ஢  .  
뢠  ਮ     ஢,  㯠   ६ 
ࠡ ᨣ, ।祭 ,  筮  ,   -
  襭 ࠡ⪨ ⪠ - ⨬ .

       , 騩 ⪠ 
           饭  ࠭           "騪" ࠭
    +------------------------------------------------------------
    |               -                              -
    |               -                       
    |               -                              -
    |     ⪠ ⥬                      -
    |     ਮ⠭ -                      -
    |         ஢                        -
    |               -                              -
    |               -                   㧪 ࠭ - 
    |               -                     ⨬ 襭
    |               -                              -
    |               -                              -
    |               -                    뢮  ਮ⠭
    |               -                     , 騥
    |               -                         
    |               -                          ஢
    |      室  ਮ⠭                    -
    |               -                              -
    |               -                              -
    |      ஢ઠ  -                   -
    |          - 襭                      -
    |     室  ணࠬ -                 -
    |     ⪨ ⪠ ⥬ -                 -
    |                                          -
    |               -                              -
    |               -                              -
    |      ⪠ - -                   -
    |                                   -
    v
  ६

    㭮 9.27.  ⢨ ⪠ ⥬    ⪠
                   - 㯭 



        9.2.4 饭 ࠭   ᫮ 孨᪮ 

      ⢥ ⬮ 饭 ࠭   (-
饭) ⨣  ⮬ 砥, ᫨  㯮  䨪樨 ⠭-
  ⥬  ⥬  ⥬ 뢠 ⪠ ⥬  
⪥   ࠭,  ਧ "஢  ".   
,  㪠      ਬ  ⮣,  
ᯮ ⮫쪮  㯭   . ᫨  㯭,  -
 ⭮, 㡫 ணࠬ-⠭ ⮬, -
騬,  ⢨⥫쭮  ࠭ 㯭  ,    ⪫
⭮-⠭    ந஢  ⠭  ⠫  ⮢
ணࠬ ⥬. , ਬ,  設 VAX-11  㯮 
(.  [Levy 82]).   ⪫ ⭮-⠭  -
  ࠭   ࠡ  ᫥饬 . ᫨   -
   ࠭,  砥 ⪠, ᪮  㯭 襭, 

                                    285

  㯠 ணࠬ ࠡ⪨ ⪠, ᫥ ࠭.  ᪮
"ணࠬ"   㯭 ⠭,  ,  ࠭ ⢨-
⥫쭮 㯭  室  ;   ⠭  "ணࠬ"  
㯮    ""    㯭,    ।⮨ 㧭 
⮬,   ࠭ 뫠 ᤥ 뫪. ᫥騥 뫪  ࠭ 㦥
  ⪠,  ""  㯭 ⠭.    
㤥  ࠡ "ᡮ騪" ࠭,    ""  -
, 뢠 ⥬ ᠬ -


 -   ணࠬ-  ணࠬ-   -   ணࠬ-  ணࠬ-
                            
 -    -    㯮-    -    -    㯮-
                                  
+---------+----------+---------+  +---------+----------+---------+
|      |        |      |  |       |        |       |
+---------+----------+---------+  +---------+----------+---------+

    ()  ஢           () ᫥ ஢
            ࠭                          ࠭

    㭮 9.28.  ⠭ "⭮"  䨪-
                  樨 ணࠬ묨 ।⢠

   ᫥騥 饭  ࠭    ⥬    砫
横.  砩   㭪 9.28.


        9.3         

    ᬮ  ,   ⥬  饭 ࠭   饭
    ⫨砥  襩    ࠢ  ⥬ 窨
ᮢ,   権,    "ᡮ騪"  ࠭  
ணࠬ  ࠡ⪨ ⪠ - 㯭  稭  
 - 墠⪨ . ᫨ 㬬 ࠡ   ᮢ -
蠥 ꥬ 䨧᪮   設, ணࠬ ࠡ⪨ ⪠  筮
ਮ⠭, ᪮ 뤥 ᠬ ࠭   -
  .  "騪" ࠭  ᬮ 筮  ᢮-
   ,   ࠭ ਭ ࠡ祬 . ந-
⥫쭮 ⥬ , ᪮   ᫨誮  ६ 
孥 ஢,  㬭 ᪮ ࠨ .
      ᨨ V 㫨 ⬠ 窨 ᮢ   饭
࠭  ⠪,    ஡ ᮯ୨⢠   묨. 
   뤥  ࠭  ,      ࠡ
  窨  ॢ 짮⥫᪨   ﭨ, -
⭮ ﭨ "⮢  ,  १ࢨ஢".    ⮬
ﭨ ६  室 ᪮쪮 ᮢ.  -
  㦠     㣨 楫 ,  ꥬ 㯭  
⥬  ॢ  ⬥.   㦥  室-
  , 㦥    ﭨ "⮢  믮,
 १ࢨ஢".  㦠      筮
⬠ 窨,  ⥬ ࠡ⪨ ⪠  饭   ᮮ⢥-
騬  ࠭栬.  ᫥   窨  ᫮ -
  ⥬ 筮 ꥬ ᢮   ࠡ⠭  ⪠,
祭  㣨  짮⥫᪨  ᠬ. ਬ ⠪ ⮤
  ᭨   ⥬ ⪠  ࠭ ᮯ-
⢠:      ⮤, ᯮ㥬  樮 -
⥬ VAX/VMS ([Levy 82]).


                                    286

        9.4 

    ⠭  뫠 饭 ᬮ७ ⬮  窨  -
ᮢ    饭 ࠭, ᯮ㥬  ᨨ V ⥬ UNIX. 
窨 ᮢ ॠ ६饭 ᮢ  楫    ᭮
    ன⢮ 㧪.  㦠   , ᫨ 
ࠧ 頥  ᢮    ⥬  (  १  믮
㭪権  fork, exec  sbrk   १ ⢥ 㢥祭 ⥪),
  ⮬ 砥, ᫨ ॡ ᢮     㧪  .
㧪 ᮢ 믮 ᯥ樠  窨 ( 0), -
  ᪠ 直 ࠧ,   ன⢥ 㧪  ,
⮢  믮.  窨  ४頥  ᢮  ࠡ    
,    ன⢥ 㧪  ⠭   ⠪  
  ᭮   ⠭ ᢮  .    ᫥  砥
  窨 ⠥ 㧨 -  ᭮ ,   
易 室 ⠪ ᫥  ᮡ ॡ 쭮 -
⥫쭮 ॡ뢠 㦠 ᮢ   ( 楫 ।-
饭 宫⮩ ४窨);  ⮩ 稭  窨  ᥣ -
 ᯥ  ᢮ ࠡ.   窨  砥 -
 室   ந  ࢠ   ᥪ㭤 ணࠬ
ࠡ⪨ 뢠  ⠩.
     ⥬  饭 ࠭        ᯮ,
  ᫨    㠫쭮 ᭮ ࠭⢮ 㦥    -
; ⮬ 㠫 ࠧ   ॢ ꥬ  㯭
䨧᪮     ⥬.   뢠 ॡ  ᢮
࠭, "ᡮ騪" ࠭ ᬠਢ  ⨢  ࠭    
,      㧪   ,  筮 "ᮧ५" 
⮣,   筮 ⮣ ⪠稢   ன⢮ 㧪.    -
 頥  㠫쭮 ࠭,   騩  㦥
  ,    砥  ⪠  - 㯭 .  ᪠
ணࠬ ࠡ⪨ ⪠,  砥   䨧 -
      ᮤন 㠫쭮 ࠭.
     ந⥫쭮 ⥬  ᯮ짮 ⬠  -
  ࠭    ᪮쪨 ᯮᮡ. -, ᫨ 
뢠 㭪 fork,  ᯮ  ஢  , ⥬ ᠬ
 設⢥ 砥 ᭨ 室  䨧᪮ ஢ ࠭.
-,    ᮤন ࠭ ᯮ塞 䠩 אַ
 䠩 ⥬, ࠭ ॡ  맮 㭪樨 exec  -
⥫쭮 뢠 䠩  .  ᯮᮡ 襭  ந-
⥫쭮,  ᪮    ᪫祭  ⮣,   ࠭
⠪    ॡ ,  ࠭   宫  -
,        ⮬  砥, ᫨ "ᡮ騪" ࠭ 㦠 
࠭    ⮣,     ॡ.


        9.5 

  1. ᠩ 奬 ॠ樨 ⬠ mfree,  ᢮ -
     ࠭⢮   頥  ⠡ ᢮ ࠭⢠.
  2.  ࠧ 9.1.2 ⢥ত,  ⥬   ६頥  -
     ,  ⮡  㣨       ண    
     砭 樨.  ந諮 , ᫨  ⥬   ⮣ ?
  3. ।,   ᭮ ࠭⢥  ᯮ ⠡
     ᯮ㥬 ᮬ ᥣ⮢  ࠭.   ࠧ    
     㧨  ࠭⢮  ?
  4. ᫨ ⥪  室  ᭮ ࠭⢠ , 祬
          㦠 ᥡ ᠬ ?      
     ⥬ ணࠬ 㧪 ᮢ,    ᪠ ?
 *5. ।,   ⠥ 㧨 , ⮡ ᢮ -

                                    287

         㣨 ᮢ, 㦠    ன⢠  㧪.
     ᫨      ன 㧪     ,
      窨 ਮ⠭ ᢮ ࠡ   ,   
     .   ,  ன  , 室騥 
     , ਮ⠭,   ⮢  믮    室
      ன⢥ 㧪 ?  㦭 ।ਭ   ⮣, ⮡ -
     ࠢ   ?
  6.  ᬮ   ࠧ ਬ, ਢ  㭪 9.10,  ᫮,
          ⮫쪮  1 .
  7. ⨬  ਬ, ਢ  㭪 9.11.  ⠢  
     ਬ,    ஬  ﭭ ॡ  ࠡ 業ࠫ
     .   - ᯮᮡ    殮-
      ?

               +----------------------------------+
               | main()                           |
               | {                                |
               |     f();                         |
               |     g();                         |
               | }                                |
               |                                  |
               | f()                              |
               | {                                |
               |     vfork();                     |
               | }                                |
               |                                  |
               | g()                              |
               | {                                |
               |     int blast[100],i;            |
               |     for (i = 0; i < 100; i++)    |
               |          blast[i] = i;           |
               | }                                |
               +----------------------------------+

                           㭮 9.29

  8.  ந  १ 믮 ணࠬ, ਢ  -
      9.29,  ⥬ BSD 4.2 ?  㤥 ⥪ -த⥫ ?
  9.  祬 ᫥ 믮 㭪樨 fork -⮬ ।⥫쭥
     ᪠ । -த⥫, ᫨  ࠧ塞 ࠭ 
     ஢   ⠭ ?  ࠧ   ⠢
     ⮬   ?
*10.  ࠡ⪨ ⪠ - 㯭 ,   ⥪-
     , 㦠 ࠭ 窥.  䥪⨢    ,
     ᫨ ⮢  㧪  ࠭, 맢襩 ⪠,   -
     ᥤ   ࠭. ࠡ⠩ 室   ⮬ 㪠-
      樨.
 11.    ⬠  ࠡ "ᡮ騪" ࠭  ணࠬ ࠡ⪨ ⪠
     - 㯭  ।,   ࠧ  ࠭  ࠢ
     ࠧ ᪮ .  㦭    ⬠  ⮣,
     ⮡  ࠡ⠫    ,  㪠 ࠢ⢮  ᮡ-
      ?
*12.    뢠 㭪 fork (⢨), 祭 稪 -
        ࠧ塞 ࠭ (  ⠡  pfdata)  㢥稢.
     ।,    "ᡮ騪"  ࠭ 㦠 ࠧ塞 ࠭ 
     ன⢮ 㧪,    ᮢ (᪠, த⥫)  ᫥-
      砥 ⪠  饭  . ন 㠫쭮 ࠭
     ⥯  ᯮ    䨧᪮  ࠭. ᭨, 祬 -
     -⮬ ᥣ        ࠭,

                                    288

       ᫥  ⮣,   -த⥫ -   . 祬,
      -த⥫    ࠭,     
     ࢠ    ᪮  ?
 13.   ᫥ ।ਭ ணࠬ ࠡ⪨ ⪠  ⮬ 砥, ᫨
      ⥬ ௠ ࠭  ?
*14. ⠢  㧪 । ᯮ㥬  .  
       㦠     ⠪ 砥 ᫥  ?
 15. ਤ㬠 , ᫥騩 뤥 ࠭⢠  ன⢥
     㧪, ᯮ   , ᠭ    饩  ,
     ⮢ ᨢ. ࠢ 䥪⨢  ⮤.
 16.  ।,    設  ⭮-⠭  -
     ,    , ⠭騩 ࠢ 㯠  ⥭, -
       "ᯮ" ᮤন ࠭.  ࠡ  
     ணࠬ-⠭  㯭.
 17.  設 VAX-11 । ஢મ    ⪠  -  㯭
       믮 ⭠ ஢ઠ  ⪠ ⥬ .
       ࠦ  ⬠ ࠡ⪨ ⪠ ?
 18. ⥬ 㭪 plock  㯥௮짮⥫    ⠭-
        ᭨ ஢ ( )      -
     饣 .  窨  "ᡮ騪" ࠭    -
       ஢  ࠭   . ᠬ, ᯮ騬 
     ⥬ 㭪,  室  㧪  ࠭,  ⮬
       ࠭஢   ⢥  ࠢ  㣨 ᠬ.
        ⠪  ஢      ⥪
     ?  ந  ⮬ 砥, ᫨ 㬬 ꥬ ஢ -
     ⥩ ॢ ࠧ 㯭   設 ?
 19.    ணࠬ, ਢ  㭪 9.30 ? 㬠  -
     ୠ⨢ ⥣ 饭 ࠭,  ᮮ⢥⢨    ன  
     ࠡ祥  ⢮      砥 ᨬ쭮-
     ᫮ ࠭.
    +------------------------------------------------------------+
    | struct fourmeg                                             |
    | {                                                          |
    |     int page[512];       /*  int  4  */  |
    | } fourmeg[2048];                                           |
    |                                                            |
    | main()                                                     |
    | {   for (;;)                                               |
    |     {                                                      |
    |         switch(fork())                                     |
    |         {                                                  |
    |         case -1:  /* -த⥫   믮   |
    |                    * fork --- ᫨誮  ⮬ */    |
    |         case 0:   /* ⮬ */                            |
    |              func();                                       |
    |         default:                                           |
    |              continue;                                     |
    | }   }   }                                                  |
    |                                                            |
    | func()                                                     |
    | {   int i;                                                 |
    |                                                            |
    |     for (;;)                                               |
    |     {                                                      |
    |         printf(" %d  横\n",getpid());    |
    |         for (i = 0; i < 2048; i++)                         |
    |              fourmeg[i]290ge[0] = i;                       |
    |   }   }                                                    |
    +------------------------------------------------------------+

                                    289
