<title>Unix overview CHAP08</title>



     8

             




      ⥬  ࠧ ६  ।⠢   業-
ࠫ쭮  ()  ࢠ ६, 뢠 ⮬,  -
 ண 㦠    ᪠ 㣮, ਮ᪨  -
冷稢  ।  ᮢ.    ஢ ᮢ  ⥬
UNIX ᯮ ६ 믮  ⢥ ࠬ.  ⨢  -
    ਮ  ஢;  ४砥 ⥪   
訬 ਮ⮬.  室 믮饣   ०  
०   뢠  ਮ, ਮ᪨   ० -
 ⠭ ਮ  , ⮢  믮.
    ଠ  ६, 易  믮, 㦭 ⠪    
 짮⥫᪨ ᮢ: ᯮ㥬 , ਬ,  time -
  㧭,  ᪮쪮 ६  믮 㣮 , 
date 뢮 ⥪   ६ ⮪.   ࠧ ⥬ 㭪-
権   ⠭   ६  ࠪ⨪  -
  ० ,  ⠪ ⥯ 㦥 業ࠫ쭮 -
. ६  ⥬ ন    ᮢ,  -
    뢠    䨪஢, ⭮-ᨬ ⮩, 筮
50-100 ࠧ  ᥪ㭤.  㯫 뢠  ⠩ (ᠬ)  -
 ⠩ ⨪.  饩  ᬠਢ ᮡ ॠ-
樨  ᮢ   ६,  ஢ ᮢ  ⥬ UNIX,
ᠭ 易  ६ ⥬ 㭪権,  ⠪ 㭪権, 믮-
 ணࠬ ࠡ⪨ 뢠  ⠩.


        8.1   

    ஢騪 ᮢ  ⥬ UNIX ਭ  饬   -
஢騪,   ࠡ    ਭ樯  "ᥫ    ஢  ⭮
".  ᮮ⢥⢨  ⨬ ਭ樯  ।⠢  
   ६,  祭 ண 㦠     -
頥        ᪮쪨 ।, ॣ㫨㥬 ਮ⠬. ०
祬  ,   ॡ ⢮ ࠧ  ன  १
横   ⭮ .   믮 ४祭 ⥪  -
⠭ ⥪ ,   믮  窨  -
⠭.

        8.1.1 

    ࠧ  ᫥ ४祭 ⥪  ᪠  ஢
믮 ᮢ (㭮 8.1), 롨  믮    -
訬 ਮ⮬ । ᮢ, 室  ﭨ "१ࢨ஢" 
"⮢    믮,  㦥  ". ᬠਢ -
,  㦥  ,   ᫠, ᪮    -
,    믮. ᫨ 訩 ਮ  ࠧ -
쪮  ᮢ, , ᯮ ਭ樯 楢 ᯨ᪠ (ᥫ), -
ࠥ ।   ,  室   ﭨ  "⮢  
믮"  ⠫. ᫨    ᮢ    ࠭
  믮,   ⠨   祭 ᫥饣 뢠,
஥ ந   祬 १  ⠩  ⨪;  ᫥  ࠡ⪨
⮣ 뢠  ᭮   ஢.


                                    232

    +------------------------------------------------------------+
    |  schedule_process                                  |
    | 室 ଠ:                             |
    | 室 ଠ:                            |
    | {                                                          |
    |    믮  ( ᪠  㤥 ࠭   -|
    |     ᮢ)                                                |
    |    {                                                       |
    |        (   । ⮢  믮)|
    |              訬 ਮ⮬  -|
    |              ;                                |
    |       ᫨ (   ᮢ    ࠭   |
    |        믮)                                         |
    |           ਮ⠭ 設;                            |
    |           /* 設 室  ﭨ   - |
    |           /*                                          |
    |            */                                              |
    |    }                                                       |
    |    㤠 ࠭   । ⮢  믮- |
    |     ;                                                   |
    |    ४  ⥪ ࠭ , - |
    |       믮;                                   |
    | }                                                          |
    +------------------------------------------------------------+

       㭮 8.1.  ஢ 믮 ᮢ




        8.1.2 ࠬ ᯥਧ樨

          ⠡  ᮢ   ਮ, ᯮ㥬
஢騪 ᮢ. ਮ   ०    ⮣,
   । ⨬ ᯮ짮  .  뤥  -
 ਮ⮢  (㭮 8.2): ਮ 믮  ०  
ਮ 믮  ० .   砥  ᥡ  -
祭,   祭 ᪨ 樨஢  ।  -
ᮢ. ਮ 믮  ०  業  ᮢ, -
  饭  ०   ० , ਮ 믮 
०      ⮫쪮  ⥪ ⬠ sleep. ਮ -
  ०   孥 ண 祭, ਮ 믮-
  ०    ண 祭. ।  ਮ⮢  -
    ०      뤥 ᮪   ਮ:
   ਮ⮬   祭 ᨣ,  -
  ᮪ ਮ⮬ த ⠢  ﭨ ਮ⠭  (.
ࠧ 7.2.1).
    ண 祭  ਮ⠬ 믮  ०   
  㭪 8.2 ⬥祭  , 室饩  ਮ⮬ -
 襭 ⮬ ( ० )  㫥  ਮ⮬  믮  
०  . ਮ  窨,  -뢮, 易-
  ᪮,      ᮪,   ᪠騬
뢠  ⥬묨  ਮ⠬,     易 । 
1, 3, 2  1 , ᮮ⢥⢥,    ६    ਮ  
  ନ, 뢮  ନ  襭 ⮬  ,
᪠騬 뢠 ⥬묨 ਮ⠬,     易
।  4, 0  2 ᮢ, ᮮ⢥⢥.  㭪 ।⠢ ⠪
஢ ਮ⮢ 믮  ०  (*).
      ਮ   ᫥ :

                                    233

---------------------------------------
(*) 訬 祭 ਮ  ⥬  㫥 祭.  -
     ࠧ, 㫥 ਮ 믮  ०   ਮ-
    , 饣 祭, ࠢ 1,  ..

  *  ।⢥  ।  室   ﭨ ਮ⠭ 
    砥  ਮ 室  稭 ਮ⠭. ਮ   -
        ᪨  ࠪ⨪   (த⥫쭮 -
    -뢮  ६ ), ⨢,  ﭭ 稭,  ⪮
    ⠭   ਮ⠭   ⮫쪮  稭 -
    室    ﭨ. , ਮ⠭ ⬠
     ஢,  ⥭ ஦ ⥬  㧪   -
    ,  祬     室  ⮬ ﭨ; ⮬  砥
     ᮪ ਮ  ࠢ  ⠫묨 ᠬ.  ਬ,
    , ਮ⠭   襭 -뢮, 易
     ᪮,   ᮪ ਮ  ࠢ  ᮬ, -
    騬 ᢮ ,  ᪮쪨 稭. ० ᥣ,  ࢮ-
       㦥  , ⮬  ᪫祭 ,  
     ,  ᯥ ᢮  ,    㣨  .  
      ᮢ  ᢮, ⥬  蠭ᮢ   
    ஢ ᮢ. ⥬  ਤ  ४

ਮ 믮     ஢ ਮ⮢     
     ० 
     |                 +----------------------+
     |                 |               | +--+
     |                 |       窨       |-+  |
     |  ᪠騥  +----------------------+ +--+
     |                 | -뢮,| +--+ +--+ +--+
     |   뢠    | 易  ᪮  |-+  +-+  +-+  |
     |                 +----------------------+ +--+ +--+ +--+
     |                 |              | +--+ +--+
     |                 |                |-+  +-+  |
     |                 +----------------------+ +--+ +--+
     |                 |              | +--+
     |                 |               |-+  |
     |                 +----------------------+ +--+
     |                 +----------------------+
     |                 |    -| +--+ +--+ +--+ +--+
     |                 |                |-+  +-+  +-+  +-+  |
     |   ᪠騥   +----------------------+ +--+ +--+ +--+ +--+
     |                 |   뢮   |
     |   뢠    |       ନ       |
     |                 +----------------------+
     |                 |  襭  | +--+ +--+
     |                 |        ⮬       |-+  +-+  |
     v                 +----------------------+ +--+ +--+
