<title>Unix overview CHAP06</title>



     6

         




      2 뫨 㫨஢ ࠪ⨪ ᮢ.  饩 -
   ଠ쭮 ஢ । ⨥ "⥪ "  -
뢠,   ࠧ     ।  -
⮭宦.  ࠧ 6.1 ᠭ  ﭨ ᮢ    ⥬
UNIX    ᫥⥫쭮   室  ﭨ  ﭨ. 
 室 ⠡ ᮢ,   ன 뢠  ﭨ
  ⨢ ᮢ  ⥬.  ࠭⢥  ࠭ -
⥫쭠 ଠ, ᯮ㥬  ࠢ ⥪ . -
    ⠡ ᮢ  ࠭⢮  ⠢  ᮢ㯭
⥪ . ᯥ⮬ ⥪  ,      ⫨騬
  ⥪  ⥪ 㣮 ,  ᮬ  ᮤ-
 ᭮ ࠭⢠ .  ࠧ  6.2  뢠  ਭ樯
ࠢ  ।   ᮢ  ,  ⠪ -
 樮 ⥬  묨 ।⢠  ࠭樨 㠫
ᮢ  䨧᪨.  6.3 饭 ᬮ७  ⠢  ⮢
⥪  ,   ⠪ ᠭ ⬮ ࠢ ⥪⮬ -
.  6.4 ,    ࠧ  ⢫  ࠭
⥪    ஬  砥 뢠, 맮 ⥬ 㭪樨 
४祭 ⥪,  ⠪  ࠧ  믮 -
⠭ .  ࠧ 6.5 ਢ ࠧ  ,  -
㥬   ⥬ 㭪,  ࠡ   ࠭-
        ᬮ७  ᫥饩 . , , 
ࠧ 6.6 ᬠਢ  ਮ⠭   믮
ᮢ.


        6.1      

     㦥 ⬥砫   2, ६       ⥮᪨
ࠧ   ᪮쪮 ﭨ, 뢠 .   ﭨ
 ᮤন  ᫥饬 筥:
 1.  믮  ० .
 2.  믮  ० .
 3.   믮,  ⮢    ࠢ .
 4.  ਮ⠭  室  ⨢ .
 5.  ⮢  ,  ணࠬ 窨 (㫥 )  
      㧨   ⨢ , ० 祬  㤥 饭
     ࠢ .  ﭨ 㤥 ।⮬ 㦤   9
     ᬮ७ ⥬ 窨.
 6.  ਮ⠭  ணࠬ 窨 㧨     -
    , ⮡  ⨢  ᢮   㣨 ᮢ.
 7.   饭  ਢ஢ ० (० )  ਢ-
    ஢ (० ),  १ࢨ   ४砥 ⥪
     㣮 .  ⫨稨 ⮣ ﭨ  ﭨ 3 (⮢
     )   .
 8.   ᮧ  室  室 ﭨ;  -
    ,   ⮢  믮,    ਮ⠭.    ﭨ
     砫 ﭨ  ᮢ, ஬ 㫥.
 9.   뢠 ⥬ 㭪 exit  ४頥 ⢮. -
    , ᫥  ⠫ , ᮤঠ    室,    
    ஭᪠ ⨪, ᮡࠥ த⥫᪨ ᮬ.  -

                                    137

    ﭨ   ᫥ ﭨ . 㭮 6.1 ।⠢
    ᮡ  ࠬ 室
  ﭨ  ﭨ. ᬮਬ    室 -
筮  . 樨,     㦤,  ᪮쪮
⢥     ᥣ    ,   樨 


                                     믮 
                                     ० 
                                       +-------+
                                       |   1   |
                           맮 㭪- |       |
                           樨, - ++------+
                                   | ^   ^
                - +-----+  +-------+ |   |
                , |     |  | +-------+   +---+  
                |     |  | |        | ० 
                 -|     |  | |               |
                  뢠-|     v  v | 믮-    |
      +-------+     |   +------++  ०-   ++------+
      |       |        +-->|       |       |       |
      |   9   |<-----------+   2   +------------>|   7   |
      |       |   室    |       | ࢨ-|       |
      +-------+            ++------+           +-------+
  ४饭               |     ^                  - १-
  ⢮             |     |                  - ஢
            +---------------+     +------+    --------
            |    ਮ⠭        |    -
            v                            |    -
  -+-------+                        +-+-----+ ⮢ 
  - |       |           |       | 
  - |   4   +----------------------->|   3   |  
  -|       |                        |       |
   +---+---+                        ++------+
   -   |                             |  ^  ^
      |                             |  |  |  筮
          |                             |  |  |  
          |                             |  |  +---+
          | -                  -    |  |      |
          | 㧪               㧪 |  |      |  
          |                             |  |-  ++------+
          |                             |  |-|       | fork
          |                             |  |   |   8   |<-----
          |                             |  |     ++------+
          |                             |  |      | -
          |                             |  |  +---+ 筮
          |                             |  |  |     
          |                             |  |  |  (⮫쪮 ⥬
          |                             |  |  |   窨)
          v                             v  |  v
      +-------+                        +---+---+
      |       |           |       |
      |   6   +----------------------->|   5   |
      +-------+                        +-------+
      ਮ⠭,                   ⮢  ,
      㦥                         㦥

    㭮 6.1. ࠬ 室   ﭨ  -
                 ﭨ

                                    138


ਬ  樨 ࠧ 室. 砫  ﭨ  
  ᮧ  த⥫᪨ ᮬ   ⥬ 㭪-
樨 fork;  ⮣ ﭨ  㥬 室  ﭨ  ⮢-
     (3  5).   ।,   襫 
ﭨ "⮢    " (3). ஢騪 ᮢ    -
筮    롥   믮   ३  ﭨ
"믮  ० ",  ࠥ   ஫, ⢥  㭪-
樥 fork.
    ᫥ ᥣ ⮣   ३  ﭨ "믮  ०
".  宦 । ਮ ६  ந -
 ࠡ   ⠩   ᭮ ३  ﭨ "-
  ० ".  ⮫쪮 ணࠬ ࠡ⪨ 뢠  
ࠡ,    ⮢   㣮 , -
   ३  ﭨ "१ࢨ஢", 㯨 ண -
஬  .  ﭨ "१ࢨ஢"  ⢨⥫쭮  ⫨砥
 ﭨ "⮢    " (㭪ୠ     㭪,
ᮥ   ᮡ  ﭨ, ન  ⭮), 
 뤥  ⤥ ﭨ, ⮡ ભ,  , 믮-
騩  ० ,   १ࢨ஢ ⮫쪮  ⮬ 砥,  ᫨
 ᮡࠥ   ० . ⥫쭮,     -
室  稢    ﭨ "१ࢨ஢".  
᫮  ஢騪  롥   ᯮ   ᭮ ୥ 
ﭨ "믮  ० ".
      믮 맮 ⥬ 㭪樨,   ﭨ "믮-
    ०  "  室  ﭨ "믮  ० ".
।,  ⥬ 㭪樨 ॡ -뢮   ᪠    ⮬
  㦤  襭 -뢮.  室  -
 "ਮ⠭  ",  ஬ 㤥 室   ,    
  饭    砭 -뢮.  -뢮 ,
ந ⭮ 뢠 ࠡ 業ࠫ쭮    ணࠬ
ࠡ⪨  뢠    믮 ,  १ 祣 
३  ﭨ "⮢    ".
    ।,  ⥬ 믮 ⢮ ᮢ,  -
      ⨢ ,  ணࠬ  窨
(㫥 ) 㦠  , ⮡ ᢮   㣮
,  室饣    ﭨ "⮢  ,  㦥". 
, 㦥  ⨢ , 室        ﭨ.
 ணࠬ 窨 롨ࠥ  室騩   㧪 
⨢ ,   室  ﭨ "⮢  
 ". ஢騪 롨ࠥ   ᯮ   室  -
ﭨ  "믮   ० ".   蠥,  ᯮ
⥬ 㭪 exit, ᫥⥫쭮 室  ﭨ  "믮  
० " , ,  ﭨ "४饭 ⢮".
        ࠢ  묨    室    ஢ .
