<title>Unix overview CHAP10</title>


     10

          -




    ⥬  ࠢ  -뢮   ᠬ ন
  ਩묨 ன⢠, ⠪  ⥫    -
   , ନ, ਭ  ,   ஭,   ﬨ -
,  ࠢ ன⢠   ࠩࠬ ன,   -
.   ࠩࠬ ன  ⨯ ன 筮  -
筮 ᮮ⢥⢨:  ⥬    ᪮ ࠩ  ࠢ-
 ᥬ ᪮,  ନ ࠩ  ࠢ ᥬ ନ-
    ࠩ  ࠢ ᥬ 묨  ⥫-
. ᫨  ⥬  ⨯ ன⢠, 祭  ࠧ -
⮢⥫ - ਬ,  ન  ⥫, -  ⮬ 砥 
ࠪ⮢ ⨯ ன⢠  ன⢠  ࠧ ⨯  
     ⤥ ࠩ, ᪮ ⠪ ன⢠  믮
    権  ॡ  ࠧ  ᫥⥫쭮  -
.    ࠩ ࠢ ⢮ 䨧᪨ ன  ⨯.
ਬ,  ନ ࠩ  ࠢ ᥬ ନ, -
祭묨  ⥬. ࠩ ࠧ砥 ன⢠, 묨  ࠢ:  -
室  , ।祭   ନ,    ᫠
 㣮.
    ⥬ ন "ணࠬ ன⢠",        
易     ⭮ 䨧᪮ ன⢮. ਬ,  ன⢮
ࠪ 䨧᪠ , ⮡      -
,      ਩ ன⢮.  ps -
頥  ଠ樮 ࠬ   䨧᪮ , ⮡  ᮮ
⨪  ᮢ.   ਬ: ࠩ   ஢ -
ᥩ  㤮  ⫠ ,   ࠩ  ஢    
짮⥫   . , 䨫 , ᬮ७  -
 8, 믮  ࠩ:  뢠  ணࠬ , -
  ⠡ 䨪஢ ,  ⠥ १ 䨫஢.
     ⮩  ᬠਢ ⢨  ᠬ  -
 ࠢ -뢮,  ⠪  設  ࠩࠬ ன.
᫥    㭪樮஢ ࠩ஢   ⢥ ਬ-
஢  饣 ⢨ ᬠਢ ᪮  ନ ࠩ.
蠥  ᠭ  ⮤ ॠ樨 ࠩ஢  ⮪  -
ன.


        10.1       

      ⥬ UNIX   ⨯ ன - ன⢠ 뢮 -
  ன⢠ ஢  ᨬ쭮  -뢮.  
㦥 ਫ   2, ன⢠ -뢮 , ⠪  ᪨ 
,    ⠫쭮   ⥬ 룫  騥 ன⢠ 
ந쭮 롮મ;  ன⢠  ᨬ쭮  -뢮  ⭮
 㣨 ன⢠,  ⮬ ᫥ ନ  ⥢ 㤮. ன-
⢠  -뢮    䥩   ன⢠ ᨬ-
 -뢮.
    짮⥫   ன⢠ १ ।⢮  䠩-
  ⥬  (. 㭮 2.1).  ன⢮  , 宦  
䠩,  짮⥫ 頥     䠩. 樠  䠩  -
ன⢠       娨 ⠫ 䠩 ⥬.
  ன⢠  ⫨砥   㣨 䠩 ⨯ 䠩, ࠭騬  
,  "",  "ᨬ ᯥ樠",  ᨬ  -

                                    290

ன⢠, ஥  䠩 ।⠢. ᫨ ன⢮   ,
⠪  ᨬ 䥩,  ।⠢  䠩: ᯥ樠 䠩 -
ன⢠ -뢮   ᯥ樠  䠩  ன⢠  ᨬ쭮
-뢮.  ⥬  㭪樨   䠩, ⠪  open, close,
read  write,    祭   ன,  祬  㡥 .
⥬ 㭪 ioctl ।⠢ ᠬ   ࠢ  -
ன⢠  ᨬ쭮  -뢮,   ਬ  ⭮襭  䠩
筮 ⨯ (*).   , ࠩࠬ ன  室  -
ন     ⥬ 㭪権. ਬ, 㯮 ࠩ
஢  ᠬ      ,  ᮧ  㣨
ࠩࠬ,    ᮧ .


        10.1.1 䨣 ⥬

      䨣樨  ⥬    楤 㪠 ࠬ
祭 ࠬ஢,    ந ன ⥬. -
  ࠬ஢ 㪠뢠 ࠧ ⠡ , ⠪  ⠡ -
ᮢ, ⠡ ᮢ  ⠡ 䠩,  ⠪ ᪮쪮 ஢ 頥 
୮ 㫥.   㣨 ࠬ஢ 㪠뢠 䨣  ன-
,   ந  㪠 ,  ன⢠ -
      ⥬ ॠ   "". ਬ,  䨣樨
  㪠,  ନ쭠  ⠢  ᮮ⢥騩 ࠧ-
  ⭮ .
        ⠤,     㪠 䨣 -
ன. -,   ஢ ଠ  䨣樨
 䠩,  ࠭᫨    ६ ஥ .  -
ଠ    䨣樨  筮 㪠뢠  ⮬ ଠ,  ணࠬ
䨣樨 ८ࠧ   䠩, ⮢  ࠭樨. -, -
  㪠뢠 ଠ  䨣樨 ᫥ ⮣,  ⥬
㦥 饭;  ᪨ ४ ७ ⠡ 䨣樨.
, ᠬ騥 ன⢠    㧭, -
  ன 祭.  뢠     ᠬன-
.  ஡  ⥬ 䨣樨 室  । ⮩ -
,     १⮬ 楤  䨣樨  -
    ⠡, ⠢ ᭮ ணࠬ .
    䥩  "  - ࠩ" 뢠  ⠡ 祩 ன -
-뢮    ⠡ 祩  ன  ᨬ쭮  -뢮
(㭮  10.1).   ⨯ ன⢠   ⠡ 窨 室, 
 믮 ⥬ 㭪権    ᮮ⢥饬  ࠩ.
㭪樨  open    close,  뢠 䠩 ன⢠, "ய᪠" १
⠡ 祩 ன  ᮮ⢥⢨    ⨯  䠩.  㭪樨  mount  
umount ⠪  뢠 믮 楤    ன, 
 ன -뢮 . 㭪樨 read  write, 뢠 ன-
⢠  -뢮     䠩  ᬮ஢ 䠩 ⥬,
᪠  ࠡ   襬, 樨騥 ॠ -
᪮ 楤 ࠡ  ன⢠.    ࠩ஢  ᪠
 楤   楤 ⥭  .  ஡ -
⢨   ࠩ஬ ᬠਢ  ᫥饬 ࠧ.
    䥩  " - ࠩ" ⮨  設-ᨬ ࠢ-
 ॣ஢   -뢮  ࠢ ன⢠  -
 뢠:  ந室 뢠  ன⢠, ⥬  -
 ன⢮, 맢襥 뢠,  ᪠ ணࠬ ࠡ⪨ -

----------------------------------------
(*)  , ⥬ 㭪 fcntl ᯥ稢 ஫   ⢨-
    , ந묨  ஢ ਯ 䠩,    ஢ ன-
    .  㣨 ॠ 㭪 ioctl ਬ  䠩  ⨯.


                                    291

⢥饣 뢠. 祢,  "ணࠬ ன⢠", ⠪ 
ࠩ  ⥬  ஥ 䨫  ( 8)   ⭮ -
䥩,  ணࠬ ࠡ⪨ 㣨 뢠      
"ࠡ稪  ணࠬ  뢠" ।⢥. ਬ, ணࠬ
ࠡ⪨ 뢠  ⠩ 頥  ணࠬ ࠡ⪨  뢠
⥬ ஥ 䨫 .
     ⠭ ᯥ樠 䠩 ன  mknod,
  ன 㪠뢠 ⨯ 䠩 (  ᨬ), 訩  訩
 ன⢠.  mknod ᪠ 믮  ⥬  㭪樨  
⥬  , ᮧ饩 䠩 ன⢠. ਬ,   ப

    mknod /dev/tty13 c 2 13

"/dev/tty13"  -    䠩 ன⢠, "c" 㪠뢠,  ⨯ 䠩 - "ᨬ-
 ᯥ樠" ("b", ᮮ⢥⢥, ), "2" - 訩  -
ன⢠, "13" - 訩  ன⢠. 訩  ன⢠  -
  ⨯, ஬ ᮮ⢥ 窠 室  ⠡ 祩 ன,
訩    ன⢠ -  浪   ன⢠ 
⨯. ᫨  뢠 ᯥ樠  䠩   "/dev/dsk1" 
 0,  ᪠ ணࠬ gdopen  窥 0 ⠡ 祩  ன
筮  -뢮  (㭮 10.2); ᫨  ⠥ ᯥ樠 ᨬ-
 䠩   "/dev/mem"   3,


                    ⥬ ࠢ 䠩
    +------------------------------------------------------------+
    |                                    open  close             |
    | open close read write ioctl                     read write |
    |                                    mount umount            |
    +--+-----+----+-----+-----+------------+-----+-----+-----+---+
       |     |    |     |     |            |     |   +-+-----+---+
       |     |    |     |     |            |     |   | 㭪樨   |
       |     |    |     |     |            |     |   | ࠡ   |
       |     |    |     |     |            |     |   |   |
       |     |    |     |     |            |     |   | 襬     |
       |     |    |     |     |            |     |   +-----+-----+
    +--+-----+----+-----+-----+-+         ++-----+---------+-----+
    |  祩 ன  |         |  祩 -  |
    | ᨬ쭮 -뢮|         | ன -뢮  |
    |                           |         |               |
    +--+-----+----+-----+-----+-+         +--+------+--------+---+
    +--+-----+----+-----+-----+-+         +--+------+--------+---+
    |open close read write ioctl|  窨  | open  close  strategy|
    |                           |  室  |                      |
    |         ࠩ           |      |        ࠩ       |
    |                           |  ࠩ-  |                      |
    |ணࠬ ࠡ⪨ - |  ஢  | ணࠬ ࠡ⪨  |
    |     ன⢠     |         |뢠  ன|
    +------------+--------------+         +-----------+----------+
        +--------+----------+               +---------+---------+
        |  뢠 |               |  뢠 |
        +--------+----------+               +---------+---------+
                 +-------------------+----------------+
                                     |
                         뢠  ன

               㭮 10.1. 窨 室  ࠩ஢



                                    292

 ᪠ ணࠬ mmread  窥 3 ⠡  祩  ன  ᨬ-
쭮 -뢮. ணࠬ nulldev -  "" ணࠬ, ᯮ-
      ,    室  ⭮ 㭪樨
ࠩ.   訬 ஬ ன⢠     易  ⢮
਩  ன; 訩  ன⢠  ⫨  
 㣮.  㦭 ᮧ ᯥ樠 䠩 ன     -
㧪  ⥬;  ⮫쪮 㦭 ४஢, ᫨  䨣
⥬, ਬ, ᫨  ⠭ 䨣樨 뫨  ன-
⢠.


        10.1.2 ⥬ 㭪樨  ⢨  ࠩࠬ

     ⮬ ࠧ ᬠਢ ⢨   ࠩࠬ  ன-
.    믮   ⥬ 㭪権,  ᯮ ਯ
䠩, , ᫥  㪠⥫ﬨ, ࠭騬  짮⥫᪮ ਯ-
 䠩, 頥  ⠡

        +-----------------------------------------------+
        | ⠡ 祩 ன -뢮  |
        +-------+--------+---------+--------------------+
        | 室  |  open  |  close  |     strategy       |
        +-------+--------+---------+--------------------+
        |   0   | gdopen | gdclose |    gdstrategy      |
        +-------+--------+---------+--------------------+
        |   1   | gtopen | gtclose |    gtstrategy      |
        +-------+--------+---------+--------------------+
+----------------------------------------------------------------+
|      ⠡ 祩 ன ᨬ쭮 -뢮       |
+------+-----------+-----------+---------+-----------+-----------+
| 室 |   open    |   close   |  read   |  write    |   ioctl   |
+------+-----------+-----------+---------+-----------+-----------+
|   0  |  conopen  |  conclose | conread | conwrite  |  conioctl |
+------+-----------+-----------+---------+-----------+-----------+
|   1  |  dzbopen  |  dzbclose | dzbread | dzbwrite  |  dzbioctl |
+------+-----------+-----------+---------+-----------+-----------+
|   2  |  syopen   |  nulldev  | syread  | sywrite   |  syioctl  |
+------+-----------+-----------+---------+-----------+-----------+
|   3  |  nulldev  |  nulldev  | mmread  | mmwrite   |   nodev   |
+------+-----------+-----------+---------+-----------+-----------+
|   4  |  gdopen   |  gdclose  | gdread  | gdwrite   |   nodev   |
+------+-----------+-----------+---------+-----------+-----------+
|   5  |  gtopen   |  gtclose  | gtread  | gtwrite   |   nodev   |
+------+-----------+-----------+---------+-----------+-----------+

  㭮 10.2. ਬ  ⠡ 祩 ன -
                뢮   ᨬ


䠩    ,   ஢ ⨯ 䠩,  室   ⠡
祩  ன  -뢮   ᨬ.    -
 訩  訩  ன⢠, ᯮ 訩   -
⢥ 㪠⥫   室  ᮮ⢥饩 ⠡  뢠 믮
㭪樨 ࠩ  ᮮ⢥⢨  믮塞 ⥬ 㭪樥,  ।
訩    ⢥ ࠬ.  ࠧ稥  ॠ樨 ⥬
㭪権  䠩 ன   䠩 筮 ⨯  ,  -
 ᯥ樠쭮 䠩       ६,      믮
ணࠬ ࠩ. ࠩ  ਮ⠭ ᢮ ࠡ,  -
  묨 ।⢠  㯫 , ⮬    -

                                    293

ﭨ  ।,      ६  㤥 ਮ⠭. ᫨ 
஢, 㣨 , ⨢訥   (ਬ, ।⢮
⥬ 㭪樨 stat), ਮ⠭  ।  ६,  ᪮
  ਮ⠭ ࠩ.
    ࠩ  ன⢠   ࠬ 맮 ⥬ 㭪樨 
⭮襭 ன⢠. ࠩ  ন    ,  뢠騥
ﭨ    ஫㥬     ⨯ ன⢠; 㭪樨
ࠩ  ணࠬ ࠡ⪨ 뢠 ॠ  ᮮ⢥⢨   -
ﭨ  ࠩ    ⥬,  ⢨ 믮    (-
,    뢮).  ᬮਬ  䥩  -
 ஡.


    +------------------------------------------------------------+
    |  open      /*  ࠩ஢ ன */           |
    | 室 ଠ:    ᪠                       |
    |                      ०                         |
    | 室 ଠ: ਯ 䠩                      |
    | {                                                          |
    |    ८ࠧ   ᪠  , 㢥 -|
    |      稪 뫮  ;                         |
    |    뤥  ⠡ 䠩   짮⥫᪮   |
    |     ਯ 䠩,   ⨨ 筮 䠩;    |
    |                                                            |
    |       訩  訩  ன⢠; |
    |                                                            |
    |    ࠭ ⥪ ( setjmp)  砥 ।  |
    |     ࠢ  ࠩ;                                |
    |                                                            |
    |    ᫨ (ன⢮ 筮 ⨯)                         |
    |    {                                                       |
    |       ᯮ짮 訩  ன⢠  ⢥ 㪠-|
    |        ⥫  ⠡ 祩 ன -뢮 - |
    |        ;                                               |
    |       맢 楤  ࠩ   -|
    |        : । 訩  ன⢠, ० -|
    |        ;                                                |
    |    }                                                       |
    |     ⨢ 砥                                      |
    |    {                                                       |
    |       ᯮ짮 訩  ன⢠  ⢥ 㪠-|
    |        ⥫  ⠡ 祩 ன ᨬ쭮 -|
    |        -뢮;                                          |
    |       맢 楤  ࠩ   -|
    |        : । 訩  ன⢠, ० -|
    |        ;                                                |
    |    }                                                       |
    |                                                            |
    |    ᫨ (⨥  ࠩ  믮)               |
    |       ਢ ⠡ 䠩  ࢮ砫쭮 ,      |
    |        㬥 祭 稪  ;              |
    | }                                                          |
    +------------------------------------------------------------+

            㭮 10.3.   ன⢠

        10.1.2.1 Ope

      ⨨ ன⢠  ᫥ ⮩  楤,    -

                                    294