ண ਮ    +----------------------+
     ^                 |   ஢  0   |
     |                 +----------------------+ +--+ +--+ +--+ +--+
     |                 |   ஢  1   |-+  +-+  +-+  +-+  |
     |                 +----------------------+ +--+ +--+ +--+ +--+
     |                 |          -           |
     |                 |          -           |
     |                 +----------------------+ +--+
ਮ 믮  |   ஢  n   |-+  |
    ०      +----------------------+ +--+

             㭮 8.2.  ਮ⮢ 

                                    234


    ⥪,   祬 ᮪ ६ ॠ樨   㢥
    ந⥫쭮 ⥬. -, , ᢮ ண -
     ,    ᮬ, 騬  ᢮  ।  -
    襭 -뢮.  襭 -뢮   
    ,  ᪮  뫨 ਮ⠭    ⮬  .
    ᫨    믮 , 騩 ᢮  -
    ,      砥 ᭮ ਮ⠭   ,   
    㤥 ᢮; ᫥⥫쭮,  ਮ   .
  *  饭   ०   ०     -
      ਮ  .      ⮣ 室  ﭨ
    ਮ⠭,  ᢮ ਮ  ਮ 믮  ० -
    , ⮬  室   ०   ०   -
      饭 ਮ 믮  ० . ஬ ⮣, -
     "" 믮騩    ⠫ ᮢ,  ⡨-
     ᯮ㥬  業 ⥬ .
  *  ਮ    ᮢ  ०   ࢠ  1 ᥪ㭤 (
    ᨨ V) 뢠 ணࠬ ࠡ⪨ 뢠   ⠩,  -
    㦤  ⥬  ᠬ  믮  ஢, ⮡  -
     쭮 ᯮ짮 ᮢ   ᮬ.

     祭  ६ ⠩  ᫠  ᪮쪮  -
;    뢠 ணࠬ ࠡ⪨ 뢠  ⠩ 㢥-
稢 祭, ࠭饥   ⠡  ᮢ,  ஥  뢠
த⥫쭮  ᯮ짮  ᮢ  業ࠫ쭮  (). 
ᨨ V  ᥪ㭤  ணࠬ  ࠡ⪨  뢠  ⠭
祭 ⮣ , ᯮ 㭪 ᯠ (decay):

    decay() = /2;

᫥ ⮣ ணࠬ 뢠 ਮ  , 室饣
 ﭨ "१ࢨ஢,  ⮢  믮",  㫥

    ਮ = (/2) + ( ஢ ਮ )

    " ஢ ਮ "  ண 祭,
ᯮ  ਮ⠬ 믮  ०   . ᮪-
 ਮ ஢ ᮮ⢥ ⢥  祭. -
 㭪権  த⥫쭮 ᯮ짮 ᮢ    ਮ-
    뢠:  祬  ᪮ ᯠ 祭 , ⥬
 ਮ  ⨣  祭    ஢;  ⮬
    ﭨ  "⮢    믮"  ⥭ 
讥 ᫮ ஢ ਮ⮢.
    ⮬ ᥪ㭤    ਮ⮢    ६饭
ᮢ, 室  ० ,   ।  㣮,  -
    㭪  8.3.   ࠢ  㭪 8.2   襫 
।, ᮮ⢥饩 ஢ 1,  ।, ᮮ⢥ 㫥 ஢-
.  ॠ쭮 ⥬  , 騥 ਮ 믮   ०
, 﫨  ᢮ ⮯  ।.  ⮬ ᫥ 㪠
   ਮ   ० ,  ⠪  -
  祭 ண  ᠬ, 믮騬  ०
,   ,      樮 ⥬   ३-
  ﭨ ਮ⠭.
     ६ ந  ਮ⮢  ⨢  ᮢ
ᥪ㭤,  ࢠ  ⠬   ᫥ -
.  ᫨  뢠    ⠩ 㯨 ⮣,   ᯮ﫮
᪨ १ ணࠬ (㣨 ᫮,   ६,   ਮ
ࠡ     襭, , 祢,  ⮫쪮, ⮡ ९⢮


                                    235

뢠  ⨯),   뢠 ਮ,    -
    ঠ  ᪮ १.  ⮣  -
 ,   ᫥ ந  ਮ⮢,    
ࢮ  뢠  ⠩, 㯠饬 ᫥ ᭨ ਮ ࠡ-
 . ਮ᪨  ਮ  ᮢ  ࠭  ஢
⥣  ஢,  ᭮  ᯮ짮 楢 ᯨ᪠ -
ᮢ, 믮  ० .  ⮬ 筮    ⪫
  ࠪ⨢   ⠪ ணࠬ,  ⥪⮢ ।  ண-
ࠬ ଠ⭮ : ,  ॠ騥,  ᮪  樥
  (⭮襭  ६   த⥫쭮 ᯮ짮 ) 
⮬ ⢥ 뫮    ਮ,   ⮢   -
  (.  [Thompson  78],  .1937).  㣨 堭 ஢
 ६, 뤥塞   ࠡ  ᠬ , ᪨ -
  ࢠ  0  1 ᥪ.  ᨬ  ⥯ 㧪 -
⥬.  ⮬ ६ ॠ樨   ᮢ 

ਮ 믮     ஢ ਮ⮢     
     ० 
     |                 +----------------------+
     |                 |               | +--+
     |                 |       窨       |-+  |
     |  ᪠騥  +----------------------+ +--+
     |                 | -뢮,| +--+ +--+ +--+
     |   뢠    | 易  ᪮  |-+  +-+  +-+  |
     |                 +----------------------+ +--+ +--+ +--+
     |                 |              | +--+ +--+
     |                 |                |-+  +-+  |
     |                 +----------------------+ +--+ +--+
     |                 |              | +--+
     |                 |               |-+  |
     |                 +----------------------+ +--+
     |                 +----------------------+
     |                 |    -| +--+ +--+ +--+ +--+
     |                 |                |-+  +-+  +-+  +-+  |
     |   ᪠騥   +----------------------+ +--+ +--+ +--+ +--+
     |                 |   뢮   |
     |   뢠    |       ନ       |
     |                 +----------------------+
     |                 |  襭  | +--+ +--+
     |                 |        ⮬       |-+  +-+  |
     v                 +----------------------+ +--+ +--+
ண ਮ    +----------------------+ +--+
     ^                 | ஢  0     |-+  |<- - - - - -+
     |                 +----------------------+ +--+            -
     |                 |                      | +--+ +--+ +--+ ++-+
     |                 |   ஢  1   |-+  +-+  +-+  + +  |
     |                 +----------------------+ +--+ +--+ +--+ +--+
     |                 |          -           |
     |                 |          -           |
     |                 +----------------------+ +--+
ਮ 믮  |   ஢  n   |-+  |
    ०      +----------------------+ +--+

    㭮 8.2.  室    ।  


᮪   ⮣,     ᪠ ᠬ  㦥  
㦭  ⢮   楫 ᥪ㭤; ,  㣮 ஭,  室
 ਡ  ४祭 ⥪⮢.

                                    236


        8.1.3 ਬ ᯥਧ樨 ᮢ

     㭪 8.4    ਮ⮢ ᮢ A, B  
C   ᨨ V  ᫥ 饭:    뫨 ᮧ  -
砫 ਮ⮬ 60,   訬 ਮ⮬  믮-
   ० , 뢠  ⠩ 㯠 60 ࠧ  ᥪ㭤, -
  ᯮ 맮 ⥬ 㭪権,  ⥬  㣨 ᮢ,