-,    ᮧ 㣮 .   ,   
  ﭨ  ३ ᫥ ᮧ (..  ﭨ "⮢  -
, 室  "   ﭨ "⮢  믮,   -
")   㦥  .   ﭨ  ஫. --
,     ࠧ ⥬ 㭪, ⮡  ३
  ﭨ  "믮  ० "  ﭨ "믮  ०
",  ⠪ ३  ०   ᢮ ᮡ⢥ .   ,
 饭  ०    㦥  ;    १
- ᮡ⨩       ⮣ ०    -
३  ﭨ "४饭 ⢮" (. ࠧ 7.2,  -
  ᨣ). ,      㭪樨 exit 
᢮ ᮡ⢥ ,   㪠뢠 ࠭, 譨 ᮡ  -
ॡ  襭      饭  㭪樨 exit.  -


                                    139

⠫ 室 ⭮  ⪮ ९  ,  ஢-
    ,   १⮬ । ᮡ⨩, ॠ   
ᮮ⢥⢨  ࠢ, 㫨஢묨  ⮩  ᫥ . -
  ࠢ 㦥 㯮: ਬ, ,    㧨
㣮 , 믮騩  .
     ਭ騥    뢠 :   ⠡-
 ᮢ  ࠭⢮ .  ᮢ ᮤন , -
   ᥣ 㯭 ,  ࠭⢮  - ,  -
室       ⮫쪮  믮饣 . ⮬
 뤥   ࠭⢠  ⮫쪮  ᮧ  :
      室, ᫨   ⠡ ᮢ  ᮮ⢥
 .
      ⠡ ᮢ ⮨  ᫥ :
  *  ﭨ, ஥  ﭨ .
  * , ᯮ㥬 ஬  ࠧ饭      ࠭⢠  
    ᭮    譥 .  ᯮ ଠ   
    ४祭 ⥪  ,   室   ﭨ
    "⮢  믮, 室  "  ﭨ "믮  ०
    "   ﭨ "१ࢨ஢"  ﭨ "믮  ०
    ".  ஬  ⮣,  ᯮ  ଠ  ४窨 -
    ᮢ    ⨢  (  ﭨﬨ "  "  
     ﭨﬨ "㦥").   ⠡ ᮢ ᮤন ⠪
    , 뢠饥 ࠧ   饥  ஢ 뤥-
     ࠭⢠  .
  *  ᪮쪮  짮⥫᪨ 䨪஢ (UID), ⠭ ࠧ-
     ਢ .  UID, ਬ,  뢠  ᮢ㯭
    ᮢ,   ᨣ (. ᫥ ).
  * 䨪  (PID), 㪠뢠騥   ᠬ.
    祭    PID   室   ﭨ "ᮧ"
     ६ 믮 㭪樨 fork.
  * ਯ ᮡ (⠭ ⮣,   ਮ⠭).
       㤥 ᬮ७ ᯮ짮 ਯ ᮡ  -
    ⬠ 㭪権 sleep  wakeup.
  * ࠬ ஢, 騥  ⠭ 冷  室
    ᮢ   ﭨ "믮  ० "  ﭨ "믮-
      ० ".
  *  ᨣ,  ஬  ᨣ, ᫠  ,  
      ࠡ⠭ (ࠧ 7.2).
  *  ⠩, 뢠騥 ६ 믮   ᯮ짮
    ᮢ     騥 ⢫ ᫥  믮  -
     ਮ ஢ .       ⠩-
    ஬,   ⠭ 짮⥫   室  뫪
     ᨣ ॢ (ࠧ 8.3).  ࠭⢮    ᮤন
    ,  ⥫쭮  ࠪਧ騥  ﭨ  .  ।
     뫨 ᬮ७ ᫥ ᥬ  ਢ     -
    ࠭⢠ ,      ⪮ ᫨:
  * ⥫  ⠡ ᮢ,   , ᮮ⢥-
     .
  *  짮⥫᪨  䨪,  ⠭騥 ࠧ ਢ
    ,  ⭮, ࠢ 㯠  䠩 (. ࠧ 7.6).
  *  ⠩஢, ࠭騥 ६ 믮  (  ⮬)  -
        ० .
  * , 뢠騩 ॠ   ᨣ.
  *  ᪮ ନ, 饥  "ॣ樮  ନ-
    ",  易  ᮬ.
  *  訡,  ஥ 뢠 訡, 訥   믮
    ⥬ 㭪樨.
  *    饭  祭,  ࠭饥 १ 믮 ⥬
    㭪樨.

                                    140

  * ࠬ -뢮: ꥬ । ,  筨  (
    ਥ)      ࠭⢥  ,  ᬥ饭  䠩 (묨
     樨 -뢮)  ..
  *  ⥪饣 ⠫  ⥪饣 , 뢠騥 䠩  ⥬,
     ன 믮 .
  *    짮⥫᪨  ਯ஢ 䠩,  뢠 䠩,
     ᮬ.
  *  ࠭, 뢠騥 ࠭祭  ࠧ ࠪ⨪  -
       ࠧ 䠩,      .
  *  ࠢ 㯠, ࠭饥   ⠭ ࠢ 㯠  䠩-
    ,   ᮧ ᮬ. ࠭⢮ ﭨ   -
    室   ᬠਢ   ࠧ  ᪮  ஢-
    .   ﭨ  ⠪ 䨧᪨ ࠪ⨪, ࠢ塞
    ஬,  ⭮, 㠫쭮 ᭮ ࠭⢮ .  -
    騩  ࠧ  饭  ᠭ  । ;  ⠫
    ࠧ ﭨ   室   ᬠਢ  -
    ᪮ ஢, ᮡ   ⮬ 㤥 ﭨ "믮-
      ० ", "믮   ०  ",  "१ࢨ஢"  
    "ਮ⠭  (  )".    ᫥饩   ࠣ ﭨ
    "ᮧ"  "४饭 ⢮",    8 -  ﭨ  "-
    ⮢    ".   9 㦤  ﭨ -
       ࣠ 窨  饭.


        6.2   

    ।,    䨧᪠   設  , 稭  0 
 ᮬ, ࠢ ꥬ   .  㦥 ⬥砫   2,
  ⥬ UNIX ⮨   ᪨ ᥪ権: ,    
⥪.  (  ,   ᬠਢ   11,   
 ⥪  ᥪ樨 ).  ᥪ樨  ࠭    -
設  権,  ᯮ塞  ࠢ ; ᠬ  ᥪ樨
 㯠   (  室  饭    ண-
ࠬ),   ( 饭   ६)   -
  (  饭   ࠬ ,    ணࠬ-
). ᫨   ᣥ஢  ࠪ⮢     䨧᪮
,      ᬮ ࠫ쭮 믮, ᫨   -
४뢠.    ஢ , ᥪ騥   ࠧ-
  ணࠬ,     㭨ᠫ  ⠪ 冷  ࠪ⨪, -
 ꥬ  設 ࠭祭,  ⢮  ࠭᫨㥬  ணࠬ
࠭祭.  ᫨  ⮣, ⮡  譥 祭 -
ᮢ      樨, 設 㤥 ᯮ짮   -
᪨ 楤,  ॠ  㤥 筮      
ᬮ 㤮⢮ ।塞   ॡ.
    ⮬       㠫쭮 ᭮ -
࠭⢠  ,   ன⢮  ࠢ  ,  뢠
ᯥ஬ , ࠭᫨ 㠫 , ᣥ஢ -
஬,      祥, ᯮ  䨧᪮ .  
室 ,       ⮬ 㧨  믮塞
ணࠬ.  ᠬ ,   ६  ⢮ ᪮쪮
 ணࠬ:    믮, ᯮ     㠫-
 , 䠪᪨  뫠  ࠧ 䨧᪨ 祩.  -
    ।⢠,  㤭  ࠭樨 㠫
ᮢ  䨧᪨, ࠧ ⥬ ࠢ .


        6.2.1 

       ᨨ V  㠫쭮 ᭮ ࠭⢮   -

                                    141

㯭 ᪨ ⥩.  -  뢭   㠫쭮
᭮  ࠭⢠ , ᬠਢ  ⢥ ⤥쭮 -
  ᮢ⭮ ᯮ짮  .  ࠧ, ,  
 ⥪ 筮 ࠧ ⮭ , ਭ騥 . ᪮쪮
ᮢ   ᯮ짮     . ਬ, ᫨ ᪮쪮
ᮢ 믮     ணࠬ,  ⢥,    -
       . 筮 ⠪ , ᪮쪮 ᮢ -
 ꥤ  ᯮ짮   ࠧ塞 .
     ন ⠡ ⥩  뤥   ⠡   -
  ⨢    ⥬.  ࠧ 6.5 뢠  ⠡ -
⥩  樨  ﬨ  ஡,      ।-
,  ⠡ ⥩ ᮤন ଠ,  । -
⮯   䨧᪮ .     ⠡-
 ⥩ .  ⮩ ⠡  ᯮ,  ᨬ
  ⭮ ॠ樨,  ⠡ ᮢ,  ᭮ ࠭⢥ -
   ⤥쭮  ;   ।,    -
   ⠡ ᮢ.   ⭮ ⠡ ⥩ -
ন 㪠⥫  ᮮ⢥  饩 ⠡ ⥩    
㠫     . 塞   
ࠧ 㠫    .  ⭮ ⠡ ⥩
⠪  ᮤন  ࠢ 㯠,  ஬ 㪠뢠 ⨯ 㯠, ࠧ-
襭 : ⮫쪮 ⥭, ⮫쪮   ⮫쪮 ᯮ. ⭠
⠡ ⥩     ⠡ 䠩    
  䠩 ⥬: ᪮쪮 ᮢ  ᮢ⭮ ᯮ짮
᭮  ࠭⢮ १ ,  ⮬,   ࠧ 
 䠩   ;         
ᯮ짮    ⭮ ⠡ ⥩, 筮 ⠪   頥
 , ᯮ ᮮ⢥騥   ⠡ 짮⥫᪨ -
ਯ஢ 䠩   ⠡ 䠩, ਭ饩 .
     㭪 6.2 ࠦ  , A  B,   , -
 ⠡ ⥩  㠫 ,     ᮥ-
.  ࠧ   'a'  㠫묨 ᠬ  8    4
ᮮ⢥⢥.  ᫨  A ⠥ 祩   ᮬ 8,  


          ⠡ ⥩                  
                 
           (㠫 )           +--------+
       -+--------------+             |        |
           |      8      +-----+   +-->|    b   |
  -+--------------+     |   |   |        |
   A      |     16      +-----|---+   +--------+    +--------+
             +--------------+     |                     |        |
        ⥪ |     32      +-----|-------------------->|    c   |
             +--------------+     |       +--------+    |        |
                                  +------>|        |    +--------+
                                          |    a   |
       -+--------------+     +------>|        |
           |      4      +-----+       +--------+    +--------+
  -+--------------+                           |        |
   B      |      8      +-------------------------->|    e   |
             +--------------+             +--------+    |        |
        ⥪ |     32      +-----+       |        |    +--------+
             +--------------+     +------>|    d   |
                                          |        |
                                          +--------+

                  㭮 6.2.   


                                    142

B ⠥ 祩  ᮬ 4,         祩    
'a'.     ⥪    ᢮.
      ⨥,  騬  ᯮᮡ ॠ樨 ࠢ
   樮 ⥬. ࠢ  ।⠢ ᮡ ᮢ-
㯭 ⢨, 믮塞 ஬  楫 襭 䥪⨢ ᮢ-
⭮ ᯮ짮 ⨢  ᠬ. ਬࠬ ᯮᮡ ࠢ-
   㦨 ᬠਢ   9 饭 ࠭  -
    窠  饭. ⨥  ⠪     ᮡ-
 । : ਬ,  ⮣,     ࠭
  ᥣ.  ⥬, ⮡  㭤  室  ᠭ -
⬮ 窨  饭 ( 9),  ਢ    㦤
⭮,     ।,  ࣠樨 , 饩  ࠭-
,    ।,  ⥬ ࠢ  ᭮뢠
 㪠 ⬠.


        6.2.2 ࠭  ⠡ ࠭

     ⮬ ࠧ 뢠  ࣠樨 , ன    㤥
짮    殮 ᥩ ,     ᮡ
⥬ UNIX.  ࣠樨 , 饩    ࠭,  䨧᪠
  ࠧ        ࠧ, 뢠 ࠭栬.
 ࠧ ࠭ ⠢  512   4   । -
䨣樥 孨᪨ ।.  㥬 祩  ᮤন 
ன ࠭ , ᫥⥫쭮,  祩   ᮢ
ன ( ࠭, ᬥ饭  ࠭   ).  ਬ,  ᫨
ꥬ  設  ⠢ 2  32- ⥯ ,  ࠧ ࠭ 1
, 饥 ᫮ ࠭ - 2  22- ⥯;    ,    
32-ࠧ來   ⮨  22-ࠧ來  ࠭  10-ࠧ來
ᬥ饭  ࠭ (㭮 6.3).
      砥  䨧᪨ ࠭ , 室 
祭 ᬥ ࠭    ᮡ - ।  
祭   .  ࠭筮 ࣠樨   -

   +------------------------------------------------------------+
   | ⭠                  58432              |
   |                                                            |
   |                        0101 1000 0100 0011 0010    |
   |                                                            |
   |  ࠭, ᬥ饭                                   |
   |   ࠭              01 0110 0001    00 0011 0010 |
   |                                                            |
   |  ⭠筮 ⥬          161          32       |
   +------------------------------------------------------------+

       㭮 6.3.  䨧᪮   ࠭栬


      +------------------------------------------------------+
      | ᪨  ࠭  ᪨  ࠭ |
      |                                                      |
      |             0                          177           |
      |             1                           54           |
      |             2                          209           |
      |             3                           17           |
      +------------------------------------------------------+

    㭮 6.4.  ⮡ࠦ ᪨ ஢ ࠭  䨧᪨


                                    143

襭  祭 䨧᪮ , ஥ ந    
祭  ᪮  䠩  䠩 ⥬.    祭
 䠩, ⠪   祭  ࠭ , ᫥  -
  襭   ᮪饭 ᯮ㥬 (᫥⢨ ࠣ-
樨) ࠭⢠ .
     ⠭ ᮮ⭮襭  㠫묨 ᠬ   -
設묨 䨧᪨  ᠬ  ।⢮  ⮡ࠦ  ᪨  ஢
࠭    䨧᪨  ࠭  設,    
㭪  6.4. ᪮   뢭 ࠭⢮ 㠫 -
ᮢ ணࠬ, ᪨  ࠭ 㦨 㪠⥫   -
ᨢ 䨧᪨ ஢ ࠭.  ⠡ ⥩ ᮤন  㪠⥫
  ⠡  䨧᪨  ஢ ࠭, 㥬 ⠡楩 ࠭. 
⠡ ࠭ ᮤঠ 設-ᨬ ଠ, ⠪  ࠢ  -
㯠   ⥭   ࠭.  ন ⠡ ࠭  -
  頥   ⠪ ,    ᥬ  ⠫  ࠬ  
.
      㭪 6.5 ਢ ਬ ⮡ࠦ   䨧᪨ 
.  ࠧ ࠭ ⠢ 1     㦭  -
    ꥪ   , 饬 㠫  68432.  ⠡
⥩ ,  㠫  砫  ⥪  -  65536  (64),
᫨  ।,   ⥪   ࠢ 㢥祭 ᮢ. ᫥
⠭ ⮣    68432 砥 ᬥ饭    -
, ࠢ 2896.    ࠭  ࠧ 1 ,  㪠-
뢠  ᬥ饭 848  2- (稭  0) ࠭ , ᯮ
 䨧᪮  986.  ࠧ 6.5.5 (    㧪 -
) ᬠਢ 砩,   ⠡  ࠭  砥  "-
⮩".
      ᮢ६  設 ᯮ ࠧࠧ  ॣ 
,   ᪮ 믮 襮ᠭ 楤  ࠭-
樨  ᮢ    뫪     ᫥ 
 .  믮 ,   ।⢮  㧪
ᮮ⢥  ॣ஢ ᮮ頥 孨᪨ ।⢠ ࠢ 
 ⮬, 

      ⭠ ⠡ ⥩           ࠭
                              (᪨ )
          +--------------+
   |      8      +--------------+
          +--------------+              +-------->+--------------+
    |     32      +-------+                |         |
          +--------------+       |                +--------------+
     ⥪ |     64      +---+   |                |    137      |
          +--------------+   |   v                +--------------+
         㠫   |   +--------------+ |    852      |
                             |   |     87      | +--------------+
                +------------+   +--------------+ |    764      |
                v                |    552      | +--------------+
                +--------------+ +--------------+ |    433      |
                |    541      | |    727      | +--------------+
                +--------------+ +--------------+ |    333      |
                |    783      | |    941      | +--------------+
                +--------------+ +--------------+ |       -      |
                |    986      | |   1096      | |       -      |
                +--------------+ +--------------+ |       -      |
                |    897      | |   2001      | |       -      |
                +--------------+ +--------------+ +--------------+
                |       -      | |       -      |
                +--------------+ +--------------+
   㭮 6.5. ८ࠧ 㠫 ᮢ  䨧᪨

                                    144



 䨧᪨  믮       ᯮ  ⠡
࠭.  ᪮  ⠪  樨   設-ᨬ묨   ࠧ
 ॠ -ࠧ,    ᬠਢ    㤥.  
ᮢ,  易    ⥪ன ᫨⥫ ⥬, ࠣ 
ࠦ.
    ࣠ ࠢ  ஡㥬 ᭨   ᫥饬  ⮬
ਬ.   ࠧ  ࠭ ࠧ஬ 1  , 饭
  ⢫ १ ᠭ ࠭ ⠡ ࠭.  -
ࠢ    ⥬ 㯯  ;  ॣ  ன -
ন  ⠡ ࠭  䨧᪮ ,  ன  ॣ  ᮤন
  㠫  ,  ⮡ࠦ   ன ॣ஢, ⨩
ॣ ᮤন ࠢ ଠ, ⠪   ࠭   ⠡
࠭   ࠢ 㯠  ࠭栬 (⮫쪮 ⥭, ⥭  ). 
 ᮮ⢥ 襮ᠭ  .    ⮢  -
  믮,  㦠 ன ॣ஢ ᮮ⢥饩 ଠ-
  ᥩ ⭮ ⠡ ⥩ .
    ᫨    頥    祩 , ᯮ  ।
ਭ饣  㠫쭮 ࠭⢠, ᮧ ᪫⥫쭠 -
. ਬ, ᫨    ࠧ 16  (㭮  6.5),  
 頥  㠫쭮  26, ᮧ ᪫⥫쭠 -
,  ࠡ뢠  樮  ⥬.    ᠬ ந室, ᫨
 ⠥   ,   ᮮ⢥ ࠢ  㯠,
ਬ, ⠥    饭    .  
⮬,   㣮 ਬ  筮 蠥 ( ஡  ⮬ 
᫥饩 ).


        6.2.3 饭 

    ᬮ  ,   ࠡ⠥  ⥪ , ⮡ࠦ -
㠫  ᮢ, 易  ஬, ⢫ ᨬ   -
ᮢ. ணࠬ     १  ⥬    ᮢ⭮
ᯮ ᥬ ᠬ.  ᪥ ⥬ ந室 㧪 ண-
ࠬ     ⠭ ᮮ⢥ ⠡  ॣ஢  ⮡-
ࠦ 㠫 ᮢ   䨧᪨.  ࠭   -
  ,   ⠡ ࠭, 易  ᮬ,
 堭 ⮡ࠦ 㠫 ᮢ  宦    堭,  -
㥬   ⮡ࠦ 짮⥫᪨ ᮢ.   設 -
㠫쭮 ᭮ ࠭⢮  ࠧ  ᪮쪮 ᮢ,  
⮬  ᫥ ⥬  짮⥫᪨,     ᢮ ᮡ⢥-
 ⠡ ࠭.  ࠡ  ०  ⥬ ࠧ蠥   -
ᠬ ,  ࠡ   ०  ⠪ த  饭.  -
⮬,    १ 뢠  믮 ⥬ 㭪樨 ந-
室 室  ०   ० , 樮 ⥬  -
७  孨᪨ ।⢠ ࠧ蠥 뫪    ,    
    ०   뫪 㦥 饭.  㣨 設  -
 ८ࠧ 㠫 ᮢ, 㦠  ᯥ樠  ॣ  
६ ࠡ  ० .
      㭪  6.6  ਢ  ਬ,  ஬ 㠫   0 
4-1 ਭ ,  稭  4 - .   㯯 ॣ-
஢ ࠢ ,   ᮢ      ᮢ  ,
祬  㯯 ᮮ⢥ ⠡ ࠭, ࠭  䨧-
  ࠭  뫪   㠫 ࠭.  뫪  -
짮 㯯 ॣ஢  ᪠ ⥬ ⮫쪮  ०  -
; ᫥⥫쭮,  室  ०   ०  ॡ-
 ⮫쪮, ⮡ ⥬ ࠧ訫  ⨫  뫪  ᯮ짮-


                                    145

 㯯 ॣ஢ .
       ⥬  㦠   ⠪ ࠧ,  -
  㠫 ᮢ  ᮢ  䨧᪨ ᠬ   㭪-
  ८ࠧ  㠫 ᮢ  䨧᪨ ॢ頥  㭪
⮦⢥.   ࠭⢮ ,  ⥬    ,  ॡ,
⮡ ८ࠧ 㠫 ᮢ  䨧᪨ ந ஬.

                          ⠡   -    -
                            ࠭           ⠡-
                                                  
                         +-----------+------------+-----------+
            1 |     --------+    0     |           |
                         +-----------+-|----------+-----------+
            2 |     ---+  | |   1     |           |
                         +--------|--+-|----------+-----------+
            3 |     --+|  | |   2     |           |
                         +-------||--+-|----------+-----------+
        1 | +---  ||  | |   4     |           |
                         +-|-----||--+-|----------+-----------+
        2 | |+--  ||  | |          |           |
                         +-||----||--+-|----------+-----------+
        3 | ||+-  ||  | |          |           |
                         +-|||---||--+-|----------+-----------+
  +------------------------+||   ||    |
  |          +--------------+|   |+----|-------+
  |          |          +----+   +-----|-------|----------+
  |          |          |           +--+       |          |
  v          v          v           v          v          v
  +------+   +------+   +------+    +------+   +------+   +------+
  | 856K |   | 747K |   | 556K |    |  0K  |   | 128K |   | 256K |
  +------+   +------+   +------+    +------+   +------+   +------+
  | 917K |   | 950K |   | 997K |    |  4K  |   |  97K |   | 292K |
  +------+   +------+   +------+    +------+   +------+   +------+
  | 564K |   | 333K |   | 458K |    |  3K  |   | 135K |   | 304K |
  +------+   +------+   +------+    +------+   +------+   +------+
  | 444K |   |   -  |   | 632K |    | 17K  |   | 139K |   | 279K |
  +------+   |   -  |   +------+    +------+   +------+   +------+
  |   -  |   |   -  |   |   -  |    |   -  |   |   -  |   |   -  |
  |   -  |   |   -  |   |   -  |    |   -  |   |   -  |   |   -  |
  +------+   +------+   +------+    +------+   +------+   +------+

      ࠭              ࠭ 
            ()

    㭮  6.6.  ४祭 ० ࠡ  ਢ஢ (०
                 )  ਢ஢ (० )



        6.2.4 ࠭⢮ 

       ᢮ ᮡ⢥ ࠭⢮,    -
    ࠭ 믮饣  ⠪,  ᫨   ⥬ 
뫮 ⢥.  ࠥ   ⥪饣      ࠭樨
㠫  ᮢ,  室   ࠡ  ࠭⢮ . 
樨 稪 砥 ६ 'u' ( ࠭⢠  )
䨪஢  㠫  .   ⥭ ⠫ ⠬
,    ⭮  ,  믮饬  ४祭  ⥪  (ࠧ
6.4.3).    ⠪ ⭮,  ⠡ ࠢ  ᯮ

                                    146

 ࠭樨 㠫 ᮢ, ਭ ࠭  ,  
 ⮬    ࠭᫨஢ 㠫  -
࠭⢠   㣮 䨧᪨ .    ⮬  㠫쭮
       ࠧ 䨧᪨ ᠬ, 뢠-
騬 ࠭⢠  ᮢ.
          ᢮ ࠭,  믮  ०
,   ⮣,  믮  ० . ᪮    -
  ६ ࠡ⠥ ⮫쪮   ࠭⢮ , ᯮ
 㯠 㠫 , ࠭⢮  筮 뢠 -
⥪  ,  믮饣   ⥬.   롨ࠥ  
ᯮ,    䨧᪮  ᮮ⢥饥  ࠭-
⢮    㯭  㠫쭮 .

                           ⠡   -    -
                             ࠭           ⠡-
                                                   
                          +-----------+------------+-----------+
             1 |           |            |           |
                          +-----------+------------+-----------+
             2 |           |            |           |
                          +-----------+------------+-----------+
(-      3 |     ---+  |     2M     |     4     |
 ࠭⢮                  +--------|--+------------+-----------+
 )                         |
                                   +---------------------+
                                                         |
              ࠭  ࠭⢠ ᮢ  |
                                                         v
    +------+          +------+         +------+          +------+
    | 114K |          | 843K |         |1879K |          | 184K |
    +------+          +------+         +------+          +------+
    | 708K |          | 794K |         | 290K |          | 176K |
    +------+          +------+         +------+          +------+
    | 143K |          | 361K |         | 450K |          | 209K |
    +------+          +------+         +------+          +------+
    | 565K |          | 847K |         | 770K |          | 477K |
    +------+          +------+         +------+          +------+
     A          B         C          D

      㭮 6.7.   ࠭⢠   


    ।, ਬ,  ࠭⢮   ࠧ 4  
頥  㠫쭮  2.  㭪 6.7    ,
    ॣ  㯯 ⭮  ணࠬ    (-
  㪠⥫  ),  ⨩ ॣ   ࠭ -
 D. ᫨  㦭   ࠭  A,   
易  ⨬ ࠭⢮ ଠ  ᮮ⢥饩 ⠡ ࠭
  ⨩ ॣ.    ⨩ ॣ  뢠 ࠭⢮
⥪饣 ,    ᫠  ࠭⢮ 㣮 ,
९ᠢ   ⠡ ࠭   ᮬ. ଠ  ॣ 1
 2   , ᪮   ᮢ⭮ ᯮ ணࠬ-
   .


        6.3  

    ⥪  砥  ᥡ ᮤন ᭮ ࠭⢠  -
,  뤥 ,  ⠪ ᮤন ⭮   -

                                    147

 ॣ஢    .  ଠ쭮 窨 ७, ⥪
 ꥤ  ᥡ 짮⥫᪨ ⥪, ॣ஢ ⥪ 
⥬ ⥪ (*). 짮⥫᪨ ⥪ ⮨    
, ⥪   ᮤন  ᮢ⭮  ᯮ㥬  ࠭⢠
  㠫  .   㠫쭮 ᭮ -
࠭⢠  ,    ਮ᪨    ⨢ 
᫥⢨ 㧪  饭 ࠭, ⠪    짮⥫-
᪨ ⥪.
    ஢ ⥪ ⮨  ᫥ :
  * 稪 , 㪠뢠饣  ᫥饩 ,  㤥 -
      業ࠫ  ;    㠫 ᮬ
     ࠭⢠   ࠭⢠ .
  *  ﭨ  (PS),  㪠뢠   
    設    ⭮襭   .  PS, ਬ, 筮 ᮤন
    ,  㪠뢠,   १  ᫥  ᫥
    㫥,  ⥫  ⥫, ९  ॣ  -
      ७  .. 樨, 騥  ⠭ ॣ PS,
    믮  ⤥쭮 , ⮬-  ॣ PS  ᮤন-
       設  ⭮襭  .    㣨  
      祭  ॣ PS 㪠뢠 ⥪騩 ஢ -
     ,  ⠪ ⥪騩  ।騩 ० 믮 -
     (० /).  祭  ⥪饣  ०  믮
      ⠭,     믮 ਢ஢
        ᭮ ࠭ .
  * ⥫ 設 ⥪,  ஬ ᮤন  ᫥饣  
    ⥪   ⥪ ,  ᮮ⢥⢨  ० 믮 -
    .   ᨬ  ⥪ 設 㪠⥫ 設 ⥪ -
      ᫥騩 ᢮  ⥪   ᫥  ᯮ㥬
    .  ⥪ 設 ⠪  ࠢ 㢥祭 -
      ( 訬  訬 ᠬ),    ᥩ   -
    ⢥.
  * ஢ 饣 祭,   ᮤন ଠ, ᣥ-
      ᮬ    ६  믮. ⮡  ᫥騥
    ᭥, 뤥 ।   ॣ - ॣ 0  ॣ 1 - 
    ⥫쭮 ᯮ짮  । ଠ樨  ᠬ 
    ஬. ⥬ ⥪   " " ( 
      ᫥饬 ᯨ᪥)  " "  (᫥  
    ).  殮 ᥣ ६ 믮  ﭭ -
        ᪮  ⥬ ⥪,   
    ६ ᫮ ᪨ ⥩.   ⥬ -
    ⥪  ।⠢  
    ⥪,  ⠬ ண  ⥪ ஢,  -
      ⥪ ஬  ⠫  ⥪   㯫  ࠧ
    ᮡ⨩. ⥬ ⥪ 砥  ᥡ ᫥騥 :
  *    ⠡ ᮢ, 뢠 ﭨ  (ࠧ 6.1)
     ᮤঠ ࠧ ࠢ ଠ,  ன  ᥣ -
     .
  *  ᭮ ࠭⢠ , 뤥 ,    ࠭
    ࠢ  ଠ  , 㯭 ⮫쪮  ⥪ -
    . 騥 ࠢ騥 ࠬ, ⠪  ਮ ,  ࠭
      ⠡  ᮢ, ᪮ 饭    ந 
    । ⥪ .

---------------------------------------
(*)  ᯮ㥬      ࠧ  ନ  "짮⥫᪨  ⥪"
    (user-level  context),  "ॣ஢ ⥪" (register context), "-
    ⥬ ⥪" (system-level context)  "⥪ ஢"  (context
    layers)  ஬.


                                    148

  *  ⭮ ⠡ ⥩ , 騥 ⠡ ⥩   ⠡-
     ࠭, 室  ८ࠧ 㠫 ᮢ  䨧-
    ᪨,   裡  祬   뢠  , , ⥪ 
    㣨 , ਭ騥 . ᫨ ᪮쪮 ᮢ ᮢ-
    ⭮ ᯮ 騥 ,   室 ⠢   -
    ⥪  , ᪮   ࠡ⠥  ⨬ -
    ﬨ ᨬ  㣨 ᮢ.   ࠢ   室
    䨪  ⪮ 㠫쭮 ᭮ ࠭⢠ , 
     १묨  .
  * ⥪ ,  ஬ ࠭  楤 , ᫨   믮-
      ० . ᬮ  ,     
      ⥬   ணࠬ ,     ᢮ ᮡ⢥ 
    ⥪   ࠭ 㠫 饭  㭪 . ,
    ਬ,   뢠 㭪  creat    ਮ⠭  
      祭    ,  㣮  뢠 㭪
    read  ਮ⠭   襭 ।    ᪠
      .        㭪      
      稨 ⤥ ⥪,  ஬ ࠭  ᫥⥫쭮
    믮 饭.     ⠭ -
    ন  ⥪    㪠⥫ 設 ⥪  ⮣, ⮡
     믮   ०  .    ࠧ  ⥬
    ⥪    ᯮ  ࠭⢥ ,   ⥪
     ᪨-ᨬ , ⠪ ࠧ,     -
    ⥫쭮  .   믮  ० ,
    ᮮ⢥騩  ⥪  .
  *  ᪠  ⥬ ⥪ ,   ᪮-
     ஢    ⥪,  ᢮    ⮢  
    浪,  ⭮  浪   㯫.   ஢ ⥬
    ⥪ ᮤন ଠ, 室  ⠭ ।-
    饣 ஢    ᥡ ॣ஢ ⥪ ।饣 ஢.

     頥 ⥪ ஢  ⥪     뢠,
  饭   ⥬ 㭪樨   ४祭 ⥪ .