⨨ 䠩 筮 ⨯ (. ࠧ 5.1), 뤥   ,  㢥-
稢  祭  稪 뫮  ᢠ 祭 窨 室  ⠡
䠩  짮⥫᪮ ਯ 䠩. ,  頥  -
祭 짮⥫᪮ ਯ 䠩 뢠饬 , ⠪  -
⨥  ன⢠ 룫廊 ⠪ ,   ⨥ 䠩 筮 ⨯. -
, । ⥬,    ० ,  ᪠
  ன⢠ 楤 open (㭮 10.3).   ன⢠  -
-뢮   ᪠ 楤 open, ஢  ⠡ -
祩 ன -뢮 ,  ன ᨬ쭮 -뢮
- 楤 open, ஢  ᮮ⢥饩 ⠡. ᫨  ன⢮
   , ⠪  ᨬ ⨯,  ᪠ 楤 open, -
⢥ ⨯ 䠩 ன⢠, ⮣ 짮⥫:   楤
   ,  ᨬ  ⭮ ࠩ.
        ⨯  ன⢠ 楤 open ⠭  
뢠騬 ᮬ  뢠 ன⢮  樠 ଠ樮-
  ࠩ. ਬ, 楤 open  ନ   ਮ-
⠭    ,   設  㯨 ᨣ () 
⮬,    짮⥫  ।ਭ   ॣ஢. ᫥ ⮣
樠 ଠ樮  ࠩ  ᮮ⢥⢨  ਭ-
 ⠭ ନ (ਬ, ᪮ । ଠ樨   ).
  "ணࠬ ன", ⠪   ⥬, 楤 open 
   ᥡ 樠.
    ᫨  ६  ன⢠  諮  ਮ⠭  
-  譨 稭,  ⠪ ,  ᮡ⨥, ஥ -
 뫮  맢  믮 , ⠪    -
. ਬ, ᫨   ନ   ॣ஢  
 짮⥫,  getty, "訩" ନ (ࠧ 7.9), ਮ-
    ,  짮⥫  㤥 ।ਭ ⪠ -
樨,  ⮬  ன 筮 让 ஬⮪ ६. 
    믮     ⬥  맮
㭪樨  open    祭  ᨣ:  ᫥  , ⬥
 室  ⠡ 䠩  짮⥫᪨  ਯ  䠩,  
뫨  뤥 । 室  ࠩ, ᪮ ⨥  ந諮. 
࠭ ⥪ , ᯮ  setjmp (ࠧ 6.4.4), ०-
 祬  楤 open; ᫨    ᨣ, -
 ⠭ ⥪   ⮬ ﭨ, ஥    ।
饭   ࠩ, ᯮ  longjmp (ࠧ 6.4.4),  -
頥 ⥬  뤥 楤 open  . 筮 ⠪   
ࠩ  㫮 ᨣ   㯭   , ᫨
  室.  ⠪ ⠭   䠩 -
⥬,  ࠩ ⠫  ᪫⥫묨 ﬨ,  ⠪,  
⪠ 짮⥫   ன, 饬   -
樨.    㭪 open  믮.
       㪠뢠 祭 ࠧ ࠬ஢, ࠪਧ騥
ᮡ 믮 楤 .     ᯮ-
 "no delay" ( প), 饥,    㤥 ਮ⠭
 ६ 믮 楤 open, ᫨  ன⢮    ⮢.  ⥬
㭪  open 頥 ࠢ   짮⥫᪨  
㧭, ந諮  ⭮ ᮥ  .  ⨥  ன⢠  
ࠬ஬  "no delay", ஬ ᥣ 祣, ஭ ᥬ⨪ 맮 㭪-
樨 read,   㢨  (ࠧ 10.3.4).
    ᫨ ன⢮ 뢠 ⭮,  ࠡ뢠 짮⥫-
᪨ ਯ 䠩,     ⠡ 䠩 ⠪,    -
ᠭ      5, ᪠ ।塞 ⨯ ன⢠ 楤 open 
 맮 ⥬ 㭪樨 open.  ࠧ, ࠩ ன⢠  -
 , ᪮쪮 ࠧ ன⢮ 뫮 "",  ࢠ 믮
㭪樨 open, ᫨ ⢮ ⨩ ਭ﫮 ⨬ 祭. -

                                    295

,   ࠧ ᠬ ⭮ "뢠" ନ  -
    ⮣,  ⮡  짮⥫   ᮮ饭ﬨ.  
⮬  ᫥ ᪠ ⭮  ""  饣  ன⢠
  ६ , ⠪       -
.  ࠧ   ᪮॥  ࠪ⨪,   ⠤  ࠧ-
⪨:  ࠧ襭 ६   ନ ᯮᮡ ⠭-
 ⢨  짮⥫ﬨ; 饭 ६   
ਭ 㦨 襭 ⠡쭮 設ࠬ (**).



    +------------------------------------------------------------+
    |  close           /*  ன */               |
    | 室 ଠ:  ਯ 䠩                      |
    | 室 ଠ:                            |
    | {                                                          |
    |    믮  ⠭⭮  ( 5);  |
    |    ᫨ (祭 稪 뫮  ⠡ 䠩  0)   |
    |       ३  finish;                                   |
    |    ᫨ (    䠩, 訩  -|
    |     訩  ண ᮢ  ࠬ 뢠  |
    |     ன⢠)                                            |
    |       ३  finish;     /*  ᫥ ⨥ */   |
    |    ᫨ (ன⢮ ᨬ쭮 ⨯)                      |
    |    {                                                       |
    |       ᯮ짮 訩   ⢥ 㪠⥫     |
    |        ⠡ 祩 ன⢠ ᨬ쭮 -뢮- |
    |        ;                                                 |
    |       맢 楤 , ।塞 ⨯ ࠩ- |
    |          ।   ⢥ ࠬ 訩 - |
    |         ன⢠;                                     |
    |    }                                                       |
    |    ᫨ (ன⢮ 筮 ⨯)                         |
    |    {                                                       |
    |       ᫨ (ன⢮ ஢)                        |
    |          ३  finish;                                |
    |       ९  ன⢠  ୮   -|
    |        ன⢮;                                            |
    |       ᯮ짮 訩   ⢥ 㪠⥫     |
    |        ⠡ 祩 ன⢠ -뢮 ;     |
    |       맢 楤 , ।塞 ⨯ ࠩ- |
    |          ।   ⢥ ࠬ 訩 - |
    |         ன⢠;                                     |
    |       ᤥ ⢨⥫묨  ன⢠, ⠢訥-|
    |          ୮ ;                                 |
    |    }                                                       |
    |  finish:                                                   |
    |    ᢮ ;                                      |
    | }                                                          |
    +------------------------------------------------------------+

             㭮 10.4.   ன⢠

----------------------------------------
(**)   ࠪ⨪ 뢮   筮 ࠢ ᯥ樠묨 ᠬ
     ਧ樨,  ࠢ 㯠 ⠭ ⠪ ࠧ, ⮡ ⮫-
      ⥬ ਧ樨    ਭ.



                                    296

        10.1.2.2 Clos

     ࠧ뢠    ன⢮,  뢠  .  ,
  ᪠  ।塞 ⨯ ன⢠ 楤 close ⮫쪮  -
 맮 㭪樨 close  ⮣ ன⢠,   ⮫쪮 ᫨   -
  ᮢ,  ன⢮ 室 , ᪮ 楤
 ன⢠ 蠥 ࠧ뢮 ⭮ ᮥ;   -
,    ᫥ ,   ⠭   , -
饣  ன. ᪮  ᪠ 楤  ன-
⢠   맮 ⥬ 㭪樨 open,   楤    ⮫쪮
 ࠧ, ࠩ ன⢠ , ᪮쪮 ᮢ ᯮ ன-
⢮   . ࠩ     , ᫨   -
ᠭ   ᮡ ஦:   믮 楤 close 
ਮ⠭ ᢮ ࠡ  -  뢠 ன⢮  
⮣,    楤 , ன⢮   㯭
 ࠡ, ᫨  १ 樨 맮 open  close ᫮  -
ᯮ .

        ன⢠ 宦    䠩 筮
⨯ (㭮 10.4). ,  ⮣,   ᢮ ,   -
 ⢨, ᯥ  䠩 ன.
 1. ᬠਢ ⠡ 䠩  ⮣, ⮡ 㡥  ⮬,    
        ᮢ  ॡ, ⮡ ன⢮ 뫮 . ⮡
    ⠭,  맮 㭪樨 close  ன⢠    ᫥,
    筮      祭 稪 뫮  ⠡ 䠩,
    ᪮ ᪮쪮 ᮢ      ⮬    -
    ன, ᯮ ࠧ 窨 室  ⠡ 䠩.   -
    筮      祭 稪  ⠡ ᮢ, ᪮
      ⮬  ன  ᮮ⢥⢮ ᪮쪮 䠩  -
    ன⢠. ਬ,  ls -l ,    ⮬  ன-
      ᨬ쭮  ⨯ ("c"  砫 ப) ᮮ⢥  䠩 -
    ன⢠, 訩  訩    (9  1) ᮢ.  祭
    稪  痢   䠩, ࠢ 1,   ⮬,  
     .

       crw--w--w-     1 root   vis   9, 1  Aug 6 1984  /dev/tty01
       crw--w--w-     1 root   unix  9, 1  May 3 15:02 /dev/tty01

    ᫨  뢠  䠩 ᨬ   㣮,   -
      ࠧ ᠬ   ⮣  ன⢠.
 2. ᫨ ன⢮ ᨬ쭮 ⨯,  ᪠ 楤  -
    ன⢠  頥 ࠢ  ० . ᫨ ன⢮ 筮
    ⨯,    ᬠਢ ⠡ १⮢ ஢  ஢,
     ᯮ   ன⢥ ᬮ஢ 䠩 ⥬.  ᫨
    ⠪ ⥬ ,   ᬮ  楤  ன-
    ⢠, ᪮   ᤥ ᫥ 맮 㭪樨 close  ன-
    .    ᫨  ன⢥  ᬮ஢ 䠩 ⥬,  -
    ୮    室   묨, ⠢訥   ᬮ-
    ஢  ࠭  䠩  ⥬   ९ᠭ  ன⢮, -
       "⫮ ". ⮬  ᬠਢ -
       ᪠ ⠪   ९뢠   ன⢮  ।
    ᪮  楤   ன⢠. ᫥  ன⢠ 
     ᬠਢ     ⢨⥫묨   ,
     ᮤঠ   ⮫쪮  ⮣ ன⢠,    -
      ࠬ  㠫쭮 ଠ樥   .
 3.  ᢮  䠩 ன⢠.
     , 楤  ன⢠ ࠧ뢠   ன-
    樠  ଠ樮  ࠩ  
 ன⢠  ⥬, ⮡            ன⢮

                                    297

.


        10.1.2.3 Read  Writ

      ⥭   ஬  ன⢥ 宦   -
  䠩 筮 ⨯. ᫨  ந ⥭   
  ன⢥ ᨬ쭮 -뢮,  ᪠ 楤 read 
write, ।塞 ⨯ ࠩ. ᬮ    騥  -
樨,    ⢫ ।  ।⢥  
࠭⢮   ன⢮, ࠩ  ன    ਧ
ଠ  ᥡ. ਬ, ନ ࠩ  ਧ樨 -
  ᯮ  ᨬ  ᯨ᪨ (ࠧ 10.3.1).  ⠪  ࠩ
ன⢠ 뤥 "",    ࠭⢠    -
  楤  write  뢮   ""  ன⢮. 楤
, ࠢ塞 ࠩ஬, ॣ㫨 ꥬ 뢮  ଠ樨  (..
ࠢ ⮪ ): ᫨   ଠ ॥, 祬
ன⢮  뢮 , 楤  ਮ⠭ 믮 -
ᮢ   ,  ன⢮  㤥  ⮢  ਭ  ᫥  
.  ⥭ ࠩ ன⢠ 頥 , 祭  ன-
⢠,   

                   

                   |     |
                   +-----+
             160110| CSR |         +------+ +---------tty00
                   | RDB +---------+ dz00 +-+---------tty01
                   | TDB |         +------+ |          ...
                   +-----+                  +---------tty07
             160120| CSR |         +------+ +---------tty08
             160122| RDB +---------+ dz01 +-+---------tty09
             160126| TDB |         +------+ |          ...
                   +-----+                  +---------tty15
                   |     |

    㭮 10.5. ⮡ࠦ   -뢮  ᯮ짮-
                   ஫ VAX DZ11


      짮⥫᪨ , 㪠  맮 ⥬-
 㭪樨.
     ⮤ ⢨ ࠩ  ன⢮ । -
ﬨ .   設 ᯥ稢 ⮡ࠦ --
  , ࠧ㬥饥,     ᭮ ࠭-
    ࠬ 祥  䨧᪮ ,   ᯥ樠묨  -
ࠬ,  ஫騬 ᮮ⢥騥 ன⢠. 뢠  㪠
ॣ ࠢ騥 ࠬ  ᮮ⢥⢨   ᯥ䨪ﬨ  
।,  ࠩ  ⢫ ࠢ ன⢮. ਬ, ஫
-뢮  設 VAX-11 ᮤন ᯥ樠 ॣ    -
ଠ樨   ﭨ ன⢠ (ॣ ஫  ﭨ)   -
  ( ॣ),  ନ  ᯥ樠  ᠬ
 䨧᪮ .  ⭮, ନ ஫ VAX DZ11 ࠢ
8 ᨭ஭묨 ﬨ ନ쭮 裡 (. [Levy 80],   ஡
 ⥪ 設 VAX).  ॣ ஫  ﭨ (CSR)
  ⭮  ନ DZ11   160120, ।騩  -
 (TDB) -  120126,  ਭ騩   ॣ  (RDB)  -  
160122   (㭮  10.5).    ⮣,  ⮡  ।  ᨬ    ନ
"/dev/tty09", ࠩ ନ 뢠  (1 = 9      8)  

                                    298

㪠    ࠧ ॣ ஫  ﭨ  ⥬ 뢠
ᨬ  ।騩  ॣ.   ।騩    ॣ
  ।祩 . ஫ DZ11 ⠢  "믮"  -
 ஫  ﭨ,  ⮢ ਭ  ᫥    .
⥫쭮  ࠩ   ⠢  " 뢠 ।" 
ॣ ஫  ﭨ,  ⠢ ஫ DZ11 뢠  -
  ⥬,   ⮢ ਭ ᫥  . ⥭ 
 DZ11 ந 筮.
     㣨 設  ணࠬ㥬  -뢮,  ࠧ㬥騩,
   設  樨  ࠢ ன⢠. ࠩ ࠢ-
 ன⢠, 믮 ᮮ⢥騥 樨. ਬ,    設
IBM  370   "Start I/O" ( -뢮),  樨-
  -뢮, 易  ன⢮. ᮡ 裡 ࠩ 
਩묨 ன⢠ ⥭  짮⥫.
    ᪮ 䥩  ࠩࠬ ன  ᮮ⢥騬  -
묨  ।⢠  設-ᨬ,  ⮬ ஢  
⠭ 䥩ᮢ.   砥 뢮  ⮡ࠦ    ,
⠪    砥 ணࠬ㥬 -뢮 ࠩ  뫠  -
ன⢮ ࠢ騥 ᫥⥫쭮  楫 ⠭  ०  אַ
㯠   ()  ன⢠. ⥬  ⢫ -
  ।    ன⢮    ०  ࠫ쭮 
ࠡ⮩ 業ࠫ쭮 ,  ⮬ ன⢮ 뢠 ࠡ -
  襭 । . ࠩ ࣠ ࠢ  㠫쭮
 ⠪ ࠧ, ⮡ 祩    ⢨⥫묨 ࠬ -
짮  .
    த騥  ன⢠   ।  ।-
  ᭮ ࠭⢮ ,  ⥫⢠  .    -
 蠥 ᪮ । , ᪮  ⮬ ந-
    ஢ , , ஬ ⮣, ꥬ , ।-
    ,  ࠭稢 ࠧ஬ ஢ . ࠩ,
⢫騥 ⠪ ।      "ࠡ⪨",  筮  ᯮ
  䥩    楤  ᨬ쭮 ⥭  , ᫨  
  筮 ⨯.


        10.1.2.4 ⥣᪨ 䥩

     ᯮ ⥣᪨ 䥩  ।     -
 襬  ன⢮, ,  㦥 ਫ ࠭, 楤 ⥭
    ன ᨬ쭮 뢮   楤-
ன strategy (  筮 ⨯)  ।⢥ ।  -
    ன⢮    ࠭⢮ . 楤 strategy
 ࠢ । 믮   -뢮,  易  
ன⢮,  믮  ᫮ ⢨  ஢ 믮
  . ࠩ  ﭨ ਢ뢠 ।   