⮢  믮.   ᯠ ⥫   㫥:


    ६      A          B          C
      |    ਮ    - ਮ    - ਮ   
  0 --+--                  -                 -
      |    60           0  - 60           0  - 60           0
      |                 1  -                 -
      |                 2  -                 -
      |                   -                 -
      |                   -                 -
  1 --+--               60 -                 -
      |    75           30 - 60           0  - 60           0
      |                    -              1  -
      |                    -              2  -
      |                    -                -
      |                    -                -
  2 --+--                  -              60 -
      |    67           15 - 75           30 - 60           0
      |                    -                 -              1
      |                    -                 -              2
      |                    -                 -              
      |                    -                 -              
  3 --+--                  -                 -              60
      |    63           7  - 67           15 - 75           30
      |                 8  -                 -
      |                 9  -                 -
      |                   -                 -
      |                   -                 -
  4 --+--               67 -                 -
      |    76           33 - 63           7  - 67           15
      |                    -              8  -
      |                    -              9  -
      |                    -                -
      |                    -                -
  5 --+--                  -              67 -
      |    68           16 - 76           33 - 63           7
      |                    -                 -
      |                    -                 -

           㭮 8.4. ਬ ᯥਧ樨 ᮢ


     = decay() = /2;
 ਮ   㫥:
    ਮ = (/2) + 60;

᫨ ।,   ᪠  A    뤥  
६,    믮   祭 1 ᥪ㭤:   ६ ⠩ 뫠
⥬ 60 뢠  ⮫쪮  ࠧ ணࠬ ࠡ⪨ 뢠 㢥-
稢   A 祭 , ᮤঠ饣 ⥫  ( 0  60).

                                    237

 ⢨ ᥪ㭤  ४砥 ⥪ , ந   ਮ-
⮢      ᮢ,  롨ࠥ  믮  B.  祭
᫥饩 ᥪ㭤 ணࠬ ࠡ⪨ 뢠  ⠩ 60 ࠧ  蠥
祭        B, ᫥ 祣  뢠 ࠬ
ᯥਧ樨   ᮢ   ४砥  ⥪.  楤
 ⭮, ᮯ஢ । ᪮ ᮢ  -
.
      ᬮਬ   ਮ⠬, ਢ묨  㭪 8.5,
 ।,   ⥬   㣨 .   㧨
 A, ⠢   ﭨ "⮢   믮",  ᫥  ⮣,
    ᪮쪮 ⮢ ६  ࠡ    ᭨ -
  ࠧ ᢮ ਮ 믮  ०  (㭮 8.5). १
஥ ६ ᫥ ᪠  A  ﭨ "⮢   믮-
"   ३  B, ਮ ண     
ਮ  A (㭮 8.5). ᫨    ६  ஢-
  믮  㣮  ( ,       㭪),
   (A  B)   ⥫⢠   ஥ ६
   ஢ ਮ⭮,    B      
஢  - ⮣,   ࢮ砫 ਮ   (-
  8.5  8.5).   ,    A ।  B,
᪮  A 室  ﭨ "⮢    믮"  
⥫쭮  ६ (㭮 8.5) -  饥 ᫮, ᫨ 롮 ந-
  ᮢ  묨 ਮ⠬.
     ࠧ 6.4.3 㦥 ਫ  ⮬,   ᪠    -
 ᫥ ४祭 ⥪: ० 祬 ३  ﭨ ਮ-
⠭      ᢮ 믮   ४ ⥪,
஬ ⮣    ४ ⥪     室  
०     ० .  㦠 ,  ᮡࠥ -
३  ० , ᫨  ⮢  믮     -
᮪  ਮ⮬.    , ᫨  뢥  ﭨ
ਮ⠭   ਮ⮬, ॢ騬 ਮ ⥪饣  ,
  ᫨  १ ࠡ⪨ 뢠  ⠩  ਮ
 ⮢  믮 ᮢ.  ࢮ 砥 ⥪騩    -
  믮   ० , ᪮     ᮪
ਮ⮬ 믮  ० .  ஬ 砥  ணࠬ  ࠡ⪨
뢠    ⠩ 蠥,   ᯮ짮 뤥  
६,  ᪮ ⢮ ᮢ  ⮬    ᢮  ਮ,
 믮 ४祭 ⥪.


        8.1.4 ࠢ ਮ⠬

      ࠢ ᢮ ਮ⠬   ⥬ 㭪樨
nice:

    nice(value);

 value - 祭,    ਡ塞  ਮ-
 :

    ਮ = (/⠭) + ( ਮ) + (祭 nice)

⥬ 㭪 nice 㢥稢  㬥蠥 祭  nice  ⠡-
 ᮢ  稭 ࠬ 㭪樨,  ⮬ ⮫쪮 㯥௮짮-
  㪠뢠 祭, 㢥稢騥 ਮ . ஬ -
,  ⮫쪮 㯥௮짮⥫  㪠뢠 祭, 騥  ।-
 ண. 짮⥫, 뢠騥 ⥬ 㭪  nice    ⮣,