⥪ ஢ ⠫  ⥪ ᫥ 襭 ࠡ⪨ -
,     ०  ᫥ 믮 ⥬ 㭪-
樨,   ४祭 ⥪.  ࠧ,  ४祭  ⥪
    ᮡ  饭 ⥪⭮ ஢  ⥪, ⠪  祭
஢  ⥪:  頥  ⥪ ⥪ ஢ ண  ,
    ⥪ ⥪ ஢  . ଠ, -
室  ⠭ ⥪饣 ⥪⭮ ஢, ࠭    
⠡ ᮢ.
     㭪 6.8 ࠦ  ⥪ .   -
  ࠦ  ᪠   ⥪.   室: 짮⥫᪨
⥪, 騩  ணࠬ 
(設 権), , ⥪  ࠧ塞  (᫨    -
),    ⠪  ᪠   ⥬ ⥪,   
⠡ ᮢ, ࠭⢠   ᥩ ⭮ ⠡  ⥩
(ଠ樨, 室  ࠭樨 㠫 ᮢ 짮⥫᪮-
  ⥪).  ࠢ   㭪 ࠦ ᪠  ⥪.
   ⥪  砥  ᥡ ᪮쪮 ⮢, ࠭  ॣ-
஢  ⥪  ।饣 ஢  ⥪   ⥪饣 ஢. 㫥
⥪ ஢ ।⠢ ᮡ ⮩ ஢, ⭮騩  짮-
⥫᪮ ⥪; 㢥祭 ⥪     ᭮  ࠭⢥
, ⥪  ⢨⥫. ५, ᮥ  ᮡ -
  ⥬ ⥪  孨 ஢ ᪮  ⥪-
,  砥  ,    ⠡ ᮢ ࠭ ଠ, 
 ⠭ ⥪騩 ⥪ ஢ .



                                    149

   ᪠  ⥪     ᪠  ⥪
   +-------------------------+ - |        -       |
   |짮⥫᪨ ⥪|  㪠- |        -       |
   | +---------------------+ | ⥫ |        -       |
   | | ணࠬ   | | ⥪騩  |        -       |
   | |               | |+-------->+----------------+
   | |        ⥪         | || ⥪- | ⥪    |
   | |  塞  | ||    |   ஢ 3     |
   | +---------------------+ || ஢ |                |
   |                         ||         | ࠭ -|
   |    ᪠     ||஢ 3| ஢ - |
   |   ⥬ ⥪  ||         | ⥪ ஢ 2 |
   | +---------------------+ ||         +----------------+
   | |  ⠡ - | ||         | ⥪    |
   | |        ᮢ       +-++         |   ஢ 2     |
   | |࠭⢮ | |          |                |
   | | ⭠ ⠡ - | |          | ࠭ -|
   | |   ⥩    | | ஢ 2| ஢ - |
   | +---------------------+ |          | ⥪ ஢ 1 |
   +-------------------------+          +----------------+
                                        | ⥪    |
                                        |   ஢ 1     |
                                        |                |
                                        | ࠭ -|
                               ஢ 1| ஢ - |
                                        | ⥪ ஢ 0 |
                                        +----------------+
                             ⥪|                |
                                 ஢| (짮⥫- |
                                   0|  ᪨ ஢) |
                                        +----------------+

            㭮 6.8.  ⥪ 

     믮  ࠬ ᢮ ⥪ , ᫨    
筮,   ࠬ ᢮ ⥪饣 ⥪⭮ ஢. ⢮ ⥪
஢ ࠭稢 ᫮ ন   設  ஢  뢠.
ਬ,  ᫨    設 ন ࠧ ஢ 뢠  ண-
ࠬ, ନ, ᪮,  ⠫ ਩ ன    ⠩,
    5  ஢ 뢠, , ᫥⥫쭮,     
 7 ⥪ ஢:     ஢ 뢠,  1  
⥬  㭪権  1  짮⥫᪮ ⥪. 7 ஢ 㤥 -
筮,  ᫨ 뢠  㯠  "襬"   -
浪, ᪮ 뢠  ஢  (     -
⪠  ⪫뢠 業ࠫ ஬)   ,    -
⠥  뢠 ⮣   ᮪ ஢.
    ᬮ  ,   ᥣ ᯮ ⥪ - -
, ᪠ 㭪,   ॠ    ,    ᥣ
  ⭮襭   . ਬ, ᫨  , ᪮-
 饥 ன⢮ 뫠 뢠,   뢠  믮
⥪饣    ࠡ뢠 뢠   ⥪⭮ ஢
⮣ ,  ᫨  ⭮  㣮 . ணࠬ -
ࠡ⪨ 뢠 筮    ᪨ ⠢騬 ⥪
    , ⠪     易  뢠ﬨ.


        6.4   

      㦥  ਫ  ࠭,  ࠭ ⥪ ,  

                                    150

⥪  ⥪ ஢.  ⭮,   ,   ⥬
砥 뢠,   뢠 ⥬ 㭪   
믮 ४祭 ⥪.    砥 ஡ ᬠ-
  ⮬ ࠧ.


        6.4.1 뢠  ᮡ 樨

    ⥬ ⢥砥  ࠡ  뢠, 㯨    -
  (ਬ,  ⠩   ਩ ன),  ணࠬ (
裡  믮 権, 뢠  "ணࠬ -
")   १⮬ ᮡ 権 (⠪  饭    -
饩  ࠭).  ᫨ 業ࠫ   ࠡ  
 ஢  ࠢ  ஢ 㯨襣 뢠,   ।  -
  ᫥饩 樨  ࠡ 뢠,  ஢ 뢠
 蠥, ⮡ 㣨 뢠  ⥬  (    )
஢           ,    ࠡ⠥ ⥪饥
뢠,  祬 ᯥ稢  ࠭  楫⭮  
 .   ࠡ⪨ 뢠  믮 ᫥ ᫥-