䨧᪮    .  ।    -
⥣᪮ 楤 ࠩ;   ᮤন ᯨ᮪ ᮢ  (-
  )  ࠧ , ।    ன⢠. 筮
⢨    ࠡ 堭 ᢮, ᠭ      9.
  ࠡ    襬  ।    ;  ६
᢮  । , ᯮ  ᪮쪨 ᠬ (࠭
). ᫨      ᭮ ࠭⢮ , ࠩ-
  ஢  (  ࠩ , ᮮ⢥騥 ࠭-
)    襭 । .
    ਬ, ᫥ ஢ 䠩 ⥬   
䠩  䠩 ⥬   ன⢠   .   -
ன⢠ ஢  訩  訩 .    頥  
,  ਭ 䠩,    ன⢠   -
    ,  㦥 ਫ ࠭   3. 饭  -

                                    299

, ᯮ騥  ࠡ     襬  (ਬ,  bread  
bwrite),  樨 믮 ⥣᪮ 楤, ।塞 -
訬 ஬ ன⢠. ⥣᪠ 楤 ᯮ  祭  
襣           䨪樨 
ᯮ   ன⢥,    -  䨪樨  
祭 । . 筮 ⠪ ,   頥  -
ன -뢮  ।⢥ (ਬ, 뢠 ன⢮
      뢠  ),  ᯮ  ࠡ  
襬,  䥩  ⮬ 㭪樮 襮ᠭ ࠧ.


        10.1.2.5 Ioctl

    ⥬ 㭪 ioctl  饭  ᯥ    ନ
㭪権  stty ( ⠭ ନ)  gtty ( ⠭ ନ-
),   ࠭  ⥬ UNIX.  㯠  ⢥ -
饩 窨 室   易  ⨯  ன⢠      
ᠬ      ࠬ, 樨஢  ன⢮, 
ணࠬ ࠬ, 樨஢   ࠩ஬.  樠  ⢨,
믮塞  㭪樥 ioctl  ࠧ ன ࠧ  । -
 ࠩ. ணࠬ, ᯮ騥 맮 ioctl,     ,  
䠩   ⨯  ࠡ, ⠪    ⭮-ᨬ묨.
᪫祭  饣 ࠢ ᤥ  ⥬,     ࠧ稩
  䠩  ࠧ ⨯.  ஡ ᯮ짮 㭪樨 ioctl 
ନ ᬮ७  ࠧ 10.3.3.
    ⠪  ப, ᮤঠ饩 맮 ⥬ 㭪樨:

    ioctl(fd,command,arg);

 fd - ਯ 䠩, 頥  ।⥫쭮  맢  㭪樥
open,  command  - ⢨ (), ஥ 室 믮 ࠩ,
arg - ࠬ  (  㪠⥫  ).   ᯥ-
   ࠧ ࠩ஢; ᫥⥫쭮,  ࠩ 
  ᮮ⢥⢨  ᢮ ७ ᯥ䨪ﬨ,   ,  
᢮  ।,  ଠ  , 뢠 । -
ࠬ஬. ࠩ  뢠   arg  ࠭⢠  -
  ᮮ⢥⢨  ।। ଠ⮬  뢠 ⠭ -
ன⢠   ࠭⢮    㪠 . ਬ, -
稥 䥩, ।⠢塞 㭪樥 ioctl,    짮-
⥫  ⠭    ନ ᪮ । ଠ樨  ,
६뢠  , , , 믮 ⥢ 樨,  -
  㠫   ⥢ .


        10.1.2.6 㣨 㭪樨, 騥 ⭮襭  䠩 ⥬

      㭪樨 ࠡ  䠩 ⥬,  stat  chmod, 믮
,    䠩, ⠪   ன;   㫨  
ᮬ,    ࠩ.  ⥬ 㭪 lseek ࠡ⠥ 
ன. ਬ, ᫨     ⮯玲 ன-
⢥    㪠    ᬥ饭     㭪樨 lseek, 
४ ᬥ饭  ⠡ 䠩     믮    ⢨,
ᯥ    ⨯ ࠩ.    믮 -
 (read)   (write),  뫠    ᬥ饭    ⠡
䠩  ᭮ ࠭⢮ ,  ⮬,     
ࠡ   䠩 筮 ⨯,  ன⢮ 䨧᪨ ६頥  
ᮮ⢥饬 ᬥ饭, 㪠  ࠭⢥ .  砩 -
  ਬ  ࠧ 10.3.


                                    300

    ਩         ⥫쭠              
     ன⢠                              뢠
                                              +------------------+
                                              |         -        |
         tty00 -------------+                 |         -        |
         tty01 ....         |                 |         -        |
          ...               | +--+            +------------------+
         tty07 -------------+-+  |------------|     ttyintr 0    |
         tty08 -------------+ +--+            +------------------+
         tty09 ....         +-+  |------------|     ttyintr 1    |
          ...      +--------+ +--+            +------------------+
         tty15 ----+ +--------+  |------------|     consintr     |
       ᮫ ------+        +--+            +------------------+
     ਭ00 -------------+-+  |------------|    printintr 0   |
               ....         | +--+            +------------------+
     ਭ03 -------------+ |  |            |         -        |
                              |  |            |         -        |
                              +--+            +------------------+

                㭮 10.6. 뢠  ன



        10.1.3 ணࠬ ࠡ⪨ 뢠

     㦥 ਫ  (ࠧ 6.4.1),  뢠  -
  ᪠ ணࠬ ࠡ⪨ 뢠,  ᭮ ⬠ -
ன  ᮮ⭮襭  ன⢮, 맢訬 뢠,  ᬥ饭 
⠡  ஢  뢠.  ᪠ ணࠬ ࠡ⪨ 뢠
  ⨯ ன⢠, ।   ன⢠  㣨  -
   ⮣, ⮡ ஢  ன⢠, 맢 -
. ਬ,  ⠡ ஢ 뢠  㭪 10.6   
窨  室    ࠡ⪨ 뢠  ନ ("ttyintr"),  
 ᯮ  ࠡ⪨ 뢠, 㯨  8  ନ.
᫨  ன⢮  tty09  ࢠ ࠡ ⥬, ⥬ 뢠 ணࠬ
ࠡ⪨ 뢠, 樨஢  ⮬ ⭮ 祭  -
ன⢠.  ᪮     ⠡ ஢ 뢠  
易 ⢮ 䨧᪨ ன, ࠩ    㬥  ᯮ
ன⢮,  맢襥 뢠.  㭪   ⠡ ஢ -
뢠, ᮮ⢥騥 뢠  ନ,  ⪨ 0  1, ⮡
⥬ ࠧ砫   ᮡ  맮 ணࠬ ࠡ⪨  뢠,
ᯮ  ਬ    ⢥ । ணࠬ ࠬ.
ணࠬ  ࠡ⪨  뢠  ᯮ     ଠ,
। 堭 뢠,  ⮣, ⮡ 㤮⮢,  
ன⢮ tty09,   tty12, ࢠ ࠡ ⥬.  ਬ    -
饭  뢠 ,     ॠ ⥬,   ᠬ
    ᪮쪮  ஢ ஫஢  ᮮ⢥ ணࠬ
ࠡ⪨ 뢠,    騥 ਭ樯.
    ᫨  ⮣,  ᪠,     ன⢠,  ᯮ㥬
ணࠬ  ࠡ⪨ 뢠,   ,  -
訩   䠩 ன⢠  ன⢮  . ࠩ -
ன⢠ ⠭ ᮮ⢥⢨  訬 ஬ ன⢠  -
஬  .


        10.2  

     ᫮ ᪨,  ᪮ ன⢠  ⥬ UNIX  ࠧ-
    ࠧ,  ᮤঠ騥  ࠧ 䠩 ⥬,  砫

                                    301

" [᪮]   ᪮쪮 ࠢ塞 -᢮ ⥩"  (.
[System  V 84b]). ਬ, ᫨  ᪥ ᯮ  䠩 -
⥬,   ⠢    ᬮ஢,   ᬮ-
஢  ⮫쪮  ⥭,   㣨 ⮫쪮  . ᬮ  ,
  䠩 ⥬    䨧᪮ ன⢥,  -
⥫        䠩 ஢ 䠩 ⥬,
ᯮ ⮤ 㯠, ᠭ   4  5,   뢠  䠩  
䠩 ⥬, ᬮ஢ ⮫쪮  ⥭.  ⮣, ⠪  -
  ࠧ  (,  ᫥⥫쭮, 䠩 ⥬)   ᪥ ᬥ
஦  樫, ᪮஢  䠩 ⥬ , 祬   ⮬  -
砥, ᫨  ࠧ  ⪨, ࠧᠭ  ᥬ ᪮ ⮬.
    ᪮  ࠩ ࠭᫨  䠩 ⥬, 騩  -
᪮  ன⢠   ,    ᪮  ᥪ.
ࠩ  砥    ᫥ ⥩:  ⥣᪠ -
 ᯮ   ୮ 㫠,  ண ᮤন  
ன⢠    ,    楤  ⥭    । ᪨
(訩)  ன⢠  ⢥ ࠬ;  ८ࠧ   ᬥ-
饭    , ࠭騩  ࠭⢥ ,   ᮮ⢥饣
. ᪮ ࠩ ᯮ  ன⢠  䨪樨  䨧-
᪮  ன⢠    㪠 ᯮ㥬 ࠧ,   ⮬ 
७ ⠡栬  ᪠ ᥪ, ⬥饣 砫 ࠧ  ᪥.
,      䠩 ⥬   ,  -
ண 稭  ᥪ, ⮡ ஢  ᥪ,  ᯮ㥬
 -뢮.

         +---------------------------------------------+
         |     砫         |
         |                                             |
         |             = 512            |
         |                                             |
         |    0                0                 64000 |
         |    1            64000                944000 |
         |    2           168000                840000 |
         |    3           336000                672000 |
         |    4           504000                504000 |
         |    5           672000                336000 |
         |    6           840000                168000 |
         |    7                0               1008000 |
         +---------------------------------------------+

               㭮 10.7.   ᪥ RP07


    ᪨ ᫮ ⠪,  ࠧ ᪮ ࠧ ⠭
  ᨬ  ⨯ ᪠. ਬ,  DEC RP07 ࠧ  ࠧ, -
ࠪ⨪  ਢ    㭪  10.7.  ।,    䠩
"/dev/dsk0",  "/dev/dsk1",  "/dev/dsk2"  "/dev/dsk3" ᮮ⢥ ࠧ
᪠ RP07, 騬   0  3,      訥  .
  ࠧ ᪮   䠩 ⥬ ᮢ  ࠧ஬ -
 . ᫨  ⠥     ஬ 940  䠩
⥬, ࠭饩  "/dev/dsk3", ᪮ ࠩ  ॠ    
   ஬ 336940 (ࠧ 3 稭  , 饣  336000;
336000 + 940 = 336940)  ᪥.
     ࠧ  ᪥    ᯮ  䠩-
  ⥬  ࠧ ᮮ⢥饣 ࠧ: 訥 䠩 ⥬
  ࠧ 襣 ࠧ  . .   ᪥   ४-
. ਬ, ࠧ 0  1  ᪥ RP07  ᥪ,   
     ࠬ  0  1008000,    .  7 ⠪
   . ४⨥ ࠧ   祭, ᪮ 䠩-

                                    302

 ⥬, ࠭騥  ࠧ, ࠧ ⠪ ࠧ,    
    祭.      ࠧ, 騩  ᥡ  ᪮
࠭⢮, 룮, ᪮  ⮬   ᪮஢.
    ᯮ짮 ࠧ 䨪஢  ⠢    ࠧ  ࠭稢
  ᪮ 䨣樨. ଠ  ࠧ  ஢ 
 ᫥   ᪮ ࠩ,  㦭   ⠡  ᮤ-
 ᪮ ⮬. ,  饥    ᪠  ࠧ-
 ⠡ ᮤন ᪮ ⮬  ࠭ ⥬ ᠬ ᮢ⨬ 
।騬  ﬨ  ⥬  쭮  㤭.   ॠ
ᨨ V ।,   砫쭮 㧪 ࢮ  䠩 -
⥬  ᪥   ᥪ ⮬,    ,    ,
ᠬ 室饥   ⠡ ᮤন ⮬.    ᪮ ࠩ-
    ஢ ଠ   ᯮ ⠡ -
ন ⮬   ᪠,  ९ ⢮ ᪮ ࠧ-
 ६ ࠧ.
     裡  ⥬,   ⥬ UNIX   ⨯  ᮪  ஢
᪮  䨪,  ࠩ  ᪠  ᨬ஢ ।  
⥬, ⮡ ᯥ  ந⥫쭮  ᥩ  ⥬.  訥
᪮ ஫ ⢫ ஢ 믮 , ॡ
饭   , 樮  ᪠  ᯥ稢 । -
  ᪮  業ࠫ ஬;   室  -
 ࠩ.
    ࢨ ணࠬ  ।⢥         室
⠭⭮  ⮤ 㯠  䠩 ⥬, ᬮ७   4 
5,    䥩ᮬ, ⠪   ਡ    ஢
.  ।⢥  ࠡ    ᪮    ணࠬ - mkfs 
fsck. ணࠬ mkfs ଠ ࠧ ᪠    䠩  ⥬  UNIX,
ᮧ  ⮬ 㯥࡫, ᯨ᮪ ᮢ, ᯨ᮪ ᢮ ᪮ -
   㪠⥫ﬨ  ୥ ⠫  䠩 ⥬. ணࠬ fsck
஢ 楫⭮ 饩 䠩 ⥬  ࠢ 訡, 
   5.
    ᬮਬ ணࠬ, ਢ  㭪 10.8,  ਬ  䠩
"/dev/dsk15"  "/dev/rdsk15",  ।,   ls 뤠 ᫥
ଠ:
    ls -1 /dev/dsk15 /dev/rdsk15

    br--------  2 root   root   0,21 Feb 12 15:40   /dev/dsk15
    crw-rw----  2 root   root   7,21 Mar  7 09:29   /dev/rdsk15

     ,  䠩 "/dev/dsk15"  ᮮ⢥  ன  筮
⨯,  楬 ண  짮⥫   "root",  ⮫쪮
짮⥫ "root"     ।⢥.  訩  -
0, 訩 - 21.  "/dev/rdsk15" ᮮ⢥  ன  ᨬ쭮
-뢮, 楬 ண  짮⥫ "root",  ࠢ
㯠   ஬    ⥭    , ⠪   㯯.
 訩  - 7, 訩 - 21. ,  뢠騩  䠩,  砥
  ன १ ⠡ -
祩  ன -뢮   ⠡ 祩 ன ᨬ쭮
-뢮, ᮮ⢥⢥,   訩    ன⢠  21  ନ
ࠩ  ⮬,   ࠧ ᪠ ந 饭, ਬ, -
 2, ࠧ 1. ᪮ 訥   䠩 ᮢ,  뫠-
      ࠧ ᪠, ᫨ ।,    ன⢮
(***).    ࠧ, , 믮騩 ணࠬ, 뢠   

---------------------------------------
(***)    ᯮᮡ ⠭,  ᨬ   ࠩ-
       뫠      ன⢮, ஬ ᬮ ⠡ -
      ⥬ 䨣樨  ⥪ ணࠬ ࠩ.


                                    303

 ࠩ  (ᯮ ࠧ 䥩), 樮   
ᬥ饭   ᮬ 8192  뢠   ⮣ .  믮-
 権 ⥭    묨    ᫮,    ࠡ⠥
⮫쪮  䠩 ⥬.

    +------------------------------------------------------------+
    | #include "fcntl.h"                                         |
    | main()                                                     |
    | {                                                          |
    |      char buf1[4096], buf2[4096]                           |
    |      int fd1, fd2, i;                                      |
    |                                                            |
    |      if (((fd1 = open("/dev/dsk5/", O_RDONLY)) == -1) ||   |
    |               ((fd2 = open("/dev/rdsk5", O_RDONLY)) == -1))|
    |      {                                                     |
    |            printf("訡  ⨨\n");                |
    |            exit();                                         |
    |      }                                                     |
    |                                                            |
    |      lseek(fd1, 8192L, 0);                                 |
    |      lseek(fd2, 8192L, 0);                                 |
    |                                                            |
    |      if ((read(fd1, buf1, sizeof(buf1)) == -1) ||          |
    |          (read(fd2, buf2, sizeof(buf2)) == -1))            |
    |      {                                                     |
    |            printf("訡  ⥭\n");                  |
    |            exit();                                         |
    |      }                                                     |
    |                                                            |
    |      for (i = 0; i < sizeof(buf1); i++)                    |
    |            if (buf1[i] != buf2[i])                         |
    |            {                                               |
    |                 printf("ࠧ稥  ᬥ饭 %d\n", i);     |
    |                 exit();                                    |
    |            }                                               |
    |      printf(" ᮢ\n");                         |
    | }                                                          |
    +------------------------------------------------------------+

    㭮 10.8. ⥭   ᪠  ᯮ짮 筮
                  䥩   ஢ 


    ணࠬ, ⢫騥 ⥭     ।⢥, ।-