⮡   ਮ  ६ 믮 ⥭ᨢ ᫨⥫ -
, "㤮, " (nice)  ⠫ 짮⥫ -

                                    238

          +---------+      +---------+      +---------+
     ^ 60 +---------+      +---------+      +----B----+
     |    +---------+      +---------+      +---------+
     |    +---------+      +----B----+      +----A----+
     +---------+      +---------+      +---------+
  ᮪ +---------+      +----A----+      +---------+
  ਮ- +---------+      +---------+      +---------+
       +----A----+      +---------+      +---------+
     |    +---------+      +---------+      +---------+
     |        ()              ()              ()

          +----B----+      +-A-----B-+      +----B----+
       60 +----A----+      +---------+      +---------+(
          +---------+      +---------+      +---------+
          +---------+      +---------+      +---------+
          +---------+      +---------+      +---------+
          +---------+      +---------+      +---------+
          +---------+      +---------+      +---------+
          +---------+      +---------+      +---------+
          +---------+      +---------+      +---------+
              ()              ()              ()


    㭮 8.5. ஢  ᭮ 楢 ᯨ᪠  ਮ-
                  ᮢ


⥬,   㭪樨.  ᫥ 祭 nice  ᢮ -
⥫  믮 ⥬ 㭪樨 fork. 㭪 nice   ⮫쪮
  믮 ᮢ;     祭 nice  -
 .  ࠪ᪮ 窨 ७  砥,  ᫨  -
 ⥬   ਮ ࠧ ᮢ, ॡ-
    ᢮  믮  ᫨誮  ६,    㤥 㣮
ᯮᮡ ᤥ  , ஬  맢 㭪  㤠  (kill)  
  ࠧ.


        8.1.5 ஢  ᭮ ࠢ ࠧ

    襮ᠭ  ஢    ࠧ  -
⥫ﬨ  ࠧ ᮢ (⥣਩). 㣨 ᫮,  뤥-
 । ᮢ㯭 ᮢ, ਬ,  ᥠ ࠡ 
.   , ⠪     祭    ࣠樨
ࠡ  ᫮ ᫨⥫쭮 業,  㯯 짮⥫  -
  㯨 ⮫쪮  設 ६  ࠭஢ ᭮ 
 ࠭஢ ஢ ॠ樨.      ᬮਬ  奬,  㥬
"஢  ᭮ ࠢ ࠧ" (Fair Share Scheduler)  -
      ᫨⥫쭮   業   Indian  Hill    AT&T  Bell
Laboratories [Henry 84].
    ਭ樯 "஢  ᭮ ࠢ ࠧ" ⮨  
ᮢ㯭 짮⥫  㯯, 騥 ꥪ⠬ ࠭祭, -
뢠  ஢騪  ࠡ ᮢ      㯯.
  ⮬ ⥬ 뤥 ६  ய樮쭮  㯯,  -
  ⮣, ᪮쪮 ᮢ 믮  㯯.  ,  ਬ,  
⥬   㥬 㯯,    㦠  
25%    ᮤন,  ᮮ⢥⢥, 1, 2, 3  4 , ॠ 
,    ᢮    .  ᫮,   -
⥬    㣨 ᮢ,      ᯮ짮
ࠤ樮  ⬠  ஢  稫  10% ६  (᪮

                                    239

ᥣ ᮢ 10       ࠧ稩).  ᯮ짮-
 ⬠ ஢  ᭮ ࠢ ࠧ   -
 㯯    ࠧ  ६   ࠢ     -
ᮬ   ன 㯯,  3 ࠧ   ࠢ   ᮬ 
쥩 㯯   4 ࠧ   ࠢ   ᮬ   ⢥-
⮩.    ⮬  ਬ ᥬ ᠬ  㯯 뤥 ࠢ ६, -
 த⥫쭮 横, ॠ㥬   ᮬ,  ࠭  
⠭.
      ⮩ 奬 쭮 ,     ਢ⥫쭮.
 㫥  ਮ     ନ -  "ਮ-
  㯯 ࠢ ࠧ".  ࠭⢥  ⠪ 
 , 뢠饥 த⥫쭮   ᭮ ࠢ ࠧ-
,    ᮢ  㯯. ணࠬ  ࠡ⪨  뢠  
⠩  㢥稢 祭 ⮣   ⥪饣   ᥪ㭤
뢠 祭 ᮮ⢥    ᮢ    ⥬.
     ᫥ ਮ  ।⠢ ᮡ
ଠ 祭     㯯.      ୮
६  뤥  ᠬ  㯯, ⥬  祭 ⮣ ⥫ 
 ਮ.
     ⢥ ਬ ᬮਬ  㯯 ᮢ (㭮 8.6),   -
        (A),  㣮 -  (B  C). ।, 
  ⨫  믮  A,  祭 ᥪ㭤  㢥稢
ᮮ⢥騥  ⮬  祭 , 뢠 㠫쭮 
㯯 .  १  ਮ⮢  祭 ᥪ㭤  -
 B  C   訥 ਮ. ⨬,   롨ࠥ 
믮  B.  祭 ᫥饩 ᥪ㭤 祭    -
 B   60, 筮 ⠪  祭 ਭ  㯯
   ᮢ B  C.  ࠧ,  祭 ன ᥪ㭤 
C  ਮ, ࠢ 75 (ࠢ  㭪 8.4),    
믮  A  ਮ⮬ 74. 쭥訥 ⢨   ᫥
 㭪:   । ᪠  A, B, A, C, A, B  ..

        8.1.6   ० ॠ쭮 ६

     ॠ쭮 ६ ࠧ㬥  ᯥ祭  -
  ᪮ ॠ樨  譨 뢠  믮 ⤥ ᮢ
 ⥬, ᮨਬ  ⮩  뢠 뢠 ᮡ⨩.
ਬ஬ ⥬, ࠡ饩  ० ॠ쭮 ६,  㦨  -
⥬  ࠢ  ᯥ祭 樥⮢ 쭨,  ॠ
  ﭨ 樥. ,  ⥪⮢ ।ࠬ, 
 ᠬ ॠ쭮 ६:     ॠ    ⢨
짮⥫    ⥫쭮,    室 (祣 譮 
ந, ᫨ 짮⥫, 믮騩 ।஢  ⥪,  
⢥  ᪮쪮 譨 ᥪ㭤,   짮⥫     
 ᢮ ᮮࠦ). 襮ᠭ  ஢ 믮 -
ᮢ ।祭 ᯥ樠쭮  ᯮ짮  ⥬ ࠧ ६
    ᫮ ࠡ  ० ॠ쭮 ६, ᪮  -
࠭  ஬    祭  䨪஢  ࢠ
६,  饣      ⢨ ᫨⥫쭮 ⥬ 
ᠬ  ⥬, ᮨਬ  ᪮ ⥪  ᮢ. -
 宩  প ࠡ  ० ॠ쭮 ६   -
  ;    ஢ 믮  ॠ쭮 -
  ० , ᫨  㦥 ᯮ 㣮    ०  ,
  ᥭ    ࠡ ⢥ .  饥 ६ ⥬
ணࠬ⠬ 室 ॢ  ॠ쭮 ६  ० ,
⮡ ᯥ  ᪮ ॠ樨. ࠢ쭮 襭 ⮩ ஡-
 -  ⠪ ᠬ   ᪮  ⥪  (㣨
᫮,     ஥  )  ।⠢ ᮮ⢥-


                                    240

    ६      A          B          C
      |    ਮ- -  -- ਮ- -  -- ਮ- -  -
      |     - - -  - - -  - -
      |          㠫.  -       㠫.  -       㠫. 
      |              -           -          
  0 --+--                  -                 -
      |    60     0     0  - 60     0     0  - 60     0     0
      |           1     1  -                 -
      |           2     2  -                 -
      |                  -                 -
      |                  -                 -
  1 --+--         60    60 -                 -
      |    90     30    30 - 60     0     0  - 60     0     0
      |                    -        1     1  -              1
      |                    -        2     2  -              2
      |                    -               -              
      |                    -               -              
  2 --+--                  -        60    60 -              60
      |    74     15    15 - 90     30    30 - 75     0     30
      |           16    16 -                 -
      |           17    17 -                 -
      |                  -                 -
      |                  -                 -
  3 --+--         75    75 -                 -
      |    96     37    37 - 74     15    15 - 67     0     15
      |                    -              16 -        1     16
      |                    -              17 -        2     17
      |                    -                -             
      |                    -                -             
  4 --+--                  -              75 -        60    75
      |    78     18    18 - 81     7     37 - 93     30    37
      |           19    19 -                 -
      |           20    20 -                 -
      |                  -                 -
      |                  -                 -
  5 --+--         78    78 -                 -
      |    98     39    39 - 70     3     18 - 76     15    18
      |                    -                 -
      |                    -                 -

    㭮  8.6. ਬ ஢  ᭮ ࠢ ࠧ,  -
                 ஬ ᯮ  㯯  ६ ᠬ



饣  堭,    ண    ᮮ   ᢮ -
, ⥪  ᮡ⥩ ࠡ  ० ॠ쭮 ६.  ᥣ-
譨   ⠭⭮ ⥬ UNIX ⠪  .


        8.2  ,   

     ᪮쪮 ⥬ 㭪権,  ⭮襭  ६ -
⥪ : stime, time, times  alarm.        -
  ⥬ ६, ᫥  -  ६ 믮 ⤥
ᮢ.
    㭪 stime  㯥௮짮⥫      
 쭮 ६. 롨ࠥ ६   ⮩  ६    
㭪樨 time:

                                    241

    time(tloc);

  tloc - 㪠⥫  ६, ਭ ,   -
 頥 㭪樥 祭. 㭪 頥  祭    
ᠬ  ᥡ, ਬ,  date,  뢠  㭪, ⮡ -
। ⥪饥 ६.
    㭪 times 頥 㬬୮ ६ 믮     
⮬, ४⨢ ⢮,  ०   . ⠪ -

    +------------------------------------------------------------+
    | #include <sys/types.h>                                     |
    | #include <sys/times.h>                                     |
    | extern long times();                                       |
    |                                                            |
    | main()                                                     |
    | {                                                          |
    |    int i;                                                  |
    |    /* tms -   , 饩  4 -   |
    |       ⮢ */                                               |
    |    struct tms pb1,pb2;                                     |
    |    long pt1,pt2;                                           |
    |                                                            |
    |    pt1 = times(&pb1);                                      |
    |    for (i = 0; i < 10; i++)                                |
    |         if (fork() == 0)                                   |
    |             child(i);                                      |
    |                                                            |
    |    for (i = 0; i < 10; i++)                                |
    |         wait((int*) 0);                                    |
    |    pt2 = times(&pb2);                                      |
    |    printf("-த⥫: ॠ쭮 ६ %u             |
    |             ०  %u  ०  %u             |
    |            ⮬:  ०  %u  ०  %u\n",|
    |            pt2 - pt1,pb2.tms_utime - pb1.tms_utime,        |
    |            pb2.tms_stime - pb1.tms_stime,                  |
    |            pb2.tms_cutime - pb1.tms_cutime,                |
    |            pb2.tms_cstime - pb1.tms_cstime);               |
    | }                                                          |
    |                                                            |
    | child(n);                                                  |
    |    int n;                                                  |
    | {                                                          |
    |    int i;                                                  |
    |    struct tms cb1,cb2;                                     |
    |    long t1,t2;                                             |
    |                                                            |
    |    t1 = times(&cb1);                                       |
    |    for (i = 0; i < 10000; i++)                             |
    |         ;                                                  |
    |    t2 = times(&cb2);                                       |
    |    printf("⮬ %d: ॠ쭮 ६ %u  ०  %u|
    |             ०  %u\n",n,t2 - t1,                  |
    |            cb2.tms_utime - cb1.tms_utime,                  |
    |            cb2.tms_stime - cb1.tms_stime);                 |
    |    exit();                                                 |
    | }                                                          |
    +------------------------------------------------------------+

      㭮 8.7. ਬ ணࠬ, ᯮ饩 㭪 times

                                    242

 㭪樨:

    times(tbuffer)
    struct tms *tbuffer;
  tms -  ,    頥 祭  -
 뢠 ᫥騬 ࠧ:
    struct tms {
       /* time_t -   ,  ன ࠭ ६       */
       time_t tms_utime;  /* ६ 믮   ०   */
       time_t tms_stime;  /* ६ 믮   ०     */
       time_t tms_cutime;  /* ६ 믮 ⮬  ०  */
       time_t tms_cstime;  /* ६ 믮 ⮬  ०    */
    };
㭪 times 頥 ६, 襤襥 " ண ந쭮 -
  諮",  ࠢ,   㧪 ⥬.
     㭪 8.7 ਢ ணࠬ,  ன  -த⥫  ᮧ
10  ⮬,    10000 ࠧ 믮 ⮩ 横. --
⥫ 頥  㭪樨 times । ᮧ ⮬  ᫥  -
襭,  ᢮ । ⮬ 뢠  㭪  ।  砫  横  
᫥  襭. -    㬠,  ६ 믮-
  ⮬     ०    ࠢ 㬬 ᮮ⢥
᫠  ⮬,  ॠ쭮 ६ -த⥫   -
  ॠ쭮  ६    ⮬. , ६ 믮 ⮬ 
砥  ᥡ ६, 祭  ᯮ ⥬  㭪権  fork  
exit,  ஬ ⮣    ᪠   ࠡ⪨ 뢠  -
४祭 ⥪.
      ⥬ 㭪樨 alarm 짮⥫᪨   -
஢ 뫪 ᨣ ॢ  ("㤨쭨")  १    ஬⪨
६.  ਬ,  ணࠬ   㭪 8.8   ஢ ६
㯠  䠩 , ᫨  䠩 뫮 ந 饭, 뢮 ᮮ⢥-
饥 ᮮ饭.  ⮣  横,   㭪樨 stat,  ⠭-
    ᫥ 饭  䠩 , ᫨     祭
᫥ , 뢮  ᮮ饭.  ⥬        㭪樨
signal    ᯮ殮  ਭ  ᨣ  ॢ,   㭪樨
alarm  ࢠ  ᨣ  60 ᥪ㭤    㭪樨  pause
ਮ⠭  ᢮ 믮   祭 ᨣ. १ 60 -
㭤 ᨣ 㯠,  ⠢ ⥪   맮 㭪樨  -
ࠡ⪨ ᨣ wakeup, 㭪 頥 ࠢ  , ᫥騩
 맮 㭪樨 pause,   ᯮ 横 .
      ᫥ 㭪樨 ࠡ  ६ ⥪  ꥤ-
 ,      ⥬ ᮢ (⠩). ࠡ-
 뢠  ⠩,  頥  ࠧ ⠩ 稪 
樨 ᮮ⢥饥 ⢨.


        8.3 

     㭪樨 ணࠬ ࠡ⪨ 뢠  ⠩ 室:
  * १ ᮢ,
  * 맮  ᯮ 㭪権 , ᯮ ஥ ,
  * প  䨫஢ 믮 ᮢ  ० 
     ;
  * ᡮ ⨪  ⥬  ⥪   ,
  * ᫥  ६,
  * 뫪 ᠬ ᨣ "㤨쭨"  ,
  * ਮ᪮   窨 (. ᫥ ),
  * ࠢ ᯥਧ樥 ᮢ.
      㭪権 ॠ   뢠  ⠩,  -
 -  ⢨ ᪮쪨 ⠩ ⨪. ணࠬ ࠡ⪨ 뢠-

                                    243


   ⠩ ᪠  ᮪ ਮ⮬ 饭  , 
᪠  ६ ࠡ  㣨  譨  ᮡ⨩  (⠪  
뢠   ਩ ன). ⮬ ணࠬ ࠡ⪨ 뢠-
  ⠩ ࠡ⠥ 祭 ,  ᨬ쭮-⪮ ६
஡ ᢮ ᪨ १,   믮  뢠
 ஭ 㣨 ᮢ.  ࠡ⪨ 뢠  ⠩ ਢ-
  㭪 8.9.

    +------------------------------------------------------------+
    | #include <sys/types.h>                                     |
    | #include <sys/stat.h>                                      |
    | #include <sys/signal.h>                                    |
    |                                                            |
    | main(argc,argv)                                            |
    |     int argc;                                              |
    |     char *argv[];                                          |
    | {                                                          |
    |     extern unsigned alarm();                               |
    |     extern wakeup();                                       |
    |     struct stat statbuf;                                   |
    |     time_t axtime;                                         |
    |                                                            |
    |     if (argc != 2)                                         |
    |     {                                                      |
    |         printf("⮫쪮 1 㬥\n");                     |
    |         exit();                                            |
    |     }                                                      |
    |                                                            |
    |     axtime = (time_t) 0;                                   |
    |     for (;;)                                               |
    |     {                                                      |
    |         /* 祭 祭 ६ 㯠  䠩 */   |
    |         if (stat(argv[1],&statbuf) == -1)                  |
    |         {                                                  |
    |             printf("䠩   %s \n",argv[1]);     |
    |             exit();                                        |
    |         }                                                  |
    |         if (axtime != statbuf.st_atime)                    |
    |         {                                                  |
    |             printf(" 䠩 %s 뫮 饭\n",argv[1]); |
    |             axtime = statbuf.st_atime;                     |
    |         }                                                  |
    |         signal(SIGALRM,wakeup);   /* ⮢  ਥ   |
    |                                      ᨣ */            |
    |         alarm(60);                                         |
    |         pause();      /* ਮ⠭  祭 ᨣ */|
    |     }                                                      |
    | }                                                          |
    |                                                            |
    | wakeup()                                                   |
    | {                                                          |
    | }                                                          |
    +------------------------------------------------------------+

     㭮 8.8. ணࠬ, ᯮ ⥬ 㭪 alarm




                                    244
    +------------------------------------------------------------+
    |  clock                                             |
    | 室 ଠ:                             |
    | 室 ଠ:                            |
    | {                                                          |
    |     १ ;  /* ⮡  ᭮ 뫠 -|
    |                              */                       |
    |     ᫨ (⠡ ⢥ ᨣ  )              |
    |     {                                                      |
    |        ⠭ ६  ⢥ ᨣ;             |
    |         㭪 callout, ᫨ ६ ⥪;      |
    |     }                                                      |
    |     ᫨ (䨫 믮  ० )          |
    |         祭 稪    뢠-|
    |         ;                                               |
    |     ᫨ (䨫 믮  ० )        |
    |         祭 稪    뢠-|
    |         ;                                               |
    |     ᮡ ⨪  ᠬ ⥬;                    |
    |     ᮡ ⨪  ⥪  ⥬ ;  |
    |     뢥 祭 த⥫쭮  ᮬ;     |
    |     ᫨ (諠 1 ᥪ㭤    ᯮ १,|
    |       騩 ᪨)                            |
    |     {                                                      |
    |         ( ᮢ  ⥬)                      |
    |        {                                                   |
    |            ⠭ "㤨쭨", ᫨  ⨢;        |
    |            뢥 祭 த⥫쭮 ;        |
    |            ᫨ ( 㤥 ᯮ  ० )|
    |                 뢥 ਮ ;               |
    |        }                                                   |
    |          砥 室 믮 -  |
    |          窨;                                    |
    |     }                                                      |
    | }                                                          |
    +------------------------------------------------------------+

        㭮 8.9.  ࠡ⪨ 뢠  ⠩


        8.3.1 १ ᮢ

     設⢥ 設 ᫥  祭  뢠    ⠩  ॡ
ணࠬ묨 ।⢠ ந १ ᮢ, ⮡   ⢨
ࢠ  ६     뢠 ࠡ .  ।⢠
 設-ᨬ묨    ᬠਢ  㤥.


        8.3.2 ७ ⥬ ⠩-


      楤 ,  ⭮ ࠩࠬ  ன    ⥢
⮪,  ॡ 맮 㭪権   ० ॠ쭮 ६. -
,   ॢ ନ  ०   ࠡ⪨  ᨬ,
  ஬  믮  짮⥫  ⥭  ନ १
䨪஢ ஬⪨ ६,  ,    짮⥫  
  " ⪨" (. ࠧ 10.3.3).  ࠭  室
ଠ  ⠡ ⢥ ᨣ (㭮 8.9),  ⮬ ᫥   㭪-
樨, ᪠  祭 ࢠ ६, ࠬ, । ⮩
㭪樨,   ⠪ த⥫쭮 ࢠ ( ⠩ ⨪)  

                                    245

᪠ 㭪樨.
    짮⥫     ஫஢    ⠡-
 ⢥ ᨣ;  ࠡ    ࠧ ⥬ -
.     ⮩ ⠡  ᮮ⢥⢨  稭 -
ࢠ   ᪠ 㭪権.  裡  ⨬    ⠡
    த⥫쭮 ࢠ,  ⮫쪮 ஬⮪ -
  ⠬ ᪠   ।饩  㭪権.    த-
⥫쭮  ࢠ    ᪠ 㭪樨 ᪫뢠  ஬⪮
६  ⠬ ᪠  㭪権, 稭  ࢮ     
⥪饩.

 㭪     ६  ᪠        㭪     ६  ᪠
+----------------------------+      +----------------------------+
|  a()                 -2    |      |  a()                 -2    |
+----------------------------+      +----------------------------+
|  b()                  3    |      |  b()                  3    |
+----------------------------+      +----------------------------+
|  c()                 10    |      |  f()                  2    |
+----------------------------+      +----------------------------+
                                    |  c()                  8    |
                                    +----------------------------+
                                               ᫥

    㭮 8.10.  祭    ⠡ ⢥ ᨣ

     㭪 8.10 ਢ ਬ     ⠡ ⢥-
 ᨣ. ( ⥫쭮 祭  "६  ᪠"  㭪樨
a   ୥ ᪮쪮 ).   ,  ⢮  
饥   ᮮ⢥騬 ࠧ ⠭  祭  
"६  ᪠"  , ᫥饩  塞.   㭪, 
ᮡࠥ    㭪  f १ 5 ⠩ ⨪:  ⢮ 
   ⠡ ࠧ ᫥ 㭪樨 b     "६   ᪠"
祭, ࠢ 2 (⮣ 㬬 祭    㭪権 b  f -
  5),    "६  ᪠" 㭪樨 c  8 ( ⮬ 㭪 c 
ࠢ ᪠ १ 13 ⠩ ⨪).     
吝 ᯨ᪮ 㪠⥫   ⠡ ⢥ ᨣ,   㣨  -
  ᥩ  ४஢ ⠡. ᫥ ᯮᮡ ॡ
⥫쭮    থ   ᫮,    㤥 ᫨誮 
  ⠡.

      㯫 뢠  ⠩ ணࠬ ࠡ⪨  -
  ஢  稥  ᥩ  ⠡ ⢥ ᨣ   砥 
㦥 㬥蠥 祭  "६  ᪠"  ࢮ . -
ᮡ ࠭ த⥫쭮 ࢠ   ᪠  㭪樨,
࠭ ஬, , 㬥訢 祭  "६  ᪠"   -
  ⮫쪮 ࢮ , ᮮ⢥⢥ 㬥 த⥫쭮 -
   ᪠ 㭪権, ᠭ    ⠡.  ᫨  
㪠    ࢮ   ࠭ ⥫쭮  㫥 祭,
ᮮ⢥ 㭪 ᫥ . ணࠬ ࠡ⪨ 뢠 
⠩  ᪠ 㭪 , ⠪ ࠧ    -
 ᫥ 뢠   ⨯.  騩  ਮ  ࠡ
  த    ⠪ 뢠 訢  믮
,     ।⠢  ⮬, ᪮쪮 ६ ॡ-
  ᯮ 㭪樨.  , ᫨ 㭪 믮  -
 ⠩୮ ⨪,  ᫥騥 뢠    ஢.
  ⮣,  ணࠬ ࠡ⪨ 뢠  ⨯筮 樨 ଫ
맮 㭪樨  "ணࠬ 뢠", ஦ 믮  ⤥-
 設 . ᪮ ।  뢠 ணࠬ 뢠
  ᠬ   ਮ,  ,     -

                                    246

  ⠫ 뢠.   襭 ⮢    
㭪樨     뢠 ᪮ 㭪樨 ணࠬ
뢠   ந ⢮ 뢠,  ⮬ ᫥  ணࠬ,
 ⠪ 砥   "६  ᪠", ਭ饥 ࢮ  ⠡-
, 㤥 ᥭ ⥫쭮 祭.    ணࠬ -
뢠 ந室, ணࠬ ࠡ⪨ 뢠 㡨ࠥ    ⠡  
  ⥪訬 祭ﬨ  "६  ᪠"  뢠 ᮮ⢥-
 㭪.
    ᪮    㪠   砫  ⠡  ࠭
⥫쭮  㫥 祭, ணࠬ  ࠡ⪨  뢠  
    ⠡      ⥫ 祭   㬥
. , ਬ, 㭪樨 a ᮮ⢥ "६  ᪠", ࠢ  -2
(㭮 8.10),   । ⥬,  㭪 a 뫠 ࠭  믮,
⥬  稫 2 뢠  ⠩.  ᫮,  㭪 b 2 ⨪
 㦥 뫠  ⠡,  ய᪠ , ᮮ⢥ 㭪樨 a,
 㬥蠥 祭  "६  ᪠"  㭪樨 b.


        8.3.3 ஥ 䨫

    ஥ 䨫  砥  ᥡ ७ த⥫쭮  -
  ⥬   ०  ⨢ ० ,  ⠪ த⥫-
 믮 ⤥ 楤 . ࠩ ࠬ஢  ᫥  
⭮⥫쭮  䥪⨢  ࠡ 㫥 ,  ࠬ ࠡ
⥬   뢠  ⠩. ࠩ ࠬ஢  ᯨ᮪  -
ᮢ   ( ࠧ, 㭪権 );   ࠭ 뫨 㦥
ᮬ ⥬ 饭  ࠩ ࠬ஢. ᫨ ஥ 䨫 -
 , ணࠬ ࠡ⪨ 뢠  ⠩ ᪠ ணࠬ-
 ࠡ⪨ 뢠, ਭ ࠩ ࠬ஢,   ।-
,    ० -    - ࠡ⠫    -
뢠.  ᫨  ࠡ⠫  ० , ⥬ ஥ 䨫
㢥稢 祭 ࠬ, 뢠饣 த⥫쭮 믮  
०  , ᫨   ࠡ⠫  ० , ⥬ 㢥稢
祭 ७ 稪, ᮮ⢥饣 稪  .  짮-
⥫᪨         ࠩ ࠬ஢, ⮡ 
祭 ࠬ஢   ࠧ  ଠ.

                +--------------------------------+
                |           稪 |
                |                                |
                | bread          100         5   |
                | breada         150         0   |
                | bwrite         200         0   |
                | brelse         300         2   |
                | getblk         400         1   |
                | user            -          2   |
                +--------------------------------+

          㭮 8.11.   ⬮ 


     㭪 8.11 ਢ ᪨   楤 .
  १ 10 ७, ஢   㯫  뢠-
   ⠩, 뫨 祭 ᫥騥 祭 稪 : 110, 330,
145,   ࠭⢥ , 125, 440, 130, 320,     ࠭⢥
  104.  ࠭  ⮬  祭,    -
.    祭 뢠,  ⥬ ஢ 20% ᢮ ६
 ०  (user)  50% ६ ⨫  믮 ⬠ bread
 ० .

                                    247

    ᫨ ७ ࠬ஢  믮  祭 ⥫쭮 ਮ
६, १ ७ ਡ  ⨭ ⨭  ᯮ짮
⥬  ᮢ.    , 뢠 堭  뢠 ६,
祭  ࠡ 뢠  ⠩  믮 楤, -
 㯫 뢠  ⨯, ᪮ ⠩   -
 믮 ᪨ १ ணࠬ , ⠪ ࠧ,     
  ६    ணࠬ ࠡ⪨ 뢠 ࠩ ࠬ-
஢.  ⮬ ⮪ 뢠 堭,  ᪨ १ ண-
ࠬ   ᥣ    ७. ⥫쭮, १
७ ࠬ஢  ᮤঠ ।  ਡ⥫쭮. -
ࣥ [Weinberger 84] ᠫ 堭 祭 稪   
ணࠬ, ⠪  "if-then"  "else",  楫 襭 筮  -
     믮. ,  堭 㢥稢 ६ 
ணࠬ  50-200%, ⮬  ᯮ짮  ⢥ ﭭ  -
 ७ ࠬ஢   ਧ 樮.
     짮⥫᪮ ஢  ७ ࠬ஢ 믮 ᮢ
 ᯮ짮 ⥬ 㭪 profil:

    profil(buff,bufsize,offset,scale);

  buff  -   ᨢ  ࠭⢥ , bufsize - ࠧ ᨢ,
offset - 㠫  ணࠬ 짮⥫ (筮, ࢮ  -
), scale - ᯮᮡ ⮡ࠦ 㠫 ᮢ    ᨢ.
 ࠪ 㬥 "scale"    ஡    䨪஢  窮
᫥. , ਬ, 祭 㬥  ⭠筮 ⥬ ᫥-
,  ࠢ  Oxffff, ᮮ⢥ 筮 ⮡ࠦ 稪 
  ᨢ, 祭, ࠢ Ox7fff, ᮮ⢥ ࠧ饭  
᫮ ᨢ buff  ᮢ ணࠬ, Ox3fff -  ᮢ ணࠬ-
  ..  ࠭ ࠬ, ।  맮 ⥬  㭪樨,
  ࠭⢥  .  ᫨ ⠩ 뢠 믮  ⮣,
  室  ० , ணࠬ ࠡ⪨ 뢠 ஢
祭 稪    뢠, ࠢ      祭
㬥 offset  㢥稢 ᮤন 祩 ,  ன -
 㭪樥  bufsize  scale.
    ᬮਬ    ⢥  ਬ ணࠬ, ਢ  㭪 8.12,
 த⥫쭮 믮 㭪権 f  g. 砫 ,  -
  ⥬  㭪  signal,  㪠  祭 ᨣ 
뢠 뢠 㭪 theend,  ⥬        ᮢ
ணࠬ,  ।  㤥 ந ७ த⥫쭮-
 (稭   㭪樨 main   ᮬ 㭪樨 theend), , -
, ᪠ 㭪 profil, ᮮ   ⮬,   ᮡ-
  ७.  १ 믮 ணࠬ  祭 10 ᥪ㭤
  ᨫ쭮 㦥 設 AT&T 3B20 뫨 祭 , ।⠢-
  㭪 8.13.  㭪樨 f ॢ蠥   砫  䨫஢
 204 ; ᪮ ⥪ 㭪樨 f  ࠧ 12 ,  ࠧ 楫-
 ᫠  設 AT&T 3B20 ࠢ 4 ⠬,  㭪樨 f ⮡ࠦ 
  ᨢ  buf   ࠬ 51, 52  53.  ⠪  ਭ樯 
㭪樨 g ⮡ࠦ   buf c ࠬ 54, 55  56.   buf
  ࠬ 46, 48  49 ।祭  ᮢ, ਭ 横 㭪-
樨 main.  筮 砥  ᮢ,  । ண 믮
७ ࠬ஢, ।  १ 饭  ⠡  -
䨪஢     ணࠬ,  㪠뢠  ணࠬ ᥪ権.
짮⥫ ஭ 㭪樨 profil - ⮣,      ᫨-
  ᫮;     ᯮ  樨 ணࠬ  몥 
ࠬ, ᮮ騩   室 ᣥ஢ , ᫥騩
 室 믮 ᮢ.




                                    248
    +------------------------------------------------------------+
    | #include <signal.h>                                        |
    | int buffer[4096];                                          |
    | main()                                                     |
    | {                                                          |
    |    int offset,endof,scale,eff,gee,text;                    |
    |    extern theend(),f(),g();                                |
    |    signal(SIGINT,theend);                                  |
    |    endof = (int) theend;                                   |
    |    offset = (int) main;                                    |
    |    /*  ⢮ ᫮  ⥪ ணࠬ */    |
    |    text = (endof - offset + sizeof(int) - 1)/sizeof(int);  |
    |    scale = Oxffff;                                         |
    |    printf                                                  |
    |     ("ᬥ饭  砫 %d   %d  ⥪ %d\n",|
    |      offset,endof,text);                                   |
    |    eff = (int) f;                                          |
    |    gee = (int) g;                                          |
    |    printf("f %d g %d fdiff %d gdiff %d\n",eff,gee,         |
    |            eff-offset,gee-offset);                         |
    |    profil(buffer,sizeof(int)*text,offset,scale);           |
    |    for (;;)                                                |
    |    {                                                       |
    |        f();                                                |
    |        g();                                                |
    |    }                                                       |
    | }                                                          |
    | f()                                                        |
    | {                                                          |
    | }                                                          |
    | g()                                                        |
    | {                                                          |
    | }                                                          |
    | theend()                                                   |
    | {                                                          |
    |    int i;                                                  |
    |    for (i = 0; i < 4096; i++)                              |
    |        if (buffer[i])                                      |
    |            printf("buf[%d] = %d\n",i,buffer[i]);           |
    |    exit();                                                 |
    | }                                                          |
    +------------------------------------------------------------+

    㭮 8.12. ணࠬ, ᯮ ⥬ 㭪 profil

     +------------------------------------------------------+
     | ᬥ饭  砫 212   440  ⥪ 57  |
     | f 416 g 428 fdiff 204 gdiff 216                      |
     | buf[46] = 50                                         |
     | buf[48] = 8585216                                    |
     | buf[49] = 151                                        |
     | buf[51] = 12189799                                   |
     | buf[53] = 65                                         |
     | buf[54] = 10682455                                   |
     | buf[56] = 67                                         |
     +------------------------------------------------------+

    㭮 8.13.  ਬ १⮢ 믮 ணࠬ, -
                   饩 ⥬ 㭪 profil


                                    249

        8.3.4   ⨪

      㯫 뢠  ⠩ ⥬   믮  
०      ,  ⠪ 室  ﭨ  (-
). ﭨ  砥,    ਮ⠭  
㯫 ᮡ.   ﭨ     ७
稪,  ⠭   뢠  ⠩.  짮-
⥫᪨   ஠஢    ஬  
ଠ.
      ࠭⢥          த-
⥫쭮 ६, ஢ ᮬ  ०   .  室 -
ࠡ⪨ 뢠  ⠩  ४ 祭 , ᮮ⢥-
饣 ⥪饬 ० 믮 . -த⥫ ᮡ -
⨪  ᢮ ⮬  믮 㭪樨 wait,    ᭮  ଠ-
, 㯠   ᢮ 믮 ⮬.
     ࠭⢥    ⠪     -
  ᯮ짮 .  室 ࠡ⪨ 뢠  ⠩  -
 騩 ꥬ ,  ⥪騬  ᮬ,  室    ࠧ
 ⥩       ᯮ짮 ࠧ塞
⥩  .  ᫨, ਬ,  ᯮ    ⥪
ࠧ஬ 25  40 , ᮮ⢥⢥,  ࠧ   㣨  -
ᠬ       ࠧ஬ 50 ,  砥  75
  (50/5 + 25 + 40).  ⥬  饭 ࠭  -
 ꥬ ᯮ㥬  ⥬  ᫠  ᯮ㥬    
  ࠭.   ࠧ, ᫨ 뢠    
     ࠧ  㣨 ᮬ,  砥  
⮫쪮 ࠭ , ᪮쪮 ᮤন    ,  -
  ࠭, ਭ ࠧ塞 .  㪠 ଠ
ࠦ  ⭮   襭     ᯮ짮-
  ⮢  稪 設 ६.

        8.3.5 ঠ ६  ⥬

     㢥稢  ⥬ ᮢ   뢠  ⠩-
,  ६  ⠩ ⨪   㧪 ⥬.   -
祭  頥  १ ⥬ 㭪 time   
। 饥 ६ 믮 .  ६  ࢮ砫쭮  ᪠
  ࠭  ஬  ᭮ ࠭⢥   ᯮ
⥬ 㭪樨 fork,   襭   祭 ⠥
 ⥪饣 ६, १ ⠭  ⠢ ॠ쭮 ६  믮-
  .  㣮 ६ ⠩, ⠭   -
⥬ 㭪樨 stime  ४㥬 ࠧ   ᥪ㭤,  ࠭  ୮
६.

        8.4 

     饩   ᠭ ᭮  ᯥਧ樨 ᮢ
  ⥬ UNIX.   ᮬ  ⥬ 뢠 ਮ -
, 祭 ண    室     ﭨ
ਮ⠭  ਮ᪨ ४ ணࠬ ࠡ⪨ 뢠 
⠩.  ਮ,  ᢠ      室  ﭨ
ਮ⠭,  祭, 饥  ⮣,   ⬮  -
 ᮬ   . 祭 ਮ, ᢠ -
  ६ 믮 ணࠬ ࠡ⪨ 뢠  ⠩ (  
,   頥  ०   ०  ),  
 ⮣, ᪮쪮 ६   :  砥  ਮ-
, ᫨  頫  ,  ᮪ -  ⨢ 砥. ⥬ 㭪-
 nice      ᮡ⢥ ਮ ⥬ -
 ࠬ, 饣   ਮ.

                                    250

        뫨 ⠪ ᬮ७ ⥬ 㭪樨, 易  ६
믮 ⥬  ⥪   ᮢ:  ⠭   祭
⥬  ६,  祭  ६  믮 ᮢ  ⠭
ᨣ "㤨쭨". ஬ ⮣, ᠭ 㭪樨 ணࠬ ࠡ⪨  -
뢠  ⠩,  ᫥  ६  ⥬, ࠢ ⠡楩
⢥ ᨣ, ᮡࠥ ⨪,  ⠪ ⠢  -
஢騪  ᮢ,  ணࠬ 窨  "ᡮ騪" ࠭. ணࠬ -
窨  "ᡮ騪" ࠭  ꥪ⠬ ᬮ७  ᫥饩 .


        8.5 

  1.  ॢ ᮢ  ﭨ ਮ⠭  砥 ,
     饬  ஢   ,    ᮪  ਮ  
     ࠢ    ᮬ,  騬  ᢮ . 筮 ⠪ ,
     , 騥   ନ,   ᮪ ਮ
      ࠢ  ᠬ, 騬  ந 뢮  
     ନ. ᭨ 稭 ⠪  .
 *2.  ⬥ ࠡ⪨ 뢠  ⠩ ।ᬮ७  ਮ-
     ⮢   १ ᮢ  믮  ࢠ  1 ᥪ㭤.
     ਤ㬠 ,  ஬ ࢠ १᪠ ᪨ -
       ᨬ  ⥯ 㧪 ⥬. ॢ  먣 -
       ᫮ ⬠ ?
  3.  ⮩ ।樨 ⥬ UNIX   த⥫쭮   ⥪-
     騬 ᮬ ᯮ ᫥ 㫠:
     decay() = max (ண ਮ, -10);
       ᥤ쬮 ।樨:
     decay() = .8 * ;
     ਮ    ।   㫥:
     ਮ = /16 + ( ஢ ਮ);
      ਬ  㭪 8.4, ᯮ ਢ .
  4.  த    ࠧ  ਬ   㭪 8.4  ᥬ ᠬ 
     ,  ⥬   뢠  ⠩  60  100 -
       ᥪ㭤. ப १.
  5. ࠡ⠩ 奬,  ன ⥬ 뢠 ࠭祭    -
     ⥫쭮 믮 ,  ॢ襭 ண  -
     蠥.   ࠧ 짮⥫  ⫨ ⠪  
     ᮢ,     ⢮    ࠭祭  ?
      ࠧ  ࠡ 奬, ᫨ ⢥ ᫮ -
         shell' ?
  6.     믮 ⥬ 㭪 wait  㦨 ४-
     ⨢襣 ⢮ ⮬,  ਯᮢ뢠      祭
       ⮬.   ⠪ "" -த⥫ ?
  7.    nice  ᪠ ᫥   ।祩  㪠
     祭, ਬ:
     nice 6 nroff -mm big_memo > output
       몥  ணࠬ, ॠ  nice.
  8. ᫥  ਬ 㭪 8.4,  ࠧ  㤥  ⢫
     ᯥਧ  ᮢ    ⮬  砥, ᫨ 祭, ।
     㭪樥 nice   A, ࠢ 5  -5.
  9. ஢ ᯥਬ  ⥬ 㭪樥 renice x  y,    x  -  
     䨪樨   (⨢),  y -  祭 nice  㪠-
      .
 10. ୥  ਬ, ਢ  㭪 8.6. ।,  -
     ,   室  A, 뤥 33% ୮ ६, 
     㯯,   室  B, - 66% ୮ ६.   -
       ᫥⥫쭮   ᯮ  ?  
     ᫥ ਮ⮢ ⠪ ࠧ, ⮡ 祭 㯯  -
     ।﫮.

                                    251

 11. 믮  date.   㬥⮢  뢮  ⥪  :
     㪠 㬥, ਬ:
     date mmddhhmmyy
     (㯥)짮⥫  ⠭ ⥪    ⥬
     (ᮮ⢥⢥, , ᫮, ,   ). ,
     date 0911205084
     ⠭    ⢥  ⥪饣 ६ 11 ᥭ 1984  8:50
     㤭.
 12.  ணࠬ   ᯮ짮  㭪  짮⥫᪮
     ஢ sleep:
     sleep(seconds);
       ன 믮 ணࠬ ਮ⠭   㪠
     ᫮ ᥪ㭤. ࠡ⠩  ,  ஬ ᯮ ⥬
     㭪樨  alarm    pause.   ந, ᫨  맮 㭪
     alarm ࠭ 㭪樨 sleep ? ᬮ  :  1)  ⢨
     ࠭  맢 㭪樨 alarm ⥪   ६,   -
       ﭨ ਮ⠭,  2)  ⢨  ࠭  맢  㭪樨
     alarm ⥪ ᫥ 襭 㭪樨 sleep.
*13. ⨬  ࠧ  ᫥ ஡.   믮 ४-
       ⥪  ६ ᯮ 㭪樨 sleep  맮 alarm 
     pause.   ᭮,    ᨣ alarm   ⮣,
       맮  㭪 pause.  ந  ⮬ 砥 ?  ६
     ᯮ   ?





































                                    252