⥫쭮 ⢨:
 1. ࠭ ⥪騩 ॣ஢ ⥪ 믮饣   ᮧ
     ⥪ (頥  ⥪)  ⥪ ஢.
 2.  ⠭ "筨" 뢠,  ⨯ 뢠 (-
    ਬ, 뢠  ⠩   ᪠)   ன⢠, 맢-
     뢠 (ਬ, ᫨ 뢠 맢  ᪮  騬
    ன⢮).      뢠 ⥬ 砥  設
    ᫮, ஥ ᯮ  ⢥ ᬥ饭  ⠡ ஢  -
    . ন ஢ 뢠  ࠧ 設 ࠧ筮, , 
    ࠢ,   ࠭  ணࠬ ࠡ⪨ 뢠, ᮮ⢥-
    饩  筨  뢠,    㪠뢠  ᪠ ࠬ 
    ணࠬ.  ⢥ ਬ ᬮਬ  ⠡  ஢  뢠,
    ਢ   㭪 6.9. ᫨ 筨 뢠  ନ,
     砥    뢠, ࠢ 2,  뢠 ண-

            +-----------------------------------------+
            |  뢠    ணࠬ ࠡ⪨ |
            |                     뢠          |
            |                                         |
            | 0                   clockintr           |
            | 1                   diskintr            |
            | 2                   ttyintr             |
            | 3                   devintr             |
            | 4                   softintr            |
            | 5                   otherintr           |
            +-----------------------------------------+

              㭮 6.9. ਬ ஢ 뢠


    ࠬ ࠡ⪨ 뢠  ନ, 㥬 ttyintr.
 3. 맮 ணࠬ ࠡ⪨ 뢠. ⥪     ⥪⭮
    ஢,  ᫨ 㦤 ᪨,  ⫨  ⥪  -
    饣 ⥪⭮ ஢.   ࠧࠡ⪠ ⥪  ⥪饣
     ᯮ  ࠭ ⮢, ᮮ⢥ ணࠬ
    ࠡ⪨ 뢠,  㣨 ࠧࠡ⪠   ࠭   -
    쭮 ⥪ 뢠,  祬 ᯥ稢   ண-
    ࠬ  ४祭 ⥪.
 4.  ணࠬ  蠥 ᢮ ࠡ  頥 ࠢ .  -
      設    ࠭  ॣ஢  ⥪  

                                    151

    ⥪  ।饣 ⥪⭮ ஢  ⮬ ,   
      뢠, ᫥ 祣  믮 ⠭
    ⥪⭮  ஢.  ணࠬ  ࠡ⪨ 뢠   
     , ᪮         
          믮 ਮ⠭ -
    ᮢ. , 筮  த 믮 ⠪,  ᫨  -
    뢠   ந室.

      +-----------------------------------------------------+
      |  inthand    /* ࠡ⪠ 뢠 */      |
      | 室 ଠ:                      |
      | 室 ଠ:                     |
      | {                                                   |
      |    ࠭ (  ⥪) ⥪騩 ⥪ |
      |     ஢;                                        |
      |    ⠭ 筨 뢠;                  |
      |      뢠;                         |
      |    맢 ணࠬ ࠡ⪨ 뢠;          |
      |    ⠭ (  ⥪) ।騩 -  |
      |     ⥪ ஢;                               |
      | }                                                   |
      +-----------------------------------------------------+

            㭮 6.10.  ࠡ⪨ 뢠


     㭪 6.10 ⪮ ,  ࠧ  ࠡ뢠  -
.   ᯮ짮  ⤥  ᫥⥫쭮 設-
 権  ப   設 ⨣ 訩 䥪
 ࠢ  ⥬,   樨 믮 ணࠬ ᯥ祭,
  㧪 , 易  ᫮ ࠭塞 ⥪ ஢-
   ᪮ 믮 設 , ॠ ࠭ ⥪-
.  ⮩ 稭 । 樨, 믮  ॡ ॠ-
 ⥬ UNIX,  設-ᨬ묨.
     㭪 6.11  ਬ,  ஬  訢 믮
⥬ 㭪樨 (. ᫥騩 ࠧ)  砥 뢠  ᪠  
 믮. ⨢ ணࠬ ࠡ⪨ 뢠  ᪠, ⥬ -
砥  뢠   ⠩  뢠 㦥 ணࠬ ࠡ⪨ 뢠
 ⠩.  ࠧ,  ⥬ 砥 뢠 ( 뢠 -
⥬ 㭪),  ᮧ  ⥪  ⥪ ஢    ࠭
ॣ஢ ⥪ ।饣 ஢.


        6.4.2 ⢨  樮 ⥬ १ 맮
              ⥬ 㭪権

      த ⢨  ஬ 뫮 ।⮬ ᬮ७  ।-
 ,  諠   筮 맮 㭪権. 祢,   筠
᫥⥫쭮  饭  㭪樨   ﭨ ४ -
     ०   ० .   몠  -
 ⥪ 㭪権,    ᮢ      ⥬
㭪権,  뫪  ⥬ 㭪樨  짮⥫᪨ ணࠬ -
    뫪  । .   㭪 筮 -
 , ॢ 믮   ०    㦤-
    ᯮ塞  ⥬ 㭪樨.  쭥襬  -
   "७ 뢠 樮 ⥬". 
楤 ᯮ  ० ,  ⢨  樮  -
⥬ १ 맮 ⥬ 㭪樨  ।  ᪮쪨 ᫮ 


                                    152

   ᫥⥫쭮 뢠
                                 +-------------------------------+
                                 |   ⥪ ஢  3  |
                                 |   ᯮ ணࠬ -   |
                                 |   ⪨ 뢠  ⠩ |
                                 |                               |
                                 |   ࠭ ॣ஢ -  |
                                 |   ⥪ ணࠬ ࠡ⪨   |
                                 |      뢠  ᪠      |
   뢠  ⠩ --------+-------------------------------+
              ^                  |   ⥪ ஢  2  |
              |                  |   ᯮ ணࠬ -   |
              |                  |   ⪨ 뢠  ᪠   |
              |                  |                               |
              |                  |   ࠭ ॣ஢ -  |
              |                  |   ⥪ 饭  ⥬ |
              |                  |             㭪樨           |
   뢠  ᪠ ----------+-------------------------------+
              ^                  |   ⥪ ஢  1  |
              |                  |   ᯮ 饭  -  |
              |                  |        ⥬ 㭪樨         |
              |                  |                               |
              |                  |   ࠭ ॣ஢ -  |
              |                  |    ⥪ 짮⥫᪮    |
              |                  |             ஢            |
   맮 ⥬ 㭪樨 ------+-------------------------------+
              ^
              |
              |
   ᯮ  ० 

                㭮 6.11. ਬ 뢠


ᮡ  砩 ணࠬ ࠡ⪨ 뢠.  㭪樨 ।
 㭨  ⥬ 㭪樨   設-ᨬ  ᯮᮡ
-    ࠬ ७ 뢠 樮 ⥬,  १
⤥ ॣ,  १ ⥪ -   ⠪ ࠧ । ⨯ -
뢠 㭪樨.
    ࠡ뢠 ७ 뢠 樮 ⥬,     
⥬ 㭪樨   ⠡   ᮮ⢥饩 楤 -
,   窨 室 ⥬ 㭪樨,  ⢠ । 㭪樨
ࠬ஢  (㭮  6.12).    (짮⥫᪨) ࢮ
ࠬ 㭪樨, ਡ ( ,  ᨬ  ࠢ 㢥-
祭 ⥪) ᬥ饭  㪠⥫ 設  ⥪    (筮  
  ࠬ஢  㭪樨). ,   ࠬ   -
࠭⢮   뢠  ᮮ⢥  楤,    믮
⥬  㭪.  ᫥  ᯮ  楤   ,  뫮 
訡. ᫨ 訡 뫠,   ᮮ⢥騥 ⠭   ࠭-
 ॣ஢ ⥪ ,  ⮬  ॣ PS 筮 ⠭-
   ७,   㫥 ॣ   訡. ᫨  -
 ⥬ 㭪樨  뫮 訡,  頥   ॣ  PS  
७    頥 㭪樥 祭  ॣ 0  1  -
 ॣ஢ ⥪ .   頥 ᫥ ࠡ⪨
७ 뢠 樮 ⥬  ० ,     
᫥   ᫥ 뢠. 筠 㭪 -
 饭 ஬ 祭  ।  ணࠬ 짮-
.


                                    153

    +------------------------------------------------------------+
    |  syscall   /*  ᪠ ⥬ 㭪樨 */|
    | 室 ଠ:   ⥬ 㭪樨               |
    | 室 ଠ: १ ⥬ 㭪樨           |
    | {                                                          |
    |        ⠡ ⥬ 㭪権, ᮮ⢥-|
    |       㪠  㭪樨;                        |
    |     । ⢮ ࠬ஢, । 㭪樨;|
    |     ᪮஢ ࠬ  ᭮ ࠭⢠  |
    |       ࠭⢮ ;                              |
    |     ࠭ ⥪騩 ⥪  ਩ 襭   |
    |      (. ࠧ 6.44);                                    |
    |        ᯮ塞  ⥬ 㭪樨;    |
    |     ᫨ ( ६ 믮 㭪樨 ந諠 訡)    |
    |     {                                                      |
    |        ⠭  訡  㫥 ॣ -   |
    |          ॣ஢ ⥪ ;             |
    |          ७  ॣ PS ࠭    |
    |         ॣ஢ ⥪ ;                     |
    |     }                                                      |
    |      ⨢ 砥                                     |
    |         頥 㭪樥 祭  ॣ 0 |
    |          1  ࠭ ॣ஢ ⥪ ;    |
    | }                                                          |
    +------------------------------------------------------------+

        㭮 6.12.  饭  ⥬ 㭪

     ⢥ ਬ ᬮਬ ணࠬ,  ᮧ 䠩  ࠧ-
  ⥭         짮⥫ (० 㯠 0666) 
 ਢ  孥  㭪 6.13.    㭪  ࠦ
।஢  ࠣ ᣥ஢  ணࠬ ᫥ 樨
 ᥬ஢ (ᮧ  ꥪ⭮  ⭮ ணࠬ 
몥 ᥬ)  ⥬ Motorola 68000.  㭪 6.14 ࠦ  -
䨣  ⥪  ⥬ 㭪樨 ᮧ.   ண-
ࠬ 饭  ⥪   ࠬ஢,    ᮤন  -
⠭  ࠢ  㯠 (0666),  㣮 - ६ " 䠩" (**). ⥬
  64  뢠  㭪 creat ( 7a),  -
  ᮮ⢥饩 ⥬ 㭪樨.  窨   㭪樨 -
6a,   頥 ᮬ  ⥪. 筠 㭪 creat -
  ॣ 0 ⠭ 8  ᯮ  뢠 (trap),  
४砥   ०   ०   ⠢  -
  ⥬ 㭪樨. ⨢,   뢠 ⥬ 㭪, -
  롨ࠥ  ॣ 0  㭪樨 (8)  । ⠪ ࠧ, 
맢 㭪 creat. ᬠਢ ७ ⠡,    㦨,
 ⥬ 㭪樨 creat 室  ࠬ; ⠭ ॣ-
஢  ⥪ ।饣 ஢,   ࠬ  짮⥫-
᪮ ࠭⢠  ࠭⢮ . 楤 ,   -
    ࠬ,     ।  ᭮ -
࠭⢠ .  襭 ᯮ    㭪樨  creat  ࠢ
頥  ணࠬ  ࠡ⪨ 饭  樮 ⥬, 
஢, ⠭   訡  ࠭⢥  (  
   ६ 믮 㭪樨 訡); ᫨ , ணࠬ  ⠭-
  ॣ PS  ७,   ॣ 0  訡  頥
ࠢ  . ᫨ 訡  뫮,  ॣ 0  1    -
襭.  -
---------------------------------------
(**) ।,    ன      頥 
     ⥪ ࠬ 㭪樨,   ॠ樨 ⥬.

                                    154


            +----------------------------------------+
            | char name[] = "file";                  |
            | main()                                 |
            | {                                      |
            |      int fd;                           |
            |      fd = creat(name,0666);            |
            | }                                      |
            +----------------------------------------+


+---------------------------------------------------------------+
|      ࠣ ᥬ୮ ணࠬ, ᣥ஢       |
|                     ⥬ Motorola 68000                    |
|                                                               |
|                                                   |
|       -                                                       |
|       -                                                       |
| # ⥪  ணࠬ                                     |
|       -                                                       |
| 58:    mov    &Ox1b6,(%sp)    #   0666  ⥪     |
| 5e:    mov    &Ox204,-(%sp)   #  㪠⥫ 設   |
|                               # ⥪  ६ " 䠩"|
|                               #  ⥪                        |
| 64:    jsr    Ox7a            # 맮 筮 㭪樨    |
|                               # ᮧ 䠩                |
|       -                                                       |
|       -                                                       |
| # ⥪ 筮 㭪樨 ᮧ 䠩                   |
| 7a:    movq   &Ox8,%d0        #  祭 8  ॣ 0|
| 7c:    trap   &Ox0            # ७ 뢠 -|
|                               #  ⥬                 |
| 7e:    bcc    &Ox6 <86>       # ᫨  ७ 饭,     |
|                               # ३   86          |
| 80:    jmp    Ox13c           # ३   13c         |
| 86:    rts                    #   ணࠬ       |
|       -                                                       |
|       -                                                       |
| # ⥪ ࠡ⪨ 訡 㭪樨                              |
| 13c:   mov    %d0,&Ox20e      #  ᮤন ॣ |
|                               # 0  祩 20e (६    |
|                               # errno)                        |
| 142:   movq   &-Ox1,%d0       #   ॣ 0 ⠭ |
|                               # -1                            |
| 144:   mova   %d0,%a0                                         |
| 146:   rts                    #   ணࠬ       |
+---------------------------------------------------------------+

    㭮 6.13. ⥬ 㭪 creat  ᣥ஢ ண-
                  ࠬ  믮  ⥬ Motorola 68000


ࠢ  ணࠬ ࠡ⪨ 饭  樮 ⥬  ० -
, 筠 㭪 ஢ ﭨ  ७   ॣ  PS
(   7): ᫨  ⠭, ࠢ ।   13c, 
㫥 ॣ 롨ࠥ  訡  頥   ६
errno   20,  ॣ 0  -1,  ࠢ  頥  
᫥  ᫥  64 ( ந 맮 㭪樨) .  -
襭 㭪樨  祭 -1,  㪠뢠    訡    믮

                                    155

⥬ 㭪樨. ᫨   ७  ॣ PS  室  ०
   ०   㫥 祭,    7 室 
 86  頥 ࠢ 맢襩 ணࠬ ( 64); ॣ  0
ᮤন 頥 㭪樥 祭.

   +---------+                                |         -        |
   |    -    |                                |         -        |
   |    -    |                                |         -        |
   |    -    |                                |⥪   -|
   |    -    |                                |⥪⭮ ஢ 1|
   +---------+                                |                  |
   |   1b6   |  ० 㯠             |᫥⥫쭮|
   |         | (666  쬨筮 ⥬)   | 饭 |
   |   204   |  ६ " 䠩"   |  㭪樨 creat   |
   |    6a   |  窨  ᫥     +------------------+
   |         | 맮 筮 㭪樨    |࠭ ॣ-|
   +---------+<-----+                         | ஢ ⥪  |
   | ७-|      |                         |    ஢ 0   |
   |  -|      |                         |(짮⥫᪮- |
   | 뢠 |      祭 㪠⥫        |       )        |
   |        |      設 ⥪  -       |                  |
   |    7c   |       ७ -     |  稪 , |
   +---------+      뢠 樮      | ⠭  |
   ࠢ              ⥬           |       7e         |
㢥祭  ⥪                             |                  |
        |                                     |㪠⥫ 設 |
        |                                     |      ⥪       |
        v                                     |                  |
                                              |    ॣ PS    |
                                              |                  |
                                              |ॣ 0 (|
                                              |   祭 8)    |
                                              |                  |
                                              | 㣨 ॣ  |
                                              |饣 祭 |
                                              +------------------+

    㭮 6.14. 䨣 ⥪  ⥬ 㭪樨 creat


    ᪮쪮   㭪権  ⮡ࠦ    室 