⠢  ᭮,  ᪮  㫨   ⢨⥫쭮 ଠ樥,
  ⥬ . ࠬ ᫥  䥩-
 -뢮 ⥬ ⠭ ࠢ 㯠   䠩  ᪮  ன.
ਬ,  ᪮  䠩  "/dev/dsk15"  "/dev/rdsk15"  ਭ
짮⥫   "root",  ࠢ 㯠       ।
⠪  ࠧ,  ⮡ 짮⥫ "root" 뫮 ࠧ襭 ⥭,  ᥬ -
⠫ 짮⥫  ⥭,     饭.
    ணࠬ, ⢫騥 ⥭     ।⢥, 
⠪  楫⭮    䠩  ⥬.    䠩
⥬,  ᬮ७    3, 4  5, न 믮 権
-뢮, 易  ᪮, ⥬ ᠬ ন 楫⭮ ଠ-
樮   ᪥,  ⮬ ᫥ ᯨ᪠ ᢮  ᪮    
㪠⥫  ᮢ  ଠ樮  אַ  ᢥ 樨.
, 騥   ।⢥, 室  . 
  ணࠬ ᠭ  让 ஦, ஡ 楫⭮ 

                                    304

ࠢ   祧, ᫨  믮 ࠫ쭮  ࠡ⮩ 㣮 䠩-
 ⥬.  ⮩ 稭 ணࠬ fsck   믮   -
稨 ⨢ 䠩 ⥬.
      ⨯  ᪮ 䥩 ࠧ  ᮡ  ᯮ짮
୮ .  ࠡ   䥩ᮬ   ⥬   -
⬮,     䠩 筮 ⨯, ᪫祭 ⠢  ,
 ᫥ ८ࠧ  ᬥ饭 ᪮     ᬥ-
  ᪮  (.  bmap   4)  ࠪ  ᬥ-
饭 ᪮   䨧᪨    䠩  ⥬.  -
⥬,  ᯮ  ,  頥  , ,  筮 ⮣,
 ⥣᪮ 䥩 ࠩ. ,  饭     १
ᨬ 䥩 ( ஢ ),   ॢ頥 
ᬥ饭      䠩,  ।   ࠩ, ᯮ 
। ࠡ祥 ࠭⢮ . 楤 ⥭  , 室騥  
⠢ ࠩ, ८ࠧ ᬥ饭    ᬥ饭    -
  ।⢥  ᭮ ࠭⢮ ,   .
     ࠧ, ᫨   뢠  ன⢮ 筮 ⨯,
  ன    ⥬ 뢠  ன⢠ ᨬ쭮 ⨯  ⮬ 
, ன     ଠ, ᠭ    -
ᮬ,  ⠪    ଠ    室  ୮ ,   
᪥.   , ᫨ ன    ன 筮 -
,  ⮬᪨    , 室騥  ୮ .
     ᯮ짮 ᨬ쭮 䥩  ⮫    ࠭
樥.  ᫨    ⠥    ன⢮ ᨬ쭮 -
-뢮 ﬨ 襣 ࠧ, 祬,  ਬ, , १  
  ࠩ. ਬ, ᫨ ந     1 ,
        .
    २⢮  ᯮ짮  ᨬ쭮  䥩 ⮨  ᪮,
᫨   室  ஢   쭥襩  ࠡ.
,  騥  ன⢠  -뢮 , । -
 , ࠧ    ࠭稢 ࠧ஬ ᪮
   䠩 ⥬. ਬ, ᫨ ࠧ ᪮    
䠩  ⥬ 1 ,    -뢮   ।
  1  ଠ樨.  ⮬ , 騥    -
 ᨬ쭮 䥩,  ।      ᪮  
⢮  ᪮ ,  ᨬ  ⥩ ᪮ ஫-
.  㭪樮쭮 窨 ७,  砥    ᠬ  १-
,  ᨬ 䥩  ࠡ ࠧ ॥. ᫨ ᯮ짮-
  ਬ஬, ਢ  㭪 10.8,  㢨,   -
 뢠 4096 , ᯮ  䥩  䠩 ⥬ 
ࠧ஬  1 ,  ந  ७ 樨,   -
 蠣   , ० 祬 맢 ⥬ 㭪 -
 ࠢ,    ᯮ ᨬ 䥩, ࠩ -
    ⥭    ᪮ .  ⮣, ᯮ짮
筮 䥩 뢠 ⥫쭮 ஢    -
  ࠭⢮    ࠬ ,    ᨬ쭮 -
䥩.


        10.3  

    ନ ࠩ 믮   㭪,   ⠫ ࠩ:
ࠢ ।祩     ନ. , ନ   
ᮡ,  易  ⥬,   ᯥ稢 䥩 짮⥫ 
⥬. ᯥ稢 ࠪ⨢ ᯮ짮 ⥬ UNIX, ନ
ࠩ  ᢮ ७ 䥩  ﬨ, 騬  
  뢮 ப.  ᪮ ०  ப ८ࠧ -
஢ ᫥⥫쭮 ,   ,  -
  (   , ᮮ⢥ ⮬,  짮⥫  

                                    305

  ᠬ ) ०, 祬 ᫠     ਭ饬  ;
ப 䥩 ⠪ ८ࠧ ஢ ᫥⥫쭮
室  , ᮧ ᮬ,  ଠ, 室 짮⥫. 
०  ࠡ⪨ ப 䥩 ।   ᠬ  
ନ  - ८ࠧ.
    ணࠬ,  ਬ, ࠡ   ନ 쭮 -
,   訡.   砩 ନ   ࠭ ("erase";
   祭 ⠪ ࠧ), ⮡ 짮⥫    -
     ப   ४⨢. ନ -
뫠 設   ᫥⥫쭮,   ᨬ ࠭
(*** *).  ᪮ ० ப 䥩 ਧ  ଠ  
ப ( ᨬ, 稢騩 ᨬ  ⪨ (*****)) 
   ᨬ  ᥡ, ० 祬 ᫠ ࠢ ᫥-
⥫쭮 뢠饬 .
     㭪樨 ப 䥩 室:
  *  ࠧ  ᫥⥫쭮⥩;
  * ࠡ⪠ ᨬ ࠭;
  * ࠡ⪠ ᨬ "㤠", ⬥  ⠫ ᨬ, -
      ⮣  ⥪饩 ப;
  * ⮡ࠦ ᨬ, 祭 ନ;
  * ७ 室 , ਬ, ८ࠧ ᨬ  ⠡樨
     ᫥⥫쭮 ஡;
  * ᨣ஢ ᠬ  ᠭ ନ  뢠 ப 
     ⢥  ⨥ 짮⥫  㤠;
  *  ।⠢     ࠡ뢠 ᯥ樠 ᨬ, ⠪
     ᨬ ࠭, 㤠   ⪨.

    㭪樮஢  ࠡ⪨ ࠧ㬥 ᯮ짮  ᨭ஭
ନ,  ᪮     뢠 ᨬ  ⮬ ,  
 뫨 ,  ⮣, ⮡ ,  짮⥫  -
    ⪨.
     ⬥⨫,   ப 䥩, ᯮ㥬   ࠧ-
ࠡ⪥ ⥬  砫 70- , ࠡ⠫  ⠢ ணࠬ  
    ।,     (. [Ritchie 84], .1580). ,
᪮   㭪 㦤 ⢮ ணࠬ,    ⠢ -
. ᬮ  ,  ப 䥩 믮 ⠪ 㭪樨,   -
  ᪨ ⥪    ନ ࠩ஬  ⠫쭮
 ,   ᪠ ப 䥩 , 祬  १  ନ-
  ࠩ.    㭪  10.9  ⮪ , 室騩 १
ନ ࠩ  ப 䥩,  ᮮ⢥騥   ࠢ-
騥  ⢨,  室騥 १ ନ ࠩ. 짮⥫ 
㪠,  ப 䥩 ᯮ ।⢮ 맮 ⥬
㭪樨 ioctl,  ॠ 奬,  ன  ன⢮ ᯮ짮
 ᪮쪮 ப 䥩ᮢ ६,  祬  䥩
,  ᢮ ।, ᯥ譮 뢠  ᫥騩      ࠡ⪨
, 쭮 㤭.

        10.3.1  ᯨ᪨

    ப 䥩 ࠡ뢠   ᨬ ᯨ᪠. 
ᯨ᮪  (clist) ।⠢ ᮡ ६  ᯨ᮪ ᨬ 
 ᯮ짮 㪠⥫   ⮬ ⢠ ᨬ  ᯨ᪥. -

---------------------------------------
(****)  ⮬ ࠧ ᬠਢ ᯮ짮 ନ -뢮,
        ।  ᨬ,  짮⥫,  ࠡ⪨.
(*****)    ᯮ 騩 ନ " ⪨"  -
        祭 ᨬ  ⪨  ॢ ப.


                                    306

            ⮪                   ⮪ ࠢ
                                             ⢨
      +-----------------------+       +-----------------------+
      |  ⥭/ |       |  ⥭/ |
      +-----------------------+       +-----------------------+

         -  |          ^   -                 |         ^
       -    v          |     -               v         |
     - +---------------------+ -      +-----------------------+
 뢮 | ப  䥩|    | ନ ࠩ  |
     - +---------------------+ -      +-----------------------+
       -    |          ^     -               |         ^
         -  v          |   -                 v         |
      +-----------------------+        +---------------------+
      | ନ ࠩ  |        | ப 䥩 |
      +-----------------------+        +---------------------+
                                             |         ^
                                             v         |
                                      +-----------------------+
                                      | ࠩ -뢮  |
                                      +-----------------------+
                                             |         ^
                                             v         |
                                     +-------------------------+
                                     | ன⢮ -뢮 |
                                     +-------------------------+

    㭮 10.9. ᫥⥫쭮 饭  ⮪  -
                  १ ப 䥩

⥫   饭  饭
                     
᫥騩    砫               ᨢ ᨬ
                            0 1 2 3 4 5 6 7 8 9        14
----------+---------+---------++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+---
          |    7    |    14   ||g|a|r|b|a|g|e||| |e|q|n| ||| |...
----+-----+---------+---------++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+---
    |
    v

                㭮 10.10.  


  (cblock) ᮤন 㪠⥫  ᫥騩   ᯨ᪥, -
让 ᨢ ࠭  ᨬ쭮  ଠ樨   ᬥ饭,  -
騥    ᯮ      ४⭮  ଠ樨  (㭮
10.10). 饭  砫 뢠   ᯮ ४⭮
ଠ樨  ᨢ, ᬥ饭   뢠   ᯮ-
 ४⭮ ଠ樨.
     ᯥ稢  ᯨ᪠ ᢮ ᨬ   믮
 ᨬ묨 ᯨ᪠  ᨬ묨   権.
 1.  砥 ࠩ ᨬ   ᯨ᪠  ᢮  ᨬ
    .
 2.   ⠪ 頥 ᨬ   ᯨ᮪ ᢮ ᨬ -
    .
 3.   롨  ᨬ   ᨬ쭮  ᯨ᪠:    㤠
     ᨬ  ࢮ ᨬ쭮   ᯨ᪥  ⠭ -
    祭  稪  ᨬ    ᯨ᪥  㪠⥫   ⠪ ࠧ,
    ⮡ ᫥騥 樨  롨ࠫ     ᨬ. ᫨   -

                                    307

      樨 ࠭ ᫥ ᨬ ,  頥  ᯨ᮪
    ᢮ ᨬ  ⮩   ⠭ 㪠⥫  
    ᨬ쭮  ᯨ᪥.  ᫨   ᨬ쭮 ᯨ᪥  ᨬ, 
    頥 ⮩ ᨬ.
 4.    ᨬ   ᨬ쭮 ᯨ᪠ ⥬ ᪠ -
     ᨬ쭮   ᯨ᪥, 祭 ᨬ    -
     ᮢ ᬥ饭. ᫨ ᨬ  ,  뤥 -
     ᨬ , 砥    ᨬ쭮 ᯨ᪠   頥
    ᨬ   .
 5.     㤠  砫 ᯨ᪠ 㯯 ᨬ    
     ,  ⭮ 㤠  ᨬ      
    ࠧ.
 6.        ᨬ   ᨬ쭮 ᯨ᪠.

     ᯨ᪨  ᮧ ᫮ 堭 ਧ樨,  -
  讬 ꥬ । , ⨯筮   -
ன, ⠪  ନ.    㫨஢  묨 
 ᨬ  ⤥쭮   㯯 ᨬ . ਬ, -
 10.11  㤠 ᨬ  ᨬ쭮 ᯨ᪠;  㤠
    ᨬ  ࢮ   ᯨ᪥ (㭮 10.11-)   ,
    ⠭   ᨬ (㭮

    ᨬ                               ᨬ
      ᯨ᮪                                   

                       +-------+ +---+---+---+---+---+---+---+---+
                +----->|  0 8  | | p | i | c |   | f | i | l | e |
                |      ++------+ +---+---+---+---+---+---+---+---+
                |       v
                |      +-------+ +---+---+---+---+---+---+---+---+
+----------+-+  |      |  0 8  | | * |   | | |   | t | b | l |   |
|    27    | +--+      ++------+ +---+---+---+---+---+---+---+---+
| ᨬ | +--+       v
+----------+-+  |      +-------+ +---+---+---+---+---+---+---+---+
                |      |  0 8  | | | |   | t | r | o | f | f |   |
                |      ++------+ +---+---+---+---+---+---+---+---+
                |       v
                |      +-------+ +---+---+---+---+---+---+---+---+
                +----->|  0 3  | | - | m | m |   |   |   |   |   |
                       +-------+ +---+---+---+---+---+---+---+---+
                   ()

                       +-------+ +---+---+---+---+---+---+---+---+
                +----->|  1 8  | |   | i | c |   | f | i | l | e |
                |      ++------+ +---+---+---+---+---+---+---+---+
                |       v
                |      +-------+ +---+---+---+---+---+---+---+---+
+----------+-+  |      |  0 8  | | * |   | | |   | t | b | l |   |
|    26    | +--+      ++------+ +---+---+---+---+---+---+---+---+
| ᨬ | +--+       v
+----------+-+  |      +-------+ +---+---+---+---+---+---+---+---+
                |      |  0 8  | | | |   | t | r | o | f | f |   |
                |      ++------+ +---+---+---+---+---+---+---+---+
                |       v
                |      +-------+ +---+---+---+---+---+---+---+---+
                +----->|  0 3  | | - | m | m |   |   |   |   |   |
                       +-------+ +---+---+---+---+---+---+---+---+
                   ()


                                    308

                       +-------+ +---+---+---+---+---+---+---+---+
                +----->|  2 8  | |   |   | c |   | f | i | l | e |
                |      ++------+ +---+---+---+---+---+---+---+---+
                |       v
                |      +-------+ +---+---+---+---+---+---+---+---+
+----------+-+  |      |  0 8  | | * |   | | |   | t | b | l |   |
|    25    | +--+      ++------+ +---+---+---+---+---+---+---+---+
| ᨬ | +--+       v
+----------+-+  |      +-------+ +---+---+---+---+---+---+---+---+
                |      |  0 8  | | | |   | t | r | o | f | f |   |
                |      ++------+ +---+---+---+---+---+---+---+---+
                |       v
                |      +-------+ +---+---+---+---+---+---+---+---+
                +----->|  0 3  | | - | m | m |   |   |   |   |   |
                       +-------+ +---+---+---+---+---+---+---+---+
                   ()

                       +-------+ +---+---+---+---+---+---+---+---+
                +----->|  0 8  | | * |   | | |   | t | b | l |   |
                |      ++------+ +---+---+---+---+---+---+---+---+
+----------+-+  |       v
|    19    | +--+      +-------+ +---+---+---+---+---+---+---+---+
| ᨬ | +--+      |  0 8  | | | |   | t | r | o | f | f |   |
+----------+-+  |      ++------+ +---+---+---+---+---+---+---+---+
                |       v
                |      +-------+ +---+---+---+---+---+---+---+---+
                +----->|  0 3  | | - | m | m |   |   |   |   |   |
                       +-------+ +---+---+---+---+---+---+---+---+
                   ()

       㭮 10.11.  ᨬ  ᨬ쭮 ᯨ᪠


    ᨬ                               ᨬ
      ᯨ᮪                                   

                       +-------+ +---+---+---+---+---+---+---+---+
                +----->|  0 8  | | p | i | c |   | f | i | l | e |
                |      ++------+ +---+---+---+---+---+---+---+---+
+----------+-+  |       v
|    22    | +--+      +-------+ +---+---+---+---+---+---+---+---+
| ᨬ  | +--+      |  0 8  | | * |   | | |   | t | b | l |   |
+----------+-+  |      ++------+ +---+---+---+---+---+---+---+---+
                |       v
                |      +-------+ +---+---+---+---+---+---+---+---+
                +----->|  0 6  | | | |   | t | r | o | f |   |   |
                       +-------+ +---+---+---+---+---+---+---+---+
                   ()
                       +-------+ +---+---+---+---+---+---+---+---+
                +----->|  0 8  | | p | i | c |   | f | i | l | e |
                |      ++------+ +---+---+---+---+---+---+---+---+
+----------+-+  |       v
|    23    | +--+      +-------+ +---+---+---+---+---+---+---+---+
| ᨬ  | +--+      |  0 8  | | * |   | | |   | t | b | l |   |
+----------+-+  |      ++------+ +---+---+---+---+---+---+---+---+
                |       v
                |      +-------+ +---+---+---+---+---+---+---+---+
                +----->|  0 7  | | | |   | t | r | o | f | f |   |
                       +-------+ +---+---+---+---+---+---+---+---+

                                    309

                   ()
                       +-------+ +---+---+---+---+---+---+---+---+
                +----->|  0 8  | | p | i | c |   | f | i | l | e |
                |      ++------+ +---+---+---+---+---+---+---+---+
+----------+-+  |       v
|    24    | +--+      +-------+ +---+---+---+---+---+---+---+---+
| ᨬ  | +--+      |  0 8  | | * |   | | |   | t | b | l |   |
+----------+-+  |      ++------+ +---+---+---+---+---+---+---+---+
                |       v
                |      +-------+ +---+---+---+---+---+---+---+---+
                +----->|  0 8  | | | |   | t | r | o | f | f |   |
                       +-------+ +---+---+---+---+---+---+---+---+
                   ()
                       +-------+ +---+---+---+---+---+---+---+---+
                +----->|  0 8  | | p | i | c |   | f | i | l | e |
                |      ++------+ +---+---+---+---+---+---+---+---+
                |       v
                |      +-------+ +---+---+---+---+---+---+---+---+
+----------+-+  |      |  0 8  | | * |   | | |   | t | b | l |   |
|    25    | +--+      ++------+ +---+---+---+---+---+---+---+---+
| ᨬ | +--+       v
+----------+-+  |      +-------+ +---+---+---+---+---+---+---+---+
                |      |  0 8  | | | |   | t | r | o | f | f |   |
                |      ++------+ +---+---+---+---+---+---+---+---+
                |       v
                |      +-------+ +---+---+---+---+---+---+---+---+
                +----->|  0 1  | | - |   |   |   |   |   |   |   |
                       +-------+ +---+---+---+---+---+---+---+---+
                   ()

       㭮 10.12. 祭 ᨬ  ᨬ ᯨ᮪

10.11); ⥬  ⠭ 㪠⥫ ᯨ᪠  ᫥騩 , 
⠭    ᯨ᪥.  ⮬  㭪 10.12  ,
   砥 ᨬ  ᨬ ᯨ᮪;  ⮬ ।, 
   頥  8 ᨬ     ࠧ頥      
 ᯨ᪠ (㭮 10.12).


        10.3.2 ନ ࠩ  ᪮ ०

      ,   묨 ࠡ ନ ࠩ, 易 
६ ᨬ묨 ᯨ᪠: ᯨ᪮  ࠭ , 뢮  ନ-
, ᯨ᪮  ࠭ ஢  , 㯨  
१ 믮 ணࠬ ࠡ⪨ 뢠  ନ, 맢-
  ⪮ 짮⥫    ,  ᯨ᪮  ࠭
ࠡ⠭ 室 , 㯨  १ ८ࠧ ப-
 䥩ᮬ ᯥ樠 ᨬ (⠪  ᨬ ࠭  㤠)
 ஢ ᯨ᪥.
          ନ  (㭮  10.13),  ନ
ࠩ ᪠ ப 䥩. ப 䥩  横 뢠
ᨬ  ᭮ ࠭⢠   頥   ᨬ ᯨ᮪
  ࠭  뢮    ,  ⮪   㤥 -
. ப 䥩 ࠡ뢠 뢮 ᨬ,  ਬ,  
ᨬ ⠡樨  ᫥⥫쭮 ஡. ᫨ ⢮ ᨬ 
ᯨ᪥   ࠭ 뢮  ॢ  ⬥, ப -
䥩 뢠 楤  ࠩ,  뫠騥      ᨬ쭮
ᯨ᪠  ନ  ᫥ ⮣ ਮ⠭騥 믮 , -


                                    310

    +------------------------------------------------------------+
    |  terminal_write                                    |
    | {                                                          |
    |     믮 (  ࠭⢠   㯠   |
    |      )                                               |
    |     {                                                      |
    |         ᫨ ( ନ 㯠 ଠ)            |
    |         {                                                  |
    |             㯨  믮 樨   |
    |               ᯨ᪠, ࠭饣 뢮 ;         |
    |             ਮ⠭ ( ⮣ ,  ନ- |
    |               㤥 ⮢ ਭ ᫥  - |
    |              );                                         |
    |             த;   /*   砫 横 */     |
    |         }                                                  |
    |         ᪮஢   ꥬ ᨬ쭮     |
    |          ࠭⢠   ᯨ᮪, ࠭騩 뢮   |
    |          : ப 䥩 ८ࠧ ᨬ   |
    |          ⠡樨  ..;                                 |
    |     }                                                      |
    |                                                            |
    |     㯨  믮 樨    ᯨ-|
    |      , ࠭饣 뢮 ;                        |
    | }                                                          |
    +------------------------------------------------------------+

         㭮 10.13.  ९   ନ


饣  .  ꥬ ଠ樨  ᯨ᪥  ࠭ 뢮 
   ⬥, ணࠬ ࠡ⪨ 뢠  믮-
  ᮢ, ਮ⠭  ⮣ ,  ନ  ᬮ-
  ਭ ᫥  . ப 䥩 蠥 横 -
ࠡ⪨, ᪮஢  뢮 ଠ  ᭮ ࠭⢠ -
  ᮮ⢥騩 ᨬ ᯨ᮪,  뢠 믮 楤 ࠩ-
, 뫠   ନ,   㦥 뫮 ᪠ .
    ᫨  ନ   ᪮쪮 ᮢ,   ᨬ  
  㣠 ᫥ 㪠 楤. 뢮 ଠ   ᪠-
;    ନ , 뢠  ᠬ,    -
.    ந - ⮣,      ନ-
, ᯮ ᪮쪮 맮 ⥬ 㭪樨 write.    ४-
  ⥪,   믮  ० ,  ᫥-
⥫묨 맮 㭪樨 write,   饭    -
  ନ,    ᮢ ਮ⠭.  뢮  
  ⠪ ᪠   ନ, ᪮   ਮ⠭-
  । 믮 ⥬ 㭪樨 write,  襭 -
    ନ  ⥬ ।饩 樨 .   
㣨 ,     ନ  ⮣,   
 ୮ 饭.  ⮩ 稭,   ࠭,    ᮤন
  ,  뢮  १ 맮 ⥬ 㭪樨 write, -
  ࠭ ନ  뢭 .
    ᬮਬ ணࠬ, ਢ  㭪 10.14. ⥫᪨ 
ᮧ  18 ஦ ᮢ;   ஦ ᮢ -
 ப (  筮 㭪樨 sprintf)  ᨢ output,  -
  砥  ᮮ饭    祭 稪 i   믮 㭪樨
fork,  ⥬ 室  横 蠣 ९ ப    䠩  ⠭⭮
뢮. ᫨ ⠭ 뢮  ନ, ନ ࠩ -
㫨  ⮪ 㯠 . 뢮 ப   64 ᨬ


                                    311

+----------------------------------------------------------------+
| char form[]=" ਬ 뢮 ப  ஦ "|                                                            |
| main()                                                         |
| {                                                              |
|     char output[128];                                          |
|     int i;                                                     |
|                                                                |
|     for (i = 0; i < 18; i++)                                   |
|     {                                                          |
|           switch (fork())                                      |
|           {                                                    |
|           case -1:    /* 訡 --- ॢ襭 ᨬ쭮 -|
|                           ᮢ */                       |
|                exit();                                         |
|                                                                |
|           default:    /* த⥫᪨  */               |
|                break;                                          |
|                                                                |
|           case 0:     /* ஦  */                |
|                /* ଠ 뢮 ப  ६ output */  |
|                sprintf(output,"%%d\n%s%d\n",form,i,form,i);    |
|                for (;;)                                        |
|                       write(1,output,sizeof(output));          |
|           }                                                    |
|     }                                                          |
| }                                                              |
+----------------------------------------------------------------+

      㭮 10.14. ।  १ ⠭ 뢮


 ,   ᫨誮   ⮣,  ⮡      ᨬ쭮
  (  64  )   ᨨ V ⥬. ⥫쭮, ନ쭮
ࠩ ॡ   ᨬ쭮    맮 㭪樨
write,  뢮 ⮪      ᪠.  ਬ,  ᫥騥
ப  뫨    뢮  ⮪, 祭  १ 믮
ணࠬ  設 AT&T 3B20:

  this is a sample output string from child 1
  this is a sample outthis is a sample output string from child 0

    ⥭   ନ  ᪮ ०  ᫮  .
 맮 ⥬ 㭪樨 read 㪠뢠 ⢮ ,  
  ,  ப 䥩 믮 ⥭  祭 ᨬ
ॢ ⪨,  ᫨ ⢮ ᨬ   㪠.    㤮  
ࠪ᪮  窨  ७,  ⠪        ﭨ ।㣠,
᪮쪮 ᨬ 짮⥫   , ,  㣮  ஭,  
 ᫠ ,  짮⥫  讥 ᫮ ᨬ. -
,  짮⥫   ப    shell 
 ⢥ shell'    祭 ᨬ  ⪨. 
⮬   ࠧ,    ப  묨  ,
⠪  "date"  "who",     ᫮ ᫥⥫쭮 -
,  ᫥饩:

    pic file* | tbl | eqn | troff -mm -Taps | apsend

    ନ  ࠩ  ப 䥩 祣    ᨭ⠪
  shell,   ࠢ쭮,  ᪮  㣨  ணࠬ,
  뢠 ଠ  ନ (ਬ, ।),  ࠧ-

                                    312

 ᨭ⠪ . ⮬ ப 䥩 믮 ⥭  -
祭 ᨬ  ⪨.
     㭪 10.15   ⥭  ନ.  ।,  