ᯨ᮪ ⥬ 㭪権.  窠 室 ।   ᨭ⠪  
ᥬ⨪  饭    ⥬  㭪樨,    㤮 䥩
ᯥ稢   ⥪. , ਬ,  ᪮쪮  -
権  ⥬ 㭪樨 exec, ⠪  execl  execle, 믮  
  ⢨  訬 ⫨ﬨ.  㭪樨, ᮮ⢥騥
⨬ ,  ࠡ⪥ ࠬ஢ ॠ    ᢮⢠,
  筮 ⮣, ⮡ࠦ      㭪 .


        6.4.3 ४祭 ⥪

    ᫨   ࠬ ﭨ  (㭮 6.1),  㢨-
,   ࠧ蠥 ந ४祭 ⥪   -
:      ਮ⠭ ᢮ 믮,   蠥,
  頥 ᫥ 맮 ⥬ 㭪樨  ० ,    
   室騬  ᪠,    頥  ०
 ᫥ 襭 ஬ ࠡ⪨ 뢠,  ⠪      
  室騬  ᪠.  㦥 뫮    2,  -

                                    156

ন 楫⭮  ᮣᮢ ᢮  ७    ,
  ந쭮 ४ ⥪. ० 祬 ४ ⥪,
  㤮⮢  ᮣᮢ ᢮  :   
 ⮬,  ᤥ  室 ४஢,  । ஥ -
騬  ࠧ,  ⠭ ᮮ⢥騥 ஢, 騥 -
 ⥫⢠  ஭ 㣨 ᮢ,   譨  ஢
  .. ਬ, ᫨  뤥 , 뢠   䠩  ਮ-
⠭ 믮  襭 ।   ᪠,   ⠢
  ஢, ⮡ 㣨   ᬮ   .
 ᫨  ᯮ ⥬ 㭪 link,  ᭨ ஢  
ࢮ  । ⥬,     ண ,  ⥬ ᠬ -
頥  㯨 権 ( ஢).
      믮  ४祭  ⥪  襭 ⥬ 㭪樨
exit, ᪮  ⮬ 砥  祣  ⠥ . ஬  ⮣,
४祭  ⥪ ᪠,   ਮ⠭ ᢮ -
, ᪮     ன  ६,   -
祭  ண   믮 㣨 . ४祭 ⥪
᪠  ⮣,     २ ।  㣨  -
ᠬ   ᯮ,  ⥬, ⮡ ᯥ  ࠢ -
 ᮢ: ᫨  室   ⥬ 㭪樨    -
  㦨,      ,   
᮪ ਮ   믮,  뫮  ࠢ ⠢  
 .
    楤  ४祭 ⥪ 宦  楤 ࠡ⪨ 뢠-
  饭  ⥬ 㭪, ᫨   ⮣,    
।饣  ⥪⭮ ஢ ⥪饣  ⠭ ⥪-
 ஢ 㣮 . 稭, 맢訥 ४祭 ⥪, 
⮬   祭.  堭 ४祭 ⥪    ⮤
롮 ᫥饣   ᯮ.

    +--------------------------------------------------------+
    | 1. ਭ 襭 ⭮⥫쭮 室 ४- |
    |    祭 ⥪   ⨬   . |
    | 2. ࠭ ⥪ "०" .             |
    | 3.  ,  室騩  ᯮ,|
    |    ᯮ  ᯥਧ樨 ᮢ, ਢ-|
    |       8.                                   |
    | 4. ⠭  ⥪.                          |
    +--------------------------------------------------------+

    㭮 6.15.  ᫥⥫쭮 蠣,  믮塞  -
                   ४祭 ⥪


     ணࠬ, ॠ饩 ४祭 ⥪  ⥬  UNIX,  
 ணࠬ 樮 ⥬ ᠬ 㤭  ,   -
ᬮ७ 饭  㭪 ᮧ ⫥,     -
   ࠢ,   㣨 -  ⭮ 㤠. -
  ⮣    ,     ⥬ ॠ ࠭
⥪     ணࠬ,   த  ࠡ,  믮
४祭  ⥪     ᯥਧ樨  ⥪ "०"
.    ⠭ ⥪ ,    -
   믮  ᮮ⢥⢨  ࠭ ࠭ ⥪⮬. ⮡
ࠧ  ᮡ  砨,   ⠭ ⥪  
,    த ᯮ ࠭ ࠭ ⥪, 
஢ 祭, 頥 ᪨ 㭪ﬨ,  ⠭
⢥ ࠧ ⥪饥 祭 稪 .
       㭪   6.16  ਢ  奬  ४祭  ⥪.  㭪
save_context ࠭ ଠ  ⥪ ᯮ塞    -

                                    157

頥  祭  1.  ஬  ᥣ  祣,  ࠭ ⥪饥 祭
稪  ( 㭪樨 save_context)  祭 0  㫥 ॣ 
室  㭪樨.  த ᯮ  ⥪  "०"  
(A),  롨    믮  ᫥騩    (B)    뢠  㭪
resume_context

    +------------------------------------------------------------+
    | if (save_context())  /* ࠭ ⥪ 믮饣|
    |                          */                        |
    | {                                                          |
    |     /* 롮 ᫥饣   믮 */         |
    |     -                                                      |
    |     -                                                      |
    |     -                                                      |
    |     resume_context(new_process);                           |
    |     /*  ணࠬ   ! */                     |
    | }                                                          |
    | /*  믮  稭  */  |
    +------------------------------------------------------------+

         㭮 6.16. ᥢணࠬ ४祭 ⥪


 ⠭  ⥪. ᫥ ⠭ ⥪ ⥬ -
  B; ०  (A)   ᯮ,    ⠢
᫥ ᥡ ࠭ ⥪. ,  㤥 믮 ४祭
⥪,   ᭮   A (᫨ ⮫쪮, ࠧ㬥,   
襭).  १ ⠭ ⥪ A    ᢮  稪
    祭,  ஥  뫮  ࠭  ᮬ A ࠭  㭪樨
save_context,    ॣ 0 祭 0.    믮-
  A  㭪樨 save_context,    믮 ணࠬ-
  ४祭 ⥪   ࠫ   㭪樨 resume_context. 
筮 ⮣,  A 頥  㭪樨 save_context   祭
0  (  㫥  ॣ)   믮 ᫥ ப 
" 믮  稭 ".


        6.4.4 ࠭ ⥪  砩 ਩ 襭

     樨,   㦤 ਩ 뢠 ⥪騩 -
冷 믮   室    ᯮ  ࠭  ࠭
⥪.   ᫥ ࠧ,     ਮ⠭ 믮-
   ᨣ,  ᠭ ⥫⢠,     -
室   ᢮ ⥪;    ࠧ ᬠਢ
堭 ᯮ ।饣 ⥪.  ࠭ ⥪ -
뢠  setjmp,   ⠭ ⥪ - longjmp (***). -
 ࠡ ⬠ setjmp 宦  堭 㭪樨  save_context,  -
७      ।饬  ࠧ,  ᫨      ⮣,    㭪
save_context 頥  ⥪ ஢    ⥪,      ६  
setjmp ࠭ ⥪  ࠭⢥   ᫥ 室   -
  த   ० ⥪⭮ ஢.   
⠭ ⥪,

---------------------------------------
(***)    ᫥   騬    -
       㭪ﬨ,   뢠  ।⢥    짮-
      ⥫᪨  ணࠬ (. [SVID 85]).  ⢨  㭪権 -
      .


                                    158

࠭  १ ࠡ  ⬠  setjmp,    ᯮ  
longjmp,   ⠭ ⥪  ࠭⢠   ,
  setjmp,  襭, ࠢ 1.


        6.4.5 ஢    ࠭⢮ -
              ⥬   ࠭⢮ 

        諠  ⮬,   믮  ०     
०    - ४⨩ (祭)  ०. -
,  믮 設⢠ ⥬ 㭪権, ᬮ७   ᫥
,   ࠭⢮   ࠭⢮  ⢫ -
뫪 , ਬ,   ஢ ࠬ஢ 뢠 㭪樨
 ࠭⢠   ࠭⢮     ந  ।
  ஢ -뢮   믮 㭪樨 read.  
設   ⥬  ।⢥ 뫠  , ਭ-
騥 ᭮ ࠭ .   㡥  ⮬,    ,
 ஬ ந   뢠, 㯥,    ࠡ-
    ० ;  ⨢ 砥 ந諮  襭 ⠭-
 ⮤   ,  諥, ⠫     -
ᠬ,  室  । ᭮ ࠭⢠  (, -
,  ਭ  ࠬ   ). ⮬ ।  
࠭⢮   ࠭⢮    "ண  ।⨥",
ॡ騬  ᢮ ॠ樨 ᪮쪨 .

    +--------------------------------------------------------+
    | fubyte:                         # 뫪     |
    |                                 # ࠭⢠   |
    |         prober   $3,$1,*4(ap)   #  㯥 ?      |
    |         beql     eret           #                   |
    |         movzbl   *4(ap),r0                             |
    |         ret                                            |
    | eret:                                                  |
    |         mnegl    $1,r0          #  訡 (-1)  |
    |         ret                                            |
    +--------------------------------------------------------+

    㭮 6.17.  뫪     ࠭⢠    
                   ࠭⢮   ⥬ VAX


     㭪 6.17  ਬ ॠ  ⥬ VAX ணࠬ -
뫪 ᨬ  ᭮ ࠭⢠   ᭮ ࠭⢮ -
.  prober ஢,     , ࠢ (ॣ 㪠-
⥫  㬥  + 4),  ⠭  ०  (० 3),  ᫨ ,
 । ࠢ   eret, ࠭  㫥 ॣ  -1  
室   ணࠬ;  ⮬ 뫪 ᨬ  ந室.  ⨢
砥  뫠  , 室騩  㪠  ,    -
  0  頥   뢠 ணࠬ. 뫪 1 ᨬ -
   ( 맮 㭪樨   fubyte).


        6.5    

     ⮩    ਫ  ⮬,  ࠧ ⢫ ४-
祭 ⥪  ᠬ   ⥪ ஢    
⥪    롨  ⥪, ।⠢ ⥪ 짮⥫᪮ ஢
 ᪨ ꥪ,  ௥騩   ⠭  -
⥪ . ,  㠫  ࠭⢮  ࠡ-

                                    159

  ࠧ  ⥬  㭪樨 ,  㤥   ᫥饩 ,
믮  ⮬ 樨  ﬨ.   ⮬  ࠧ  ᬠਢ
ଠ樮    ;  ⥬ 㭪樨, ॠ騥 樨
 ﬨ,  ᬮ७  ᫥饩 .
     ⠡ ⥩ ᮤন ଠ,  室    ᠭ
.  ⭮,  砥  ᥡ ᫥騥 :
  * ⥫   䠩, ᮤন ண 뫮 ࢮ砫쭮 -
      
  *    ( , ࠧ塞 ,   
     ⥪)
  *  
  * ⮯   䨧᪮ 
  *   (ﭨ) ,  ।⠢騩 ᮡ 
     ᫥ ਧ:
    - ஢
    - 襭
    -    㧪  
    - ⮢, 㦥  
  * 稪 뫮,  ஬ ࠭ ⢮ ᮢ, 뫠  
     .

        ࠡ    ﬨ ⭮: ஢ , ⨥
஢  , 뤥 , ᮥ   ࠭-
  ,  ࠧ , 㧪    䠩  
࠭⢮   , ᢮ , ᮥ  
࠭⢠    ஢  ᮤন  .  ਬ,
⥬ 㭪 exec,  ன ᮤন ᯮ塞 䠩 뢠-
   ᭮ ࠭⢮ , ᮥ  , ᢮
  ⮬ 砥, ᫨    ࠧ塞묨, 뤥   ,
ᮥ   㦠 ᮤন 䠩.  ⠫쭮  ࠧ -
樨    ﬨ 뢠  ⠫쭮  ਥ樥   -
ࠢ , ᬮ७ ࠭ ( ⠡栬 ࠭  㯯  -
  ॣ஢),   ਥ樥   祭 ࠭ 䨧-
   ⠡ ࠭ ( 9).


        6.5.1 ஢   ⨥ ஢

    樨 ஢   ஢   믮  -
ᨬ   権 뤥  ᢮ ,  ⮬,  -
樨 ஢-ࠧ஢   䠩 ⥬ 믮  -
ᨬ    権  祭-᢮    (  iget 
iput).  ࠧ,   ஢  뤥 ,    ⮬
 ஢,  ᢮ . 筮 ⠪,   
    뤥  ,   ᬮ ஢ , ⮡
     ஭ 㣨 ᮢ,      -
஢.


        6.5.2 뤥 

      뤥      (  allocreg, 㭮 6.18) 
६ 믮 ⥬ 㭪権 fork, exec  shmget ( ࠧ塞
).  ন ⠡ ⥩,   ன  ᮮ⢥
窨  室   ᯨ᪥ ᢮ ⥩,   ᯨ᪥ ⨢ -
⥩.  뤥   ⠡ ⥩  롨ࠥ  ᯨ᪠ ᢮-
 ⥩  㯭 , 砥   ᯨ᮪  ⨢  -
⥩,        ⨯ (ࠧ塞  ⭠).
    ᪫祭   樨  ᯮ塞 䠩

                                    160

(᫥ ⮣,  뫠 믮  exec),   ⬥  allocreg  
     ⠡ ⥩ ⠭ ⠪ ࠧ, ⮡ 
㪠뢠   ᯮ塞 䠩.       
, ⮬ 㣨     ࠧ .  㢥-
稢 祭 稪 뫮  , ⮡  㣨 ᠬ
㤠  ᮤন  䠩   믮 㭪樨 unlink,  ⮬  㤥
   ࠧ 7.5. ⮬ ⬠ allocreg   祭
 ஢ .

    +------------------------------------------------------------+
    |  allocreg   /* ࠧ ଠ樮  |
    |                         */                          |
    | 室 ଠ:  (1) 㪠⥫                  |
    |                      (2) ⨯                        |
    | 室 ଠ: ஢                |
    | {                                                          |
    |       ᯨ᪠ ᢮ ⥩;           |
    |      ⨯;                                  |
    |    ᢮ 祭 㪠⥫ ;                   |
    |    ᫨ (㪠⥫   㫥 祭)       |
    |          㢥 祭 稪 뫮  ;     |
    |       ᯨ᮪ ⨢ ⥩;            |
    |     (஢ );                   |
    | }                                                          |
    +------------------------------------------------------------+

             㭮 6.18.  뤥 



        6.5.3 ᮥ   

     ᮥ   ᭮ ࠭   ६ -
  ⥬  㭪権 fork, exec  shmat ( attachreg, 㭮
6.19).     砥   㦥  饩,  
  㤥  ᯮ짮  ᮢ⭮   㣨 ᠬ.  롨ࠥ
᢮   ⭮ ⠡ ⥩ ,  ⠭    
 ⨯ ⠪ ࠧ, ⮡  㪠뢠   , , ࠧ-
塞     ⥪,  뢠 㠫 ,  -
஬  㤥 ࠧ  ᭮ ࠭⢥ .   
  室  । ⠭ ⥬ ࠭祭  ᨬ-
 㠫 ,  㠫       -
   ᠬ  㦥 ⥩. ਬ, ᫨ ⥬ ࠭-
稫 ᨬ쭮-⨬ 祭 㠫쭮   8 -
⠬,  ਢ易  ࠧ஬ 1   㠫쭮  7.5M 
㤠. ᫨  ᮥ  ⨬,  㢥稢  祭
,  뢠饣  ࠧ      ⠡ ᮢ, 
稭 ᮥ塞 ,  ⠪ 㢥稢 祭 稪  -
  .
    ஬  ⮣,    ⬥  attachreg ⠭ 砫 祭