ନ  ࠡ⠥  ᪮ ०;  ࠧ 10.3.3 㤥 ᬮ७
ࠡ  ०  ࠡ⪨. ᫨  騩     ᨬ
ᯨ᪮  ࠭  ଠ樨  , ,  믮-

    +------------------------------------------------------------+
    |  terminal_read                                     |
    | {                                                          |
    |    ᫨ ( ᪮ ᨬ쭮 ᯨ᪥  - |
    |     )                                                   |
    |    {                                                       |
    |       믮 (  ᯨ᪥  ஢     |
    |           ଠ)              |
    |       {                                                    |
    |           ᫨ (ନ   ࠬ஬ "no delay"    |
    |            ( প))                                 |
    |                ࠢ;                       |
    |           ᫨ (ନ  ०  ࠡ⪨  ᯮ짮-|
    |             ⠩  ⠩  ⨢)             |
    |               ।ਭ ⢨  ⨢樨 ⠩   |
    |                (⠡ ⢥ ᨣ);                |
    |           ਮ⠭ ( 㯫   ନ-|
    |            );                                            |
    |       }                                                    |
    |                                                            |
    |       /*  ᯨ᪥  ஢     |
    |           ଠ */                                |
    |       ᫨ (ନ  ०  ࠡ⪨)               |
    |           ᪮஢    ᯨ᪠  -|
    |            ஢    ᪨ ᯨ᮪;  |
    |        ⨢ 砥    /* ନ  ᪮ - |
    |                                 */                     |
    |       {                                                    |
    |           믮 (  ᯨ᪥  ஢ |
    |               ᨬ)                    |
    |           {                                                |
    |               ஢   ᨬ  ᯨ᪠    |
    |                ஢    -  |
    |                ᪨ ᯨ᮪:                            |
    |                믮 ࠡ ᨬ ࠭  㤠-|
    |                ;                                      |
    |               ᫨ (ᨬ - " ⪨"  "  |
    |                䠩")                                     |
    |                   ࢠ;    /* 室  横 */      |
    |           }                                                |
    |       }                                                    |
    |    }                                                       |
    |                                                            |
    |    믮 (  ᪮ ᯨ᪥   ᨬ  |
    |       ௠ ⢮ ᨬ, 㪠  맮 |
    |     㭪樨 read)                                          |
    |       ஢ ᨬ  ᨬ  ᪮|
    |        ᯨ᪠  ᭮ ࠭⢮ ;              |
    | }                                                          |
    +------------------------------------------------------------+

              㭮 10.15.  ⥭  ନ

                                    313



騩 ⥭, ਮ⠭  㯫 ࢮ ப . 
  㯠,  ணࠬ  ࠡ⪨  뢠   ନ ᪠
"ணࠬ ࠡ⪨ 뢠"  ப  䥩,    頥
  ᯨ᮪  ࠭ ஢    ।
ᠬ,  ⢫騬  ⥭,   ᯨ᮪  ࠭ 뢮 ,
।  ⢥ ᮯ஢  ନ. ᫨   ப
ᮤন ᨬ  ⪨, ணࠬ ࠡ⪨ 뢠 -
 믮  ਮ⠭ ᮢ ⥭.  , -
⢫騩  ⥭, 믮, ࠩ 롨ࠥ ᨬ  ᯨ᪠  ࠭-
 ஢  , ࠡ뢠 ᨬ ࠭  㤠-
  頥 ᨬ  ᪨ ᨬ ᯨ᮪. ⥬  
ப ᨬ  ᭮ ࠭⢮   ᨬ    ⪨
    ௠  ᫠  ᨬ,  㪠  맮 ⥬ 㭪樨
read,   ࠭. ,   㦨,    ,
ࠤ        ᢮ 믮,   : 㣨
 ⠫   ନ  㤠   ᯨ᪠   -
஢    ⮣,     饭 . 
 宦  ,   ,    뢠 
᪮쪮 ᮢ.
    ࠡ⪠  ᨬ   ࠢ    ࠢ 뢮 ᨬ-
筠,      ᨬ ᯨ᪮     - 
뢮. ப 䥩 뢮   ࠭⢠ , ࠡ-
   頥   ᯨ᮪  ࠭ 뢮 .    ᨬਨ
᫥  
⮫쪮   ᯨ᮪   . ,  ⠪ 砥 ॡ
 ᯮ짮 ணࠬ ࠡ⪨ 뢠   樨  ᨬ

  +--------------------------------------------------------------+
  | char input[256];                                             |
  |                                                              |
  | main()                                                       |
  | {                                                            |
  |    register int i;                                           |
  |                                                              |
  |    for (i = 0; i < 18; i++)                                  |
  |    {                                                         |
  |       switch (fork())                                        |
  |       {                                                      |
  |       case -1:       /* 訡 */                            |
  |          printf(" fork  믮 - 訡\n");|
  |          exit();                                             |
  |                                                              |
  |       default:       /* த⥫᪨  */              |
  |          break;                                              |
  |                                                              |
  |       case 0:        /* ஦  */               |
  |          for (;;)                                            |
  |          {                                                   |
  |              read(0,input,256);     /* ⥭ ப */      |
  |              printf("%d ⥭ %s\n",i,input);               |
  |          }                                                   |
  |       }                                                      |
  |    }                                                         |
  | }                                                            |
  +--------------------------------------------------------------+

     㭮 10.16. ७  ,   ନ

                                    314



࠭    㤠,  ᤥ  楤  ᫮  ⥫쭮 
⨫   㣨 뢠   ᪮  ६.  -
짮    ᨬ ᯨ᪮   ࠧ㬥,  ணࠬ
ࠡ⪨ 뢠    ᨬ  ᯨ᮪  -
஢     믮  ,  ⢫饣
⥭,  ᮡ⢥  쬥  ᥡ ࠡ  樨 
.   ⮬ ணࠬ ࠡ⪨ 뢠  頥 -
 ᨬ  ᯨ᮪  ࠭ 뢮 , ⠪  짮⥫  -
뢠    প  ᬮ  ᨬ  -
.
     㭪 10.16 ਢ ணࠬ,  ன த⥫᪨  -
஦ ᪮쪮 ᮢ, ⢫  ⥭    䠩  ⠭⭮
,   祭 ,   ନ.   ନ-
  筮 ⢫ ᫨誮   ⮣, ⮡ 㤮⢮ 
, 騥 ⥭, ⮬    ६ 室 
ਮ⠭ ﭨ  ᮮ⢥⢨  ⬮ terminal_read, 
 .  짮⥫  ப ,  ணࠬ  ࠡ⪨
뢠  ନ  믮  ᮢ,  -
;  ᪮  뫨 ਮ⠭    ⥬  ஢ ਮ,
 롨  ᪠   ஢ ਮ. 짮⥫  
  ﭨ  ।㣠,   ᮢ 믮  뢠 ப
; ᯥ譮 ᮧ  ⠥ 祭 ६  i    
  ᮧ.   㣨    殢  饭,  
,    㦠  ଠ樨  ᯨ᪠    ࠭
        믮 ᭮ 㤥 ਮ⠭.  楤
    ப;   ࠭,     
 ᮢ  墠   .
    ६  ⥭   ନ ᪮쪨 ᠬ  -
筮,   ࠢ  樥  訬  ࠧ.    㣮
஭,    易   ᠬ ६ 뢠  
ନ,  ஦  ஬ shell ,  騥
 ⠭⭮ ,    ࠡ, ᪮ shell ⮦ -
頥  ⠭⭮ .  ,   ᨭ஭஢
᢮ 饭  ନ  짮⥫᪮ ஢.
     짮⥫  ᨬ " 䠩" (Ctrl-d  ASCII), ப-
 䥩 । 㭪樨 read  ப  ᨬ  䠩,
   .   ।  (  0) 㭪樨 read, ᫨
  ᨬ쭮 ᯨ᪥ ⨫ ⮫쪮 ᨬ " 䠩"; 뢠騩 -
 ᠬ ᯮ,  㦥  䠩    ᫥ 뢠
  ନ. ᫨  ࠧ   ਬࠬ ணࠬ   shell',
ਢ    7,  ⬥,  横 ࠡ shell' 蠥,
 짮⥫  <Ctrl-d>: 㭪 read 頥 0    ந-
 室  shell'.
     ⮬ ࠧ ᬮ७ ࠡ ନ -뢮,  -
      設    ᨬ   ,  筮 
짮⥫    . ⥫㠫 ନ  ⠢-
  ᢮   ⮪  譥 ன⢥, ᢮ 業ࠫ -
  㣮 ࠡ.  ࠩ஢  ⠪  ନ  室
  ࠩ஢  ନ -뢮, ᬮ  ,  -
樨 ப 䥩 ࠧ  ᨬ  ⥩ 譨
ன.


        10.3.3 ନ ࠩ  ०  ࠡ⪨ ᨬ

    짮⥫ ⠭ ࠬ ନ, ⠪  ᨬ -
    㤠,   祭 ⥪ ⠭   ⥬

                                    315

㭪樨 ioctl. 室 ࠧ  ⠭ 室 -ᮯ஢-
    ନ,  ᪮ । ଠ樨  ,
 । ᨬ   뢮   ᪠  ⠭-
 뢮 ⮪ ᨬ.  ଠ樮  ନ쭮 ࠩ-
 ࠭ ࠧ ࠢ騥 ⠭ (. [SVID  85],  .281),  
ப  䥩  砥  ࠬ  㭪樨 ioctl  ⠭ 
뢠 祭 ᮮ⢥   .   -
⠭ 祭 ࠬ஢ ନ,      ᮢ,
ᯮ ନ. ⠭ ନ  뢠 ⮬᪨ 
室  , ᤥ襣   ⠭.
      ⠪ ॢ ନ  ०  ࠡ⪨  ᨬ,
  ஬ ப 䥩 । ᨬ  筮 ᮮ⢥⢨  ⥬,
 짮⥫  : ࠡ⪠  ⮪    .
,   ,  믮 맢 짮⥫ ⥬
㭪  read, ᪮ ᨬ  ⪨ ࠪ   -
 ᨬ.  믮 㭪 read ᫥ ⮣,   ନ  㤥
  쭮 ᫮ ᨬ   宦 䨪஢ ஬-
⪠ ६   祭  ନ      ᨬ.  
᫥  砥  ஭  ᨬ  ନ,  -
  ⠡ ⢥ ᨣ ( 8).   (쭮  ᫮
ᨬ    䨪஢  ஬⮪  ६)     맮 㭪樨
ioctl.  ᮮ⢥騥  ਨ  㤮⢮७,  ணࠬ  ࠡ⪨
뢠 ப 䥩  믮  ਮ⠭-
  ᮢ.  ࠩ 뫠  ᨬ  ᯨ᪠  ࠭ -
஢    ᪨ ᯨ᮪  믮  -
  ⥭, ᫥ ⮬  ᠬ ,     砥  ࠡ  
᪮  ०.     ࠡ⪨ ᨬ ᮡ   ࠭-
-ਥ஢ ਫ, ⠪  ࠭ ।  vi,    
 ண  稢 ᨬ  ⪨. ਬ, -
 dw 㤠 ᫮  ⥪饩 樨 .
      㭪  10.17  ਢ  ணࠬ, ᯮ 㭪 ioctl 
࠭ ⥪ ⠭ ନ  䠩  ਯ஬ 0,  ᮮ-
 祭 ਯ 䠩 ⠭⭮ . 㭪 ioctl  -
 TCGETA ਪ뢠
ࠩ  ⠭  ࠭      savetty  -
᭮ ࠭⢥ .    ᯮ   ⮣,  ⮡
।,   䠩 ନ  , ᪮  祣  -
   ⥬: ᫨  蠥 㤠筮,  ।, 
䠩   ନ.  ,    筮  뢠  㭪
ioctl  ⮣, ⮡ ॢ ନ  ०  ࠡ⪨:  ⪫砥
-ᮯ஢   ᨬ  ⮢  믮 権 ⥭ 

+----------------------------------------------------------------+
| #include      <signal.h>                                       |
| #include      <termio.h>                                       |
| struct termio savetty;                                         |
| main()                                                         |
| {                                                              |
|   extern sigcatch();                                           |
|   struct termio newtty;                                        |
|   int nrd;                                                     |
|   char buf[32];                                                |
|   signal(SIGINT,sigcatch);                                     |
|   if (ioctl(0,TCGETA,&savetty) == -1)                          |
|   {                                                            |
|      printf("ioctl 訫 㤠筮:  ନ\n");    |
|      exit();                                                   |
|   }                                                            |
|   newtty = savetty;                                            |

                                    316

|   newtty.c_lflag &= ~ICANON;/* 室  ᪮ ० */|
|   newtty.c_lflag &= ~ECHO;  /* ⪫祭 -ᮯ஢*/  |
|   newtty.c_cc[VMIN] = 5;    /*  5 ᨬ */           |
|   newtty.c_cc[VTIME] = 100; /* ࢠ 10 ᥪ㭤 */           |
|   if (ioctl(0,TCSETAF,&newtty) == -1)                          |
|   {                                                            |
|      printf("  ॢ -  ०  ࠡ⪨\n");|
|      exit();                                                   |
|   }                                                            |
|   for(;;)                                                      |
|   {                                                            |
|      nrd = read(0,buf,sizeof(buf));                            |
|      buf[nrd] = 0;                                             |
|      printf("⥭ %d ᨬ '%s'\n",nrd,buf);              |
|   }                                                            |
| }                                                              |
| sigcatch()                                                     |
| {                                                              |
|   ioctl(0,TCSETAF,&savetty);                                   |
|   exit();                                                      |
| }                                                              |
+----------------------------------------------------------------+

  㭮 10.17.   ࠡ⪨ - ⥭ 5-ᨬ 



+----------------------------------------------------------------+
| #include <fcntl.h>                                             |
|                                                                |
| main()                                                         |
| {                                                              |
|    register int i,n;                                           |
|    int fd;                                                     |
|    char buf[256];                                              |
|                                                                |
| /* ⨥ ନ ⮫쪮  ⥭  樥 "no delay" */ |
|    if((fd = open("/dev/tty",O_RDONLY|O_NDELAY)) == -1)         |
|       exit();                                                  |
|                                                                |
|    n = 1;                                                      |
|    for(;;)       /* ᥣ */                                  |
|    {                                                           |
|       for(i = 0; i < n; i++)                                   |
|           ;                                                    |
|                                                                |
|       if(read(fd,buf,sizeof(buf)) > 0)                         |
|       {                                                        |
|           printf("⥭   %d\n",n);                    |
|              n--;                                              |
|       }                                                        |
|       else                                                     |
|       /* 祣  ⠭;  ᫥⢨ "no delay" */ |
|              n++;                                              |
|    }                                                           |
| }                                                              |
+----------------------------------------------------------------+

                 㭮 10.18.  ନ

                                    317


ନ  祭  ନ 5 ᨬ,  ,   宦-
 10 ᥪ㭤    ࢮ 樨 ᨬ.   砥
ᨣ  뢠,  뢠 ࢮ砫 ࠬ ନ   -
蠥.


        10.3.4  ନ

      㤮  ந    ன⢠,   뢠  
, ᫨  ,  த 믮  ࠡ -  ⨢
砥. ணࠬ  㭪 10.18   砩: ᫥  
ନ   ࠬ஬ "no delay" ( প) , 騥 ⥭ 
,  ਮ⠭ ᢮ 믮  砥 ⢨ ,    
ࠢ   (.  terminal_read, 㭮 10.15).  -
⮤ ࠡ⠥ ⠪, ᫨  ᫥  ⢮  ன:    
    ன⢮   ࠬ஬ "no delay"     ,
 㯫 ଠ樨  . ,  ⮤ 稢 -
᫨⥫ 魮 ⥬.
     ⥬ BSD  ⥬ 㭪 select,  ந -
 ன⢠. ⠪ 맮 ⮩ 㭪樨:

    select(nfds,rfds,wfds,efds,timeout)

 nfds - ⢮ 롨ࠥ ਯ஢ 䠩,  rfds,  wfds    efds
㪠뢠     ᪨, 묨 "롨" ਯ  䠩-
.  ,  1 << fd (ᤢ  1 ࠧ  祭 ਯ 䠩-
) ᮮ⢥ ⠭   砩, ᫨ 짮⥫  㦭  
 ਯ 䠩. ࠬ timeout (⠩-) 㪠뢠,   ६
᫥  ਮ⠭ 믮 㭪樨 select,  㯫 ,
ਬ; ᫨  㯠   ਯ஢  ⠩-   -
稫, select 頥 ࠢ, 㪠뢠   ᪠,  -
ਯ 뫨 ࠭. ਬ, ᫨ 짮⥫  ਮ⠭ 
 祭   ਯࠬ 0, 1  2, ࠬ rfds 㪠 
    7;   select  ࠢ, 筠 ᪠ 㤥
 ᪮, 㪠뢠饩,    ਯ஢  ⮢  -
.  筠 ᪠ wfds 믮 宦 㭪  ⭮襭  -
ਯ஢,  筠 ᪠ efds 㪠뢠    ⢮  ᪫⥫
᫮, 易  묨 ਯࠬ,  뢠   ࠡ-
  .


        10.3.5 祭 ᪮ ନ

    ᪨  ନ -  ନ,  ண 짮⥫ ॣ-
  ⥬,  ࠢ ᠬ, 饭묨 짮⥫   -
.    뢠 ନ, ࠩ ନ 뢠 -
 䥩. ᫨   㯯 ᮢ  १ -
 ⥬ 㭪樨 setpgrp  ᫨   易     -
᪨ ନ, ப 䥩  뢠 ନ -
᪨.  ࠭ 訩  訩  ன⢠  䠩 ନ-
    ᭮ ࠭⢥, 뤥 ,   㯯 ᮢ,
易  뢠 ᮬ,    ନ쭮  ࠩ-
.  뢠    ⠭  ࠢ騬 ᮬ, 筮 室
(砫)  ஬,   㢨 .
    ᪨ ନ ࠥ  ஫    ࠡ⪥  ᨣ.  
짮⥫      "delete"  (㤠), "break" (뢠),
࠭  室, ணࠬ ࠡ⪨ 뢠 㦠 ப  -
䥩,    뫠  ᮮ⢥騩 ᨣ ᥬ ᠬ  㯯.

                                    318

 ⮬,  짮⥫ "ᠥ", ணࠬ ࠡ⪨ 뢠
 ନ 砥 ଠ  "ᠭ"   ,    ப
䥩 뫠 ᮮ⢥騩 ᨣ ᥬ ᠬ  㯯.  -
ࠧ,    , 饭  ⭮ ନ,  ᨣ 
"ᠭ"; ॠ樥  㬮砭  設⢠ ᮢ 㤥 室  
ணࠬ   祭 ᨣ;  宦  ,   襭 ࠡ
짮⥫  ନ  ⥬ 㤠  . ᫥  -
뫪 ᨣ  "ᠭ" ணࠬ ࠡ⪨ 뢠  ନ ࠧ-
ꥤ ନ  㯯 ᮢ, ⮡   ⮩ 㯯  -
   ᨣ, 騥  ନ.


        10.3.6 ࠩ ᢥ ନ

      ᠬ  室     ।-
  ᪨ ନ,  ⠭   뢮   -
७祭  㣨 䠩. ਬ, shell  뫠  ᮮ饭
।⢥  ନ, ᬮ  ,   ⠭ 䠩 뢮
 ⠭ 䠩 訡, , ७祭  㣮 .  
⥬ UNIX ন "ᢥ"   ନ १  䠩  -
ன⢠  "/dev/tty",    ஬     । ࠢ騩
(᪨) ନ. 짮⥫, 襤訥  ॣ    ⤥
ନ,        䠩 "/dev/tty",     
ࠧ ନ.
      ᭮ ᯮᮡ ᪠ ஬ ᪮ ନ  
  䠩 "/dev/tty". -,   ᯥ樠쭮 㪠  -
ன⢠  䠩 ᢥ ନ  ⤥쭮 窮  室    ⠡
祩 ன ᨬ쭮 -뢮.  ᪥ ᢥ ନ-
  ࠩ  ⮣ ନ 砥 訩  訩  ᪮
ନ  ᭮ ࠭⢠, 뤥 ,  ᪠ ࠩ-
 ॠ쭮 ନ, ᯮ  ⠡  祩  ன  ᨬ-
쭮  -뢮. ன ᯮᮡ, 筮 ᯮ㥬  ᪠ -
᪮ ନ    "/dev/tty",  易    ஢મ  ᮮ⢥⢨
襣   ன⢠  ᢥ ନ । 맮 -
 open, ।塞 ⨯  ࠩ.  砥 ᮢ  ஢
᢮   䠩 "/dev/tty", 뤥  ᪮ -
, 窠 室  ⠡ 䠩 ⠭ ⠪,  ⮡  㪠-
   ᪮ ନ,  뢠 楤 open, ਭ-
  ନ쭮 ࠩ. ਯ 䠩, 饭 ᫥ -
 䠩 "/dev/tty", 㪠뢠 ।⢥  ᪨  ନ  
 ࠩ.


        10.3.7 室  ⥬

        7,  砫쭮 㧪, 騩  1, -
  ᪮  横  ⥭  䠩 "/etc/inittab" 権  ⮬,
 㦭 , ᫨ 㦠 ⥬ ।  "짮⥫-
᪠"  "짮⥫᪠".  짮⥫᪮ ० ᠬ -
 易  砫쭮 㧪  ।⠢ 짮-
⥫  ॣ஢  ⥬  ନ (㭮 10.19).
 ஦ , 㥬 getty-ᠬ ( "get tty"  -  
ନ),    ᫥    ⥬,   ᮢ 뢠  ନ;
 getty- ⠭ ᢮ 㯯  ᮢ,  ᯮ  맮
⥬  㭪樨  setpgrp, 뢠 ⤥ ନ   筮
ਮ⠭  ६ 믮 㭪樨 open   ,   設
      ନ.  㭪 open 頥 -
ࠢ, getty- ᯮ ணࠬ login (ॣ樨    ⥬),
  ॡ  짮⥫, ⮡  ஢ ᥡ 㪠

                                    319

ॣ樮   ஫. ᫨ 짮⥫ ॣ஢  ᯥ-
,  ணࠬ login  ᪠   shell  짮-
⥫ 㯠  ࠡ.  맮 shell'  "login shell" (ॣ-
樮 shell, ॣ樮  ). ,  易
  shell',    䨪,   砫 getty-, -
⮬ login shell  ᮬ, 騬  㯯  ᮢ.  ᫨
짮⥫    ᬮ ᯥ譮 ॣ஢, ணࠬ ॣ樨 -
蠥 १ । ஬⮪ ६,  뢠    ନ-
 ,   砫쭮 㧪 ஦  ⮩  ᫥-
騩 getty-.  砫쭮 㧪    祭 ᨣ-
  砭 ஦ ࠭ . ᫥  ࠡ 
,   ४⨢訩 ⢮  ॣ樮 shell'
  ᫨    ⠪,  ஦    getty-, 뢠騩 ନ,
 ४⨢襣 ⢮.

    +------------------------------------------------------------+
    |  login       /* 楤 ॣ樨 */           |
    | {                                                          |
    |     ᯮ getty-:                             |
    |     ⠭ 㯯 ᮢ (맮 㭪樨 setpgrp);   |
    |      ନ ; /* ਮ⠭  襭|
    |                                     */             |
    |     ᫨ (⨥ 訫 ᯥ譮)                    |
    |     {                                                      |
    |         ᯮ ணࠬ ॣ樨:                   |
    |           짮⥫;                        |
    |         ⪫ -ᮯ஢,  ஫;     |
    |         ᫨ (ॣ 諠 ᯥ譮)                  |
    |         /*  ᮮ⢥騩 ஫  /etc/passwd */  |
    |         {                                                  |
    |            ॢ ନ  ᪨ ० (ioctl);|
    |            ᯮ shell;                                |
    |         }                                                  |
    |          ⨢ 砥                                 |
    |             ⢮ ⮪ ॣ樨, |
    |             ॣ஢ ᭮  ⨦ ।- |
    |              窨;                                  |
    |     }                                                      |
    | }                                                          |
    +------------------------------------------------------------+

                 㭮 10.19.  ॣ樨



        10.4 

    奬 ॠ樨 ࠩ஢ ன,   ⢥砥   ॡ-
,  ࠤ  묨 ⪠,    ⠫ ⭥.
 ࠩ  ⥭ 㡫஢ ᢮ 㭪樨,  ⭮  ࠩ-
,    ॠ ⥢ ⮪   筮   ᥡ
ᥪ ࠢ ன⢮  ᥪ ⮪. ᬮ  ,  ᥪ
⮪   饩   ⥢ ன,  ࠪ⨪    
⠪, ᪮     堭  饣 ᯮ짮.
ਬ,  ᨬ ᯨ᪨    묨  ᢮ -
  ਧ樨,   ॡ   ᮢ  ᨬ
ࠡ. ⪨   堭, ⮡    ந⥫쭮
⥬,  ਢ  襭 쭮 ⥬ ࠢ -뢮-
. ⢨ 魮   ஢  ࠩ஢  ࠭    

                                    320

஢   짮⥫,  ஬ ᪮쪮   믮 -
騥 ᪨ 㭪樨,  ࠧ묨 ।⢠.   ⮪  -
஥  ࠩ஢ 砥  ⮬,  ⥢ ⮪ ॡ ᯮ짮-
 ।⢠,  ப 䥩,  ஬  樯
ॠ   ⥩ ⮪  ⠢  ᮥ   -
ࠧ. , ᮥ ࠤ樮 ப 䥩 쭮 㤭.
        ࠧࠡ⠫ 奬, 稢  "⮪" (streams),
 襭 쭮   ⥬  ࠢ  -뢮.
᫥饥 ᠭ ᭮뢠   ࠡ [Ritchie 84b],  ॠ-
 ⮩ 奬  ᨨ V ᫥ ⫨砥. ⮪ ।⠢ ᮡ -
㯫   ᮬ  ࠩ஬ ன⢠.  ⮨  -
㯭    易    ᮡ  ।,   
() 砥  ।     -  뢮.   
뢠    ⮪,  뫠   ।  뢮; 
ࠩ ன⢠ 砥 室 ,  뫠    ।  
    , ந饬 ⥭. ।  ᮮ饭ﬨ 
ᥤ ।ﬨ, ᯮ ⪮  ।  䥩.    
।  易     㫥 , ⠪  ࠩ, ப -
䥩  ⮪,  㫨  ࠡ  묨, 襤訬 १ -
⢥騥 ।.
     । ।⠢ ᮡ  ,   ᫥-
 ⮢:
  * 楤 , 뢠   ६  믮  ⥬  㭪樨
    open
  *  楤  ,  뢠   ६ 믮 ⥬ 㭪樨
    close
  * 楤 "뢮", 뢠  । ᮮ饭  ।
  * 楤 "㦨", 뢠,  । ஢   -
    
  * 㪠⥫  ᫥ ।  ⮪
  * 㪠⥫  ᯨ᮪ ᮮ饭,  㦨
  *  㪠⥫  ७  ,   ன ন-
     ࠡ祥 ﭨ ।
  * 䫠,  ⠪ 孥   ⬥⮪,  ᯮ㥬    ࠢ
    ⮪ , ᯥਧ樨  ঠ ࠡ祣 ﭨ -
    .
     뤥  ।, ᥤ騥  ; ᫥⥫쭮, -
।   ᪠ ᢮ ⭥  .

                                                     +----------+
                                                     |    |
                             +-----------------------+  䠩   |
                             |                       |ன⢠|
                             v                       +----------+
                +------------+-----------+
       |  ।   |  ।  |
     ⮪     |  뢮 |   |
                +------+-----+-----------+
                       |           ^
                       v           |
                +------------+-----+-----+
     ࠩ    |  ।   |  ।  |-------  ।
                |  뢮 |   |
                +------------+-----------+

                㭮 10.20. ⮪ ᫥ 


    ன⢮  ⮪ ࠩ஬  ன⢮ ᨬ쭮 -

                                    321

-뢮;    ⠡ 祩 ன ᮮ⢥饣 ⨯ ᯥ-
쭮 , ஥ 㪠뢠   樠樨 ⮪, ᮤঠ
  楤,    ⠪    ⬥⪨, 㯮 . 
 믮 ⥬ 㭪 open  㦨,    䠩  ன⢠
 ⨯ "ᯥ樠 ᨬ",  ஢ 稥    ⠡-
 祩 ன ᨬ쭮 -뢮. ᫨  ⠡ 
ᮮ⢥ 窠 室,  ࠩ   ⮪,   믮-
  楤,     ன ᨬ쭮 -뢮. ,
 ࢮ  ⨨ ⮪ ࠩ  뤥   । -
   ⮪    ࠩ.    ⮪ -
    :  ᮤন  楤  "-
"   楤 "㦨"   䥩  ﬨ  -
  ᮪ ஢, 믮騬 㭪樨 read, write  ioctl.  樠-
  । ࠩ,   祭  㪠⥫  
।     楤 ࠩ   樠樨 ࠩ-
,  ᪠ 楤 . 楤  ࠩ  믮
  樠,      ⮬ ࠭ ଠ, 室 
୮ 饭  樨஢  ⮩ 楤ன  ।.  ,
  ⢮  ᯥ樠  㪠⥫       뫪 
 ⮪ (㭮 10.20).     뢠 ன-
,  㦨 祭 ࠭ ⮪    ⮣  㪠⥫  
᪠ 楤    㫥 ⮪.
    㫨  ন     ᢮ ᥤﬨ  ⮪ ⥬ ।
ᮮ饭. 饭 ⮨  ᯨ᪠  , ᮤঠ  -
  ᮮ饭;    ᮤন 뫪   ᯮ-
 砫   ଠ樨 .   ⨯ ᮮ饭 -  ࠢ-
饥    ଠ樮,  । 㪠⥫ﬨ ⨯  
ᮮ饭. ࠢ騥 ᮮ饭   १⮬ 믮 ⥬
㭪樨 ioctl  १⮬ ᮡ ᫮, ⠪  ᠭ ନ,
 ଠ樮 ᮮ饭    १ 믮 ⥬
㭪樨 write   १ 㯫   ன⢠.

      饭 1          饭 2         饭 3
      +---------+          +---------+         +---------+
      |     +--------->|         +-------->|         |
      +----+----+          +---------+         +----+----+
           v                                        v
      +---------+                              +---------+
      |         |                              |         |
      +----+----+                              +---------+
           v
      +---------+
      |         |
      +---------+

                 㭮 10.21. 饭  ⮪


      ந   ⮪,      -
 ࠭⢠    ᮮ饭,  뤥 㫥 -
 ⮪.   ⮪ ᪠ 楤 "뢮"  -
  ᫥饩 ।,  ࠡ뢠 ᮮ饭, ⥫쭮 -
   ᫥ ।  ⠢    ।  ᫥饩 -
ࠡ⪨.  ᫥ 砥  뢠     ᮮ饭  
ᯨ᮪  㪠⥫ﬨ, ନ 㭠ࠢ ᯨ᮪ (㭮 10.21). ⥬
  ⠭     । 䫠, 뢠 ⥬ ᠬ, 
   ࠡ⪨,   ᮡ⢥  㦨.  
砥 ।  ᯨ᮪ ।, ॡ 㦨  ᪠ -
  ᯥਧ樨; ஢騪 (ᯥ) 뢠 楤 㦨-

                                    322

   ।  ᯨ᪥.   ஢ 㦨 㫥
 ணࠬ 뢠,  ⮬,   뢠 㭪樨  ⠡
⢥ ᨣ (.  8); ࠡ稪 ணࠬ 뢠  뢠
㠫 楤 㦨.
                                                     +----------+
                                                     |    |
                             +-----------------------+  䠩   |
                             |                       |ன⢠|
                             v                       +----------+
                +------------+-----------+
       |  ।   |  ।  |
     ⮪     |  뢮 |   |
                +------+-----+-----------+
                       |           ^
                       |           |
                       v           |
                +------------+-----------+
    ப   |  ।   |  ।  |
    䥩   |  뢮 |   |
                +------+-----+-----------+
                       |           ^
                       |           |
                       v           |
                +------------+-----+-----+
   ନ |  ।   |  ।  |
     ࠩ    |  뢮 |   |
                +------------+-----------+

          㭮 10.22. த   ⮪


        "த" 㫨  ⮬ ⮪, ᯮ 맮
⥬ 㭪樨 ioctl.  頥 뤢  ࠧ   -
 ⮪  뢠 㪠⥫ । ⠪ ࠧ, ⮡ ࠭ -
ࠢ   ᯨ᪠. 㫨, ᯮ  ⮪ ,  -
  ⮬, 易     ⮪    뤢 -
: 䥩ᮬ 㯠 楤 "뢮" ᫥饩 ।  ⮪;  
᫥  । ਭ ⮫쪮  뤢⮬ . ਬ, -
  뤢   ப  䥩    ⮪  ନ쭮
ࠩ  楫 ࠡ⪨ ᨬ ࠭  㤠 (㭮 10.22); -
 ப 䥩     ⠢,   ப -
䥩,  ᬮ७  ࠧ 10.3,  믮   㭪樨.  -
 ப 䥩 ନ ࠩ  ࠡ⠥  ᨬ-
      ⮪   .  ணࠬ,
뢠騩 ନ  뤢騩 ப 䥩,  룫拉 ᫥-
騬 ࠧ:

    fd = open("/dev/ttyxy",O_RDWR);
    ioctl(fd,PUSH,TTYLD);

 PUSH -  ,  TTYLD - ᫮, 饥   ப
䥩.      ࠭祭  ⢮ 㫥,  
뤢묨  ⮪.   ⠫ 㫨   ⮪    浪
㯫,  "  襫 -  襫", ᯮ   맮 -
⥬ 㭪樨 ioctl

    ioctl(fd,POP,0);

     ⮬,   ப 䥩 믮   㭪樨  

                                    323

ࠢ  ନ,  ᮮ⢥饥  ன⢮   ।⢮
⥢ 裡  ⮣, ⮡  ᯥ稢      -⢥
ନ.    ப 䥩 ࠡ⠥ , ᨬ 
⮣,  ⨯  ᯮ  .  ਬ 來 -
 襭  ᫥⢨ ᮥ 㫥 .


        10.4.1  ⠫쭮 ᬮ७ ⮪

     뢠 ॠ ⨯ 㠫 ନ, ᯮ-
 ⮪ (. [Pike 84]). 짮⥫  ᪮쪮 㠫 -
,     ⤥쭮      ࠭  䨧᪮
ନ.        ᬠਢ 奬  ⥫㠫
᪨ ନ,  ࠡ⠫    ନ -뢮  ⮦;
      楫 ࠭  짮⥫  ४祭 -
  ࠫ  ᫥⥫쭮 ࠢ .

                 +---------+    +---------+    +-----------------+
 ஢         | shell 1 |    | shell 2 |    |       mpx       |
 짮⥫    +---------+    +---------+    +-----------------+
      ---------------+---------------+-----------+---+-------+----
 ஢         | ^             | ^      +--+ ^ | ^     | ^
                     | |             | |      | +--+ | |     | |
                     | |             | |      | |    | |     | |
                     v |             v |  - v |    v | - | |
            ନ-  +-+++   ନ-  +-+++ -+-+++  +-+++- | |
            쭠 | | |   쭠 | | | -| | |  | | |- | |
               +++-+      +++-+ +++-+  +++-+ | |
                     | ^ +-----------+-^------+ ^    | ^     | |
                     | | | +---------+-+--------+    | |     | |
                     | | | |         | | +-----------+ |     | |
                     v | v |         v | v +-----------+     v |
                    +-+++-+++       +-+++-+++               +-+++
            ᥢ- | | | | |       | | | | | ᥢ-       | | |
            ନ-  +++-+++-+       +++-+++-+ ନ-        +-+-+
            쭠  | ^ | ^         | ^ | ^  쭠      ନ-
             1   | +-+ |         | +-+ |   2       
                     +-----+         +-----+               ࠩ

    㭮 10.23.  ⮡ࠦ  㠫   ࠭ 䨧-
                    ᪮ ନ


     㭪 10.23  奬 ᯮ ᮢ   㫥  .
짮⥫  뢠  mpx, ஫騩 ࠡ 䨧᪮ ନ-
. Mpx ⠥    䨧᪮ ନ     
ࠢ  ᮡ, ⠪  ᮧ  , ४祭 ࠢ-
  㣮 , 㤠   ..
     mpx 砥 㢥  ⮬,  짮⥫ 㦭 ᮧ -
 ,  ᮧ , ࠢ騩  ,  ন  
  १ ᥢନ. ᥢନ -  ணࠬ ன⢮, -
饥   ਭ樯 : 室 , ࠢ塞   ⠢-
饩 , 뫠  室 㣮 ⠢饩; 室   뫠
⮬  ⮪,  ᯮ   祭.  ⮣, ⮡ -
  (㭮 10.24), mpx 砥 ᥢନ   뢠
    ⠢ , ࠢ ⮪   (⨥ ࠩ 㦨
࠭⨥ ⮣,  ᥢନ쭠    뫠  ࠭  ࠭).  Mpx
⢨       뢠  ⠢ ᥢନ쭮


                                    324

+----------------------------------------------------------------+
| /* ।,  ਯ 䠩 0  1 㦥 ⭮    |
|    䨧᪮ ନ */                                    |
| (;;)        /* 横 */                                      |
| {                                                              |
|    ();   /*    -  */      |
|     ,   ;                       |
|    ४(  묨 묨)                      |
|    {                                                           |
|    ᫨ ࠭ 䨧᪨ ନ:  /*    - |
|                                          䨧᪮ ନ- |
|                                          */                |
|       ᫨(⠭ ࠢ )  /* ਬ, ᮧ |
|                                               */     |
|       {                                                        |
|           ᢮ ᥢନ;                     |
|            ⢨  :                       |
|          ᫨( த⥫᪨)                            |
|          {                                                     |
|             뤢 䥩 ᮮ饭  ஭ mpx;       |
|             த;   /*   横 "" */           |
|          }                                                     |
|          /* -⮬ */                                 |
|           㦭 ਯ 䠩;                  |
|           㣮 ᥢନ  ,  stdin, |
|                                     stdout, stderr;            |
|          뤢 ப 䥩 ନ;              |
|           shell;  /*  㠫쭮 ନ */|
|       }                                                        |
| /* "" , 訥 १ 㠫 ନ */ |
|       ⨯஢ 뢠   䨧᪮ -|
|        ,       ᮮ⢥- |
|        騩 ᥢନ;                                     |
|       த;    /*   横 "" */                |
|                                                                |
|    ᫨ ࠭ ᪨ ନ:  /* 㠫 ନ   |
|                                         易   */      |
|       ஢ , 㪠뢠騩 祭 ଠ樨|
|        ;                                                   |
|       ९   ଠ  䨧᪨ ନ;|
|       த;    /*   横 "" */                |
|    }                                                           |
| }                                                              |
+----------------------------------------------------------------+

      㭮 10.24. ᥢணࠬ ⨯஢ 