㯯 ॣ஢ ࠢ , 뤥 . ᫨  ࠭
 ᮥ﫠  - ,       㭪樨  growreg
(.  ᫥騩 ࠧ)     ⠡ ࠭;  ⨢-
 砥 ᯮ 㦥 騥 ⠡ ࠭.  蠥
ࠡ,  㪠⥫   室   ⠡  ⥩  -
, ᮮ⢥  ᮥ . ⨬, ਬ, 
 㦭     㠫쭮  0  (ࠧ-
塞) ,  ࠧ 7  (㭮 6.20).  뤥 


                                    161

    +------------------------------------------------------------+
    |  attachreg  /* ᮥ    */ |
    | 室 ଠ:  (1) 㪠⥫  ᮥ塞 -   |
    |                           (஢)           |
    |                      (2) ,  ஬ ᮥ|
    |                                                     |
    |                      (3) 㠫   ,|
    |                           ஬ 㤥 ᮥ -|
    |                                                       |
    |                      (4) ⨯                        |
    | 室 ଠ: 窠 室   ⠡ ⥩|
    |                                                    |
    | {                                                          |
    |     뤥    ⭮ ⠡ ⥩ -  |
    |      ;                                                |
    |     ந樠஢ 祭  :             |
    |          ⠭ 㪠⥫  ᮥ塞 ;   |
    |          ⠭ ⨯ ;                           |
    |          ⠭ 㠫  ;             |
    |     ஢ ࠢ쭮 㪠 㠫쭮    |
    |      ࠧ ;                                      |
    |     㢥 祭 稪 뫮  ;         |
    |     㢥 ࠧ   ⮬ ᮥ -|
    |      ;                                                   |
    |      砫 祭   㯯   |
    |      ॣ஢;                                            |
    |      ( 室   ⠡ ⥩ -|
    |      );                                               |
    | }                                                          |
    +------------------------------------------------------------+

             㭮 6.19.  ᮥ 


㯯  ॣ஢  ࠢ        ⠡ ࠭
, 㠫    ࠭⢥  (0)  ࠧ ⠡-
 ࠭ (9 ᥩ).


        6.5.4  ࠧ 

        㦠 ᢮ 㠫쭮 ᭮ ࠭-
   㭪樨 sbrk. 筮 ⠪   ⥪    ⮬-
᪨  (   ⮣   㦭    ।
㭪樨)  ᮮ⢥⢨  㡨   饭    ணࠬ.
 ࠧ  ந     growreg (-
㭮  6.21).  ७   ஢,    㠫
 塞  ᥪ  ᠬ -  㣮  -
     ७   ᮡ 室   ।
ᨬ쭮-⨬  㠫쭮  ࠭⢠  .   
ᯮ  growreg  㢥祭 ࠧ ࠧ塞 ,  㦥
ᮥ   ᪮쪨 ᠬ; ⮬   ᯮ  ⮬, 
ਢ  㢥祭 ࠧ      ॢ-
 㣨 ᮬ ⥬ ࠭祭, 뢠   ࠧ  -
.  ࠡ  饩   ᯮ  growreg 
 : 믮 㭪 sbrk  ⭮襭     
ॠ  ⮬᪮  㢥祭 ⥪ .    ( 
⥪) ⭮ ⨯.    ࠧ塞  ᫥  樠-


                                    162

                 ⭠ ⠡ ⥩ 
                 +---------+-------------+--------+
                 |    | 㠫 |  |
                 | ⠡ |   -|       |
                 | ࠭ |  ࠭⢥  |  |
                 |         |     |        |
                 +---------+-------------+--------+
    窠 室  |         |      0      |    9   |
       +----+----+-------------+--------+
                +----+
                           v
                           +-------------+
                           |        |
                           +-------------+
                           |        |
                           +-------------+
                           |    846K     |
                           +-------------+
                           |    752K     |
                           +-------------+
                           |    341K     |
                           +-------------+
                           |    484K     |
                           +-------------+
                           |    976K     |
                           +-------------+
                           |    342K     |
                           +-------------+
                           |    779K     |
                           +-------------+

    㭮 6.20. ਬ ᮥ 饩  

樨   .   㤥 ᭥  ᫥饩 .
    ⮡ ࠧ ७ ,  뤥  ⠡ ࠭
(   騥)  ⢮ ⥫ 䨧  
 ⥬,   ন 窠 ࠭  饭.  뤥-
 ⥫쭮 䨧᪮   ஢  稥  ।  -
  ⬠  growreg;  ᫨     ,  ਡ 
㣨 ।⢠ 㢥祭 ࠧ  (.  9). ᫨  ᮪-
頥 ࠧ ,   ᢮ ,  ⢥    -
.      ८। ࠧ    
⠭  祭   ⭮ ⠡ ⥩  
ॣ஢ ࠢ  (⠪, ⮡  ᮣᮢ   ⮡ࠦ-
 ).
    ।, ਬ,   ⥪  稭  㠫-
  128   ࠧ 6     㦭     -
    1  (1 ࠭). ᫨ ࠧ     
᫨ 㠫   -
  134  135 - 1  ਭ - , ࠭  ᮥ-
    ,   㢥稢 ࠧ ⥪.  ⮬  
⠡ ࠭, 뤥  ࠭   樠    -
 ⠡.  砩 ந஢   㭪 6.22.


        6.5.5 㧪 

      ⥬,  ন 窠 ࠭  饭,  


                                    163

    +------------------------------------------------------------+
    |  growreg  /*  ࠧ  */          |
    | 室 ଠ:  (1) 㪠⥫   室  ⭮|
    |                          ⠡ ⥩          |
    |                      (2) 稭,   㦭 -  |
    |                           ࠧ  (    |
    |                           ⥫쭮, ⠪  -  |
    |                          ⥫쭮)                          |
    | 室 ଠ:                            |
    | {                                                          |
    |     ᫨ (ࠧ  㢥稢)                    |
    |     {                                                      |
    |        ஢ ⨬  ࠧ ;      |
    |        뤥 ᯮ⥫ ⠡ (࠭);         |
    |        ᫨ ( ⥬  ন 饭 ࠭ |
    |          饭)                                      |
    |        {                                                   |
    |            뤥 ⥫ ;                 |
    |            ந樠஢  室 祭  |
    |               ⥫ ⠡;               |
    |        }                                                   |
    |     }                                                      |
    |      ⨢ 砥    /* ࠧ  㬥蠥 */ |
    |     {                                                      |
    |        ᢮ 䨧 ;                       |
    |        ᢮ ᯮ⥫ ⠡;                 |
    |     }                                                      |
    |                                                            |
    |     ஢  砥 室 樠 㣨   |
    |      ᯮ⥫ ⠡;                               |
    |     ⠭ 祭  ࠧ  ⠡ - |
    |      ᮢ;                                                  |
    | }                                                          |
    +------------------------------------------------------------+

          㭮 6.21.   ࠧ 


"⮡ࠦ" 䠩  ᭮ ࠭⢮   ६ 믮 㭪-
樨 exec, ⠢ ᫥饥 ⥭    ⤥  䨧᪨
࠭  (.  9). ᫨  窠 ࠭  饭  ন-
,  室 ஢ ᯮ塞 䠩  , 㦠 
  㪠  䠩 㠫 ᠬ.     ᮥ
   ࠧ 㠫 ᠬ,   㤥 㦠 ᮤন-
 䠩, ᮧ ⠪ ࠧ "ࠧ"  ⠡ ࠭ (ᯮ -
 6.20).    ਣ, ਬ,  ॡ -
 訡  (memory  fault)    砥  饭  짮⥫᪨
ணࠬ   㫥  (᫨ ᫥ 饭). ६ 㪠⥫
 ணࠬ   ୮ ( ஢ઠ    祭  
ࠢ⢮ 0)   १   ᯮ짮  ⢥
㪠⥫  ᮢ. ᫨ ࠭  㫥 ᮬ ᮮ⢥騬 ࠧ
, , 砩 ⨢訥   ⮬  ,  ⮫  
訡   ਩ 襭,   ᪮ 㦥  訡
 ணࠬ.
      㧪  䠩    loadreg (㭮 6.23) ஢
ࠧ  㠫 ᮬ,  ஬  ᮥ   -
,    㠫  ᮬ,   ண ᯮ  , 
   ᮮ⢥⢨  ॡ㥬 ꥬ .  ⥬  


                                    164

       ⭠ ⠡ ⥩          ⭠ ⠡ ⥩
                                         
     +-------+----------+------+       +-------+----------+------+
     |  | 㠫-| - |       |  | 㠫-| - |
     | ⠡-|  |   |       | ⠡-|  |   |
     |     |  - |     |       |     |  - |     |
     | - | ࠭⢥  | -|       | - | ࠭⢥  | -|
     |    |  |    |       |    |  |    |
     +-------+----------+------+       +-------+----------+------+
     |       |          |      |       |       |          |      |
     +-------+----------+------+       +-------+----------+------+
     |       |          |      |       |       |          |      |
窠+-------+----------+------+  窠+-------+----------+------+
室|       |   128K   |  6K  |  室|       |   128K   |  7K  |
  +---+---+----------+------+    +---+---+----------+------+
⥪    +--+                     ⥪    +--+
            v                                 v
            +-------------+                   +-------------+
            |    342K     |                   |    342K     |
            +-------------+                   +-------------+
            |    779K     |                   |    779K     |
            +-------------+                   +-------------+
            |    846K     |                   |    846K     |
            +-------------+                   +-------------+
            |    752K     |                   |    752K     |
            +-------------+                   +-------------+
            |    341K     |                   |    341K     |
            +-------------+                   +-------------+
            |    484K     |                   |    484K     |
            +-------------+              +-------------+
            |             |        -->|    976K     |
            +-------------+                   +-------------+
            |             |                   |             |
            +-------------+                   +-------------+
            |             |                   |             |
            +-------------+                   +-------------+
           㢥祭 ⥪              ᫥ 㢥祭 ⥪

          㭮 6.22. 祭  ⥪  1 


ॢ   ﭨ "㧪  ",  ஬   
뢠  䠩       ஥  䨪樨  ⬠
⥬ 㭪樨 read.
    ᫨  㦠  ,   ࠧ ᪮쪨-
  ᠬ,   ,   ⠥ ᯮ짮
  ⮣,   ᮤন 㤥  㦥, ⠪   -
 㧪  ਮ⠭-
    ६  ⥭ 䠩. ஡  ⮬,   ந室  祬
 ⮬  ᯮ짮 ஢,   ਬ,    㤥  
  㭪樨 exec  ᫥饩     9. ⮡ ࠭  ஡-
,   ஢     ࠧ蠥      ,
 㧪   㤥 祭.  襭 ॠ樨 ⬠
loadreg   믮    ᮢ,    砭
㧪 ,     ("⮢, 㦥  ").
    ।,  ਬ,   㦭 㧨 ⥪ ࠧ஬ 7K  -
, ᮥ    㠫쭮  0,   ⮬ -
 ஬⮪ ࠧ஬ 1   砫  (㭮 6.24).    ⮬


                                    165

    +------------------------------------------------------------+
    |  loadreg    /* 㧪  䠩   */   |
    | 室 ଠ:  (1) 㪠⥫   室  |
    |                          ⠡ ⥩          |
    |                      (2) 㠫  㧪        |
    |                      (3) 㪠⥫  䠩           |
    |                      (4) ᬥ饭    砫 -|
    |                            䠩                |
    |                      (5) ꥬ 㦠    |
    | 室 ଠ:                            |
    | {                                                          |
    |    㢥 ࠧ   ॡ㥬 稭 (|
    |     growreg);                                              |
    |        "㦠  ";     |
    |     ஢  ;                             |
    |    ⠭  ࠭⢥  祭 ࠬ஢  |
    |     ⥭  䠩:                                       |
    |         㠫 ,  ஬  ࠧ饭 -|
    |          뢠 ;                                  |
    |         ᬥ饭  砫 뢠  䠩;        |
    |         ꥬ , 뢠  䠩,  ;      |
    |    㧨 䠩   (஥ 䨪 -  |
    |     ⬠ read);                                           |
    |    ஢ ;                                  |
    |        " 㦥  -|
    |     ";                                                 |
    |     믮  ᮢ,  -|
    |      㧪 ;                                  |
    | }                                                          |
    +------------------------------------------------------------+

       㭮 6.23.  㧪    䠩


६    㦥 뤥   ⠡ ⥩  ᮥ 
  0   ⬮ allocreg  attachreg.    -
  loadreg,   ஬  ⢨  ⬠  growreg  믮
  -  -,  뤥  砫  ஬⪠  1 , 
-,  뤥   ᮤন  -    growreg
砥    ⠡ ࠭. ⥬    ᮮ⢥騥
 ࠭⢠  ⠭ 祭  ⥭   䠩:
뢠 7 , 稭  , 㪠      ᬥ饭  
䠩  (ࠬ  ⬠),  뢠  㠫쭮 ࠭⢮ -
   1K.

       ⭠ ⠡ ⥩          ⭠ ⠡ ⥩
                                         
     +-------+----------+------+       +-------+----------+------+
     |  | 㠫-| - |       |  | 㠫-| - |
     | ⠡-|  |   |       | ⠡-|  |   |
     |     |  - |     |       |     |  - |     |
     | - | ࠭⢥  | -|       | - | ࠭⢥  | -|
     |    |  |    |       |    |  |    |
     +-------+----------+------+       +-------+----------+------+
|  ---  |          |   0  |       |       |     0    |   8  |
     +-------+----------+------+       +---+---+----------+------+
     ()  ⠡  ࢮ-           +--+
         砫쭮                        |
                                              v

                                    166



                                              +-------------+
                                              |        |
       ⭠ ⠡ ⥩               +-------------+
                                      |    779K     |
     +-------+----------+------+              +-------------+
     |  | 㠫-| - |              |    846K     |
     | ⠡-|  |   |              +-------------+
     |     |  - |     |              |    752K     |
     | - | ࠭⢥  | -|              +-------------+
     |    |  |    |              |    341K     |
     +-------+----------+------+              +-------------+
     |       |     0    |   1  |              |    484K     |
     +---+---+----------+------+              +-------------+
         +--+                                 |    976K     |
            |                                 +-------------+
            v                                 |    794K     |
            +-------------+                   +-------------+
            |        |                   |             |
            +-------------+                   +-------------+
     () , 㪠뢠         () ᫥ ண 믮-
         ஬⮪  砫 -            ⬠ growreg
          (᫥ ࢮ
         믮 ⬠
         growreg)


         㭮 6.24. 㧪   (⥪)




    +------------------------------------------------------------+
    |  freereg      /* ᢮ 뤥  */|
    | 室 ଠ:  㪠⥫  (஢) |
    | 室 ଠ:                            |
    | {                                                          |
    |    ᫨ (稪 뫮    㫥 -  |
    |     )                                                   |
    |    {                                                       |
    |       /*    ᯮ   ᮢ */|
    |        ஢  ;                          |
    |       ᫨ ( 樨஢  ᮬ)              |
    |             ஢  ;                     |
    |        ࠢ;                               |
    |    }                                                       |
    |    ᫨ ( 樨஢  ᮬ)                 |
    |         ᢮  ( iput);                 |
    |    ᢮ 易   䨧 ;      |
    |    ᢮ 易   ᯮ⥫ ⠡;|
    |      ;                                  |
    |       ᯨ᮪ ᢮ ⥩;           |
    |     ஢  ;                             |
    | }                                                          |
    +------------------------------------------------------------+


            㭮 6.25.  ᢮ 

                                    167
        6.5.6 ᢮ 

    ᫨   ᮥ 㦥    ,      
᢮  ஬   饭  ᯨ᮪ ᢮ ⥩ (㭮 6.25).
᫨  易  ᮬ,  ᢮       -
⬠ iput, 뢠 祭 稪 뫮  , ⠭  -
⬥  allocreg.   ᢮  易   䨧᪨ -
, ⠪  ⠡ ࠭  ᮡ⢥  ࠭  䨧᪮  .
।, ਬ,   㦭 ᢮  ⥪, ᠭ 
㭪  6.22.  ᫨  稪 뫮    㫥 祭, 
᢮ 7 ࠭ 䨧᪮    ⠡楩 ࠭.

    +------------------------------------------------------------+
    |  detachreg   /* ᮥ    */ |
    | 室 ଠ:  㪠⥫   室  ⭮    |
    |                      ⠡ ⥩              |
    | 室 ଠ:                            |
    | {                                                          |
    |      ᯮ⥫ ⠡栬 , 騬 |
    |     ⭮襭  । ,                      |
    |         ᢮   ,  易  ;  |
    |    㬥 ࠧ ;                              |
    |    㬥 祭 稪 뫮  ;          |
    |    ᫨ (祭 稪 ⠫ 㫥    -|
    |      ꥬ  )                     |
    |         ᢮  ( freereg);             |
    |     ⨢ 砥   /*  祭 稪 ⫨筮  |
    |                             0,    - |
    |                            ꥬ   */   |
    |    {                                                       |
    |          ஢   (樨஢  - |
    |          );                                          |
    |          ஢  ;                        |
    |    }                                                       |
    | }                                                          |
    +------------------------------------------------------------+

            㭮 6.26.  ᮥ 


        6.5.7 ᮥ   

     ᮥ   믮 ⥬ 㭪権 exec,  exit  
shmdt (ᮥ ࠧ塞 ).  ⮬  ४ ᮮ⢥-
      ࠧꥤ   䨧᪮ ,  ⢨-
⥫묨  易      ॣ  ࠢ      (
detachreg,  㭮 6.26). 堭 ८ࠧ ᮢ ᫥ ⮣ 㤥
⭮ 㦥  ,     (   ⬥  freereg).  
㬥蠥  祭 稪 뫮    祭 , 뢠饣
ࠧ    ⠡ ᮢ,  ᮮ⢥⢨  ࠧ஬ -
. ᫨ 祭 稪 ⠭ ࠢ 0  ᫨  稭  ⠢
     (    ࠧ塞  
   ਧ ꥬ  ,  祬  㤥  
    ࠧ 7.5),  ᢮    freereg.  -
⨢ 砥  ᭨       ஢,  ⠭
  ⮣,  ⮡ । ७  ࠫ쭮 믮騬
ᠬ (. ࠧ 7.5),  ⠢        -
.



                                    168

  ⠡ ⥩ ᮢ          
          +--------------+               +-------------+
   |              +-------------->| 塞 |
          +--------------+      +------->+-------------+
    |              +----+ |
          +--------------+    | |        +-------------+
     ⥪ |              +--+ +-|------->|   ⭠   +-+
          +--------------+  |   |        +-------------+ | -
              A      |   |                        | ஢-
                            |   |        +-------------+ | 
                            +---|------->|   ⭠   +-|-+ -
          +--------------+      |        +-------------+ | | 
   |              +------+                        | |
          +--------------+               +-------------+ | |
    |              +-------------->|   ⭠   |<+ |
          +--------------+               +-------------+   |
     ⥪ |              +------+                          |
          +--------------+      |        +-------------+   |
              B          +------->|   ⭠   |<--+
                                         +-------------+

        㭮 6.27. ஢ ᮤন 

    +------------------------------------------------------------+
    |  dupreg   /* ஢ ᮤন 饩  |
    |                       */                            |
    | 室 ଠ:  㪠⥫   室  ⠡ -|
    |                      ⥩                                |
    | 室 ଠ: 㪠⥫  ,  - |
    |                        饩        |
    | {                                                          |
    |     ᫨ ( ࠧ塞)                             |
    |          /*  뢠饩 ணࠬ 稪 뫮  -   |
    |              㤥 㢥祭, ᫥ 祣 㤥 ᯮ-  |
    |               attachreg */                      |
    |           (㪠⥫  室 );       |
    |     뤥   ( allocreg);            |
    |     ⠭ 祭 ᯮ⥫  ࠢ|
    |        筮 ᮮ⢥⢨  祭ﬨ -|
    |        室 ;                        |
    |     뤥  ᮤন  䨧 ;    |
    |     "᪮஢" ᮤন 室    ᮧ-|
    |        ;                                      |
    |      (㪠⥫  뤥 );          |
    | }                                                          |
    +------------------------------------------------------------+

    㭮 6.28.  ஢ ᮤন 饩 


        6.5.8 ஢ ᮤন 

    ⥬ 㭪 fork ॡ, ⮡  ᪮஢ ᮤন -
⥩ . ᫨   ࠧ塞 (ࠧ塞 ⥪   ࠧ-
塞  ),     ஢  䨧᪨; 
⮣  㢥稢 祭 稪 뫮   ,    த-
⥫᪮   ஦ ᠬ ᯮ짮  ᮢ⭮. ᫨ -
   ࠧ塞   㦭 䨧᪨ ஢   ᮤন-
,    뤥    ⠡ ⥩,  ⠡ ࠭ 

                                    169

⢮  ᮧ  䨧 .  ⢥ ਬ  -
ਬ  㭮 6.27,   A ஦   㭪樨 fork 
B    த⥫᪮ .    A -
 ࠧ塞, ⮬  B  ᯮ짮   ᮢ⭮
 ᮬ A.     ⥪ த⥫᪮  
 筮 ਭ (  ⨯),  ⮬    B  㦭
᪮஢  ᮤন   뤥 .  ⮬   -
⥩  ⭮ ⨯ 䨧᪮ ஢   ᥣ 室, 
祬  㡥  ( 9).  㭪 6.28 ਢ  ஢-
 ᮤন  (dupreg).


        6.6  

     饬   ᬮ५   㭪樨  ࠡ    ७
ࠬ  ,  믮騥   ஢ ⢨  -
ᮬ  ᯥ稢騥 室  ﭨ "믮  ० "  -
室  ⮣ ﭨ  㣨 ﭨ,  ᪫祭 㭪権, ॢ-
   ﭨ "ਮ⠭ 믮".  ३  ᬮ-
७ ⬮,     ॢ  ﭨ "믮-
  ० "  ﭨ "ਮ⠭  "   ﭨ  -
⠭    ﭨ  "⮢  "  㧪   㧪 
.

                                 +-------------------------------+
                                 |   ⥪ ஢  2  |
                                 |   ᯮ ணࠬ -   |
                                 |      祭 ⥪       |
                                 |                               |
                                 |   ࠭ ॣ஢ -  |
                                 |   ⥪ 饭  ⥬ |
                                 |             㭪樨           |
    ⬠ ਮ⠭ -+-------------------------------+
              ^                  |   ⥪ ஢  1  |
              |                  |   ᯮ 饭  -  |
              |                  |        ⥬ 㭪樨         |
              |                  |                               |
              |                  |   ࠭ ॣ஢ -  |
              |                  |    ⥪ 짮⥫᪮    |
              |                  |             ஢            |
   맮 ⥬ 㭪樨 ------+-------------------------------+
              ^
              |
              |
   ᯮ  ० 

    㭮 6.29. ⠭ ⥪ ஢ ਮ⠭-
                   


    믮  ਮ⠭ 筮  ६ ᯮ -
襭  ⥬ 㭪樨:  室    ०    (⥪
஢  1), ᯮ ७ 뢠 樮 ⥬,  ਮ-
   ᮢ.  ⮬  ४砥 ⥪,  -
  ⥪ ᢮ ⥪騩 ⥪ ஢  ᯮ   ࠬ
⥬ ⥪⭮ ஢ 2 (㭮 6.29). 믮 ᮢ ਮ-
⠭  ⠪     ⮬ 砥,   ⠫  ⢨
࠭  १ 饭  㠫 ᠬ,  㦥  䨧-
᪨;     믮,    ⠥ ᮤন -

                                    170

.


        6.6.1 , 뢠騥 ਮ⠭ 믮,   

     㦥 ਫ  ன ,  ਮ⠭   -
㯫  । ᮡ, ᫥ ண  "஡㦤"  -
  ﭨ "⮢  믮" ( 㧪   㧪  -
).  த ࠪ⭮ 㦤   ⨭,     -
⭮  饭  ᮢ㯭 ᮡ⨩ ⮡ࠦ  ᮢ㯭 -
 ᮢ (). ,  묨 易  ᮡ,  ஢  
,   ⢥ 祭 ⮨   ᯮ짮  -

     a ---+    +---  襭 ---+
                 |    |       -뢮        |
     b -++|----+                           |
               |||                                +----  A
     c -|++--------  뤥     |
               +----++--- (᢮)  --+
     d --+   ||+--+|
                |   |||+--+
     e --|---|+||
                |+--|-+|
     f --|+  +--|--  뤥 ---------  B
                | +----|-(᢮) 
     g --|-+    |
               +|------+
     h -++---------    - ------  C
                                  

    㭮 6.30. , ਮ⠭  㯫 ᮡ-
                  ⨩,  ⮡ࠦ ᮡ⨩   


  ⮡ࠦ  ᮡ   .   ࠪ⭮
ᬮ७, ⠪   ⭮ ॠ樨 ᮡ  ࠧ筮,  ᪮쪮
ᮢ ६   㯫.  १,  -
  ⨢稩. -,  ᮡ⨥ 㯠  -
,  騥  , ᮮ⢥騬 ࠧ   ⮬,  
"஡㦤"  室  ﭨ "⮢  믮".  뢮-
   ﭨ ਮ⠭  ࠧ,    , ᬮ 
,    ਭ樯  ஢        ஢
      設⢮    १ 让 ஬⮪ ६
 ୥  ﭨ ਮ⠭ ( ஡  ⮬  諠    
  2   3).  㭪 6.30 ࠦ ᪮쪮 ᮢ, ਮ⠭-
  㯫 । ᮡ⨩.
      ⨢稥 易  ⥬,           
⮡ࠦ ᪮쪮 ᮡ⨩.  㭪 6.30, ਬ, ᮡ "᢮-
 "  "襭 -뢮" ⮡ࠦ    ("-
  A").  -뢮   蠥,   믮
 ᮢ, ਮ⠭   㯫  ⮣, ⠪  -
 ᮡ. ᪮ , 騩 襭 -뢮,  㤥ন-
   ஢, 㣨 ,   ᢮ -
,  ਮ⠭,     . 㭪樮஢ -
 뫮   䥪⨢, ᫨  ⮡ࠦ ᮡ⨩   뫮 -
.   ࠪ⨪ ⠪ த ⨢稥  ந⥫쭮
⥬  ࠦ, ᪮ ⮡ࠦ       -
      쭮 ।,  ⠪ ᪮ 믮騩 
筮 ᢮ ஢   ⮣,     믮

                                    171

㣨 . ⨫᪨, ⥬  , 堭 㭪樮஢ 
⠫   ⥭, ᫨  ⮡ࠦ 뫮 .

    +------------------------------------------------------------+
    |  sleep                                             |
    | 室 ଠ:  (1)  ਮ⠭                 |
    |                      (2) ਮ                         |
    | 室 ଠ: 1, ᫨    ᨣ-|
    |                      ,   㤠 㫮;    |
    |                      맮 ⬠ longjump, ᫨ |
    |                        ᨣ,  |
    |                       㤠 㫮;                   |
    |                      0 -   ⠫ ;        |
    | {                                                          |
    |     ਮ ࠡ  ⠪ ࠧ, ⮡|
    |     ஢  뢠;                          |
    |    ॢ   ﭨ ਮ⠭;              |
    |       -। ਮ⠭ - |
    |     ᮢ,    ਮ⠭;              |
    |    ࠭  ਮ⠭  ⠡ ᮢ;        |
    |    ᤥ    ਮ;                 |
    |    ᫨ (ਮ⠭   ᪠ 뢠)      |
    |    {                                                       |
    |       믮 ४祭 ⥪;                    |
    |       /*  ⮣    믮,    |
    |           "஡㦤" */                           |
    |       ᭨ ਮ ࠡ  ⠪, ⮡  |
    |        ࠧ 뢠 ( 뫮  ਮ⠭ -  |
    |        );                                             |
    |        (0);                                      |
    |    }                                                       |
    |                                                            |
    |    /* ਮ⠭  ਭ 뢠, 맢  |
    |       ᨣ */                                         |
    |    ᫨ (    ⭮襭    ᨣ)|
    |    {                                                       |
    |       믮 ४祭 ⥪;                    |
    |       /*  ⮣    믮,    |
    |           "஡㦤" */                           |
    |       ᫨ (    ⭮襭    ᨣ-|
    |        )                                                |
    |       {                                                    |
    |           ⠭ ਮ ࠡ  ⠪,  |
    |                 ਮ⠭ ;     |
    |            (0);                                  |
    |       }                                                    |
    |    }                                                       |
    |    㤠   -। ਮ⠭ - |
    |     ᮢ, ᫨    室 ⠬;                    |
    |                                                            |
    |    ⠭ ਮ ࠡ  ⠪,  |
    |        ਮ⠭ ;                     |
    |    ᫨ (ਮ ਮ⠭      |
    |     ਭ ᨣ)                                     |
    |        (1);                                      |
    |      longjump;                            |
    | }                                                          |
    +------------------------------------------------------------+
             㭮 6.31.  ਮ⠭ 

                                    172



        6.6.2  ਮ⠭   믮


     㭪 6.31 ਢ  ਮ⠭ . 砫  -
蠥  ਮ ࠡ  ⠪, ⮡ ஢  뢠,
   (⥬ ᮧ ७樨)   ࠡ    ।ﬨ
ਮ⠭  ᮢ,     ਮ, ⮡ ⠭-
 ,  믮  㤥 .  砥 -
 "ਮ⠭",  ਮ⠭  ਮ   ⠡-
 ᮢ,   頥  -। ਮ⠭  -
ᮢ.   ⥩襬 砥 ( ਮ⠭  ᪠ 뢠) 
믮 ४祭 ⥪  筮 "믠".    ਮ-
  "஡㦤",  稭 ஢  : -
 頥 ࠭  ⬥ sleep ⥪, ⠭ -
 ਮ ࠡ  (     砫 믮 -
⬠)  頥 ࠢ .

    +------------------------------------------------------------+
    |  wakeup   /*  ਮ⠭ -  |
    |                       */                              |
    | 室 ଠ:   ਮ⠭                     |
    | 室 ଠ:                            |
    | {                                                          |
    |     ਮ ࠡ  ⠪ ࠧ, -|
    |      ஢  뢠;                       |
    |     -। ਮ⠭ ᮢ  㪠|
    |     ᮬ ਮ⠭;                                   |
    |     ( , ਮ⠭  㪠  |
    |     )                                                |
    |    {                                                       |
    |       㤠   -।;                      |
    |       ᤥ   ⮬,   室  -|
    |        ﭨ "⮢  ";                        |
    |          ᯨ᮪ ᮢ, ⮢  -|
    |         ( ஢騪 ᮢ);                    |
    |        , ᮤঠ饥  ਮ⠭,  |
    |        ⠡ ᮢ;                                  |
    |       ᫨ (  㦥  )                  |
    |             믮 ணࠬ 窨 (㫥-|
    |              );                                  |
    |        ⨢ 砥                                   |
    |       ᫨ (塞   室  -  |
    |        , 祬 뭥 믮騩)                   |
    |            ⠭ ᮮ⢥騩 䫠  ஢- |
    |             ;                                            |
    |    }                                                       |
    |    ⠭ ࢮ砫 ਮ ࠡ ;|
    | }                                                          |
    +------------------------------------------------------------+

    㭮 6.32.   ਮ⠭ 


    ⮡  믮 ਮ⠭ ᮢ,  頥
  wakeup (㭮 6.32), 祬     ६ ᯮ