. Mpx 뤢  ࠢ ᮮ饭ﬨ   ᥢନ  -
⮪, ⮡ ८ࠧ뢠 ࠢ騥 ᮮ饭  ଠ樮 ( ⮬ 
᫥饬  ࠣ),    ஦  頥  ᥢନ
⮪  ப 䥩 । ᪮ shell'.  shell ⥯
믮  㠫쭮 ନ;  짮⥫ 㠫  ନ
⫨稬  䨧᪮.
     mpx  ⨯஬, ࠢ騬 뢮   -
  ନ  䨧᪨ ନ  ⨯騬  
 䨧᪮ ନ  室騩 㠫. Mpx  㯫 -
    , ᯮ ⥬ 㭪 select.   -
㯠  䨧᪮ ନ, mpx 蠥 ,    㯨訥

                                    325

  ࠢ騬  ᮮ饭,  騬  室 ᮧ 
  㤠 ண,    ଠ樮 ᮮ饭, ஥  -
室 ࠧ᫠ ᠬ, 뢠騬 ଠ  㠫쭮 ନ-
.    ᫥ 砥   , 騩  -
 ନ,  ஬  ⭮; mpx ࠥ   ᮮ饭
 ९뢠   ᮮ⢥騩  ᥢନ  ⮪.  ࠩ
ᥢନ  ࠢ   १ ப 䥩 ନ -
ᠬ, ⢫騬 ⥭. ⭠ 楤  ,  
   㠫 ନ; mpx ᮥ     ,
ନ 䨧᪨ ନ,  뢮     ।祭 
.
    ᫨   뢠 㭪 ioctl  㠫쭮 ନ, ப
䥩 ନ  室 ⠭ ନ   㠫-
 ;    㠫 ନ ⠭     ࠧ-
묨.  ,  䨧᪨ ନ   ᫠  - -
ଠ,   ⨯ ன⢠.  ࠢ ᮮ饭ﬨ ८-
ࠧ ࠢ騥 ᮮ饭, 㥬 㭪樥 ioctl,   ଠ樮
ᮮ饭, ।祭  ⥭    ᮬ mpx,   ᮮ-
饭 ।  䨧᪮ ன⢮.


        10.4.2  ⮪

      㯮   ⮬,   뫠 ।ਭ ⪠ ᮧ ⮪
⮫쪮  楤ࠬ "뢮"  ⮫쪮  楤ࠬ 㦨. ,
楤 㦨 室  ࠢ ⮪  ,  ⠪  
㫨   ⠢   ।, ᫨ ᥤ 㫨  ६
    ਥ . 楤 "뢮" ⠪  室, ᪮
   ⠢  ᥤ 㫨 ⥫쭮.  -
,  ப  䥩  ନ  㦭  -ᮯ஢ 
  ନ  ⥬  ᮬ. ⥬ 㭪  write    
᪠  楤  "뢮"   ᫥饩 । ।⢥, , 
᢮ ।, 뢠  楤 "뢮"  ᫥饩 ।  ⠪ -
,  㦤  堭 ᯥਧ樨.   ਮ⠭    
砥  ९ ।  뢮. ,  ஭  㫨 
 ਮ⠭, ᪮  믮 뢠 ணࠬ  -
ࠡ⪨  뢠,      ਮ⠭ ᮢ襭  -
.   ﬨ    ᨬ筮  ࠢ  
 뢮,     奬  魮.
      뫮    ⥫쭮  ॠ     ⤥쭮
,  ᯮ짮 讣 ⢠ 㫥 ਢ   ९-
 ⠡ ᮢ. 㫨  ᯥ樠 堭  ᯥ-
ਧ樨 - ணࠬ 뢠, ᨬ  筮 ஢騪 -
ᮢ.    ⮩  稭 㫨   ਮ⠭ ᢮ 믮,
⠪   ਮ⠭  ⥬ ᠬ ந  (, 
ࢠ). 㫨  ࠭  ᥡ ଠ    ᢮  ﭨ,
  騥   ᭮ ணࠬ  ஬, 祬 ᫨  -
⠭ 믮 뫠 ࠧ襭.
     ॠ樨 ⮪  뤥 ᪮쪮 ⪫  ᮮ⢥-
⢨:
  *   ᮢ   ⮪ 㤭, ᪮  -
    ⥫쭮 믮  ⥪ , ᯮ饣 ⮪. 訡筮
    ।,     ᯮ 㫨 ⮪, -
      ᠬ  ॡ ᯮ짮 ᫮ ⥢
    ⮪, ⮣  㣨  ᯮ짮  ப -
    䥩.
  * 짮⥫   ॢ ନ ࠩ    ०
     ࠡ⪨,  ஬ 㭪 read 頥 ࠢ १ -
      ஬⮪  ६    砥  ⢨    (ਬ, ᫨

                                    326

    newtty.c_cc[VMIN] = 0  㭪 10.17).  ᮡ ᫮ ॠ-
      ⮪ ।  祭 ᯥ樠쭮 ணࠬ    ஢
     ⮪.
  * ⮪ 㯠 ।⢠  裡     ந-
       ⨯஢  ஢ .  ਬ ᯮ짮-
      , ᬮ७  ।饬 ࠧ, 믮﫮 ⨯-
    ஢  ஢ 짮⥫᪮ .
    ᬮ   ᮮ⢥⢨,  ⮪ 뢠 訥  
ᮢ襭⢮ ࠧࠡ⪨ 㫥 ࠩ.


.te1        10.5 

      ।⠢ ᮡ    ࠩ஢  ன    ⥬
UNIX.  ன⢠    筮,  ᨬ쭮 ⨯; 䥩
 ன⢠  ⠫쭮   । ⨯ ன. -
䥩ᮬ  ன 筮 ⨯  㯠  ⠡  祩  ன
-뢮  ,    祪 室, ᮮ⢥ 楤ࠬ
   ன    ⥣᪮  楤.  ⥣᪠
楤 ࠢ ।祩     ன 筮 ⨯. -
䥩ᮬ  ன ᨬ쭮 ⨯ 㯠 ⠡ 祩 ன -
ᨬ쭮  -뢮,    ⮨  祪 室, ᮮ⢥
楤ࠬ    ன⢠, ⥭,   楤 ioctl.
⥬ 㭪 ioctl ᯮ  饭   ன⢠  ᨬ쭮
⨯ ᢮ ᮡ⢥ 䥩,   ⢫ । -
ࠢ饩  ଠ樨  ᠬ  ன⢠.  祭 뢠-
  ன⢠  뢠 ணࠬ ࠡ⪨ ᮮ⢥饣  -
,     ଠ, ࠭  ⠡ ஢ 뢠, 
 ࠬ, ᮮ饭 ன⢮,  ண 㯨 뢠.
    ᪮ ࠩ ॢ  ᪨ , ᯮ㥬 䠩-
 ⥬,  䨧᪨   ᪥.  䥩  -
    ਧ  .  ⢨    ࠡ⪨  ᪮
-뢮    ,    , 㢥稢 ⥬ ᠬ 蠭
ࠧ 䠩 ⥬.
    ନ ࠩ  ⢫  ।⢥  ⢨  
짮⥫ﬨ.    뢠    ନ  ᨬ ᯨ᪠,
  ஢   ,      ࠡ-
  ᨬ  ࠭, 㤠   ⪨    뢮. -
⥬ 㭪 ioctl  ᠬ  ᫥  ⥬,   -
ࠡ뢠  , ॢ ନ  ᪨ ०  -
 祭 ࠧ ࠬ஢  ०    ࠡ⪨  ᨬ.
Getty- 뢠 ନ    裡:  ନ 㯯
ᮢ    ॣ樮 shell', 樠   -
樨  ioctl  ࠬ  ନ  頥  짮⥫  ।
ॣ஢. ⠭ ⠪ ࠧ ᪨ ନ  -
  ᠬ  㯯 ᨣ  ⢥   ⠪ ᮡ⨩, 
"ᠭ" 짮⥫  ⨥   뢠.
    ⮪ 㯠 ।⢮ 襭  쭮  ஥  ࠩ஢
ன  ⮪. ⮪ -  㯫᭠   ᠬ 
ࠩࠬ  ன,      ᥡ ப 䥩 
⮪  ஬筮 ࠡ⪨ . 㫨 ⮪ ࠪਧ
⪮ । ⢨  , 饩 ᯮ짮  
 ⠭  㣨 ﬨ.    ᮡ 祭  -
 ⮪  ࠩ஢.

.te1        10.6 

 *1.  ।,   ⥬   䠩 ன    ⥬
      訬  訬 ࠬ,  ⮬,   ன⢠ - ᨬ쭮-

                                    327

      ⨯. ᫨    ६  䨧᪮  -
     ன⢮,   㤥  ࠧ, 뢠       䠩
     ன⢠   ࠧ 䠩.  ந,   ⠭ -
      ன⢮ ?
 *2. ᯮ   5,  ⥬ 㭪樨 mknod  ॡ  ࠧ襭
     㯥௮짮⥫  ᮧ  ᯥ樠쭮 䠩 ன⢠. -
        ன ࠢ ࠢ 㯠  䠩, 祬 -
     樨 mknod 㦭 ࠧ襭 㯥௮짮⥫ ?
  3.  ணࠬ,  ஢,  䠩 ⥬  ᪥ 
     ४뢠. ⮩ ணࠬ ॡ   㬥: 䠩 -
     ன⢠, ।⠢騩 ᪮ ⮬,  ਯ 䠩, 㤠 -
       ᥪ஢   ࠧ  ᪠  ⨯.  ஢ન -
     ⢨ ४⨩ ⮩ ணࠬ   ଠ  㯥-
     . 㤥  ⠪ ணࠬ ᥣ ࠢ쭮 ?
  4.  ணࠬ mkfs 樠 䠩 ⥬  ᪥ ⥬ ᮧ
     㯥࡫, 뤥   ᯨ᪠ ᮢ, 祭   -
     樮    易 ᯨ᮪  ᮧ ୥ ⠫. 
       ᠫ ணࠬ mkfs ?    ணࠬ  稨
     ⠡ ᮤন ⮬ ?  ࠧ ᫥ 樠஢  ⠡-
      ᮤন ⮬ ?
  5.  ணࠬ mkfs  fsck ( 5)  ணࠬ 짮⥫᪮
     ஢,    . ப .
  6. ।,  ணࠬ 㦭 ࠧࠡ  , ࠡ
      ।  UNIX. ணࠬ   믮   짮⥫᪮
     ஢,     ⠢ .  ⥬ ࠢ   㤥
     ⢮  ᪮ ? 㬠  ᫥騬 ᠬ:
     * ᯮ짮 ⠭⭮ 䥩 䠩 ⥬   -
       ।⢥ ࠡ  ஢묨 묨  ᪥,
     * ॡ  த⢨,
     * 室 ,  䠪᪨  ᯮ  ᪥,
     *    :       䠩 -
       ,  ᮡ  ᪮ ⮬   ᯮ  ᪮-
        ᪮ ⮬ ?
  7.  ⥬ UNIX  㬮砭 ।,  䠩 ⥬  -
          ᪠. , ᪨  ᮤঠ 訡,
       ਣ묨  뢮     ।  ᥪ,
     ᬮ    ,    ⠫쭠  ᪠ ⠫ "ਣ". 
     ᪮ ࠩ ( ⥫㠫쭮  ஫  ᪠)  ᫥
     뢠  讥  ⢮  ᥪ஢.   ࠧ 
      ந⥫쭮 ⥬ ?
  8.  ஢ 䠩 ⥬  ᪠ 楤  
      ࠩ,   ᢮  ᯥ樠쭮  䠩  -
     ன⢠    襭  믮 맮 ⥬ 㭪樨 mount. 
     ஢ 䠩 ⥬  頥    ᯥ樠쭮
     䠩  ன⢠,  ᪠ 楤    ࠩ 
      ᢮ . ࠢ  ᫥⥫쭮 権  
     ᮬ,   ⠪ 饭  楤ࠬ    ࠩ,
      ᫥⥫쭮 ⢨, ᮢ蠥  뢠  뢠
     ன⢠ 筮 ⨯. ப १ ࠢ.
  9. 믮 ணࠬ, ਢ  㭪 10.14,   ࠢ  뢮
       䠩. ࠢ ᮤন 䠩  ᮤন 뢮 ⮪,
      뢮   ନ.  ਤ ࢠ , ⮡ -
     ⠭  ;  ⮫쪮 ०    筮 讥 -
     ⢮ .  ந, ᫨ 맮 㭪樨 write  ணࠬ -
       printf(output);
 10.  ந, ᫨ 짮⥫ ⠥  믮  ।஢
     ⥪  䮭 ணࠬ:
     ed file &
      ⢥.

                                    328

 11.   䠩  ନ 筮 ⠭ ᫥騥 ࠢ 㯠

     crw--w--w-  2  mjb   lus      33,11  Oct 25 20:27   tty61

       室 짮⥫  ⥬.  , ⥭   ࠧ
     짮⥫   "mjb",  ⠫ 짮⥫ ࠧ襭 ⮫쪮
     . 祬 ?
 12. ।,   ⭮  䠩 ନ 襣 ⮢.  -
      ணࠬ  ᮮ饭  襣 ନ  ନ 襣
     ⮢.   ଠ  㦭, ⮡ ஢ ਥ
     ந 筮  write ?
 13.  믮  stty: ᫨ ࠬ  㪠,  롨ࠥ -
      ⠭ ନ  ᮮ頥  짮⥫.  ⨢  砥
     짮⥫     ࠪ⨢ ० ᤥ ࠧ ⠭
     ᠬ.
 14.   ப 䥩,  뢠騩  䨪
     設  砫  ப 뢮 ⮪.
 15.    ᪮ ० 짮⥫   ६ ਮ⠭ 뢮
       ନ,  ᫥⥫쭮  <Ctrl-s>,  த-
      뢮,  <Ctrl-q>.   ⠭⭮ ப 䥩 ॠ-
       ᮡ ?
*16.  砫쭮 㧪 ஦ getty-      ନ-
     쭮   ⥬.  ந諮 , ᫨     ⮣ 
     ନ  ⢮    ६  getty-, 騥
     ॣ樨 짮⥫ ?     ⮬ ?
 17.    shell ॠ ⠪ ࠧ,   "-
     "  䠩  த 뢠   ⠭⭮  -
     .   ந諮 , ᫨  짮⥫ ( ॣ樮 shell')
     㣠  䠩  த    ?
*18. ।,   뢠   ᪮ ନ, 
       㫠 ᨣ  "ᠭ".  ந,  
       த 뢠   ᪮ ନ ᫥ -
     ᠭ ?
 19. ணࠬ getty-  ⢥⢥  ⨥ ନ쭮
     ,  ணࠬ login -  ஢ ॣ樮    ஫.
       २⢠  ⮬,   㭪樨 믮 ⤥묨 ண-
     ࠬ ?
 20.  ᬮਬ  ⮤ ॠ樨 ࠩ ᢥ ନ  ("/dev
     /tty"), ᠭ  ࠧ 10.3.6.  ࠧ   
     짮⥫ ? (: 㬠  ⥬ 㭪 stat  fstat).
 21. ࠡ⠩ ⮤ ஢ 믮 㫥 ⮪,  ᮮ⢥-
           ᢮ ⠢ ᯥ樠 , 믮-
     騩  楤 㦨 㫥 ⮣,  믮  -
      ஢.
*22. ࠡ⠩ 奬 ஥ 㠫 ନ ()  ᯮ짮-
      ࠤ樮 ( ⮪) ࠩ஢.
*23. ࠡ⠩ ⮤ ॠ樨 㠫 ନ    ᯮ짮
     ⮪,   ஬ ⨯஢ -뢮  㠫
      䨧᪨ ନ     㫥 ,    -
     ⥫᪨ .  堭 ᮥ ⮪  ᢥ⪮ 
     ࠧ⪮.   :  , ⢫騩 ⨯-
     ,  ⠢   ந   짮⥫᪨  ?
 24.  ps ᮮ頥  ଠ  ⨢ ᮢ  -
     饩 ⥬.  ࠤ樮 ॠ ps 뢠 ଠ 
     ⠡ ᮢ, אַ   .  ⮤  ᮢᥬ 㤮 
     । ࠧࠡ⪨,  ࠧ ᥩ ⠡ ᮢ   -
      ps ⠭  㦨  ⠡ ᮮ⢥騥  .
     ࠡ⠩ ࠩ, ⢨⥫   ।.


                                    329