⬮ ॠ樨 ⠭ ⥬ 㭪権, ⠪   砥 ࠡ-
 뢠.  iput, ਬ, ᢮ ஢  

                                    173

  믮   ᮢ,   ஢. 筮
⠪   ணࠬ ࠡ⪨ 뢠    ᪠    믮
ᮢ,  襭 -뢮.  ⬥ wakeup  ᭠-
 蠥 ਮ ࠡ , ⮡ ஢ 뢠. -
⥬   , ਮ⠭  㪠 , 믮-
  ᫥騥  ⢨:  ⪠  , 뢠饬 ﭨ -
,  ⮬,   ⮢  ;  㤠  ᯨ᪠  -
⠭  ᮢ  頥  ᯨ᮪ ᮢ, ⮢  ;
   ⠡ ᮢ, ᮤঠ饥    ਮ⠭,  頥.
᫨  塞      㦥  ,  ᪠ 
窨, ᯥ稢騩  塞     (-
㬥 ⥬,  ன 窠 ࠭  饭  ন-
);   ⨢ 砥, ᫨ 塞   室  -
, 祬 뭥 믮騩,  ⠭  ஢騪 ᯥ-
 䫠, ᮮ騩  ⮬,    饭    ०  
᫥  ன १  ஢ ( 8). ,  -
 ࢮ砫 ਮ ࠡ .  ⮬      
뢠    : "஡㦤" (wakeup)   뢠
  ᯮ;    "஡㦤",    ⠭
⮫쪮 㯭  ᪠.
    ,  祬 ਫ , ᠥ ⥩襣  믮 -
⬮ sleep  wakeup, ᪮ ।,   ਮ⠭-
    㯫  ᮮ⢥饣  ᮡ.    
ਮ⠭   ᮡ⨩,  "" 㯨, ਬ,
  ᢮  (ᮢ  ஢)    -
襭 -뢮, 易  ᪮. ७     㥬
 ᭮  ⮬,      ।⠢
⮫쪮  ६ 짮.   ,    ਮ-
      ᮡ,   㢥७   㯫
᫥,  ⠪ 砥        砥
 ᥡ ࠢ  த 믮.      
  蠥  "ᮭ"  ਮ⠭ , 뫠  ᨣ.
 ஡  ᨣ  ਬ  ᫥饩 ;      ਬ
饭,    (롮筮)  ਮ⠭ 
 ᨣ     ᯮ 砥 ᨣ.
    ਬ, ᫨  ⨫  ⥬ 㭪樨 ⥭  ନ,
  㤥  ﭨ 믮     ,  짮-
⥫          ନ ( 10).   ,
짮⥫, ⨢訩 ,  ⠢ ନ   , 
⮬  ⠭ ਮ⠭   ,   ନ  
  㣮 짮⥫. ᫨ 㣮 짮⥫ ਡ  -
⥫ ࠬ (⠪  몫祭 ନ),     -
 ⠭ ⪫祭 :  ⢥ ࢮ 蠣  ᫥
  ਮ⠭    ᨣ.  ⮬,   
ਮ⠭  ⥫쭮 ६,   祣  宣.  ਮ⠭
     ⠡ ᮢ   ⮬ 㤫 ६
᪠ () ⥬ 믮 । ⬮,   -
 ६ 業ࠫ쭮   ⮬ 믮  ࠪ᪨  -
⭮.
    ⮡  - ࠧ  ᮡ ﭨ ਮ⠭,  ⠭-
  ਮ⠭  ( 室   ﭨ)  ਮ-
 ஢  ᭮ ᮮ⢥饣 ࠬ ⬠ sleep. 
  ᪠  sleep  ࠬ஬ "ਮ",  ஬ -
 稥 㢥७   㯫  ᮡ. ᫨
ਮ  ॢ蠥 ண 祭,   㤥 ०६ -
室  ਮ⠭  祭 ᨣ,  㤥 த   -
㯫 ᮡ. ᫨  祭 ਮ  ண,  㤥
   祭 ᨣ (****).


                                    174

---------------------------------------
(****)    ""    ""  塞 ନ "᮪ ਮ" 
       " ਮ".    ࠪ⨪  ਮ    
       ᫠,      祭  ࠧ㬥  ᮪
       ਮ.

    ஢ઠ ⮣,    㦥 ᨣ  室     sleep,
  ᭨, ਮ⠭   ࠭. ਬ, ᫨ -
祭 ਮ  맮 ⬠ sleep ॢ蠥 ண 祭, -
 ਮ⠭   믮 ⬠ wakeup. ᫨  -
祭 ਮ  ண, 믮   ਮ⠭,
  ᨣ  ॠ 筮 ⠪ ,  ᫨     ਮ⠭-
.  ᫨      ஢ 稥 ᨣ । ਮ⠭, 
᭮,  ᨣ   㯨    ⮬ 砥    -
  .
        "஡㦤"    ᨣ (    室 
ﭨ ਮ⠭ -  ᨣ),   믮  
longjump ( ᨬ  稭,  ன   ਮ⠭). 
  ⬠ longjump  ⠭ ࠭ ࠭ ⥪,
᫨    믮塞 ⥬ 㭪. ਬ, ᫨
 ⮣,  짮⥫ ⪫稫 ନ, 뫮 ࢠ ⥭  
ନ, 㭪 read  㤥 襭,   ਧ 訡. 
ᠥ  ⥬ 㭪権,    ࢠ  ६ ਮ-
⠭. ᫥ 室  ਮ⠭   ᬮ ଠ쭮  த-
,  ᪮  ᮡ⨥  㯨. । 믮 設⢠
⥬ 㭪権    ࠭  ⥪  ,  ᯮ  
setjump  뢠 ⥬ ᠬ 室  ᫥饬 믮 ⬠
longjump.
      樨,   ॡ, ⮡   
祭 ᨣ,   믮  longjump.   ᪠  -
  sleep   ᯥ樠 祭 ࠬ "ਮ", 騬 -
 ⬠ longjump  ⠢騬   sleep    ,
ࠢ 1.    䥪⨢  ࠢ   믮
⬠  setjump  ।  맮 sleep  ᫥騬 믮 ⬠
longjump  ⠭ ࢮ砫쭮 ⥪ .   -
砥    ⮬,  ⮡       .
ࠩ ன⢠, ਬ,  뤥 ᢮    
ਮ⠭  ਮ⮬, ᪠騬 뢠; ᫨   ᨣ  
ࠡ ,  ᢮ 뤥 ,  ⥬ 믮-
    longjump,  ᫨  室. 짮⥫   
ப஫஢, 믮    longjump; 믮  ⮣
⬠   稭 ਮ⠭ ,  ⠪  ⮣, ॡ
    ᥭ  । 室  ⥬ 㭪-
樨.


        6.7 

      訫  ᬮ७  ⥪ .   ⥬ UNIX
 室  ࠧ ᪨ ﭨ  室  ﭨ
 ﭨ  ᮮ⢥⢨  ⠭묨 ࠢ 室,  ⮬ -
ଠ  ﭨ ࠭  ⠡ ᮢ   ᭮ ࠭-
⢥ . ⥪  ⮨    짮⥫᪮  ⥪  
⥬  ⥪. 짮⥫᪨ ⥪ ⮨  ணࠬ -
, , ⥪   ⥩ ࠧ塞 ,  ⥬ ⥪
⮨  ᪮  (  ⠡ ᮢ, ᭮ ࠭-
⢮   ଠ, 室  ⮡ࠦ ᭮ ࠭-
⢠)  ᪮  (⥪   ࠭ ﭨ ॣ஢  -
饣  ⥪⭮ ஢ ⥬),    ⥪  롨-

                                    175

  ⥪  믮 ᮬ 饭  ⥬ 㭪, 
ࠡ⪥ 뢠   ४祭  ⥪.  짮⥫᪨  -
⥪   ᯠ  ⤥ ,  ।⠢ ᮡ
뢭 ⪨ 㠫쭮 ᭮ ࠭⢠  ࠪ  -
⥫ ꥪ ᯮ짮  .    ࠢ  ,
 ᯮ짮  ᠭ ଠ 㠫쭮 ᭮ ࠭-
⢠ , । 稥     ᢮ ⠡-
 ࠭.  ᯮ 楫 ஬ ࠧ ⬮  ࠡ 
ﬨ.   ⥫쭮   뫨 ᬮ७  ਮ-
 (sleep)   (wakeup) ᮢ.   , -
ᠭ   ,  ᯮ짮  ᫥     -
७  ⥬ 㭪権 ࠢ ᠬ  ஢  믮-
,  ⠪  ᭥ ࠧ ⮤ । .


        6.8 

  1. ⠢  ८ࠧ 㠫 ᮢ  䨧᪨,  
     室 ண  㠫    窨 室  
     ⠡ ⥩.
  2.    設 AT&T 3B2  NSC ਨ 32000 ᯮ ஢ 奬
     ࠭樨 㠫 ᮢ  䨧᪨ ( ᥣ樥).   
     ⥬ ন 㪠⥫  ⠡ ࠭,    -
     ன   ᮢ 䨪஢  ᭮ ࠭⢠ -
       ᬥ饭  ⠡. ࠢ   ࠭樨  㠫
     ᮢ    設  ⬮,   ⥪  㦤-
       ࠢ . 㬠  ஡  ந⥫-
       ॡ    ࠧ饭 ᯮ⥫ ⠡.
  3.  ⥪ ⥬ VAX-11 ন   ॣ஢ 
     , ᯮ㥬 設   ࠭樨 짮⥫᪨ -
     ᮢ. 堭 ࠭樨 ᯮ  ,    ।饬 -
     ,   ᪫祭: 㪠⥫  ⠡ ࠭  . -
         ᯮ  ६ ﬨ - ,   ⥪ - 
      ࠧ, ᯮ      ॣ஢,  ᫥  ந
     ⮡ࠦ ⥩  ⠡ ࠭ ? 祭 ⥪  ⥪-
      ⥬ VAX-11   ࠢ  㠫 ᮢ. 
     ⮣     ⥪ ?   11 㤥 ᬮ७ 
     ࠧ塞 :     ॠ  ⥪ -
      VAX-11 ?
  4.  ⠢    뤥   ᢮ ࠭   ⠡
     ࠭.    ᫥ ᯮ짮, ⮡  -
    襩 ந⥫쭮  襩  ॠ樨 ⬠?
  5. ன⢮ ࠢ  MC68451    ᥬ⢠  ய஢
     Motorola  68000  ᪠  뤥  ᥣ⮢  ࠧ஬  256
       16 .  (䨧᪮) ன⢮ ࠢ  
     ন  32 ਯ ᥣ⮢.  䥪⨢ ⮤ 뤥-
        ⮣ .  ࠧ ⢫﫠  ॠ-
      ⥩ ?
  6. ᬮਬ ⮡ࠦ 㠫 ᮢ, ।⠢    㭪
     6.5.  ।,      㦠  ( ⥬  窮
     ᮢ)  ⪠稢   ⥪ 讥 ⢮ ࠭ (
     ⥬  饭 ࠭). ᫨ १ - ६   -
        㠫쭮  68432, 㤥      -
     ⢥饩 祩 䨧᪮ ,  ன   뢠  
       ⮣,   뫠 믮  㧪 (⪠窨) ? ᫨ 
     ஢ ⥬ ࠢ  ॠ  ᯮ짮  ⠡
     ࠭,  ᫥   ⠡ ᯮ   ,   ᠬ -
     ,  䨧᪮  ?
 *7.  ॠ ⥬,  ன ⥪  ᯮ  -

                                    176

      ⥪ . 㬠  ⮨⢠  ⪠   -
     ⥬.
  8.  ࠧ, ᮥ   ,   ஢ ,
            뢠  㠫  ⥩, 㦥
     ᮥ   ?
  9. ⨬   ४祭 ⥪. ⨬,     ⥬
     ⮢   믮 ⮫쪮  . 㣨 ᫮,  롨ࠥ
      믮   ⮫쪮  ࠭ ⥪⮬.  ᭨,
      ந  ⮬.
 10.  ।,     ਮ⠭,   ⥬  ᮢ,
     ⮢  믮.  ந,   ਮ⠭訩  
     ४ ⥪ ?
 11. ।,  , 믮塞  ० , 室 -
           ६   १ 뢠  ⠩ 
     롨ࠥ  믮  . ᭨,  祬  ४祭
     ⥪ ந  ⥬ ⥪⭮ ஢ 2.
 12.    ⥬   饭 ࠭ , 믮塞  ० ,
      ⮫  ⢨ 㦭 ࠭,   뫠 -
       .  室 ࠡ⪨ 뢠  뢠  ࠭  
       窨   ਮ⠭. ᭨, 祬 ४祭
     ⥪ (  ਮ⠭) ந    ⥬  ⥪⭮
     ஢ 2.
 13.  ᯮ ⥬ 㭪 read  ଠ⮬ 맮
     read(fd,buf,1024);
       ⥬  饭 ࠭ . ।,   ᯮ
      read  뢠   ⥬ ,     -
     ⪥  ஢   ᭮ ࠭⢮  ⠫ 
     ⢨ 㦭 ࠭, ᮤঠ饩  buf, ᫥⢨ ⮣,
       뫠 ࠭ 㦥   .    ࠡ뢠  襥
     뢠, 뢠  ࠭  .  ந室 
       ⥬ ⥪ ஢ ?  ந, ᫨ ணࠬ-
      ࠡ⪨ 뢠 ਮ⠭   襭 뢠
     ࠭ ?
 14.    ந諮  ,  ᫨    ६ ஢   ᭮
     ࠭⢠     (㭮 6.17) 㦨,  㪠-
      짮⥫  ७ ?
*15.  믮 ⬮ sleep  wakeup  蠥 ਮ ࠡ
      ⠪, ⮡   뢠, ९ . 
     ⥫ ᫥⢨   , ᫨    ।-
       ⢨ ? (:      ਮ⠭-
       אַ  ணࠬ ࠡ⪨ 뢠).
*16.  ।,   ⠥ ਮ⠭  㯫 ᮡ-
      A, , ᪠  sleep,   ஢ 뢠; -
     ⨬,     ந室 뢠  ணࠬ    -
     ⪨  ⠥   , ਮ⠭  㯫-
      ᮡ A.     ᮬ ?  ।⠢  
      ᭮ ? ᫨ ,        -
      ?
 17.   ந, ᫨    wakeup   ᮢ,
     ਮ⠭   A,   ६,   ⮬   -
        ਮ⠭  ?
 18.     ਮ⠭ ⢮ ᮢ,   -
      ॡ  ⮫쪮    - ,  
     㤥 ᫠ ᮮ⢥騩 ᨣ.   堭 뫪 ᨣ-
       ஢ ⤥ . 㬠,  -
       ᫥  ந   ⬥ wakeup  ⮣, ⮡  뫮
      믮 ⮫쪮  ,       ᮢ,
     ਮ⠭   .
 19. 饭    ⬠  sleep    wakeup  ⥬ Multics

                                    177

      ᫥騩 ᨭ⠪:
     sleep (ᮡ⨥);
     wakeup (ᮡ⨥, ਮ);
      ࠧ,  ⬥ wakeup 塞  ᢠ-
      ਮ. ࠢ  맮  ⬮  ମ 맮 -























































                                    178
