home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-11-05 | 129.8 KB | 2,356 lines |
-
-
-
-
-
-
-
- EÇÉòêÆàèÆôÉÇ ÄÅàÉÇûêÄììÄë æêæÆàî¢ UNIX
-
- î«α¿ß äª. üáσ F
-
-
-
- THE DESIGN OF THE UNIX OPERATING SYSTEM by Maurice J. Bach
-
-
-
-
-
-
- (ÅÑαÑó«ñ ß á¡ú½¿⌐߬«ú« ¬.Γ.¡. èα嬫óá Ç.é.)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
- Copyright c 1986 è«α»«αᵿ∩ Bell Telephone Laboratories.
-
- êºñá¡« ¬«α»«αᵿÑ⌐ Prentice-Hall.
- ÄΓñѽѡ¿Ñ Simon & Schuster
- ¥¡ú½óπñ 轿ΣΣß, ì∞ε-äªÑαß¿ 07632
-
- æÑα¿∩ ¬¡¿ú »« »α«úαá¼¼¡«¼π «íÑß»ÑτÑ¡¿ε ¿ºñáΓѽ∞ßΓóá Prentice Hall.
- è«¡ßπ½∞Γá¡Γ üαá⌐á¡ é. èÑα¡¿úá¡
-
- ìáßΓ«∩ΘÑÑ ¿ºñá¡¿Ñ »αÑñ¡áº¡áτÑ¡« ñ½∩ αáß»α«ßΓαá¡Ñ¡¿∩ ó ΓÑσ
- ßΓαá¡áσ, ¬«Γ«αδÑ »«½πτ¿½¿ ¡á φΓ« »αáó« «Γ ¬«α»«αᵿ¿
- Prentice-Hall International. ìÑ »«ñ½Ñª¿Γ óδó«ºπ ¿ αáß»α«ßΓαá¡Ñ¡¿ε
- ó æÿÇ, îѬ߿¬Ñ ¿ èá¡áñÑ.
-
- UNIX - ºáαÑú¿ßΓα¿α«óá¡¡á∩ Γ«αú«óá∩ ¼áα¬á ¬«α»«αᵿ¿ AT&T.
- DEC, PDP ¿ VAX - Γ«αú«óδÑ ¼áન ¬«α»«αᵿ¿ Digital Equipment
- Corp. Series 32000 - Γ«αú«óá∩ ¼áα¬á ¬«α»«αᵿ¿ National
- Semiconductor Corp. Ada - ºáαÑú¿ßΓα¿α«óá¡¡á∩ Γ«αú«óá∩ ¼áα¬á »αá-
- ó¿Γѽ∞ßΓóá æÿÇ (Ada Joint Program Office). UNIVAC - Γ«αú«óá∩ ¼áα-
- ¬á ¬«α»«αᵿ¿ Sperry Corp.
- ìáßΓ«∩Θ¿⌐ ñ«¬π¼Ñ¡Γ ¡áíαá¡ ¡á Σ«Γ«¡áí«α¡«¼ πßΓα«⌐ßΓóÑ APS-5
- ¬«α»«αᵿ¿ AUTOLOGIC ß »«¼«Θ∞ε Σ«α¼áΓÑαá TROFF ó «»Ñαᵿ«¡¡«⌐
- ßαÑñÑ UNIX ¥éî AT&T 3B20.
-
- é »α«µÑßßÑ »«ñú«Γ«ó¬¿ ¬¡¿ú¿ ÑÑ áóΓ«α«¼ ¿ ¿ºñáΓѽѼ í佫 »α¿-
- ½«ªÑ¡« ¡Ñ¼á½« πß¿½¿⌐. ¥Γ¿ πß¿½¿∩ í뫨 ßó∩ºá¡δ ß »α«óÑñÑ¡¿Ñ¼ ΓÑ«-
- αÑΓ¿τÑ߬¿σ αáºαáí«Γ«¬ ¿ ¿ßß½Ññ«óá¡¿⌐ ¿ ß óßÑßΓ«α«¡¡Ñ⌐ »α«óÑᬫ⌐
- ñÑ⌐ßΓóÑ¡¡«ßΓ¿ ΓÑ«αÑΓ¿τÑ߬¿σ ó䬽áñ«¬ ¿ »α«úαá¼¼. ÇóΓ«α ¿ ¿ºñáΓѽ∞
- ¡Ñ ñáεΓ ¡¿¬á¬¿σ úáαá¡Γ¿⌐, ¬á¬ ∩ß¡« óδαáªÑ¡¡δσ, Γᬠ¿ »«ñαáºπ¼Ñóá-
- εΘ¿σß∩, «Γ¡«ß¿Γѽ∞¡« ó¬½ετÑ¡¡δσ ó ¬¡¿úπ »α«úαá¼¼ ¿ ñ«¬π¼Ñ¡Γᵿ¿.
- ÇóΓ«α ¿ ¿ºñáΓѽ∞ ¡Ñ «ΓóÑτáεΓ ºá ß½πτá⌐¡δÑ ¿½¿ »α«¿ºó«ñ¡δÑ ¡Ñ»«-
- ½áñ¬¿, 󫺡¿¬áεΘ¿Ñ ó ßó∩º¿ ¿½¿ ó αѺπ½∞ΓáΓÑ πßΓá¡«ó¬¿, óδ»«½¡Ñ¡¿∩
- ¿½¿ ¿ß»«½∞º«óá¡¿∩ φΓ¿σ »α«úαá¼¼.
-
- éßÑ »αáóá ß«σαá¡∩εΓß∩. çá»αÑΘáÑΓß∩ ó«ß»α«¿ºóÑñÑ¡¿Ñ «Γñѽ∞¡δσ
- τáßΓÑ⌐ ¬¡¿ú¿ íѺ »¿ß∞¼Ñ¡¡«ú« αáºαÑΦÑ¡¿∩ ¿ºñáΓѽ∩.
-
- ÄΓ»ÑτáΓá¡« ó æ«Ññ¿¡Ñ¡¡δσ ÿΓáΓáσ ǼÑਪ¿.
-
- 10 9 8 7 6 5
-
- ISBN 0-13-201757-1 025
-
- Prentice-Hall International (UK) Limited, ï«¡ñ«¡
- Prentice-Hall of Australia Pty. Limited, æ¿ñ¡Ñ⌐
- Prentice-Hall Canada Inc., Æ«α«¡Γ«
- Prentice-Hall Hispanoamericana, S.A., îÑσ¿¬«
- Prentice-Hall of India Private Limited, ì∞ε-äѽ¿
- Prentice-Hall of Japan, Inc., Æ«¬¿«
- Prentice-Hall of Southeast Asia Pte. Ltd., æ¿¡úá»πα
- Editora Prentice-Hall do Brasil, Ltda., É¿«-ñÑ-åá¡Ñ⌐α«
- Prentice-Hall, Inc., ¥¡ú½óπñ 轿ΣΣß, ì∞ε-äªÑαß¿
-
-
-
-
-
-
-
- 2
-
-
- EÅÉàäêæïÄéêàF
-
- é»ÑαóδÑ ß¿ßΓѼá UNIX íδ½á «»¿ßá¡á ó 1974 ú«ñπ ó ßΓáΓ∞Ñ èÑ¡á Æ«¼»ß«¡á ¿
- äφ¡¡¿ßá É¿τ¿ ó ªπα¡á½Ñ "Communications of the ACM" [Thompson 74]. æ φΓ«ú«
- óαѼѡ¿ «¡á »«½πτ¿½á Φ¿α«¬«Ñ αáß»α«ßΓαá¡Ñ¡¿Ñ ¿ ºáó«Ñóá½á Φ¿α«¬πε »«»π½∩α-
- ¡«ßΓ∞ ßαÑñ¿ »α«¿ºó«ñ¿ΓѽÑ⌐ ¥éî, ¬«Γ«αδÑ óßÑ τáΘÑ ßΓ὿ «ß¡áΘáΓ∞ Ñε ßó«¿ ¼á-
- Φ¿¡δ. Äß«í«⌐ »«»π½∩α¡«ßΓ∞ε «¡á »«½∞ºπÑΓß∩ ó π¡¿óÑαß¿ΓÑΓáσ, úñÑ ñ«ó«½∞¡« τáß-
- Γ« πτáßΓóπÑΓ ó ¿ßß½Ññ«óáΓѽ∞߬«¼ ¿ πτÑí¡«¼ »α«µÑßßÑ.
- î¡«ªÑßΓó« ¬¡¿ú ¿ ßΓáΓÑ⌐ »«ßó∩ΘÑ¡« «»¿ßá¡¿ε «Γñѽ∞¡δσ τáßΓÑ⌐ ß¿ßΓѼδ;
- ßαÑñ¿ ¡¿σ ñóá ߻ѵ¿á½∞¡δσ óδ»π߬á "Bell System Technical Journal" ºá 1978
- ú«ñ [BSTJ 78] ¿ ºá 1984 ú«ñ [BSTJ 84]. é« ¼¡«ú¿σ ¬¡¿úáσ «»¿ßδóáÑΓß∩ »«½∞º«-
- óáΓѽ∞߬¿⌐ ¿¡ΓÑαΣÑ⌐ß, ó τáßΓ¡«ßΓ¿ ¿ß»«½∞º«óá¡¿Ñ φ½Ñ¬Γα«¡¡«⌐ »«τΓδ, »«ñú«Γ«ó-
- ¬á ñ«¬π¼Ñ¡Γᵿ¿, αáí«Γá ß ¬«¼á¡ñ¡δ¼ »α«µÑßß«α«¼ Shell; ó ¡Ñ¬«Γ«αδσ ¬¡¿úáσ,
- Γᬿσ ¬á¬ "The UNIX Programming Environment" [Kernighan 84] ¿ "Advanced UNIX
- Programming" [Rochkind 85], «»¿ßδóáÑΓß∩ »α«úαá¼¼¡δ⌐ ¿¡ΓÑαΣÑ⌐ß. ìáßΓ«∩Θá∩
- ¬¡¿úá »«ßó∩ΘÑ¡á «»¿ßá¡¿ε ó¡πΓαÑ¡¡¿σ á½ú«α¿Γ¼«ó ¿ ßΓαπ¬Γπα, ß«ßΓáó½∩εΘ¿σ «ß-
- ¡«óπ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ (Γ.¡. "∩ñα«"), ¿ «íΩ∩ߡѡ¿ε ¿σ óºá¿¼«ßó∩º¿ ß »α«ú-
- αá¼¼¡δ¼ ¿¡ΓÑαΣÑ⌐ß«¼. Æá¬¿¼ «íαẫ¼, «¡á íπñÑΓ »«½Ñº¡á ñ½∩ αáí«ΓáεΘ¿σ ó αáº-
- ½¿τ¡δσ «»Ñαᵿ«¡¡δσ ßαÑñáσ. é«-»Ñαóδσ, «¡á ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ó ¬áτÑßΓóÑ
- πτÑí¡«ú« »«ß«í¿∩ »« ¬παßπ "Ä»Ñαᵿ«¡¡δÑ ß¿ßΓѼδ" ¬á¬ ñ½∩ ßΓπñÑ¡Γ«ó »«ß½Ññ¡Ñ-
- ú« ¬παßá, Γᬠ¿ ñ½∩ áß»¿αá¡Γ«ó »Ñαó«ú« ú«ñá «íπτÑ¡¿∩. Åα¿ αáí«ΓÑ ß ¬¡¿ú«⌐
- í佫 íδ ú«αáºñ« »«½Ñº¡ÑÑ «íαáΘáΓ∞ß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡« ¬ ¿ßσ«ñ¡«¼π ΓѬßΓπ ß¿ß-
- ΓѼ¡δσ »α«úαá¼¼, ¡« ¬¡¿úπ ¼«ª¡« τ¿ΓáΓ∞ ¿ ¡Ñºáó¿ß¿¼« «Γ ¡Ñú«. é«-óΓ«αδσ, φΓá
- ¬¡¿úá ¼«ªÑΓ ß½πª¿Γ∞ ó ¬áτÑßΓóÑ ß»αáó«τ¡«ú« απ¬«ó«ñßΓóá ñ½∩ ß¿ßΓѼ¡δσ »α«ú-
- αá¼¼¿ßΓ«ó, ¿º ¬«Γ«α«ú« »«ß½Ññ¡¿Ñ ¼«ú½¿ íδ ½πτΦÑ π∩ß¡¿Γ∞ ßÑíÑ ¼Ñσá¡¿º¼ αáí«Γδ
- ∩ñαá «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼δ ¿ ßαáó¡¿Γ∞ ¼Ñªñπ ß«í«⌐ á½ú«α¿Γ¼δ, ¿ß»«½∞ºπѼδÑ ó
- UNIX, ¿ á½ú«α¿Γ¼δ, ¿ß»«½∞ºπѼδÑ ó ñαπú¿σ «»Ñαᵿ«¡¡δσ ß¿ßΓѼáσ. ìᬫ¡Ñµ,
- »α«úαá¼¼¿ßΓδ, αáí«ΓáεΘ¿Ñ ó ßαÑñÑ UNIX, ¼«úπΓ πú½πí¿Γ∞ ßó«Ñ »«¡¿¼á¡¿Ñ ¼Ñσá-
- ¡¿º¼á óºá¿¼«ñÑ⌐ßΓó¿∩ »α«úαá¼¼ ß «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐ ¿ »«ßαÑñßΓó«¼ φΓ«ú«
- »α¿⌐Γ¿ ¬ ¡á»¿ßá¡¿ε í«½ÑÑ φΣΣÑ¬Γ¿ó¡δσ ¿ ß«óÑαΦÑ¡¡δσ »α«úαá¼¼.
- æ«ñÑαªá¡¿Ñ ¿ »«α∩ñ«¬ »«ßΓα«Ñ¡¿∩ ¼áΓÑα¿á½á ó ¬¡¿úÑ ß««ΓóÑΓßΓóπεΓ ¬παßπ
- ½Ñ¬µ¿⌐, »«ñú«Γ«ó½Ñ¡¡«¼π ¿ »α«τ¿Γá¡¡«¼π ¼¡«⌐ ñ½∩ ß«Γαπñ¡¿¬«ó Σ¿α¼δ Bell
- Laboratories, óσ«ñ∩ΘÑ⌐ ó ß«ßΓáó ¬«α»«αᵿ¿ AT&T, ¼Ñªñπ 1983 ¿ 1984 úú. ìÑß-
- ¼«Γα∩ ¡á Γ«, τΓ« ú½áó¡«Ñ ó¡¿¼á¡¿Ñ ó ¬παßÑ ½Ñ¬µ¿⌐ «íαáΘὫß∞ ¡á ¿ßσ«ñ¡δ⌐
- ΓѬßΓ ß¿ßΓѼ¡δσ »α«úαá¼¼, ∩ «í¡áαπª¿½, τΓ« »«¡¿¼á¡¿Ñ ¿ßσ«ñ¡«ú« ΓѬßΓá «í½Ñú-
- τáÑΓß∩, Ñß½¿ »«½∞º«óáΓѽ∞ ¿¼ÑÑΓ »αÑñßΓáó½Ñ¡¿Ñ « ß¿ßΓѼ¡δσ á½ú«α¿Γ¼áσ. é ¬¡¿-
- úÑ ∩ »δΓá½ß∩ ¿º½«ª¿Γ∞ «»¿ßá¡¿Ñ á½ú«α¿Γ¼«ó ¬á¬ ¼«ª¡« »α«ΘÑ, τΓ«íδ ¿ ó ¼á½«¼
- «ΓαếΓ∞ »α«ßΓ«Γπ ¿ ¿º∩ΘÑßΓó« αáßß¼áΓα¿óáѼ«⌐ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ. Æá¬¿¼
- «íαẫ¼, ¬¡¿úá »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¡Ñ Γ«½∞¬« »«ñα«í¡«Ñ ¿ßΓ«½¬«óá¡¿Ñ «ß«íÑ¡-
- ¡«ßΓÑ⌐ ß¿ßΓÑ¼δ ¡á á¡ú½¿⌐߬«¼ ∩ºδ¬Ñ; φΓ« ¿º«íαáªÑ¡¿Ñ «íΘÑú« ¼Ñσá¡¿º¼á αáí«Γδ
- αẽ¿τ¡δσ á½ú«α¿Γ¼«ó, ¿ τΓ« ú«αáºñ« ó᪡ÑÑ, φΓ« «ΓαáªÑ¡¿Ñ »α«µÑßßá ¿σ óºá¿-
- ¼«ñÑ⌐ßΓó¿∩ ¼Ñªñπ ß«í«⌐. ǽú«α¿Γ¼δ »αÑñßΓáó½Ñ¡δ ¡á »ßÑóñ«¬«ñÑ, »«σ«ªÑ¼ ¡á
- ∩ºδ¬ æ¿, »«ß¬«½∞¬π τ¿ΓáΓÑ½ε ½ÑúτÑ ó«ß»α¿¡¿¼áΓ∞ «»¿ßá¡¿Ñ ¡á ÑßΓÑßΓóÑ¡¡«¼ ∩ºδ-
- ¬Ñ; ¡á¿¼Ñ¡«óá¡¿∩ á½ú«α¿Γ¼«ó ß««ΓóÑΓßΓóπεΓ ¿¼Ñ¡á¼ »α«µÑñπα, ß«ßΓáó½∩εΘ¿σ ∩ñα«
- «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ. É¿ßπ¡¬¿ «»¿ßδóáεΓ óºá¿¼«ñÑ⌐ßΓó¿Ñ αẽ¿τ¡δσ ¿¡Σ«α¼áµ¿-
- «¡¡δσ ßΓαπ¬Γπα »«ñ π»αáó½Ñ¡¿Ñ¼ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ. é »«ß½Ññ¡¿σ ú½áóáσ ¼¡«-
- ú¿Ñ ß¿ßΓѼ¡δÑ »«¡∩Γ¿∩ ¿½½εßΓα¿απεΓß∩ ß »«¼«Θ∞ε ¡Ñí«½∞Φ¿σ »α«úαá¼¼ ¡á ∩ºδ¬Ñ
- æ¿. é µÑ½∩σ φ¬«¡«¼¿¿ ¼ÑßΓá ¿ «íÑß»ÑτÑ¡¿∩ ∩ß¡«ßΓ¿ ¿º½«ªÑ¡¿∩ ¿º φΓ¿σ »α¿¼Ñα«ó
- ¿ß¬½ετÑ¡ ¬«¡Γα«½∞ 󫺡¿¬¡«óÑ¡¿∩ «Φ¿í«¬, ¬«Γ«αδ⌐ «íδτ¡« »αÑñπß¼áΓα¿óáÑΓß∩ »α¿
- ¡á»¿ßá¡¿¿ »α«úαá¼¼. ¥Γ¿ »α¿¼Ñαδ »α«ú«¡∩½¿ß∞ ¼¡«ε »«ñ π»αáó½Ñ¡¿Ñ¼ óÑαß¿¿ V;
- ºá ¿ß¬½ετÑ¡¿Ñ¼ »α«úαá¼¼, ¿½½εßΓα¿απεΘ¿σ «ß«íÑ¡¡«ßΓ¿, »α¿ßπΘ¿Ñ óÑαß¿¿ V, ¿σ
- ¼«ª¡« óδ»«½¡∩Γ∞ »«ñ π»αáó½Ñ¡¿Ñ¼ ñαπú¿σ óÑαß¿⌐ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ.
- ü«½∞Φ«Ñ τ¿ß½« π»α᪡ѡ¿⌐, »«ñú«Γ«ó½Ñ¡¡δσ »Ñαó«¡áτá½∞¡« ñ½∩ ¬παßá ½Ñ¬µ¿⌐,
- »α¿óÑñÑ¡« ó ¬«¡µÑ ¬áªñ«⌐ ú½áóδ, «¡¿ ß«ßΓáó½∩εΓ ¬½ετÑóπε τáßΓ∞ ¬¡¿ú¿. ÄΓñѽ∞-
- ¡δÑ π»α᪡ѡ¿∩, ¿½½εßΓα¿απεΘ¿Ñ «ß¡«ó¡δÑ »«¡∩Γ¿∩, αẼÑΘÑ¡δ ¡Ñ»«ßαÑñßΓóÑ¡¡« ó
- ΓѬßΓÑ ¬¡¿ú¿. äαπúá∩ τáßΓ∞ π»α᪡ѡ¿⌐ «Γ½¿τáÑΓß∩ í«½∞ΦÑ⌐ ß½«ª¡«ßΓ∞ε, »«ß-
- ¬«½∞¬π ¿σ »αÑñ¡áº¡áτÑ¡¿Ñ ß«ßΓ«¿Γ ó Γ«¼, τΓ«íδ »«¼«τ∞ τ¿ΓáΓѽε πú½πí¿Γ∞ ßó«Ñ
- »«¡¿¼á¡¿Ñ «ß«íÑ¡¡«ßΓÑ⌐ ß¿ßΓѼδ. ê, ¡á¬«¡Ñµ, τáßΓ∞ π»α᪡ѡ¿⌐ ∩ó½∩ÑΓß∩ »«
-
- 3
-
- »α¿α«ñÑ ¿ßß½Ññ«óáΓѽ∞߬«⌐, »αÑñ¡áº¡áτÑ¡¡«⌐ ñ½∩ ¿ºπτÑ¡¿∩ «Γñѽ∞¡δσ »α«í½Ñ¼.
- ô»α᪡ѡ¿∩ »«óδΦÑ¡¡«⌐ ß½«ª¡«ßΓ¿ »«¼ÑτÑ¡δ ºóѺñ«τ¬á¼¿.
- æ¿ßΓѼ¡«Ñ «»¿ßá¡¿Ñ íếαπÑΓß∩ ¡á «ß«íÑ¡¡«ßΓ∩σ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ UNIX
- óÑαß¿∩ V αÑñᬵ¿∩ 2, αáß»α«ßΓαá¡Ñ¡¿Ñ¼ ¬«Γ«α«⌐ ºá¡¿¼áÑΓß∩ ¬«α»«αᵿ∩ AT&T, ß
- πτÑΓ«¼ «Γñѽ∞¡δσ «ß«íÑ¡¡«ßΓÑ⌐ αÑñᬵ¿¿ 3. ¥Γ« Γá ß¿ßΓѼá, ß ¬«Γ«α«⌐ ∩ ¡á¿í«-
- ½ÑÑ º¡á¬«¼, «ñ¡á¬« ∩ »«ßΓáαá½ß∩ «ΓαếΓ∞ ¿ ¿¡ΓÑαÑß¡δÑ ñÑΓ὿ ñαπú¿σ αạ«-
- ó¿ñ¡«ßΓÑ⌐ «»Ñαᵿ«¡¡δσ ß¿ßΓѼ, ó τáßΓ¡«ßΓ¿ ß¿ßΓѼ, αáß»α«ßΓαá¡∩Ѽδσ τÑαѺ
- "Berkeley Software Distribution" (BSD). ƒ ¡Ñ ¬áßá½ß∩ ó«»α«ß«ó, ßó∩ºá¡¡δσ ß
- σáαá¬ΓÑα¿ßΓ¿¬á¼¿ «Γñѽ∞¡δσ á»»áαáΓ¡δσ ßαÑñßΓó, ßΓáαá∩ß∞ Γ«½∞¬« ó «íΘ¿σ τÑα-
- Γáσ «σóáΓ¿Γ∞ »α«µÑßß óºá¿¼«ñÑ⌐ßΓó¿∩ ∩ñαá «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ ß á»»áαáΓ¡δ¼¿
- ßαÑñßΓóἿ ¿ ¿ú¡«α¿απ∩ σáαá¬ΓÑα¡δÑ «ß«íÑ¡¡«ßΓ¿ Σ¿º¿τÑ߬«⌐ ¬«¡Σ¿úπαᵿ¿. ÆÑ¼
- ¡Ñ ¼Ñ¡ÑÑ, Γá¼, úñÑ ó«»α«ßδ, ßó∩ºá¡¡δÑ ß ¼áΦ¿¡¡δ¼¿ «ß«íÑ¡¡«ßΓ∩¼¿, »αÑñßΓáó¿-
- ½¿ß∞ ¼¡Ñ óáª¡δ¼¿ ß Γ«τ¬¿ ºαÑ¡¿∩ »«¡¿¼á¡¿∩ ¼Ñσá¡¿º¼á Σπ¡¬µ¿«¡¿α«óá¡¿∩ ∩ñαá,
- «¬áºá½«ß∞ π¼ÑßΓ¡δ¼ ¿ πú½πí½Ñ¡¿Ñ ó ñÑΓ὿. Å« ¬αá⌐¡Ñ⌐ ¼ÑαÑ, íÑú½δ⌐ »α«ß¼«Γα
- ºáΓα«¡πΓδσ ó ¬¡¿úÑ ó«»α«ß«ó ∩ß¡« π¬áºδóáÑΓ ΓÑ ß«ßΓáó¡δÑ τáßΓ¿ «»Ñαᵿ«¡¡«⌐
- ß¿ßΓѼδ, ¬«Γ«αδÑ ∩ó½∩εΓß∩ ¡á¿í«½ÑÑ ¼áΦ¿¡¡«-ºáó¿ß¿¼δ¼¿.
- ÄíΘÑ¡¿Ñ ß ¬¡¿ú«⌐ »αÑñ»«½áúáÑΓ ¡á½¿τ¿Ñ π τ¿ΓáΓѽ∩ «»δΓá »α«úαá¼¼¿α«óá¡¿∩
- ¡á «ñ¡«¼ ¿º ∩ºδ¬«ó óδß«¬«ú« πα«ó¡∩ ¿ ªÑ½áΓѽ∞¡« ¡á ∩ºδ¬Ñ áßßѼí½Ñαá. ù¿ΓáΓÑ-
- ½ε αѬ«¼Ñ¡ñπÑΓß∩ »α¿«íαÑßΓ¿ «»δΓ αáí«Γδ ß «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐ UNIX ¿ »«º-
- ¡á¬«¼¿Γ∞ß∩ ß ∩ºδ¬«¼ »α«úαá¼¼¿α«óá¡¿∩ æ¿ [Kernighan 78]. ÆÑ¼ ¡Ñ ¼Ñ¡ÑÑ, ∩ ßΓá-
- αá½ß∩ ¿º½«ª¿Γ∞ ¼áΓÑα¿á½ ó ¬¡¿úÑ Γᬿ¼ «íαẫ¼, τΓ«íδ τ¿ΓáΓѽ∞ ß¼«ú «ó½áñÑΓ∞
- ¿¼ ñáªÑ »α¿ «ΓßπΓßΓó¿¿ ΓαÑíπѼδσ ¡áó䬫ó. é »α¿½«ªÑ¡¿¿ ¬ ¬¡¿úÑ »α¿óÑñÑ¡«
- ¬αáΓ¬«Ñ «»¿ßá¡¿Ñ «íαáΘÑ¡¿⌐ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ, ¬«Γ«α«ú« íπñÑΓ ñ«ßΓáΓ«τ¡«
- ñ½∩ Γ«ú«, τΓ«íδ »«½πτ¿Γ∞ »αÑñßΓáó½Ñ¡¿Ñ « ß«ñÑαªá¡¿¿ ¬¡¿ú¿, ¡« ¬«Γ«α«Ñ ¡Ñ ¼«-
- ªÑΓ ß½πª¿Γ∞ ó ¬áτÑßΓóÑ »«½¡«ú« ß»αáó«τ¡«ú« απ¬«ó«ñßΓóá.
- îáΓÑα¿á½ ó ¬¡¿úÑ »«ßΓα«Ñ¡ ß½ÑñπεΘ¿¼ «íαẫ¼. â½áóá 1 ß½πª¿Γ óóÑñÑ¡¿Ñ¼,
- ß«ñÑαªáΘ¿¼ ¬αáΓ¬«Ñ, «íΘÑÑ «»¿ßá¡¿Ñ ß¿ßΓѼ¡δσ «ß«íÑ¡¡«ßΓÑ⌐ ß Γ«τ¬¿ ºαÑ¡¿∩
- »«½∞º«óáΓѽ∩ ¿ «íΩ∩ß¡∩εΘ¿¼ ßΓαπ¬Γπαπ ß¿ßΓѼδ. é ú½áóÑ 2 ñáÑΓß∩ «íΘÑÑ »αÑñß-
- Γáó½Ñ¡¿Ñ «í áασ¿ΓѬΓπαÑ ∩ñαá ¿ »«∩ß¡∩εΓß∩ ¡Ñ¬«Γ«αδÑ «ß¡«ó¡δÑ »«¡∩Γ¿∩. é «ß-
- Γá½∞¡«⌐ τáßΓ¿ ¬¡¿ú¿ «ßóÑΘáεΓß∩ ó«»α«ßδ, ßó∩ºá¡¡δÑ ß «íΘÑ⌐ áασ¿ΓѬΓπα«⌐ ß¿ß-
- ΓÑ¼δ ¿ «»¿ß᡿Ѽ ÑÑ αẽ¿τ¡δσ ¬«¼»«¡Ñ¡Γ ¬á¬ í½«¬«ó Ññ¿¡«⌐ ¬«¡ßΓαπ¬µ¿¿. é ¡Ñ⌐
- ¼«ª¡« óδñѽ¿Γ∞ Γα¿ αáºñѽá: Σá⌐½«óá∩ ß¿ßΓѼá, π»αáó½Ñ¡¿Ñ »α«µÑßßἿ ¿ ó«»α«-
- ßδ, ßó∩ºá¡¡δÑ ß αáºó¿Γ¿Ñ¼. öá⌐½«óá∩ ß¿ßΓÑ¼á »αÑñßΓáó½Ñ¡á »Ñαó«⌐, »«ß¬«½∞¬π
- ÑÑ »«¡¿¼á¡¿Ñ ½ÑúτÑ »« ßαáó¡Ñ¡¿ε ß π»αáó½Ñ¡¿Ñ¼ »α«µÑßßἿ. Æá¬, ú½áóá 3 »«ß-
- ó∩ΘÑ¡á «»¿ßá¡¿ε ¼Ñσá¡¿º¼á Σπ¡¬µ¿«¡¿α«óá¡¿∩ ß¿ßΓѼ¡«ú« íπΣÑαá ßóÑασ«»ÑαáΓ¿ó-
- ¡«⌐ »á¼∩Γ¿ (¬ÑΦá), ß«ßΓáó½∩εΘÑú« «ß¡«óπ Σá⌐½«ó«⌐ ß¿ßΓѼδ. â½áóá 4 «»¿ßδóáÑΓ
- ¿¡Σ«α¼áµ¿«¡¡δÑ ßΓαπ¬Γπαδ ¿ á½ú«α¿Γ¼δ, ¿ß»«½∞ºπѼδÑ Σá⌐½«ó«⌐ ß¿ßΓѼ«⌐. é φΓ¿σ
- á½ú«α¿Γ¼áσ ¿ß»«½∞ºπεΓß∩ ¼ÑΓ«ñδ, «íΩ∩ß¡∩ѼδÑ ó ú½áóÑ 3, ñ½∩ óÑñÑ¡¿∩ ó¡πΓαÑ¡-
- ¡Ñ⌐ "íπσúá½ΓÑα¿¿", ¡Ñ«íσ«ñ¿¼«⌐ ñ½∩ π»αáó½Ñ¡¿∩ »«½∞º«óáΓѽ∞߬¿¼¿ Σá⌐½á¼¿.
- â½áóá 5 »«ßó∩ΘÑ¡á «»¿ßá¡¿ε «íαáΘÑ¡¿⌐ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ, «íß½πª¿óáεΘ¿σ
- ¿¡ΓÑαΣÑ⌐ß »«½∞º«óáΓѽ∩ ß Σá⌐½«ó«⌐ ß¿ßΓѼ«⌐; ñ½∩ «íÑß»ÑτÑ¡¿∩ ñ«ßΓπ»á ¬ »«½∞-
- º«óáΓѽ∞߬¿¼ Σá⌐½á¼ ¿ß»«½∞ºπεΓß∩ á½ú«α¿Γ¼δ ú½áóδ 4.
- Äß¡«ó¡«Ñ ó¡¿¼á¡¿Ñ ó ú½áóÑ 6 πñѽ∩ÑΓß∩ π»αáó½Ñ¡¿ε »α«µÑßßἿ. é ¡Ñ⌐ «»αÑ-
- ñѽ∩ÑΓß∩ »«¡∩Γ¿Ñ ¬«¡ΓѬßΓá »α«µÑßßá ¿ ¿ßß½ÑñπεΓß∩ ó¡πΓαÑ¡¡¿Ñ ß«ßΓáó½∩εΘ¿Ñ
- ∩ñαá «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ, π»αáó½∩εΘ¿Ñ ¬«¡ΓѬßΓ«¼ »α«µÑßßá. é τáßΓ¡«ßΓ¿,
- αáßß¼áΓα¿óáÑΓß∩ «íαáΘÑ¡¿Ñ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ, «íαáí«Γ¬á »αÑαδóá¡¿⌐ ¿ »Ñ-
- αѬ½ετÑ¡¿Ñ ¬«¡ΓѬßΓá. é ú½áóÑ 7 á¡á½¿º¿απεΓß∩ ΓÑ ß¿ßΓѼ¡δÑ «»Ñαᵿ¿, ¬«Γ«αδÑ
- π»αáó½∩εΓ ¬«¡ΓѬßΓ«¼ »α«µÑßßá. â½áóá 8 ¬áßáÑΓß∩ »½á¡¿α«óá¡¿∩ »α«µÑßß«ó, ú½á-
- óá 9 - αáß»αÑñѽѡ¿∩ »á¼∩Γ¿, ó¬½ετá∩ ß¿ßΓÑ¼δ »«ñ¬áτ¬¿ ¿ ºá¼ÑΘÑ¡¿∩ ßΓαá¡¿µ.
- é ú½áóÑ 10 ñáÑΓß∩ «íº«α «íΘ¿σ «ß«íÑ¡¡«ßΓÑ⌐ óºá¿¼«ñÑ⌐ßΓó¿∩, ¬«Γ«α«Ñ «íÑß-
- »Ñτ¿óáεΓ ñαá⌐óÑαδ πßΓα«⌐ßΓó, «ß«í«Ñ ó¡¿¼á¡¿Ñ πñѽ∩ÑΓß∩ ñ¿ß¬«óδ¼ ¿ ΓÑନ¡á½∞-
- ¡δ¼ ñαá⌐óÑαá¼. ìÑß¼«Γα∩ ¡á Γ«, τΓ« πßΓα«⌐ßΓóá ½«ú¿τÑ߬¿ óσ«ñ∩Γ ó ß«ßΓáó Σá⌐-
- ½«ó«⌐ ß¿ßΓѼδ, ¿σ αáßß¼«ΓαÑ¡¿Ñ ñ« φΓ«ú« ¼«¼Ñ¡Γá «Γ¬½áñδóὫß∞ ó ßó∩º¿ ß ó«º-
- ¡¿¬¡«óÑ¡¿Ñ¼ ó«»α«ß«ó, ßó∩ºá¡¡δσ ß π»αáó½Ñ¡¿Ñ¼ »α«µÑßßἿ, »α¿ «íßπªñÑ¡¿¿
- ΓÑନ¡á½∞¡δσ ñαá⌐óÑα«ó. ¥Γá ú½áóá Γá¬ªÑ ß½πª¿Γ ¼«ßΓ¿¬«¼ ¬ ó«»α«ßá¼, ßó∩ºá¡-
- ¡δ¼ ß αáºó¿Γ¿Ñ¼ ß¿ßΓѼδ, ¬«Γ«αδÑ αáßß¼áΓα¿óáεΓß∩ ó ¬«¡µÑ ¬¡¿ú¿. â½áóá 11 ¬á-
- ßáÑΓß∩ óºá¿¼«ñÑ⌐ßΓó¿∩ »α«µÑßß«ó ¿ «αúá¡¿ºáµ¿¿ ßÑΓÑ⌐, ó Γ«¼ τ¿ß½Ñ ß««íΘÑ¡¿⌐,
- ¿ß»«½∞ºπѼδσ ó óÑαß¿¿ V, αáºñѽѡ¿∩ »á¼∩Γ¿, ßѼáΣ«α«ó ¿ »á¬ÑΓ«ó BSD. â½áóá
- 12 ß«ñÑαª¿Γ ¬«¼»á¬Γ¡«Ñ ¿º½«ªÑ¡¿Ñ «ß«íÑ¡¡«ßΓÑ⌐ ñóπσ»α«µÑßß«α¡«⌐ ß¿ßΓѼδ UNIX,
-
- 4
-
- ó ú½áóÑ 13 ¿ßß½ÑñπεΓß∩ ñóπσ¼áΦ¿¡¡δÑ αáß»αÑñѽѡ¡δÑ óδτ¿ß½¿Γѽ∞¡δÑ ß¿ßΓѼδ.
- îáΓÑα¿á½, »αÑñßΓáó½Ñ¡¡δ⌐ ó »Ñαóδσ ñÑó∩Γ¿ ú½áóáσ, ¼«ªÑΓ íδΓ∞ »α«τ¿Γá¡ ó
- »α«µÑßßÑ ¿ºπτÑ¡¿∩ ¬παßá "Ä»Ñαᵿ«¡¡δÑ ß¿ßΓѼδ" ó ΓÑτÑ¡¿Ñ «ñ¡«ú« ßѼÑßΓαá,
- ¼áΓÑα¿á½ «ßΓá½∞¡δσ ú½áó ß½ÑñπÑΓ ¿ºπτáΓ∞ ¡á «»ÑαѪáεΘ¿σ ßѼ¿¡áαáσ ß »áαá½-
- ½Ñ½∞¡δ¼ óδ»«½¡Ñ¡¿Ñ¼ »αá¬Γ¿τÑ߬¿σ ºáñá¡¿⌐.
- ÆÑ»Ñα∞ ¼¡Ñ íδ σ«Γѽ«ß∞ »αÑñπ»αÑñ¿Γ∞ τ¿ΓáΓѽ∩ « ß½ÑñπεΘѼ. ƒ ¡Ñ »δΓá½ß∩
- «µÑ¡¿Γ∞ »α«¿ºó«ñ¿Γѽ∞¡«ßΓ∞ ß¿ßΓѼδ ó áíß«½εΓ¡«¼ óδαáªÑ¡¿¿, ¡Ñ ¬áßá½ß∩ ¿ »á-
- αá¼ÑΓα«ó ¬«¡Σ¿úπαᵿ¿, ¡Ñ«íσ«ñ¿¼δσ ñ½∩ ¿¡ßΓá½½∩µ¿¿ ß¿ßΓѼδ. ¥Γ¿ ñá¡¡δÑ ¼Ñ¡∩-
- εΓß∩ ó ºáó¿ß¿¼«ßΓ¿ «Γ Γ¿»á ¼áΦ¿¡δ, ¬«¡Σ¿úπαᵿ¿ ¬«¼»½Ñ¬ßá ΓÑσ¡¿τÑ߬¿σ ßαÑñ-
- ßΓó, óÑαß¿¿ ¿ αÑ὿ºáµ¿¿ ß¿ßΓѼδ, ß«ßΓáóá ºáñáτ. èα«¼Ñ Γ«ú«, ∩ ß«º¡áΓѽ∞¡«
- ¿ºíÑúá½ ½εíδσ »αÑñ߬áºá¡¿⌐ »« »«ó«ñπ ñá½∞¡Ñ⌐ΦÑú« αáºó¿Γ¿∩ «»Ñαᵿ«¡¡«⌐ ß¿ß-
- ΓѼδ UNIX. 꺽«ªÑ¡¿Ñ ó«»α«ß«ó, ßó∩ºá¡¡δσ ß αáºó¿Γ¿Ñ¼, ¡Ñ »«ñ¬αÑ»½Ñ¡« «í∩ºá-
- Γѽ∞ßΓó«¼ ¬«α»«αᵿ¿ AT&T «íÑß»Ñτ¿Γ∞ ß««ΓóÑΓßΓóπεΘ¿Ñ σáαá¬ΓÑα¿ßΓ¿¬¿, ñáªÑ ¡Ñ
- úáαá¡Γ¿απÑΓß∩ Γ«, τΓ« ß««ΓóÑΓßΓóπεΘ¿Ñ «í½áßΓ¿ ∩ó½∩εΓß∩ «íΩÑ¬Γ«¼ ¿ßß½Ññ«óá-
- ¡¿∩.
- î¡Ñ »α¿∩Γ¡« óδαếΓ∞ í½áú«ñáα¡«ßΓ∞ ¼¡«ú¿¼ ñαπº∞∩¼ ¿ ¬«½½Ñúá¼ ºá »«¼«Θ∞
- »α¿ ¡á»¿ßá¡¿¿ φΓ«⌐ ¬¡¿ú¿ ¿ ºá ¬«¡ßΓαπ¬Γ¿ó¡δÑ ¬α¿Γ¿τÑ߬¿Ñ ºá¼Ñτá¡¿∩, óδ߬á-
- ºá¡¡δÑ »α¿ «º¡á¬«¼½Ñ¡¿¿ ß α𬫻¿ß∞ε. ƒ ñ«½ªÑ¡ óδαếΓ∞ ú½πí«τá⌐Φπε »α¿º¡á-
- Γѽ∞¡«ßΓ∞ ƒ¡π 䪫¡ßΓ«¡π, ¬«Γ«αδ⌐ »«ß«óÑΓ«óá½ ¼¡Ñ ¡á»¿ßáΓ∞ φΓπ ¬¡¿úπ, «¬áºá½
- ¼¡Ñ »«ññÑ᪬π ¡á ¡áτá½∞¡«¼ φΓá»Ñ ¿ »α«ß¼«Γαѽ ¡áíα«ß«¬ »Ñαóδσ ú½áó. ƒ¡ «Γ¬-
- αδ½ ¼¡Ñ ¼¡«ú¿Ñ ßѬαÑΓδ αѼÑß½á ¿ ∩ óßÑúñá íπñπ ó ñ«½úπ »ÑαÑñ ¡¿¼. ä«α¿ß Éá-
- ⌐á¡ Γá¬ªÑ »«ññÑনóá½á ¼Ñ¡∩ ß ßἫú« ¡áτá½á, ¿ ∩ óßÑúñá íπñπ µÑ¡¿Γ∞ ÑÑ ñ«í-
- α«Γπ ¿ ó¡¿¼áΓѽ∞¡«ßΓ∞. äφ¡¡¿ß É¿τ¿ ñ«íα«ó«½∞¡« «ΓóÑΓ¿½ ¡á ¼¡«ú«τ¿ß½Ñ¡¡δÑ
- ó«»α«ßδ, ¬áßáεΘ¿Ñß∩ ¿ßΓ«α¿τÑ߬«ú« ¿ ΓÑσ¡¿τÑ߬«ú« áß»Ñ¬Γ«ó ß¿ßΓѼδ. î¡«ªÑßΓó«
- ½εñÑ⌐ »«ªÑαΓó«ó὿ ßó«¿¼ óαѼѡѼ ¿ ß¿½á¼¿ ¡á «º¡á¬«¼½Ñ¡¿Ñ ß óáα¿á¡ΓἿ απ-
- ¬«»¿ß¿, »«∩ó½Ñ¡¿Ñ φΓ«⌐ ¬¡¿ú¿ ó« ¼¡«ú«¼ «í∩ºá¡« óδ߬áºá¡¡δ¼ ¿¼¿ »«ñα«í¡δ¼ ºá-
- ¼Ñτá¡¿∩¼. æαÑñ¿ ¡¿σ äÑíí¿ üφτ, äπú üá⌐Ñα, ïφ¡¡¿ üαφ¡ñóÑ⌐¡, æΓ¿ó üáα«ΣΣ, Æ«¼
- üáΓ½Ñα, É«¡ ⫼Ñß, îÑßáΓ âá¡ñá¬, ïáπαá êºαÑ⌐ѽ, ä¿¡ äªÑúѽß, èÑ⌐Γ èѽ½Ñ¼á¡,
- üαá⌐á¡ èÑα¡¿úá¡, ü«í îáαΓ¿¡, ü«í î¿Γµ, äÑ⌐ó ì«ó¿µ, îá⌐¬½ Å«»»Ñαß, îφα¿½¿¡
- æφΣαá¡, èπαΓ ÿ¿¼¼Ñ½∞, çπ¿ æ»¿Γµ, Æ«¼ éφñÑ¡, ü¿½½ éÑíÑα, ïφαα¿ éφα ¿ ü«í çφα-
- α«π. îφα¿ öαπßΓᬠ»«¼«úá½á »«ñú«Γ«ó¿Γ∞ α𬫻¿ß∞ ¬ ¡áí«απ. ƒ σ«Γѽ íδ ΓᬪÑ
- »«í½áú«ñáα¿Γ∞ ¼«Ñ απ¬«ó«ñßΓó« ºá »«ßΓ«∩¡¡πε »«ññÑ᪬π, ¬«Γ«απε ∩ «ΘπΘá½ ¡á
- óßѼ »α«Γ∩ªÑ¡¿¿ αáí«Γδ,¿ ¬«½½Ñú ºá áΓ¼«ßΣÑαπ, ß»«ß«íßΓó«óáóΦπε ¼¡Ñ ó αáí«ΓÑ,
- ¿ ºá ºá¼ÑτáΓѽ∞¡δÑ πß½«ó¿∩, »αÑñ«ßΓáó½Ñ¡¡δÑ Σ¿α¼«⌐ AT&T Bell Laboratories.
- 䪫¡ éÑ⌐Γ ¿ »Ñαß«¡á½ ¿ºñáΓѽ∞ßΓóá Prentice-Hall «¬áºá½¿ ßá¼πε αạ««íαạπε
- »«¼«Θ∞ ó »α¿ñá¡¿¿ ¬¡¿úÑ ÑÑ «¬«¡τáΓѽ∞¡«ú« ó¿ñá. ū߽Ññ¡Ñ⌐ »« ß»¿ß¬π, ¡« ¡Ñ
- »« óѽ¿τ¿¡Ñ ∩ó¿½áß∞ »«¼«Θ∞ ¼«Ñ⌐ ªÑ¡δ, äÑíí¿, «¬áºáóΦÑ⌐ ¼¡Ñ φ¼«µ¿«¡á½∞¡πε
- »«ññÑ᪬π, íѺ ¬«Γ«α«⌐ ∩ íδ ¡Ñ ñ«ßΓ¿ú πß»Ñσá.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 5
-
-
- âïÇéÇ 1
-
- EÄüÖêë ÄüçÄÉ ÄæÄüàììÄæÆàë EæêæÆàî¢F
-
-
- çá óαѼ∩, »α«ΦÑñΦÑÑ ß ¼«¼Ñ¡Γá ÑÑ »«∩ó½Ñ¡¿∩ ó 1969 ú«ñπ, ß¿ßΓѼá UNIX
- ßΓá½á ñ«ó«½∞¡« »«»π½∩α¡«⌐ ¿ »«½πτ¿½á αáß»α«ßΓαá¡Ñ¡¿Ñ ¡á ¼áΦ¿¡áσ ß αẽ¿τ¡«⌐
- ¼«Θ¡«ßΓ∞ε «íαáí«Γ¬¿, «Γ ¼¿¬α«»α«µÑßß«α«ó ñ« í«½∞Φ¿σ ¥éî, «íÑß»Ñτ¿óá∩ ¡á ¡¿σ
- «íΘ¿Ñ πß½«ó¿∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼. æ¿ßΓѼá ñѽ¿Γß∩ ¡á ñóÑ τáßΓ¿. Äñ¡π τáßΓ∞
- ß«ßΓáó½∩εΓ »α«úαá¼¼δ ¿ ßÑαó¿ß¡δÑ Σπ¡¬µ¿¿, Γ«, τΓ« ñѽáÑΓ «»Ñαᵿ«¡¡πε ßαÑñπ
- UNIX Γᬫ⌐ »«»π½∩α¡«⌐; φΓá τáßΓ∞ ½Ñú¬« ñ«ßΓπ»¡á »«½∞º«óáΓѽ∩¼, «¡á ó¬½ετáÑΓ
- Γá¬¿Ñ »α«úαá¼¼δ, ¬á¬ ¬«¼á¡ñ¡δ⌐ »α«µÑßß«α, «í¼Ñ¡ ß««íΘÑ¡¿∩¼¿, »á¬ÑΓδ «íαáí«Γ-
- ¬¿ ΓѬßΓ«ó ¿ ß¿ßΓÑ¼δ «íαáí«Γ¬¿ ¿ßσ«ñ¡δσ ΓѬßΓ«ó »α«úαá¼¼. äαπúá∩ τáßΓ∞ ó¬½ε-
- τáÑΓ ó ßÑí∩ ß«íßΓóÑ¡¡« «»Ñαᵿ«¡¡πε ß¿ßΓѼπ, »«ññÑনóáεΘπε φΓ¿ »α«úαá¼¼δ ¿
- Σπ¡¬µ¿¿. é φΓ«⌐ ¬¡¿úÑ ñáÑΓß∩ ñÑΓá½∞¡«Ñ «»¿ßá¡¿Ñ ß«íßΓóÑ¡¡« «»Ñαᵿ«¡¡«⌐ ß¿ß-
- ΓѼδ. Äß¡«ó¡«Ñ ó¡¿¼á¡¿Ñ ¬«¡µÑ¡Γα¿απÑΓß∩ ¡á «»¿ßá¡¿¿ ß¿ßΓѼδ UNIX óÑαß¿¿ V,
- αáß»α«ßΓαá¡Ñ¡¿Ñ¼ ¬«Γ«α«⌐ ºá¡¿¼áÑΓß∩ ¬«α»«αᵿ∩ AT&T, »α¿ φΓ«¼ αáßß¼áΓα¿óáεΓ-
- ß∩ ¿¡ΓÑαÑß¡δÑ «ß«íÑ¡¡«ßΓ¿ ¿ ñαπú¿σ óÑαß¿⌐. Åα¿ó«ñ∩Γß∩ «ß¡«ó¡δÑ ¿¡Σ«α¼áµ¿«¡-
- ¡δÑ ßΓαπ¬Γπαδ ¿ á½ú«α¿Γ¼δ, ¿ß»«½∞ºπѼδÑ ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ ¿ ó ¬«¡Ñτ¡«¼
- ¿Γ«úÑ ß«ºñáεΘ¿Ñ πß½«ó¿∩ ñ½∩ Σπ¡¬µ¿«¡¿α«óá¡¿∩ ßΓá¡ñáαΓ¡«ú« »«½∞º«óáΓѽ∞߬«ú«
- ¿¡ΓÑαΣÑ⌐ßá.
- äá¡¡á∩ ú½áóá ß½πª¿Γ óóÑñÑ¡¿Ñ¼ ó ß¿ßΓѼπ UNIX. é ¡Ñ⌐ ñѽáÑΓß∩ «íº«α ¿ßΓ«-
- α¿¿ ÑÑ ß«ºñá¡¿∩ ¿ ¡á¼ÑτáεΓß∩ ¬«¡Γπαδ «íΘÑ⌐ ßΓαπ¬Γπαδ ß¿ßΓѼδ. é ß½ÑñπεΘÑ⌐
- ú½áóÑ ß«ñÑনΓß∩ í«½ÑÑ ñÑΓá½∞¡á∩ óó«ñ¡á∩ ¿¡Σ«α¼áµ¿∩ »« «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ.
-
-
- E1.1 êæÆÄÉêƒF
-
- é 1965 ú«ñπ Σ¿α¼á Bell Telephone Laboratories, «íΩÑñ¿¡¿ó ßó«¿ πß¿½¿∩ ß
- ¬«¼»á¡¿Ñ⌐ General Electric ¿ »α«Ñ¬Γ«¼ MAC îáßßáτπßÑΓ߬«ú« ΓÑσ¡«½«ú¿τÑ߬«ú«
- ¿¡ßΓ¿ΓπΓá, »α¿ßΓπ»¿½¿ ¬ αáºαáí«Γ¬Ñ ¡«ó«⌐ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ, »«½πτ¿óΦÑ⌐
- ¡áºóá¡¿Ñ Multics [Organick 72]. ÅÑαÑñ ß¿ßΓѼ«⌐ Multics í뫨 »«ßΓáó½Ñ¡δ ºáñá-
- τ¿ - «íÑß»Ñτ¿Γ∞ «ñ¡«óαѼѡ¡δ⌐ ñ«ßΓπ» ¬ αÑßπαßá¼ ¥éî í«½∞Φ«ú« ¬«½¿τÑßΓóá
- »«½∞º«óáΓѽÑ⌐, «íÑß»Ñτ¿Γ∞ ñ«ßΓáΓ«τ¡πε ߬«α«ßΓ∞ óδτ¿ß½Ñ¡¿⌐ ¿ σαá¡Ñ¡¿Ñ ñá¡¡δσ
- ¿ ñáΓ∞ 󫺼«ª¡«ßΓ∞ »«½∞º«óáΓѽ∩¼ ó ß½πτáÑ ¡Ñ«íσ«ñ¿¼«ßΓ¿ ß«ó¼ÑßΓ¡« ¿ß»«½∞º«-
- óáΓ∞ ñá¡¡δÑ. î¡«ú¿Ñ αáºαáí«Γτ¿¬¿, ó»«ß½ÑñßΓó¿¿ »α¿¡∩óΦ¿Ñ πτáßΓ¿Ñ ó ß«ºñá¡¿¿
- αá¡¡¿σ αÑñᬵ¿⌐ ß¿ßΓѼδ UNIX, πτáßΓó«ó὿ ó αáí«ΓÑ ¡áñ ß¿ßΓѼ«⌐ Multics ó
- Σ¿α¼Ñ Bell Laboratories. ò«Γ∩ »Ñαóá∩ óÑαß¿∩ ß¿ßΓѼδ Multics ¿ íδ½á ºá»πΘÑ¡á
- ó 1969 ú«ñπ ¡á ¥éî GE 645, «¡á ¡Ñ «íÑß»Ñτ¿óá½á óδ»«½¡Ñ¡¿Ñ ú½áó¡δσ óδτ¿ß½¿-
- Γѽ∞¡δσ ºáñáτ, ñ½∩ αÑΦÑ¡¿∩ ¬«Γ«αδσ «¡á »αÑñ¡áº¡áτá½áß∞, ¿ ¡Ñ í佫 ñáªÑ ∩ß¡«,
- ¬«úñá µÑ½¿ αáºαáí«Γ¬¿ íπñπΓ ñ«ßΓ¿ú¡πΓδ. Å«φΓ«¼π Σ¿α¼á Bell Laboratories
- »αѬαáΓ¿½á ßó«Ñ πτáßΓ¿Ñ ó »α«Ñ¬ΓÑ.
- Å« «¬«¡τá¡¿¿ αáí«Γδ ¡áñ »α«Ñ¬Γ«¼ Multics ß«Γαπñ¡¿¬¿ êßß½Ññ«óáΓѽ∞߬«ú«
- µÑ¡Γαá »« ¿¡Σ«α¼áΓ¿¬Ñ Σ¿α¼δ Bell Laboratories «ßΓ὿ß∞ íѺ "ñ«ßΓáΓ«τ¡« ¿¡ΓÑ-
- αá¬Γ¿ó¡«ú« óδτ¿ß½¿Γѽ∞¡«ú« ßαÑñßΓóá" [Ritchie 84a]. ÅδΓá∩ß∞ πß«óÑαΦÑ¡ßΓó«-
- óáΓ∞ ßαÑñπ »α«úαá¼¼¿α«óá¡¿∩, èÑ¡ Æ«¼»ß«¡, äφ¡¡¿ß É¿τ¿ ¿ ñαπú¿Ñ ¡áíα«ß὿ ¡á
- íπ¼áúÑ »α«Ñ¬Γ Σá⌐½«ó«⌐ ß¿ßΓѼδ, »«½πτ¿óΦ¿⌐ »«ºñ¡ÑÑ ñá½∞¡Ñ⌐ΦÑÑ αáºó¿Γ¿Ñ ó
- αá¡¡Ñ⌐ óÑαß¿¿ Σá⌐½«ó«⌐ ß¿ßΓѼδ UNIX. Æ«¼»ß«¡«¼ í뫨 ¡á»¿ßá¡δ »α«úαá¼¼δ, ¿¼¿-
- Γ¿απεΘ¿Ñ »«óÑñÑ¡¿Ñ »αÑñ½«ªÑ¡¡«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼδ ó αѪ¿¼Ñ »«ñ¬áτ¬¿ ñá¡¡δσ »«
- ºá»α«ßπ, ¿¼ í佫 ñáªÑ ß«ºñá¡« »α«ßΓÑ⌐ΦÑÑ ∩ñα« «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ ñ½∩ ¥éî
- GE 645. é Γ« ªÑ óαѼ∩ «¡ ¡á»¿ßá½ ¡á ö«αΓαá¡Ñ ¿úα«óπε »α«úαá¼¼π "Space
- Travel" ("è«ß¼¿τÑ߬«Ñ »πΓÑΦÑßΓó¿Ñ") ñ½∩ ß¿ßΓѼδ GECOS (Honeywell 635), ¡«
- »α«úαá¼¼á ¡Ñ ß¼«ú½á πñ«ó½ÑΓó«α¿Γ∞ »«½∞º«óáΓѽÑ⌐, »«ß¬«½∞¬π π»αáó½∩Γ∞ "¬«ß¼¿-
- τÑ߬¿¼ ¬«αáí½Ñ¼" «¬áºá½«ß∞ ß½«ª¡«, ¬α«¼Ñ Γ«ú«, »α¿ ºáúαπº¬Ñ »α«úαá¼¼á ºá¡¿-
- ¼á½á ¼¡«ú« ¼ÑßΓá. Å«ºªÑ Æ«¼»ß«¡ «í¡áαπª¿½ ¼á½«¿ß»«½∞ºπѼδ⌐ ¬«¼»∞εΓÑα PDP-7,
- «ß¡áΘÑ¡¡δ⌐ σ«α«Φ¿¼ úαáΣ¿τÑ߬¿¼ ñ¿ß»½ÑѼ ¿ ¿¼ÑεΘ¿⌐ ñÑΦÑó«Ñ ¼áΦ¿¡¡«Ñ óαѼ∩.
- 櫺ñáóá∩ »α«úαá¼¼π "è«ß¼¿τÑ߬«Ñ »πΓÑΦÑßΓó¿Ñ" ñ½∩ PDP-7, Æ«¼»ß«¡ »«½πτ¿½ ó«º-
- ¼«ª¡«ßΓ∞ ¿ºπτ¿Γ∞ ¼áΦ¿¡π, «ñ¡á¬« πß½«ó¿∩ αáºαáí«Γ¬¿ »α«úαá¼¼ »«ΓαÑí«ó὿ ¿ß-
-
- 6
-
- »«½∞º«óá¡¿∩ ¬α«ßß-áßßѼí½Ñαá ñ½∩ Γαá¡ß½∩µ¿¿ »α«úαá¼¼δ ¡á ¼áΦ¿¡Ñ ß ß¿ßΓѼ«⌐
- GECOS ¿ ¿ß»«½∞º«óá¡¿∩ »ÑαΣ«½Ñ¡Γδ ñ½∩ óó«ñá ó PDP-7. ä½∩ Γ«ú«, τΓ«íδ π½πτΦ¿Γ∞
- πß½«ó¿∩ αáºαáí«Γ¬¿, Æ«¼»ß«¡ ¿ É¿τ¿ óδ»«½¡¿½¿ ¡á PDP-7 ßó«⌐ »α«Ñ¬Γ ß¿ßΓѼδ,
- ó¬½ετ¿óΦ¿⌐ »Ñαóπε óÑαß¿ε Σá⌐½«ó«⌐ ß¿ßΓѼδ UNIX, »«ñß¿ßΓѼπ π»αáó½Ñ¡¿∩ »α«-
- µÑßßἿ ¿ ¡Ñí«½∞Φ«⌐ ¡áí«α πΓ¿½¿Γ. é ¬«¡µÑ ¬«¡µ«ó, ¡«óá∩ ß¿ßΓѼá í«½∞ΦÑ ¡Ñ
- ¡πªñá½áß∞ ó »«ññÑαª¬Ñ ß« ßΓ«α«¡δ ß¿ßΓѼδ GECOS ó ¬áτÑßΓóÑ «»Ñαᵿ«¡¡«⌐ ßαÑñδ
- αáºαáí«Γ¬¿ ¿ ¼«ú½á »«ññÑনóáΓ∞ ßÑí∩ ßá¼á. ì«óá∩ ß¿ßΓÑ¼á »«½πτ¿½á ¡áºóá¡¿Ñ
- UNIX, »« ßσ«ñßΓóπ ß Multics Ñú« »α¿ñπ¼á½ ÑΘÑ «ñ¿¡ ß«Γαπñ¡¿¬ êßß½Ññ«óáΓѽ∞-
- ߬«ú« µÑ¡Γαá »« ¿¡Σ«α¼áΓ¿¬Ñ üαá⌐á¡ èÑα¡¿úá¡.
- ìÑß¼«Γα∩ ¡á Γ«, τΓ« φΓá αá¡¡∩∩ óÑαß¿∩ ß¿ßΓѼδ UNIX πªÑ íδ½á ¼¡«ú««íÑΘáε-
- ΘÑ⌐, «¡á ¡Ñ ¼«ú½á αÑ὿º«óáΓ∞ ßó«⌐ »«ΓÑ¡µ¿á½ ñ« ΓÑσ »«α, »«¬á ¡Ñ »«½πτ¿½á
- »α¿¼Ñ¡Ñ¡¿Ñ ó αÑá½∞¡«¼ »α«Ñ¬ΓÑ. Æá¬, ñ½∩ Γ«ú«, τΓ«íδ «íÑß»Ñτ¿Γ∞ Σπ¡¬µ¿«¡¿α«-
- óá¡¿Ñ ß¿ßΓÑ¼δ «íαáí«Γ¬¿ ΓѬßΓ«ó ñ½∩ »áΓÑ¡Γ¡«ú« «Γñѽá Σ¿α¼δ Bell
- Laboratories, ó 1971 ú«ñπ ß¿ßΓѼá UNIX íδ½á »ÑαÑ¡ÑßÑ¡á ¡á ¥éî PDP-11. æ¿ßΓÑ-
- ¼á «Γ½¿τá½áß∞ ¡Ñí«½∞Φ¿¼ «íΩѼ«¼: 16 èíá⌐Γ ñ½∩ ß¿ßΓѼδ, 8 èíá⌐Γ ñ½∩ »α«úαá¼¼
- »«½∞º«óáΓѽÑ⌐, «íß½πª¿óá½á ñ¿ß¬ «íΩѼ«¼ 512 èíá⌐Γ ¿ «Γó«ñ¿½á »«ñ ¬áªñδ⌐ Σá⌐½
- ¡Ñ í«½ÑÑ 64 èíá⌐Γ. Å«ß½Ñ ßó«Ñú« »Ñαó«ú« πß»Ñσá Æ«¼»ß«¡ ß«íαá½ß∩ í佫 ¡á»¿-
- ßáΓ∞ ñ½∩ ¡«ó«⌐ ß¿ßΓѼδ Γαá¡ß½∩Γ«α ß ö«αΓαá¡á, ¡« ó¼ÑßΓ« φΓ«ú« ºá¡∩½ß∩ ∩ºδ¬«¼
- ü¿ (B), »αÑñΦÑßΓóÑ¡¡¿¬«¼ ¬«Γ«α«ú« ∩ó¿½ß∩ ∩ºδ¬ BCPL [Richards 69]. ü¿ íδ½ ¿¡-
- ΓÑα»αÑΓ¿απÑ¼δ¼ ∩ºδ¬«¼ ß« óßѼ¿ ¡Ññ«ßΓáΓ¬á¼¿, »α¿ßπΘ¿¼¿ »«ñ«í¡δ¼ ∩ºδ¬á¼, »«φ-
- Γ«¼π É¿τ¿ »ÑαÑñѽὠÑú« ó ¡«óπε αạ«ó¿ñ¡«ßΓ∞, »«½πτ¿óΦπε ¡áºóá¡¿Ñ æ¿ (C) ¿
- αáºαÑΦáεΘπε úÑ¡Ñα¿α«óáΓ∞ ¼áΦ¿¡¡δ⌐ ¬«ñ, «íΩ∩ó½∩Γ∞ Γ¿»δ ñá¡¡δσ ¿ «»αÑñѽ∩Γ∞
- ßΓαπ¬Γπαπ ñá¡¡δσ. é 1973 ú«ñπ ß¿ßΓѼá íδ½á ¡á»¿ßá¡á ºá¡«ó« ¡á æ¿, φΓ« íδ½
- Φáú, ¡Ñß½δσá¡¡δ⌐ ñ½∩ Γ«ú« óαѼѡ¿, ¡« ¿¼ÑóΦ¿⌐ «úα«¼¡δ⌐ αѺ«¡á¡ß ßαÑñ¿ ßΓ«-
- α«¡¡¿σ »«½∞º«óáΓѽÑ⌐. 諽¿τÑßΓó« ¼áΦ¿¡ Σ¿α¼δ Bell Laboratories, ¡á ¬«Γ«αδσ
- íδ½á ¿¡ßΓá½½¿α«óá¡á ß¿ßΓѼá, ó«ºα«ß½« ñ« 25, ó αѺπ½∞ΓáΓÑ τÑú« íδ½á ß«ºñá¡á
- úαπ»»á »« ß¿ßΓѼ¡«¼π ß«»α«ó«ªñÑ¡¿ε UNIX ó¡πΓα¿ Σ¿α¼δ.
- é Γ« óαѼ∩ ¬«α»«αᵿ∩ AT&T ¡Ñ ¼«ú½á ºá¡¿¼áΓ∞ß∩ »α«ñáªÑ⌐ ¬«¼»∞εΓÑα¡δσ
- »α«ñπ¬Γ«ó ó ßó∩º¿ ß ß««ΓóÑΓßΓóπεΘ¿¼ ß«ú½áΦÑ¡¿Ñ¼, »«ñ»¿ßá¡¡δ¼ Ñε ß ΣÑñÑαá½∞-
- ¡δ¼ »αáó¿Γѽ∞ßΓó«¼ ó 1956 ú«ñπ, ¿ αáß»α«ßΓαá¡∩½á ß¿ßΓѼπ UNIX ßαÑñ¿ π¡¿óÑα-
- ß¿ΓÑΓ«ó, ¬«Γ«αδ¼ «¡á íδ½á ¡πª¡á ó πτÑí¡δσ µÑ½∩σ. æ½Ññπ∩ íπ¬óÑ ß«ú½áΦÑ¡¿∩,
- ¬«α»«αᵿ∩ AT&T ¡Ñ αѬ½á¼¿α«óá½á, ¡Ñ »α«ñáóá½á ¿ ¡Ñ ß«»α«ó«ªñá½á ß¿ßΓѼπ.
- ìÑß¼«Γα∩ ¡á φΓ«, »«»π½∩α¡«ßΓ∞ ß¿ßΓѼδ πßΓ«⌐τ¿ó« α«ß½á. é 1974 ú«ñπ Æ«¼»ß«¡ ¿
- É¿τ¿ «»πí½¿¬«ó὿ ßΓáΓ∞ε, «»¿ßδóáεΘπε ß¿ßΓѼπ UNIX, ó ªπα¡á½Ñ Communications
- of the ACM [Thompson 74], τΓ« ñὫ ÑΘÑ «ñ¿¡ ¿¼»π½∞ß ¬ αáß»α«ßΓαá¡Ñ¡¿ε ß¿ßΓÑ-
- ¼δ. è 1977 ú«ñ𠬫½¿τÑßΓó« ¼áΦ¿¡, ¡á ¬«Γ«αδσ Σπ¡¬µ¿«¡¿α«óá½á ß¿ßΓѼá UNIX,
- πóѽ¿τ¿½«ß∞ ñ« 500, »α¿ τѼ 125 ¿º ¡¿σ αáí«Γ὿ ó π¡¿óÑαß¿ΓÑΓáσ. æ¿ßΓѼá
- UNIX ºáó«Ñóá½á »«»π½∩α¡«ßΓ∞ ßαÑñ¿ ΓѽÑΣ«¡¡δσ ¬«¼»á¡¿⌐, »«ß¬«½∞¬π «íÑß»Ñτ¿óá-
- ½á σ«α«Φ¿Ñ πß½«ó¿∩ ñ½∩ αáºαáí«Γ¬¿ »α«úαá¼¼, «íß½πª¿óá½á αáí«Γπ ó ßÑΓ¿ ó αÑ-
- ª¿¼Ñ ñ¿á½«úá ¿ αáí«Γπ ó αÑá½∞¡«¼ ¼áßΦΓáíÑ óαѼѡ¿ (ß »«¼«Θ∞ε ß¿ßΓѼδ MERT
- [Lycklama 78a]). Å«¼¿¼« π¡¿óÑαß¿ΓÑΓ«ó, ½¿µÑ¡º¿¿ ¡á ß¿ßΓѼπ UNIX í뫨 »ÑαÑñá-
- ¡δ ¬«¼¼ÑατÑ߬¿¼ «αúá¡¿ºáµ¿∩¼. é 1977 ú«ñ𠬫ừαᵿ∩ Interactive Systems
- ßΓá½á »Ñαó«⌐ «αúá¡¿ºáµ¿Ñ⌐, »«½πτ¿óΦÑ⌐ »αáóá ¡á »ÑαÑ»α«ñáªπ ß¿ßΓѼδ UNIX ß
- ¡áñíáó¬«⌐ ¬ µÑ¡Ñ ºá ñ«»«½¡¿Γѽ∞¡δÑ πß½πú¿ (*), ¬«Γ«αδÑ ºá¬½ετ὿ß∞ ó áñá»Γá-
- µ¿¿ ß¿ßΓÑ¼δ ¬ Σπ¡¬µ¿«¡¿α«óá¡¿ε ó áóΓ«¼áΓ¿º¿α«óá¡¡δσ ß¿ßΓѼáσ π»αáó½Ñ¡¿∩ πτ-
- αѪñÑ¡τÑ߬«⌐ ñÑ∩Γѽ∞¡«ßΓ∞ε. 1977 ú«ñ Γá¬ªÑ íδ½ «Γ¼ÑτÑ¡ "»ÑαÑ¡«ß«¼" ß¿ßΓѼδ
- UNIX ¡á ¼áΦ¿¡π, «Γ½¿τ¡πε «Γ PDP (í½áú«ñáα∩ τѼπ ßΓὠ󫺼«ªÑ¡ ºá»π߬ ß¿ßΓѼδ
- ¡á ñαπú«⌐ ¼áΦ¿¡Ñ íѺ ¿º¼Ñ¡Ñ¡¿⌐ ¿½¿ ß ¡Ñí«½∞Φ¿¼¿ ¿º¼Ñ¡Ñ¡¿∩¼¿), á ¿¼Ñ¡¡« ¡á
- Interdata 8/32.
- æ α«ßΓ«¼ »«»π½∩α¡«ßΓ¿ ¼¿¬α«»α«µÑßß«α«ó ñαπú¿Ñ ¬«¼»á¡¿¿ ßΓ὿ »ÑαÑ¡«ß¿Γ∞
- ß¿ßΓѼπ UNIX ¡á ¡«óδÑ ¼áΦ¿¡δ, «ñ¡á¬« ÑÑ »α«ßΓ«Γá ¿ ∩ß¡«ßΓ∞ »«íπñ¿½¿ ¼¡«ú¿σ
- αáºαáí«Γτ¿¬«ó ¬ ßἫßΓ«∩Γѽ∞¡«¼π αáºó¿Γ¿ε ß¿ßΓѼδ, ó αѺπ½∞ΓáΓÑ τÑú« í佫
-
- ───────────────────────────
- (*) Äαúá¡¿ºáµ¿¿, »«½πτ¿óΦ¿Ñ »αáóá ¡á »ÑαÑ»α«ñáªπ ß ¡áñíáó¬«⌐ ¬ µÑ¡Ñ ºá ñ«-
- »«½¡¿Γѽ∞¡δÑ πß½πú¿, «ß¡áΘáεΓ óδτ¿ß½¿Γѽ∞¡πε ß¿ßΓѼπ »α¿¬½áñ¡δ¼¿ »α«ú-
- αἼἿ, ¬áßáεΘ¿¼¿ß∩ ¬«¡¬αÑΓ¡δσ «í½áßΓÑ⌐ »α¿¼Ñ¡Ñ¡¿∩, ßΓαѼ∩ß∞ πñ«ó½ÑΓ-
- ó«α¿Γ∞ ΓαÑí«óá¡¿∩ α뭪á. Æá¬¿Ñ «αúá¡¿ºáµ¿¿ τáΘÑ »α«ñáεΓ »α¿¬½áñ¡δÑ
- »α«úαá¼¼δ, ¡ÑªÑ½¿ «»Ñαᵿ«¡¡δÑ ß¿ßΓѼδ, »«ñ π»αáó½Ñ¡¿Ñ¼ ¬«Γ«αδσ φΓ¿
- »α«úαá¼¼δ αáí«ΓáεΓ.
- 7
-
- ß«ºñá¡« ¡Ñ߬«½∞¬« óáα¿á¡Γ«ó íếߡ«⌐ ß¿ßΓѼδ. çá »Ñα¿«ñ ¼Ñªñπ 1977 ¿ 1982
- ú«ñ«¼ Σ¿α¼á Bell Laboratories «íΩÑñ¿¡¿½á ¡Ñ߬«½∞¬« óáα¿á¡Γ«ó, αáºαáí«Γá¡¡δσ
- ó ¬«α»«αᵿ¿ AT&T, ó «ñ¿¡, »«½πτ¿óΦ¿⌐ ¬«¼¼ÑατÑ߬«Ñ ¡áºóá¡¿Ñ UNIX óÑαß¿∩ III.
- é ñá½∞¡Ñ⌐ΦѼ Σ¿α¼á Bell Laboratories ñ«íáó¿½á ó óÑαß¿ε III ¡Ñ߬«½∞¬« ¡«óδσ
- «ß«íÑ¡¡«ßΓÑ⌐, ¡áºóáó ¡«óδ⌐ »α«ñπ¬Γ UNIX óÑαß¿∩ V (**), ¿ φΓá óÑαß¿∩ ßΓá½á
- «Σ¿µ¿á½∞¡« αáß»α«ßΓαá¡∩Γ∞ß∩ ¬«α»«αᵿÑ⌐ AT&T ß ∩¡óáα∩ 1983 ú«ñá. é Γ« ªÑ
- óαѼ∩ ß«Γαπñ¡¿¬¿ èá½¿Σ«α¡¿⌐߬«ú« π¡¿óÑαß¿ΓÑΓá ó üφᬽ¿ αáºαáí«Γ὿ óáα¿á¡Γ
- ß¿ßΓѼδ UNIX, »«½πτ¿óΦ¿⌐ ¡áºóá¡¿Ñ BSD 4.3 ñ½∩ ¼áΦ¿¡ ßÑα¿¿ VAX ¿ «Γ½¿τáεΘ¿⌐ß∩
- ¡Ñ¬«Γ«α묨 ¡«ó묨, ¿¡ΓÑαÑß¡δ¼¿ «ß«íÑ¡¡«ßΓ∩¼¿. Äß¡«ó¡«Ñ ó¡¿¼á¡¿Ñ ó φΓ«⌐ ¬¡¿úÑ
- ¬«¡µÑ¡Γα¿απÑΓß∩ ¡á «»¿ßá¡¿¿ ß¿ßΓѼδ UNIX óÑαß¿¿ V, «ñ¡á¬« óαѼ∩ «Γ óαѼѡ¿
- ¼δ íπñѼ ¬áßáΓ∞ß∩ ¿ «ß«íÑ¡¡«ßΓÑ⌐ ß¿ßΓѼδ BSD.
- è ¡áτá½π 1984 ú«ñá ß¿ßΓѼá UNIX íδ½á πªÑ ¿¡ßΓá½½¿α«óá¡á »α¿í½¿º¿Γѽ∞¡«
- ¡á 100000 ¼áΦ¿¡ »« óßÑ¼π ¼¿απ, »α¿ τѼ ¡á ¼áΦ¿¡áσ ß Φ¿α«¬¿¼ ñ¿á»áº«¡«¼ óδ-
- τ¿ß½¿Γѽ∞¡δσ 󫺼«ª¡«ßΓÑ⌐ - «Γ ¼¿¬α«»α«µÑßß«α«ó ñ« í«½∞Φ¿σ ¥éî - ¿ αạδσ
- ¿ºú«Γ«ó¿ΓѽÑ⌐. ì¿ « ¬á¬«⌐ ñαπú«⌐ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ ¡Ñ½∞º∩ í佫 íδ ߬áºáΓ∞
- Γ«ú« ªÑ. Å«»π½∩α¡«ßΓ∞ ¿ πß»Ñσ ß¿ßΓѼδ UNIX «íΩ∩ß¡∩½¿ß∞ ¡Ñ߬«½∞¬¿¼¿ »α¿τ¿¡á-
- ¼¿:
-
- * æ¿ßΓÑ¼á ¡á»¿ßá¡á ¡á ∩ºδ¬Ñ óδß«¬«ú« πα«ó¡∩, í½áú«ñáα∩ τѼπ ÑÑ ½Ñú¬« τ¿ΓáΓ∞,
- »«¡¿¼áΓ∞, ¿º¼Ñ¡∩Γ∞ ¿ »ÑαÑ¡«ß¿Γ∞ ¡á ñαπú¿Ñ ¼áΦ¿¡δ. Å« «µÑ¡¬á¼, ßñѽᡡδ¼
- É¿τ¿, »Ñαóδ⌐ óáα¿á¡Γ ß¿ßΓÑ¼δ ¡á æ¿ ¿¼Ñ½ ¡á 20-40 % í«½∞Φ¿⌐ «íΩѼ ¿ αáí«Γá½
- ¼Ññ½Ñ¡¡ÑÑ »« ßαáó¡Ñ¡¿ε ß óáα¿á¡Γ«¼ ¡á áßßѼí½ÑαÑ, «ñ¡á¬« »αÑ¿¼πΘÑßΓóá ¿ß-
- »«½∞º«óá¡¿∩ ∩ºδ¬á óδß«¬«ú« πα«ó¡∩ ¡á¼¡«ú« »ÑαÑóÑΦ¿óáεΓ ¡Ññ«ßΓáΓ¬¿ (ß¼.
- [Ritchie 78b], ßΓα. 1965).
- * ì὿τ¿Ñ ñ«ó«½∞¡« »α«ßΓ«ú« »«½∞º«óáΓѽ∞߬«ú« ¿¡ΓÑαΣÑ⌐ßá, ó ¬«Γ«α«¼ ¿¼ÑÑΓß∩
- 󫺼«ª¡«ßΓ∞ »αÑñ«ßΓáó½∩Γ∞ óßÑ ¡Ñ«íσ«ñ¿¼δÑ »«½∞º«óáΓѽε πß½πú¿.
- * ì὿τ¿Ñ φ½Ñ¼Ñ¡Γáα¡δσ ßαÑñßΓó, »«ºó«½∩εΘ¿σ ß«ºñáóáΓ∞ ß½«ª¡δÑ »α«úαá¼¼δ ¿º
- í«½ÑÑ »α«ßΓδσ.
- * ì὿τ¿Ñ ¿Ñαáασ¿τÑ߬«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼδ, ½Ñú¬«⌐ ó ß«»α«ó«ªñÑ¡¿¿ ¿ φΣΣÑ¬Γ¿ó-
- ¡«⌐ ó αáí«ΓÑ.
- * ÄíÑß»ÑτÑ¡¿Ñ ß«ú½áß«óá¡¿∩ Σ«α¼áΓ«ó ó Σá⌐½áσ, αáí«Γá ß »«ß½Ññ«óáΓѽ∞¡δ¼ »«-
- Γ«¬«¼ íá⌐Γ«ó, í½áú«ñáα∩ τѼπ «í½ÑúτáÑΓß∩ τΓÑ¡¿Ñ »α¿¬½áñ¡δσ »α«úαá¼¼.
- * ì὿τ¿Ñ »α«ßΓ«ú«, »«ß½Ññ«óáΓѽ∞¡«ú« ¿¡ΓÑαΣÑ⌐ßá ß »Ñα¿ΣÑα¿⌐¡δ¼¿ πßΓα«⌐ßΓóá-
- ¼¿.
- * æ¿ßΓѼá ∩ó½∩ÑΓß∩ ¼¡«ú«»«½∞º«óáΓѽ∞߬«⌐, ¼¡«ú«ºáñáτ¡«⌐; ¬áªñδ⌐ »«½∞º«óáΓѽ∞
- ¼«ªÑΓ «ñ¡«óαѼѡ¡« óδ»«½¡∩Γ∞ ¡Ñ߬«½∞¬« »α«µÑßß«ó.
- * Çασ¿ΓѬΓπαá ¼áΦ¿¡δ ߬αδΓá «Γ »«½∞º«óáΓѽ∩, í½áú«ñáα∩ φΓ«¼π «í½ÑúτÑ¡ »α«-
- µÑßß ¡á»¿ßá¡¿∩ »α«úαá¼¼, αáí«ΓáεΘ¿σ ¡á αẽ¿τ¡δσ ¬«¡Σ¿úπαᵿ∩σ á»»áαáΓ¡δσ
- ßαÑñßΓó.
- Åα«ßΓ«Γá ¿ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ó««íΘÑ «Γ½¿τáεΓ ß¿ßΓѼπ UNIX ¿ «íΩ∩ß¡∩εΓ
- í«½∞Φ¿¡ßΓó« ¿º óδΦÑ»α¿óÑñÑ¡¡δσ ñ«ó«ñ«ó ó ÑÑ »«½∞ºπ.
- ò«Γ∩ «»Ñαᵿ«¡¡á∩ ß¿ßΓÑ¼á ¿ í«½∞Φ¿¡ßΓó« ¬«¼á¡ñ ¡á»¿ßá¡δ ¡á æ¿, ß¿ßΓѼá
- UNIX »«ññÑনóáÑΓ α∩ñ ñαπú¿σ ∩ºδ¬«ó, Γᬿσ ¬á¬ ö«αΓαá¡, üÑ⌐ß¿¬, Åá߬á½∞,
- Çñá, è«í«½, ï¿ß» ¿ Åα«½«ú. æ¿ßΓѼá UNIX ¼«ªÑΓ »«ññÑনóáΓ∞ ½εí«⌐ ∩ºδ¬ »α«ú-
- αá¼¼¿α«óá¡¿∩, ñ½∩ ¬«Γ«α«ú« ¿¼ÑÑΓß∩ ¬«¼»¿½∩Γ«α ¿½¿ ¿¡ΓÑα»αÑΓáΓ«α, ¿ «íÑß»Ñτ¿-
- óáΓ∞ ß¿ßΓѼ¡δ⌐ ¿¡ΓÑαΣÑ⌐ß, πßΓá¡áó½¿óáεΘ¿⌐ ß««ΓóÑΓßΓó¿Ñ ¼Ñªñπ »«½∞º«óáΓѽ∞-
- ߬¿¼¿ ºá»α«ßἿ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ ¿ ¡áí«α«¼ ºá»α«ß«ó, »α¿¡∩Γδσ ó UNIX.
-
-
- E1.2 æÆÉôèÆôÉÇ æêæÆàî¢F
-
- ìá É¿ßπ¡¬Ñ 1.1 ¿º«íαáªÑ¡á áασ¿ΓѬΓπαá óÑασ¡Ñú« πα«ó¡∩ ß¿ßΓѼδ UNIX. ÆÑσ-
- ¡¿τÑ߬¿Ñ ßαÑñßΓóá, »«¬áºá¡¡δÑ ó µÑ¡ΓαÑ ñ¿áúαá¼¼δ, óδ»«½¡∩εΓ Σπ¡¬µ¿¿, «íÑß»Ñ-
- τ¿óáεΘ¿Ñ Σπ¡¬µ¿«¡¿α«óá¡¿Ñ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼δ ¿ »ÑαÑτ¿ß½Ñ¡¡δÑ ó αáºñѽÑ
- 1.5. Ä»Ñαᵿ«¡¡á∩ ß¿ßΓѼá óºá¿¼«ñÑ⌐ßΓóπÑΓ ß á»»áαáΓπα«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡«
-
- ───────────────────────────
- (**) Ç τΓ« ªÑ óÑαß¿∩ IV ? î«ñ¿Σ¿¬áµ¿∩ ó¡πΓαÑ¡¡Ñú« óáα¿á¡Γá ß¿ßΓÑ¼δ »«½πτ¿½á
- ¡áºóá¡¿Ñ "óÑαß¿∩ V".
- 8
-
- (***), «íÑß»Ñτ¿óá∩ «íß½πª¿óá¡¿Ñ »α«úαá¼¼ ¿ ¿σ ¡Ñºáó¿ß¿¼«ßΓ∞ «Γ ñÑΓá½Ñ⌐ á»»á-
- αáΓ¡«⌐ ¬«¡Σ¿úπαᵿ¿. àß½¿ »αÑñßΓáó¿Γ∞ ß¿ßΓѼπ ß«ßΓ«∩ΘÑ⌐ ¿º »½áßΓ«ó, ó ¡Ñ⌐
- ¼«ª¡« óδñѽ¿Γ∞ ß¿ßΓѼ¡«Ñ ∩ñα«, ¿º«½¿α«óá¡¡«Ñ «Γ »«½∞º«óáΓѽ∞߬¿σ
-
- ┌─────────┬──────────────────────────────────┐
- │ │ äαπú¿Ñ »α¿¬½áñ¡δÑ »α«úαá¼¼δ │
- │ ┌────┼───────┬────────┬───────┬────┐ │
- │ │ cpp│ nroff │ sh │ who │ │ │
- │ │ ├───────┴────────┴───────┤ a. │ │
- │ ├────┤ ƒñα« │out │ │
- │ │ │ ┌──────────────┐ │ │ │
- │ │comp│ │ │ ├────┤ │
- │ │ │ │ ÆÑσ¡¿τÑ߬¿Ñ │ │ │ │
- │ cc ├────┤ │ │ │date│ │
- │ │ │ │ ßαÑñßΓóá │ │ │ │
- │ │ as │ │ │ ├────┤ │
- │ │ │ └──────────────┘ │ │ │
- │ ├────┤ │ │ │
- │ │ ├───────┬────────┬───────┤ wc │ │
- │ │ ld │ vi │ ed │ grep │ │ │
- │ └────┼───────┴────────┴───────┴────┘ │
- │ │ äαπú¿Ñ »α¿¬½áñ¡δÑ »α«úαá¼¼δ │
- └─────────┴──────────────────────────────────┘
-
- É¿ßπ¡«¬ 1.1. Çασ¿ΓѬΓπαá ß¿ßΓѼδ UNIX
-
-
- »α«úαá¼¼. ū߬«½∞¬π »α«úαá¼¼δ ¡Ñ ºáó¿ß∩Γ «Γ á»»áαáΓπαδ, ¿σ ½Ñú¬« »ÑαÑ¡«ß¿Γ∞
- ¿º «ñ¡«⌐ ß¿ßΓѼδ UNIX ó ñαπúπε, Σπ¡¬µ¿«¡¿απεΘπε ¡á ñαπú«¼ ¬«¼»½Ñ¬ßÑ ΓÑσ¡¿-
- τÑ߬¿σ ßαÑñßΓó, Ñß½¿ Γ«½∞¬« ó φΓ¿σ »α«úαá¼¼áσ ¡Ñ »«ñαáºπ¼ÑóáÑΓß∩ αáí«Γá ß
- ¬«¡¬αÑΓ¡δ¼ «í«απñ«ó᡿Ѽ. ìá»α¿¼Ñα, »α«úαá¼¼δ, αáßτ¿Γá¡¡δÑ ¡á «»αÑñѽѡ¡δ⌐
- αẼÑα ¼áΦ¿¡¡«ú« ß½«óá, ú«αáºñ« Γαπñ¡ÑÑ »ÑαÑó«ñ¿Γ∞ ¡á ñαπú¿Ñ ¼áΦ¿¡δ »« ßαáó-
- ¡Ñ¡¿ε ß »α«úαἼἿ, ¡Ñ ΓαÑíπεΘ¿¼¿ »«ñ«í¡δσ πßΓá¡«ó½Ñ¡¿⌐.
- Åα«úαá¼¼δ, »«ñ«í¡δÑ ¬«¼á¡ñ¡«¼π »α«µÑßß«απ shell ¿ αÑñá¬Γ«αá¼ (ed ¿ vi) ¿
- »«¬áºá¡¡δÑ ¡á ó¡ÑΦ¡Ñ¼ »« «Γ¡«ΦÑ¡¿ε ¬ ∩ñαπ ß½«Ñ, óºá¿¼«ñÑ⌐ßΓóπεΓ ß ∩ñα«¼ »α¿
- »«¼«Θ¿ σ«α«Φ« «»αÑñѽѡ¡«ú« ¡áí«αá «íαáΘÑ¡¿⌐ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ. ÄíαáΘÑ-
- ¡¿∩ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ »«¡πªñáεΓ ∩ñα« ¬ óδ»«½¡Ñ¡¿ε αẽ¿τ¡δσ «»Ñαᵿ⌐,
- ¬«Γ«αδσ ΓαÑíπÑΓ óδºδóáεΘá∩ »α«úαá¼¼á, ¿ «íÑß»Ñτ¿óáεΓ «í¼Ñ¡ ñá¡¡δ¼¿ ¼Ñªñπ ∩ñ-
- α«¼ ¿ »α«úαá¼¼«⌐. ìѬ«Γ«αδÑ ¿º »α«úαá¼¼, »α¿óÑñÑ¡¡δσ ¡á α¿ßπ¡¬Ñ, ó ßΓá¡ñáαΓ-
- ¡δσ ¬«¡Σ¿úπαᵿ∩σ ß¿ßΓÑ¼δ ¿ºóÑßΓ¡δ ¬á¬ ¬«¼á¡ñδ, «ñ¡á¬« ¡á «ñ¡«¼ πα«ó¡Ñ ß ¡¿-
- ¼¿ ¼«úπΓ αáß»«½áúáΓ∞ß∩ ¿ ñ«ßΓπ»¡δÑ »«½∞º«óáΓÑ½ε »α«úαá¼¼δ, Γá¬¿Ñ ¬á¬ »α«ú-
- αá¼¼á a.out, ßΓá¡ñáαΓ¡«Ñ ¿¼∩ ñ½∩ ¿ß»«½¡∩Ѽ«ú« Σá⌐½á, ß«ºñá¡¡«ú« ¬«¼»¿½∩Γ«α«¼
- ß ∩ºδ¬á æ¿. äαπú¿Ñ »α¿¬½áñ¡δÑ »α«úαá¼¼δ αáß»«½áúáεΓß∩ óδΦÑ π¬áºá¡¡δσ »α«ú-
- αá¼¼, ¡á óÑασ¡Ñ¼ πα«ó¡Ñ, ¬á¬ φΓ« »«¬áºá¡« ¡á α¿ßπ¡¬Ñ. ìá»α¿¼Ñα, ßΓá¡ñáαΓ¡δ⌐
- ¬«¼»¿½∩Γ«α ß ∩ºδ¬á æ¿, cc, αáß»«½áúáÑΓß∩ ¡á ßἫ¼ ó¡ÑΦ¡Ñ¼ ß½«Ñ: «¡ óδºδóáÑΓ
- »αÑ»α«µÑßß«α ñ½∩ æ¿, áßßѼí½Ñα ¿ ºáúαπºτ¿¬ (¬«¼»«¡«óΘ¿¬), Γ.Ñ. «Γñѽ∞¡δÑ
- »α«úαá¼¼δ »αÑñδñπΘÑú« πα«ó¡∩. ò«Γ∩ ¡á α¿ßπ¡¬Ñ »α¿óÑñÑ¡á ñóπσπα«ó¡Ñóá∩ ¿Ñαáα-
- σ¿∩ »α¿¬½áñ¡δσ »α«úαá¼¼, »«½∞º«óáΓѽ∞ ¼«ªÑΓ αáßΦ¿α¿Γ∞ ¿Ñαáασ¿τÑ߬πε ßΓαπ¬Γπ-
- απ ¡á ßΓ«½∞¬« πα«ó¡Ñ⌐, ߬«½∞¬« ¡Ñ«íσ«ñ¿¼«. é ßἫ¼ ñѽÑ, ßΓ¿½∞ »α«úαá¼¼¿α«-
-
- ───────────────────────────
- (***) é ¡Ñ¬«Γ«αδσ αÑ὿ºáµ¿∩σ ß¿ßΓѼδ UNIX «»Ñαᵿ«¡¡á∩ ß¿ßΓѼá óºá¿¼«ñÑ⌐ßΓ-
- óπÑΓ ß ß«íßΓóÑ¡¡«⌐ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐, ¬«Γ«αá∩, ó ßó«ε «τÑαÑñ∞,
- óºá¿¼«ñÑ⌐ßΓóπÑΓ ß á»»áαáΓπα«⌐ ¿ óδ»«½¡∩ÑΓ ¡Ñ«íσ«ñ¿¼δÑ Σπ¡¬µ¿¿ »« «íß-
- ½πª¿óá¡¿ε ß¿ßΓѼδ. é Γᬿσ αÑ὿ºáµ¿∩σ ñ«»π߬áÑΓß∩ ¿¡ßΓá½½∩µ¿∩ ñαπú¿σ
- «»Ñαᵿ«¡¡δσ ß¿ßΓѼ ß ºáúαπº¬«⌐ »«ñ ¿σ π»αáó½Ñ¡¿Ñ¼ »α¿¬½áñ¡δσ »α«úαá¼¼
- »áαώѽ∞¡« ß ß¿ßΓѼ«⌐ UNIX. è½áßß¿τÑ߬¿¼ »α¿¼Ñα«¼ »«ñ«í¡«⌐ αÑ὿ºáµ¿¿
- ∩ó¿½áß∞ ß¿ßΓѼá MERT [Lycklama 78a]. ü«½ÑÑ ¡«óδ¼ »α¿¼Ñα«¼ ¼«úπΓ ß½π-
- ª¿Γ∞ αÑ὿ºáµ¿¿ ñ½∩ ¬«¼»∞εΓÑα«ó ßÑα¿¿ IBM 370 [Felton 84] ¿ UNIVAC
- 1100 [Bodenstab 84].
- 9
-
- óá¡¿∩, »α¿¡∩Γδ⌐ ó ß¿ßΓÑ¼Ñ UNIX, ñ«»π߬áÑΓ αáºαáí«Γ¬π ¬«¼í¿¡áµ¿¿ »α«úαá¼¼,
- óδ»«½¡∩εΘ¿σ «ñ¡π ¿ Γπ ªÑ, «íΘπε ºáñáτπ.
- î¡«ú¿Ñ »α¿¬½áñ¡δÑ »«ñß¿ßΓÑ¼δ ¿ »α«úαá¼¼δ, ß«ßΓáó½∩εΘ¿Ñ óÑασ¡¿⌐ πα«óÑ¡∞
- ß¿ßΓѼδ, Γá¬¿Ñ ¬á¬ ¬«¼á¡ñ¡δ⌐ »α«µÑßß«α shell, αÑñá¬Γ«αδ, SCCS (ß¿ßΓÑ¼á «íαá-
- í«Γ¬¿ ¿ßσ«ñ¡δσ ΓѬßΓ«ó »α«úαá¼¼) ¿ »á¬ÑΓδ »α«úαá¼¼ »«ñú«Γ«ó¬¿ ñ«¬π¼Ñ¡Γᵿ¿,
- »«ßΓѻѡ¡« ßΓá¡«ó∩Γß∩ ß¿¡«¡¿¼«¼ »«¡∩Γ¿∩ "ß¿ßΓѼá UNIX". Äñ¡á¬« óßÑ «¡¿ »«½∞-
- ºπεΓß∩ πß½πúἿ »α«úαá¼¼ ¡¿ª¡¿σ πα«ó¡Ñ⌐ ¿ ó ¬«¡Ñτ¡«¼ ßτÑΓÑ ∩ñαá ß »«¼«Θ∞ε
- ¡áí«αá «íαáΘÑ¡¿⌐ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ. é óÑαß¿¿ V »α¿¡∩Γ« 64 Γ¿»á «íαáΘÑ-
- ¡¿⌐ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ, ¿º ¬«Γ«αδσ ¡Ñ¼¡«ú¿¼ ¼Ñ¡∞ΦÑ »«½«ó¿¡δ ¿ß»«½∞ºπεΓß∩
- τáßΓ«. Ä¡¿ ¿¼ÑεΓ ¡Ñß½«ª¡δÑ »áαá¼ÑΓαδ, τΓ« «í½ÑúτáÑΓ ¿σ ¿ß»«½∞º«óá¡¿Ñ, »αÑ-
- ñ«ßΓáó½∩∩ »α¿ φΓ«¼ í«½∞Φ¿Ñ ó«º¼«ª¡«ßΓ¿ »«½∞º«óáΓѽε. ìáí«α «íαáΘÑ¡¿⌐ ¬ «»Ñ-
- αᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ ó¼ÑßΓÑ ß αÑ὿ºπεΘ¿¼¿ ¿σ ó¡πΓαÑ¡¡¿¼¿ á½ú«α¿Γ¼á¼¿ ß«ßΓáó½∩-
- εΓ "Γѽ«" ∩ñαá, ó ßó∩º¿ ß τѼ αáßß¼«ΓαÑ¡¿Ñ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ UNIX ó φΓ«⌐
- ¬¡¿úÑ ßó«ñ¿Γß∩ ¬ »«ñα«í¡«¼π ¿ºπτÑ¡¿ε ¿ á¡á½¿ºπ «íαáΘÑ¡¿⌐ ¬ ß¿ßΓÑ¼Ñ ¿ ¿σ óºá-
- ¿¼«ñÑ⌐ßΓó¿∩ ¼Ñªñπ ß«í«⌐. è«α«τÑ ú«ó«α∩, ∩ñα« αÑ὿ºπÑΓ Σπ¡¬µ¿¿, ¡á ¬«Γ«αδσ
- «ß¡«óδóáÑΓß∩ óδ»«½¡Ñ¡¿Ñ óßÑσ »α¿¬½áñ¡δσ »α«úαá¼¼ ó ß¿ßΓÑ¼Ñ UNIX, ¿ ¿¼ ªÑ «»-
- αÑñѽ∩εΓß∩ φΓ¿ Σπ¡¬µ¿¿. é ¬¡¿úÑ τáßΓ« π»«ΓαÑí½∩εΓß∩ ΓÑନ¡δ "ß¿ßΓѼá UNIX",
- "∩ñα«" ¿½¿ "ß¿ßΓѼá", «ñ¡á¬« »α¿ φΓ«¼ ¿¼ÑÑΓß∩ óó¿ñπ ∩ñα« «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ-
- ¼δ UNIX, τΓ« ¿ ñ«½ª¡« óδΓѬáΓ∞ ¿º ¬«¡ΓѬßΓá.
-
-
- E1.3 ÄüçÄÉ æ ÆÄùèê çÉàìêƒ ÅÄï£çÄéÇÆàïƒF
-
- é φΓ«¼ αáºñÑ½Ñ ¬αáΓ¬« αáßß¼áΓα¿óáεΓß∩ ú½áó¡δÑ ñÑΓ὿ ß¿ßΓѼδ UNIX, ó
- τáßΓ¡«ßΓ¿ Σá⌐½«óá∩ ß¿ßΓѼá, ßαÑñá óδ»«½¡Ñ¡¿∩ »α«µÑßß«ó ¿ φ½Ñ¼Ñ¡Γδ ßΓαπ¬Γπα-
- ¡δσ í½«¬«ó (¡á»α¿¼Ñα, ¬á¡á½δ). Å«ñα«í¡«Ñ ¿ßß½Ññ«óá¡¿Ñ óºá¿¼«ñÑ⌐ßΓó¿∩ φΓ¿σ
- ñÑΓá½Ñ⌐ ß ∩ñα«¼ ß«ñÑনΓß∩ ó »«ß½ÑñπεΘ¿σ ú½áóáσ.
-
-
- E1.3.1 öá⌐½«óá∩ ß¿ßΓѼáF
-
- öá⌐½«óá∩ ß¿ßΓѼá UNIX σáαá¬ΓÑਧπÑΓß∩:
- * ¿Ñαáασ¿τÑ߬«⌐ ßΓαπ¬Γπα«⌐,
- * ß«ú½áß«óá¡¡«⌐ «íαáí«Γ¬«⌐ ¼áßß¿ó«ó ñá¡¡δσ,
- * 󫺼«ª¡«ßΓ∞ε ß«ºñá¡¿∩ ¿ πñá½Ñ¡¿∩ Σá⌐½«ó,
- * ñ¿¡á¼¿τÑ߬¿¼ αáßΦ¿αÑ¡¿Ñ¼ Σá⌐½«ó,
- * ºáΘ¿Γ«⌐ ¿¡Σ«α¼áµ¿¿ ó Σá⌐½áσ,
- * Γαá¬Γ«ó¬«⌐ »Ñα¿ΣÑα¿⌐¡δσ πßΓα«⌐ßΓó (Γᬿσ ¬á¬ ΓÑନ¡á½δ ¿ ½Ñ¡Γ«τ¡δÑ πß-
- Γα«⌐ßΓóá) ¬á¬ Σá⌐½«ó.
- öá⌐½«óá∩ ß¿ßΓÑ¼á «αúá¡¿º«óá¡á ó ó¿ñÑ ñÑαÑóá ß «ñ¡«⌐ ¿ßσ«ñ¡«⌐ óÑαΦ¿¡«⌐,
- ¬«Γ«αá∩ ¡áºδóáÑΓß∩ ¬«α¡Ñ¼ (ºá»¿ßδóáÑΓß∩: "/"); ¬áªñá∩ óÑαΦ¿¡á ó ñαÑó«ó¿ñ¡«⌐
- ßΓαπ¬ΓπαÑ Σá⌐½«ó«⌐ ß¿ßΓѼδ, ¬α«¼Ñ ½¿ßΓ∞Ñó, ∩ó½∩ÑΓß∩ ¬áΓὫú«¼ Σá⌐½«ó, á Σá⌐-
-
- /
- ┌─────────────┬────────────┼─────────┬─────────┬─────────┐
- │ │ │ │ │ │
- fsl bin etc usr unix dev
- ┌─┴─┐ ┌───┼───┐ │ ┌─┴─┐ ┌─┴─┐
- │ │ │ │ │ │ │ │ │ │
- mjb maury sh date who passwd src bin tty00 tty01
- │
- │
- cmd
- ┌───┴───┐
- │ │
- date.c who.c
-
- É¿ßπ¡«¬ 1.2. Åα¿¼Ñα ñαÑó«ó¿ñ¡«⌐ ßΓαπ¬Γπαδ Σá⌐½«ó«⌐ ß¿ßΓѼδ
-
-
- 10
-
-
- ½δ, ß««ΓóÑΓßΓóπεΘ¿Ñ ñ«τÑα¡¿¼ óÑαΦ¿¡á¼, ∩ó½∩εΓß∩ ½¿í« ¬áΓὫúἿ, ½¿í« «íδτ-
- ¡δ¼¿ Σá⌐½á¼¿, ½¿í« Σá⌐½á¼¿ πßΓα«⌐ßΓó. ê¼Ñ¡¿ Σá⌐½á »αÑñΦÑßΓóπÑΓ π¬áºá¡¿Ñ »πΓ¿
- »«¿ß¬á, ¬«Γ«αδ⌐ «»¿ßδóáÑΓ ¼ÑßΓ« αáß»«½«ªÑ¡¿∩ Σá⌐½á ó ¿Ñαáασ¿τÑ߬«⌐ ßΓαπ¬ΓπαÑ
- Σá⌐½«ó«⌐ ß¿ßΓѼδ. ê¼∩ »πΓ¿ »«¿ß¬á ß«ßΓ«¿Γ ¿º ¬«¼»«¡Ñ¡Γ, αáºñѽѡ¡δσ ¼Ñªñπ
- ß«í«⌐ ¡á¬½«¡¡«⌐ τÑαΓ«⌐ (/); ¬áªñá∩ ¬«¼»«¡Ñ¡Γá
- »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¡áí«α ß¿¼ó«½«ó, ß«ßΓáó½∩εΘ¿σ ¿¼∩ óÑαΦ¿¡δ (Σá⌐½á), ¬«Γ«α«Ñ
- ∩ó½∩ÑΓß∩ π¡¿¬á½∞¡δ¼ ñ½∩ ¬áΓὫúá (»αÑñδñπΘÑ⌐ ¬«¼»«¡Ñ¡Γδ), ó ¬«Γ«α«¼ «¡« ß«-
- ñÑনΓß∩. Å«½¡«Ñ ¿¼∩ »πΓ¿ »«¿ß¬á ¡áτ¿¡áÑΓß∩ ß π¬áºá¡¿∩ ¡á¬½«¡¡«⌐ τÑαΓδ ¿
- ¿ñÑ¡Γ¿Σ¿µ¿απÑΓ Σá⌐½ (óÑαΦ¿¡π), »«¿ß¬ ¬«Γ«α«ú« óÑñÑΓß∩ «Γ ¬«α¡Ñó«⌐ óÑαΦ¿¡δ
- ñÑαÑóá Σá⌐½«ó«⌐ ß¿ßΓѼδ ß «íσ«ñ«¼ ΓÑσ óÑΓóÑ⌐ ñÑαÑóá Σá⌐½«ó, ¬«Γ«αδÑ ß««ΓóÑΓ-
- ßΓóπεΓ ¿¼Ñ¡á¼ «Γñѽ∞¡δσ ¬«¼»«¡Ñ¡Γ. Æá¬, »πΓ¿ "/etc/passwd", "/bin/who" ¿
- "/usr/src/cmd/who.c" π¬áºδóáεΓ ¡á Σá⌐½δ, ∩ó½∩εΘ¿Ñß∩ óÑαΦ¿¡á¼¿ ñÑαÑóá, ¿º«í-
- αáªÑ¡¡«ú« ¡á É¿ßπ¡¬Ñ 1.2, á »πΓ¿ "/bin/passwd" ¿ "/usr/ src/date.c" ß«ñÑαªáΓ
- ¡ÑóÑα¡δ⌐ ¼áαΦαπΓ. ê¼∩ »πΓ¿ »«¿ß¬á ¡Ñ«í∩ºáΓѽ∞¡« ñ«½ª¡« ¡áτ¿¡áΓ∞ß∩ ß ¬«α¡∩, ó
- ¡Ñ¼ ß½ÑñπÑΓ π¬áºδóáΓ∞ ¼áαΦαπΓ «Γ¡«ß¿Γѽ∞¡« ΓѬπΘÑú« ñ½∩ óδ»«½¡∩Ѽ«ú« »α«µÑß-
- ßá ¬áΓὫúá, »α¿ φΓ«¼ »αÑñδñπΘ¿Ñ ß¿¼ó«½δ "¡á¬½«¡¡á∩ τÑαΓá" ó ¿¼Ñ¡¿ »πΓ¿
- «»π߬áεΓß∩. Æá¬, ¡á»α¿¼Ñα, Ñß½¿ ¼δ ¡áσ«ñ¿¼ß∩ ó ¬áΓὫúÑ "/dev", Γ« »πΓ∞
- "tty01" π¬áºδóáÑΓ Σá⌐½, »«½¡«Ñ ¿¼∩ »πΓ¿ »«¿ß¬á ñ½∩ ¬«Γ«α«ú« "/dev
- /tty01".
- Åα«úαá¼¼δ, óδ»«½¡∩ѼδÑ »«ñ π»αáó½Ñ¡¿Ñ¼ ß¿ßΓѼδ UNIX, ¡Ñ ß«ñÑαªáΓ ¡¿¬á¬«⌐
- ¿¡Σ«α¼áµ¿¿ «Γ¡«ß¿Γѽ∞¡« ó¡πΓαÑ¡¡Ñú« Σ«α¼áΓá, ó ¬«Γ«α«¼ ∩ñα« σαá¡¿Γ Σá⌐½δ
- ñá¡¡δσ, ñá¡¡δÑ ó »α«úαá¼¼áσ »αÑñßΓáó½∩εΓß∩ ¬á¬ íÑßΣ«α¼áΓ¡δ⌐ »«Γ«¬ íá⌐Γ«ó.
- Åα«úαá¼¼δ ¼«úπΓ ¿¡ΓÑα»αÑΓ¿α«óáΓ∞ »«Γ«¬ íá⌐Γ«ó »« ßó«Ñ¼π ªÑ½á¡¿ε, »α¿ φΓ«¼
- ½εíá∩ ¿¡ΓÑα»αÑΓᵿ∩ ¡¿¬á¬ ¡Ñ íπñÑΓ ßó∩ºá¡á ß Σá¬Γ¿τÑ߬¿¼ ß»«ß«í«¼ σαá¡Ñ¡¿∩
- ñá¡¡δσ ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ. Æá¬, ß¿¡Γá¬ß¿τÑ߬¿Ñ »αáó¿½á, «»αÑñѽ∩εΘ¿Ñ ºá-
- ñá¡¿Ñ ¼ÑΓ«ñá ñ«ßΓπ»á ¬ ñá¡¡δ¼ ó Σá⌐½Ñ, πßΓá¡áó½¿óáεΓß∩ ß¿ßΓѼ«⌐ ¿ ∩ó½∩εΓß∩
- Ññ¿¡δ¼¿ ñ½∩ óßÑσ »α«úαá¼¼, «ñ¡á¬« ßѼá¡Γ¿¬á ñá¡¡δσ «»αÑñѽ∩ÑΓß∩ ¬«¡¬αÑΓ¡«⌐
- »α«úαá¼¼«⌐. ìá»α¿¼Ñα, »α«úαá¼¼á Σ«α¼áΓ¿α«óá¡¿∩ ΓѬßΓá troff ¿ΘÑΓ ó ¬«¡µÑ
- ¬áªñ«⌐ ßΓ᫬¿ ΓѬßΓá ß¿¼ó«½δ »ÑαÑσ«ñá ¡á ¡«óπε ßΓ᫬π, á »α«úαá¼¼á πτÑΓá
- ß¿ßΓѼ¡δσ αÑßπαß«ó acctcom αáí«ΓáÑΓ ß ºá»¿ß∩¼¿ Σ¿¬ß¿α«óá¡¡«⌐ ñ½¿¡δ. ÄíÑ
- »α«úαá¼¼δ »«½∞ºπεΓß∩ «ñ¡¿¼¿ ¿ ΓѼ¿ ªÑ ß¿ßΓѼ¡δ¼¿ ßαÑñßΓóἿ ñ½∩ «ßπΘÑßΓó½Ñ-
- ¡¿∩ ñ«ßΓπ»á ¬ ñá¡¡δ¼ ó Σá⌐½Ñ ¬á¬ ¬ »«Γ«¬π íá⌐Γ«ó, ¿ ó¡πΓα¿ ßÑí∩ »αÑ«íαáºπεΓ
- φëà »«Γ«¬ »« ß««ΓóÑΓßΓóπεΘѼπ Σ«α¼áΓπ. àß½¿ ½εíá∩ ¿º »α«úαá¼¼ «í¡áαπª¿Γ,
- τΓ« Σ«α¼áΓ ñá¡¡δσ ¡ÑóÑαÑ¡, «¡á »α¿¡¿¼áÑΓ ß««ΓóÑΓßΓóπεΘ¿Ñ ¼Ñαδ.
- èáΓὫú¿ »«σ«ª¿ ¡á «íδτ¡δÑ Σá⌐½δ ó «ñ¡«¼ «Γ¡«ΦÑ¡¿¿; ß¿ßΓÑ¼á »αÑñßΓáó½∩ÑΓ
- ¿¡Σ«α¼áµ¿ε ó ¬áΓὫúÑ ¡áí«α«¼ íá⌐Γ«ó, ¡« φΓá ¿¡Σ«α¼áµ¿∩ ó¬½ετáÑΓ ó ßÑí∩ ¿¼Ñ-
- ¡á Σá⌐½«ó ó ¬áΓὫúÑ ó «íΩ∩ó½Ñ¡¡«¼ Σ«α¼áΓÑ ñ½∩ Γ«ú«, τΓ«íδ «»Ñαᵿ«¡¡á∩ ß¿ß-
- ΓÑ¼á ¿ »α«úαá¼¼δ, Γá¬¿Ñ ¬á¬ ls (óδó«ñ¿Γ ß»¿ß«¬ ¿¼Ñ¡ ¿ áΓα¿íπΓ«ó Σá⌐½«ó),
- ¼«ú½¿ ¿σ «í¡áαπª¿Γ∞.
- Åαáóá ñ«ßΓπ»á ¬ Σá⌐½π αÑúπ½¿απεΓß∩ πßΓá¡«ó¬«⌐ ߻ѵ¿á½∞¡δσ í¿Γ«ó αáºαÑΦÑ-
- ¡¿∩ ñ«ßΓπ»á, ßó∩ºá¡¡δσ ß Σá⌐½«¼. ôßΓá¡áó½¿óá∩ í¿Γδ αáºαÑΦÑ¡¿∩ ñ«ßΓπ»á, ¼«ª¡«
- ¡Ñºáó¿ß¿¼« π»αáó½∩Γ∞ óδñáτÑ⌐ αáºαÑΦÑ¡¿⌐ ¡á τΓÑ¡¿Ñ, ºá»¿ß∞ ¿ óδ»«½¡Ñ¡¿Ñ ñ½∩
- ΓαÑσ ¬áΓÑú«α¿⌐ »«½∞º«óáΓѽÑ⌐: ó½áñѽ∞µá Σá⌐½á, úαπ»»«ó«ú« »«½∞º«óáΓѽ∩ ¿
- »α«τ¿σ. Å«½∞º«óáΓѽ¿ ¼«úπΓ ß«ºñáóáΓ∞ Σá⌐½δ, Ñß½¿ αáºαÑΦÑ¡ ñ«ßΓπ» ¬ ¬áΓὫúπ.
- é¡«ó∞ ß«ºñá¡¡δÑ Σá⌐½δ ßΓá¡«ó∩Γß∩ ½¿ßΓ∞∩¼¿ ó ñαÑó«ó¿ñ¡«⌐ ßΓαπ¬ΓπαÑ Σá⌐½«ó«⌐
- ß¿ßΓѼδ.
- ä½∩ »«½∞º«óáΓѽ∩ ß¿ßΓѼá UNIX Γαá¬ΓπÑΓ πßΓα«⌐ßΓóá Γá¬, ¬á¬ Ñß½¿ íδ «¡¿
- í뫨 Σá⌐½á¼¿. ôßΓα«⌐ßΓóá, ñ½∩ ¬«Γ«αδσ ¡áº¡áτÑ¡δ ߻ѵ¿á½∞¡δÑ Σá⌐½δ πßΓα«⌐ßΓó,
- ßΓá¡«ó∩Γß∩ óÑαΦ¿¡á¼¿ ó ßΓαπ¬ΓπαÑ Σá⌐½«ó«⌐ ß¿ßΓѼδ. ÄíαáΘÑ¡¿Ñ »α«úαá¼¼ ¬ πßΓ-
- α«⌐ßΓóá¼ ¿¼ÑÑà ëà ªÑ ßá¼δ⌐ ß¿¡Γá¬ß¿ß, τΓ« ¿ «íαáΘÑ¡¿Ñ ¬ «íδτ¡δ¼ Σá⌐½á¼; ßÑ-
- ¼á¡Γ¿¬á «»Ñαᵿ⌐ τΓÑ¡¿∩ ¿ ºá»¿ß¿ »« «Γ¡«ΦÑ¡¿ε ¬ πßΓα«⌐ßΓóá¼ ó í«½∞Φ«⌐ ßΓÑ»Ñ-
- ¡¿ ß«ó»áñáÑΓ ß ßѼá¡Γ¿¬«⌐ «»Ñαᵿ⌐ τΓÑ¡¿∩ ¿ ºá»¿ß¿ «íδτ¡δσ Σá⌐½«ó. 滫߫í
- ºáΘ¿Γδ πßΓα«⌐ßΓó ß«ó»áñáÑΓ ß« ß»«ß«í«¼ ºáΘ¿Γδ «íδτ¡δσ Σá⌐½«ó: »πΓѼ ß««ΓóÑΓ-
- ßΓóπεΘÑ⌐ πßΓá¡«ó¬¿ í¿Γ«ó αáºαÑΦÑ¡¿∩ ñ«ßΓπ»á ¬ ¡¿¼ (Σá⌐½á¼). ū߬«½∞¬π ¿¼Ñ¡á
- πßΓα«⌐ßΓó óδú½∩ñ∩Γ ΓᬠªÑ, ¬á¬ ¿ ¿¼Ñ¡á «íδτ¡δσ Σá⌐½«ó, ¿ »«ß¬«½∞¬π ¡áñ πßΓ-
- α«⌐ßΓóἿ ¿ ¡áñ «íδτ¡δ¼¿ Σá⌐½á¼¿ óδ»«½¡∩εΓß∩ «ñ¡¿ ¿ ΓÑ ªÑ «»Ñαᵿ¿, í«½∞Φ¿¡-
- ßΓóπ »α«úαá¼¼ ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿ αẽ¿τáΓ∞ ó¡πΓα¿ ßÑí∩ Γ¿»δ «íαáíáΓδóáѼδσ
- Σá⌐½«ó.
-
- 11
-
- ìá»α¿¼Ñα, αáßß¼«Γα¿¼ »α«úαá¼¼π ¡á ∩ºδ¬Ñ æ¿ (É¿ßπ¡«¬ 1.3), ó ¬«Γ«α«⌐ ß«º-
- ñáÑΓß∩ ¡«óá∩ ¬«»¿∩ ßπΘÑßΓóπεΘÑú« Σá⌐½á. ÅαÑñ»«½«ª¿¼, τΓ« ¿ß»«½¡∩Ѽá∩ óÑαß¿∩
- »α«úαá¼¼δ ¿¼ÑÑΓ ¡á¿¼Ñ¡«óá¡¿Ñ copy. ä½∩ ºá»πß¬á »α«úαá¼¼δ »«½∞º«óáΓѽ∞ óó«ñ¿Γ
- ß ΓÑନ¡á½á:
-
- copy oldfile newfile
-
- úñÑ oldfile - ¿¼∩ ßπΘÑßΓóπεΘÑú« Σá⌐½á, á newfile - ¿¼∩ ß«ºñáóáѼ«ú« Σá⌐½á.
- æ¿ßΓѼá óδ»«½¡∩ÑΓ »α«µÑñπαπ main, »α¿ßóá¿óá∩ áαúπ¼Ñ¡Γπ argc º¡áτÑ¡¿Ñ ¬«½¿-
- τÑßΓóá »áαá¼ÑΓα«ó ó ß»¿ß¬Ñ argv, á ¬áªñ«¼π φ½Ñ¼Ñ¡Γπ ¼áßß¿óá argv º¡áτÑ¡¿Ñ
- »áαá¼ÑΓαá, ß««íΘÑ¡¡«ú« »«½∞º«óáΓѽѼ. é »α¿óÑñÑ¡¡«¼ »α¿¼ÑαÑ argc ¿¼ÑÑΓ º¡á-
- τÑ¡¿Ñ 3, φ½Ñ¼Ñ¡Γ argv[0] ß«ñÑαª¿Γ ßΓ᫬π ß¿¼ó«½«ó "copy" (¿¼∩ »α«úαá¼¼δ πß-
- ½«ó¡« ∩ó½∩ÑΓß∩ ¡π½Ñóδ¼ »áαá¼ÑΓα«¼), argv[1] - ßΓ᫬π ß¿¼ó«½«ó "oldfile", á
- argv[2] - ßΓ᫬π ß¿¼ó«½«ó "newfile". çáΓѼ »α«úαá¼¼á »α«óÑα∩ÑΓ, »αáó¿½∞¡«Ñ
- ½¿ ¬«½¿τÑßΓó« »áαá¼ÑΓα«ó í佫 π¬áºá¡« »α¿ ÑÑ ºá»π߬Ñ. àß½¿ φΓ« Γá¬, ºá»π߬á-
- ÑΓß∩ «»Ñαᵿ∩ open («Γ¬αδΓ∞) ñ½∩ Σá⌐½á oldfile ß »áαá¼ÑΓα«¼ "read-only"
- (Γ«½∞¬« ñ½∩ τΓÑ¡¿∩), ó ß½πτáÑ πß»ÑΦ¡«ú« óδ»«½¡Ñ¡¿∩ ¬«Γ«α«⌐ ºá»π߬áÑΓß∩ «»Ñ-
- αᵿ∩ creat («Γ¬αδΓ∞) ñ½∩ Σá⌐½á newfile. ÉѪ¿¼ ñ«ßΓπ»á ¬ ó¡«ó∞ ß«ºñá¡¡«¼π
- Σá⌐½π «»¿ßδóáÑΓß∩ τ¿ß½«¼ 0666 (ó ó«ß∞¼¿α¿τ¡«¼ ¬«ñÑ), τΓ« «º¡áτáÑΓ αáºαÑΦÑ¡¿Ñ
- ñ«ßΓπ»á ¬ Σá⌐½π ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿ ñ½∩ óßÑσ »«½∞º«óáΓѽÑ⌐. éßÑ «íαáΘÑ¡¿∩ ¬
- «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ ó ß½πτáÑ ¡Ñπñáτ¿ ó«ºóαáΘáεΓ ¬«ñ -1; Ñß½¿ ªÑ ¡Ñπñáτ¡«
- ºáóÑαΦáεΓß∩ «»Ñαᵿ¿ open ¿ creat, »α«úαá¼¼á óδñáÑΓ ß««íΘÑ¡¿Ñ ¿ ºá»π߬áÑΓ
- «»Ñαᵿε exit (óδ⌐Γ¿) ß ó«ºóαáΘÑ¡¿Ñ¼ ¬«ñá ß«ßΓ«∩¡¿∩, αáó¡«ú« 1, ºáóÑαΦá∩
- ßó«ε αáí«Γπ ¿ π¬áºδóá∩ ¡á 󫺡¿¬¡«óÑ¡¿Ñ «Φ¿í¬¿.
- Ä»Ñαᵿ¿ open ¿ creat ó«ºóαáΘáεΓ µÑ½«Ñ º¡áτÑ¡¿Ñ, ∩ó½∩εΘÑÑß∩ ñÑß¬α¿»Γ«α«¼
- Σá⌐½á ¿ ¿ß»«½∞ºπѼ«Ñ »α«úαá¼¼«⌐ ó »«ß½ÑñπεΘ¿σ ßß佬áσ ¡á Σá⌐½δ. Å«ß½Ñ φΓ«ú«
- »α«úαá¼¼á óδºδóáÑΓ »«ñ»α«úαá¼¼π copy, óδ»«½¡∩εΘπε ó µ¿¬½Ñ «»Ñαᵿε read (τ¿-
- ΓáΓ∞), »« ¬«Γ«α«⌐ »α«¿ºó«ñ¿Γß∩ τΓÑ¡¿Ñ ó íπΣÑα »«αµ¿¿ ß¿¼ó«½«ó ¿º ßπΘÑßΓóπε-
- ΘÑú« Σá⌐½á, ¿ «»Ñαᵿε write (»¿ßáΓ∞) ñ½∩ ºá»¿ß¿ ¿¡Σ«α¼áµ¿¿ ó ¡«óδ⌐ Σá⌐½.
- Ä»Ñαᵿ∩ read ¬áªñδ⌐ αẠó«ºóαáΘáÑΓ ¬«½¿τÑßΓó« »α«τ¿Γá¡¡δσ íá⌐Γ«ó (0 - Ñß½¿
- ñ«ßΓ¿ú¡πΓ ¬«¡Ñµ Σá⌐½á). û¿¬½ ºáóÑαΦáÑΓß∩, Ñß½¿ ñ«ßΓ¿ú¡πΓ ¬«¡Ñµ Σá⌐½á ¿½¿ Ñß-
- ½¿ »α«¿º«Φ½á «Φ¿í¬á »α¿ óδ»«½¡Ñ¡¿¿ «»Ñαᵿ¿ read («ΓßπΓßΓóπÑΓ ¬«¡Γα«½∞ ó«º-
- ¡¿¬¡«óÑ¡¿∩ «Φ¿í«¬ »α¿ óδ»«½¡Ñ¡¿¿ «»Ñαᵿ¿ write). çáΓѼ π»αáó½Ñ¡¿Ñ ¿º »«ñ»-
- α«úαá¼¼δ copy ó«ºóαáΘáÑΓß∩ ó «ß¡«ó¡πε »α«úαá¼¼π ¿ ºá»π߬áÑΓß∩ «»Ñαᵿ∩ exit
- ß ¬«ñ«¼ ß«ßΓ«∩¡¿∩ 0 ó ¬áτÑßΓóÑ »áαá¼ÑΓαá, τΓ« π¬áºδóáÑΓ ¡á πß»ÑΦ¡«Ñ ºáóÑαΦÑ-
- ¡¿Ñ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ.
-
- Åα«úαá¼¼á ¬«»¿απÑΓ ½εíδÑ Σá⌐½δ, π¬áºá¡¡δÑ »α¿ ÑÑ ó맮óÑ ó ¬áτÑßΓóÑ áαúπ-
- ¼Ñ¡Γ«ó, »α¿ πß½«ó¿¿, τΓ« αáºαÑΦÑ¡« «Γ¬αδΓ¿Ñ ßπΘÑßΓóπεΘÑú« Σá⌐½á ¿ ß«ºñá¡¿Ñ
- ¡«ó«ú« Σá⌐½á. öá⌐½ ¼«ªÑΓ ó¬½ετáΓ∞ ó ßÑí∩ ¬á¬ ΓѬßΓ, ¬«Γ«αδ⌐ ¼«ªÑΓ íδΓ∞ óδóÑ-
- ñÑ¡ ¡á »ÑτáΓáεΘÑÑ πßΓα«⌐ßΓó«, ¡á»α¿¼Ñα, ¿ßσ«ñ¡δ⌐ ΓѬßΓ »α«úαá¼¼δ, Γᬠ¿ ß¿¼-
- ó«½δ, ¡Ñ óδó«ñ¿¼δÑ ¡á »ÑτáΓ∞, ñáªÑ ßá¼π »α«úαá¼¼π. Æá¬¿¼ «íαẫ¼, «íá ó맮-
- óá:
-
- copy copy.c newcopy.c
- copy copy newcopy
-
- ∩ó½∩εΓß∩ ñ«»πßΓ¿¼δ¼¿. æπΘÑßΓóπεΘ¿⌐ Σá⌐½ Γá¬ªÑ ¼«ªÑΓ íδΓ∞ ¬áΓὫú«¼. ìá»α¿-
- ¼Ñα, »« ó맮óπ:
-
- copy . dircontents
-
- ¬«»¿απÑΓß∩ ß«ñÑন¼«Ñ ΓѬπΘÑú« ¬áΓὫúá, «í«º¡áτÑ¡¡«ú« ß¿¼ó«½«¼ ".", ó «íδτ-
- ¡δ⌐ Σá⌐½ "dircontents"; ¿¡Σ«α¼áµ¿∩ ó ¡«ó«¼ Σá⌐½Ñ ß«ó»áñáÑΓ, 󻽫Γ∞ ñ« ¬áªñ«-
- ú« íá⌐Γá, ß ß«ñÑন¼δ¼ ¬áΓὫúá, Γ«½∞¬« φëà Σá⌐½ «íδτ¡«ú« Γ¿»á (ñ½∩ ß«ºñá-
- ¡¿∩ ¡«ó«ú« ¬áΓὫúá »αÑñ¡áº¡áτÑ¡á «»Ñαᵿ∩ mknod). ìᬫ¡Ñµ, ½εí«⌐ ¿º Σá⌐½«ó
- ¼«ªÑΓ íδΓ∞ Σá⌐½«¼ πßΓα«⌐ßΓóá. ìá»α¿¼Ñα, »α«úαá¼¼á, óδºóá¡¡á∩ ß½ÑñπεΘ¿¼ «íαá-
- º«¼:
-
-
- 12
-
- ┌────────────────────────────────────────────────────────────┐
- │ #include <fcntl.h> │
- │ char buffer[2048]; │
- │ int version = 1; /* íπñÑΓ «íΩ∩ߡѡ« ó ú½áóÑ 2 */ │
- │ │
- │ main(argc,argv) │
- │ int argc; │
- │ char *argv[]; │
- │ { │
- │ int fdold,fdnew; │
- │ │
- │ if (argc != 3) │
- │ { │
- │ printf("need 2 arguments for copy program\n); │
- │ exit(1); │
- │ } │
- │ fdold = open(argv[1],O_RDONLY); /* «Γ¬αδΓ∞ ¿ßσ«ñ¡δ⌐ │
- │ Σá⌐½ Γ«½∞¬« ñ½∩ │
- │ τΓÑ¡¿∩ */ │
- │ if (fdold == -1) │
- │ { │
- │ printf("cannot open file %s\n",argv[1]); │
- │ exit(1); │
- │ } │
- │ fdnew = creat(argv[2],0666); /* ß«ºñáΓ∞ ¡«óδ⌐ Σá⌐½ ß │
- │ αáºαÑΦÑ¡¿Ñ¼ τΓÑ¡¿∩ ¿ │
- │ ºá»¿ß¿ ñ½∩ óßÑσ »«½∞-│
- │ º«óáΓѽÑ⌐ */ │
- │ if (fdnew == -1) │
- │ { │
- │ printf("cannot create file %s\n",argv[2]); │
- │ exit(1); │
- │ } │
- │ copy(fdold,fdnew); │
- │ exit(0); │
- │ } │
- │ │
- │ copy(old,new) │
- │ int old,new; │
- │ { │
- │ int count; │
- │ │
- │ while ((count = read(old,buffer,sizeof(buffer))) > 0) │
- │ write(new,buffer,count); │
- │ } │
- └────────────────────────────────────────────────────────────┘
-
- É¿ßπ¡«¬ 1.3. Åα«úαá¼¼á ¬«»¿α«óá¡¿∩ Σá⌐½á
-
-
- copy /dev/tty terminalread
-
- τ¿ΓáÑΓ ß¿¼ó«½δ, óó«ñ¿¼δÑ ß ΓÑନ¡á½á (Σá⌐½ /dev/tty ß««ΓóÑΓßΓóπÑΓ ΓÑନ¡á½π
- »«½∞º«óáΓѽ∩), ¿ ¬«»¿απÑΓ ¿σ ó Σá⌐½ terminalread, ºáóÑαΦá∩ αáí«Γπ Γ«½∞¬« ó
- Γ«¼ ß½πτáÑ, Ñß½¿ »«½∞º«óáΓѽ∞ ¡áª¼ÑΓ
- <Ctrl/d>. Å«σ«ªá∩ Σ«α¼á ºá»πß¬á »α«úαá¼¼δ:
-
- copy /dev/tty /dev/tty
-
-
- 13
-
- óδºδóáÑΓ τΓÑ¡¿Ñ ß¿¼ó«½«ó ß ΓÑନ¡á½á ¿ ¿σ ¬«»¿α«óá¡¿Ñ «íαáΓ¡« ¡á ΓÑନ¡á½.
-
-
- E1.3.2 æαÑñá óδ»«½¡Ñ¡¿∩ »α«µÑßß«óF
-
- Åα«úαá¼¼«⌐ ¡áºδóáÑΓß∩ ¿ß»«½¡∩Ѽδ⌐ Σá⌐½, á »α«µÑßß«¼ ¡áºδóáÑΓß∩ »«ß½Ññ«-
- óáΓѽ∞¡«ßΓ∞ «»Ñαᵿ⌐ »α«úαá¼¼δ ¿½¿ τáßΓ∞ »α«úαá¼¼δ »α¿ ÑÑ óδ»«½¡Ñ¡¿¿. é ß¿ß-
- ΓÑ¼Ñ UNIX ¼«ªÑΓ «ñ¡«óαѼѡ¡« óδ»«½¡∩Γ∞ß∩ ¼¡«ªÑßΓó« »α«µÑßß«ó (φΓπ «ß«íÑ¡-
- ¡«ßΓ∞ ¿¡«úñá ¡áºδóáεΓ ¼π½∞Γ¿»α«úαá¼¼¿α«ó᡿Ѽ ¿½¿ ¼¡«ú«ºáñáτ¡δ¼ αѪ¿¼«¼),
- »α¿ τѼ ¿σ τ¿ß½« ½«ú¿τÑ߬¿ ¡Ñ «úαá¡¿τ¿óáÑΓß∩, ¿ ¼¡«ªÑßΓó« τáßΓÑ⌐ »α«úαá¼¼δ
- (Γᬫ⌐ ¬á¬ copy) ¼«ªÑΓ «ñ¡«óαѼѡ¡« ¡áσ«ñ¿Γ∞ß∩ ó ß¿ßΓѼÑ. Éẽ¿τ¡δÑ ß¿ßΓѼ-
- ¡δÑ «»Ñαᵿ¿ »«ºó«½∩εΓ »α«µÑßßá¼ »«α«ªñáΓ∞ ¡«óδÑ »α«µÑßßδ, ºáóÑαΦáεΓ »α«µÑß-
- ßδ, ß¿¡σα«¡¿º¿απεΓ óδ»«½¡Ñ¡¿Ñ φΓừó »α«µÑßßá ¿ π»αáó½∩εΓ αÑᬵ¿Ñ⌐ ¡á ¡áß-
- Γπ»½Ñ¡¿Ñ αẽ¿τ¡δσ ß«íδΓ¿⌐. ü½áú«ñáα∩ αẽ¿τ¡δ¼ «íαáΘÑ¡¿∩¼ ¬ «»Ñαᵿ«¡¡«⌐
- ß¿ßΓѼÑ, »α«µÑßßδ óδ»«½¡∩εΓß∩ ¡Ñºáó¿ß¿¼« ñαπú «Γ ñαπúá.
- ìá»α¿¼Ñα, »α«µÑßß, óδ»«½¡∩εΘ¿⌐ß∩ ó »α«úαá¼¼Ñ, »α¿óÑñÑ¡¡«⌐ ¡á É¿ßπ¡¬Ñ
- 1.4, ºá»π߬áÑΓ «»Ñαᵿε fork, τΓ«íδ »«α«ñ¿Γ∞ ¡«óδ⌐ »α«µÑßß. ì«óδ⌐ »α«µÑßß,
- ¿¼Ñ¡πѼδ⌐ »«α«ªñÑ¡¡δ¼ »α«µÑßß«¼, »«½πτáÑΓ º¡áτÑ¡¿Ñ ¬«ñá ºáóÑαΦÑ¡¿∩ «»Ñαᵿ¿
- fork, αáó¡«Ñ 0, ¿ á¬Γ¿ó¿º¿απÑΓ «»Ñαᵿε execl, ¬«Γ«αá∩ óδ»«½¡∩ÑΓ »α«úαá¼¼π
- copy (É¿ßπ¡«¬ 1.3). Ä»Ñαᵿ∩ execl ºáúαπªáÑΓ Σá⌐½ "copy", ¬«Γ«αδ⌐ »αÑñ»«½«-
- ª¿Γѽ∞¡« ¡áσ«ñ¿Γß∩ ó ΓѬπΘѼ ¬áΓὫúÑ, ó áñαÑß¡«Ñ »α«ßΓαá¡ßΓó« »«α«ªñÑ¡¡«ú«
- »α«µÑßßá ¿ ºá»π߬áÑΓ »α«úαá¼¼π ß »áαá¼ÑΓαἿ, »«½πτÑ¡¡δ¼¿ «Γ »«½∞º«óáΓѽ∩. é
- ß½πτáÑ πß»ÑΦ¡«ú« óδ»«½¡Ñ¡¿∩ «»Ñαᵿ¿ execl π»αáó½Ñ¡¿Ñ ó óδºóáóΦ¿⌐ ÑÑ »α«µÑßß
- ¡Ñ ó«ºóαáΘáÑΓß∩, »«ß¬«½∞¬π »α«µÑßß óδ»«½¡∩ÑΓß∩ ó ¡«ó«¼ áñαÑß¡«¼ »α«ßΓαá¡ßΓóÑ
- (»«ñα«í¡ÑÑ «í φΓ«¼ ó ú½áóÑ 7). ÆÑ¼ óαѼѡѼ, »α«µÑßß, ºá»πßΓ¿óΦ¿⌐ «»Ñαᵿε
- fork (α«ñ¿Γѽ∞߬¿⌐ »α«µÑßß), »«½πτáÑΓ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ ¬«ñá ºáóÑαΦÑ¡¿∩
- «»Ñαᵿ¿, óδºδóáÑΓ «»Ñαᵿε wait, ¬«Γ«αá∩ »α¿«ßΓá¡áó½¿óáÑΓ Ñú« óδ»«½¡Ñ¡¿Ñ ñ«
- ΓÑσ »«α, »«¬á ¡Ñ ºá¬«¡τ¿Γß∩ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ copy, ¿ ºáóÑαΦáÑΓß∩ (¬áªñá∩
- »α«úαá¼¼á ¿¼ÑÑΓ óδσ«ñ ó ¬«¡µÑ ú½áó¡«⌐ »α«µÑñπαδ, »«ß½Ñ ¬«Γ«α«⌐ αáß»«½áúáεΓß∩
- »α«úαá¼¼δ ßΓá¡ñáαΓ¡δσ í¿í½¿«ΓѬ æ¿, »«ñ¬½ετáѼδÑ ó »α«µÑßßÑ ¬«¼»¿½∩µ¿¿).
- ìá»α¿¼Ñα, Ñß½¿ ¿ß»«½¡∩Ѽá∩ »α«úαá¼¼á ¡áºδóáÑΓß∩ run, »«½∞º«óáΓѽ∞ ºá»π߬áÑΓ
- ÑÑ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- ┌────────────────────────────────────────────────────────────┐
- │ main(argc,argv) │
- │ int argc; │
- │ char *argv[]; │
- │ { │
- │ /* »αÑñπß¼«ΓαÑ¡« 2 áαúπ¼Ñ¡Γá: ¿ßσ«ñ¡δ⌐ Σá⌐½ ¿ ¡«óδ⌐ Σá⌐½ */│
- │ if (fork() == 0) │
- │ execl("copy","copy",argv[1],argv[2],0); │
- │ wait((int *)0) │
- │ printf("copy done\n"); │
- │ } │
- └────────────────────────────────────────────────────────────┘
-
- É¿ßπ¡«¬ 1.4. Åα«úαá¼¼á »«α«ªñÑ¡¿∩ ¡«ó«ú« »α«µÑßßá, óδ»«½¡∩εΘÑú« ¬«»¿α«-
- óá¡¿Ñ Σá⌐½«ó
-
-
- run oldfile newfile
-
- Åα«µÑßß óδ»«½¡∩ÑΓ ¬«»¿α«óá¡¿Ñ Σá⌐½á ß ¿¼Ñ¡Ñ¼ "oldfile" ó Σá⌐½ ß ¿¼Ñ¡Ñ¼
- "newfile" ¿ óδó«ñ¿Γ ß««íΘÑ¡¿Ñ. ò«Γ∩ ñá¡¡á∩ »α«úαá¼¼á ¼á½« τΓ« ñ«íáó¿½á ¬
- »α«úαá¼¼Ñ "copy", ó ¡Ñ⌐ »«∩󿽿ß∞ τÑΓδαÑ «ß¡«ó¡δσ «íαáΘÑ¡¿∩ ¬ «»Ñαᵿ«¡¡«⌐
- ß¿ßΓѼÑ, π»αáó½∩εΘ¿Ñ óδ»«½¡Ñ¡¿Ñ¼ »α«µÑßß«ó: fork, exec, wait ¿ exit.
- é««íΘÑ ¿ß»«½∞º«óá¡¿Ñ «íαáΘÑ¡¿⌐ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ ñáÑΓ ó«º¼«ª¡«ßΓ∞
- »«½∞º«óáΓѽε ß«ºñáóáΓ∞ »α«úαá¼¼δ, óδ»«½¡∩εΘ¿Ñ ß½«ª¡δÑ ñÑ⌐ßΓó¿∩, ¿ ¬á¬ ß½Ññß-
- Γó¿Ñ, ∩ñα« «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ UNIX ¡Ñ ó¬½ετáÑΓ ó ßÑí∩ ¼¡«ú¿Ñ Σπ¡¬µ¿¿, ∩ó-
-
- 14
-
- ½∩εΘ¿Ñß∩ τáßΓ∞ε "∩ñαá" ó ñαπú¿σ ß¿ßΓѼáσ. Æá¬¿Ñ Σπ¡¬µ¿¿, ¿ ßαÑñ¿ ¡¿σ ¬«¼»¿-
- ½∩Γ«αδ ¿ αÑñá¬Γ«αδ, ó ß¿ßΓÑ¼Ñ UNIX ∩ó½∩εΓß∩ »α«úαἼἿ »«½∞º«óáΓѽ∞߬«ú«
- πα«ó¡∩. ìá¿í«½ÑÑ σáαá¬ΓÑα¡δ¼ »α¿¼Ñα«¼ »«ñ«í¡«⌐ »α«úαá¼¼δ ¼«ªÑΓ ß½πª¿Γ∞ ¬«-
- ¼á¡ñ¡δ⌐ »α«µÑßß«α shell, ß ¬«Γ«αδ¼ «íδτ¡« óºá¿¼«ñÑ⌐ßΓóπεΓ »«½∞º«óáΓѽ¿ »«ß½Ñ
- óσ«ñá ó ß¿ßΓѼπ. Shell ¿¡ΓÑα»αÑΓ¿απÑΓ »Ñαó«Ñ ß½«ó« ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ ¬á¬ ¿¼∩
- ¬«¼á¡ñδ: ó« ¼¡«ú¿σ ¬«¼á¡ñáσ, ó Γ«¼ τ¿ß½Ñ ¿ ó ¬«¼á¡ñáσ fork (»«α«ñ¿Γ∞ ¡«óδ⌐
- »α«µÑßß) ¿ exec (óδ»«½¡¿Γ∞ »«α«ªñÑ¡¡δ⌐ »α«µÑßß), ßá¼á ¬«¼á¡ñá áßß«µ¿¿απÑΓß∩
- ß ÑÑ ¿¼Ñ¡Ñ¼, óßÑ «ßΓá½∞¡δÑ ß½«óá ó ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ Γαá¬ΓπεΓß∩ ¬á¬ »áαá¼ÑΓαδ
- ¬«¼á¡ñδ.
- Shell «íαáíáΓδóáÑΓ ¬«¼á¡ñδ ΓαÑσ Γ¿»«ó. é«-»Ñαóδσ, ó ¬áτÑßΓóÑ ¿¼Ñ¡¿ ¬«-
- ¼á¡ñδ ¼«ªÑΓ íδΓ∞ π¬áºá¡« ¿¼∩ ¿ß»«½¡∩Ѽ«ú« Σá⌐½á ó «íΩÑ¬Γ¡«¼ ¬«ñÑ, »«½πτÑ¡¡«-
- ú« ó αѺπ½∞ΓáΓÑ ¬«¼»¿½∩µ¿¿ ¿ßσ«ñ¡«ú« ΓѬßΓá »α«úαá¼¼δ (¡á»α¿¼Ñα, »α«úαá¼¼δ
- ¡á ∩ºδ¬Ñ æ¿). é«-óΓ«αδσ, ¿¼Ñ¡Ñ¼ ¬«¼á¡ñδ ¼«ªÑΓ íδΓ∞ ¿¼∩ ¬«¼á¡ñ¡«ú« Σá⌐½á, ß«-
- ñÑαªáΘÑú« ¡áí«α ¬«¼á¡ñ¡δσ ßΓ᫬, «íαáíáΓδóáѼδσ shell'«¼. ìᬫ¡Ñµ, ¬«¼á¡ñá
- ¼«ªÑΓ íδΓ∞ ó¡πΓαÑ¡¡Ñ⌐ ¬«¼á¡ñ«⌐ ∩ºδ¬á shell (ó «Γ½¿τ¿Ñ «Γ ¿ß»«½¡∩Ѽ«ú« Σá⌐-
- ½á). ì὿τ¿Ñ ó¡πΓαÑ¡¡¿σ ¬«¼á¡ñ ñѽáÑΓ shell ∩ºδ¬«¼ »α«úαá¼¼¿α«óá¡¿∩ ó ñ«»«½-
- ¡Ñ¡¿Ñ ¬ Σπ¡¬µ¿∩¼ ¬«¼á¡ñ¡«ú« »α«µÑßß«αá; ¬«¼á¡ñ¡δ⌐ ∩ºδ¬ shell ó¬½ετáÑΓ ¬«¼á¡-
- ñδ «αúá¡¿ºáµ¿¿ µ¿¬½«ó (for-in-do-done ¿ while-do-done), ¬«¼á¡ñδ óδ»«½¡Ñ¡¿∩
- »« πß½«ó¿∩¼ (if-then-else-fi), «»ÑαáΓ«α óδí«αá, ¬«¼á¡ñπ ¿º¼Ñ¡Ñ¡¿∩ ΓѬπΘÑú«
- ñ½∩ »α«µÑßßá ¬áΓὫúá (cd) ¿ ¡Ñ¬«Γ«αδÑ ñαπú¿Ñ. æ¿¡Γá¬ß¿ß shell'á ñ«»π߬áÑΓ
- ßαáó¡Ñ¡¿Ñ ß «íαẵ«¼ ¿ «íαáí«Γ¬π »áαá¼ÑΓα«ó. Å«½∞º«óáΓѽ∩¼, ºá»π߬áεΘ¿¼ ¬«-
- ¼á¡ñδ, ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿ º¡áΓ∞, ¬á¬«ú« Γ¿»á φΓ¿ ¬«¼á¡ñδ.
- 諼á¡ñ¡δ⌐ »α«µÑßß«α shell ¿ΘÑΓ ¿¼Ñ¡á ¬«¼á¡ñ ó π¬áºá¡¡«¼ ¡áí«αÑ ¬áΓὫ-
- ú«ó, ¬«Γ«αδ⌐ ¼«ª¡« ¿º¼Ñ¡¿Γ∞ »« ªÑ½á¡¿ε »«½∞º«óáΓѽ∩, óδºóáó shell. Shell
- «íδτ¡« ¿ß»«½¡∩ÑΓ ¬«¼á¡ñπ ß¿¡σα«¡¡«, ß «ª¿ñ᡿Ѽ ºáóÑαΦÑ¡¿∩ óδ»«½¡Ñ¡¿∩ ¬«¼á¡-
- ñδ »αѪñÑ, τѼ ßτ¿ΓáΓ∞ ß½ÑñπεΘπε ¬«¼á¡ñ¡πε ßΓ᫬π. ÆÑ¼ ¡Ñ ¼Ñ¡ÑÑ, ñ«»π߬áÑΓß∩
- ¿ áß¿¡σα«¡¡«Ñ ¿ß»«½¡Ñ¡¿Ñ, ¬«úñá «τÑαÑñ¡á∩ ¬«¼á¡ñ¡á∩ ßΓ᫬á ßτ¿ΓδóáÑΓß∩ ¿ ¿ß-
- »«½¡∩ÑΓß∩, ¡Ñ ñ«ª¿ñá∩ß∞ ºáóÑαΦÑ¡¿∩ óδ»«½¡Ñ¡¿∩ »αÑñδñπΘÑ⌐ ¬«¼á¡ñδ. Ä ¬«¼á¡-
- ñáσ, óδ»«½¡∩Ѽδσ áß¿¡σα«¡¡«, ú«ó«α∩Γ, τΓ« «¡¿ óδ»«½¡∩εΓß∩ ¡á Σ«¡Ñ ñαπú¿σ ¬«-
- ¼á¡ñ. ìá»α¿¼Ñα, óó«ñ ¬«¼á¡ñδ
-
- who
-
- óδºδóáÑΓ óδ»«½¡Ñ¡¿Ñ ß¿ßΓѼ«⌐ »α«úαá¼¼δ, σαá¡∩ΘÑ⌐ß∩ ó Σá⌐½Ñ
- /bin/who (****) ¿ «ßπΘÑßΓó½∩εΘÑ⌐ óδó«ñ ß»¿ß¬á »«½∞º«óáΓѽÑ⌐, ¬«-
- Γ«αδÑ ó ¡áßΓ«∩Θ¿⌐ ¼«¼Ñ¡Γ αáí«ΓáεΓ ß ß¿ßΓѼ«⌐. Å«¬á ¬«¼á¡ñá who óδ»«½¡∩ÑΓß∩,
- ¬«¼á¡ñ¡δ⌐ »α«µÑßß«α shell «ª¿ñáÑΓ ºáóÑαΦÑ¡¿∩ ÑÑ óδ»«½¡Ñ¡¿∩ ¿ Γ«½∞¬« ºáΓѼ
- ºá»αáΦ¿óáÑΓ π »«½∞º«óáΓѽ∩ ß½ÑñπεΘπε ¬«¼á¡ñπ. àß½¿ ªÑ óóÑßΓ¿ ¬«¼á¡ñπ
-
- who &
-
- ß¿ßΓѼá óδ»«½¡¿Γ »α«úαá¼¼π who ¡á Σ«¡Ñ ¿ shell ú«Γ«ó ¡Ñ¼Ññ½Ñ¡¡« »α¿¡∩Γ∞ ß½Ñ-
- ñπεΘπε ¬«¼á¡ñπ.
- é ßαÑñπ óδ»«½¡Ñ¡¿∩ ¬áªñ«ú« »α«µÑßßá ó ß¿ßΓÑ¼Ñ UNIX ó¬½ετáÑΓß∩ ΓѬπΘ¿⌐
- ¬áΓὫú. ÆÑ¬πΘ¿⌐ ñ½∩ »α«µÑßßá ¬áΓὫú ∩ó½∩ÑΓß∩ ¡áτá½∞¡δ¼ ¬áΓὫú«¼, ¿¼∩ ¬«-
- Γ«α«ú« »α¿ß«Ññ¿¡∩ÑΓß∩ ¬« óßѼ ¿¼Ñ¡á¼ »πΓÑ⌐ »«¿ß¬á, ¬«Γ«αδÑ ¡Ñ ¡áτ¿¡áεΓß∩ ß
- ¡á¬½«¡¡«⌐ τÑαΓδ. Å«½∞º«óáΓѽ∞ ¼«ªÑΓ ºá»πßΓ¿Γ∞ ó¡πΓαÑ¡¡εε ¬«¼á¡ñπ shell'á cd
- (¿º¼Ñ¡¿Γ∞ ¬áΓὫú) ñ½∩ »ÑαѼÑΘÑ¡¿∩ »« ñÑαÑóπ Σá⌐½«ó«⌐ ß¿ßΓÑ¼δ ¿ ñ½∩ ߼ѡδ
- ΓѬπΘÑú« ¬áΓὫúá. 諼á¡ñ¡á∩ ßΓ᫬á
-
- cd /usr/src/uts
-
- ñѽáÑΓ ΓѬπΘ¿¼ ¬áΓὫú "/usr/src/uts". 諼á¡ñ¡á∩ ßΓ᫬á
-
- cd ../..
-
- ───────────────────────────
- (****) èáΓὫú "/bin" ß«ñÑαª¿Γ í«½∞Φ¿¡ßΓó« ¡Ñ«íσ«ñ¿¼δσ ¬«¼á¡ñ ¿ «íδτ¡« óσ«-
- ñ¿Γ ó τ¿ß½« ¬áΓὫú«ó, ó ¬«Γ«αδσ óÑñÑΓ »«¿ß¬ ¬«¼á¡ñ¡δ⌐ »α«µÑßß«α
- shell.
- 15
-
- ñѽáÑΓ ΓѬπΘ¿¼ ¬áΓὫú, ¬«Γ«αδ⌐ ¡á ñóÑ óÑαΦ¿¡δ "í½¿ªÑ" ¬ ¬«α¡ε (¬«α¡Ñó«¼π
- ¬áΓὫúπ): »áαá¼ÑΓα ".." «Γ¡«ß¿Γß∩ ¬ ¬áΓὫúπ, ∩ó½∩εΘѼπß∩ α«ñ¿Γѽ∞߬¿¼ ñ½∩
- ΓѬπΘÑú«.
-
- ū߬«½∞¬π shell ∩ó½∩ÑΓß∩ »«½∞º«óáΓѽ∞߬«⌐ »α«úαá¼¼«⌐ ¿ ¡Ñ óσ«ñ¿Γ ó ß«ß-
- Γáó ∩ñαá «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ, Ñú« ½Ñú¬« ¼«ñ¿Σ¿µ¿α«óáΓ∞ ¿ »«¼ÑΘáΓ∞ ó ¬«¡¬-
- αÑΓ¡δÑ πß½«ó¿∩ φ¬ß»½πáΓᵿ¿. ìá»α¿¼Ñα, ó¼ÑßΓ« ¬«¼á¡ñ¡«ú« »α«µÑßß«αá üáπα¡á
- (¡áºδóáѼ«ú« Γᬠ»« ¿¼Ñ¡¿ Ñú« ß«ºñáΓѽ∩, æΓ¿óá üáπα¡á), ∩ó½∩εΘÑú«ß∩ τáßΓ∞ε
- óÑαß¿¿ V ßΓá¡ñáαΓ¡«⌐ ß¿ßΓѼδ, ¼«ª¡« ¿ß»«½∞º«óáΓ∞ »α«µÑßß«α ¬«¼á¡ñ æ¿, «íÑß-
- »Ñτ¿óáεΘ¿⌐ αáí«Γπ ¼Ñσá¡¿º¼á óÑñÑ¡¿∩ ¿ßΓ«α¿¿ ¿º¼Ñ¡Ñ¡¿⌐ ¿ »«ºó«½∩εΘ¿⌐ ¿ºíÑúáΓ∞
- »«óΓ«α¡«ú« óó«ñá Γ«½∞¬« τΓ« ¿ß»«½∞º«óá¡¡δσ ¬«¼á¡ñ. é ¡Ñ¬«Γ«αδσ ß½πτá∩σ »α¿
- ªÑ½á¡¿¿ ¼«ª¡« ó«ß»«½∞º«óáΓ∞ß∩ ¬«¼á¡ñ¡δ¼ »α«µÑßß«α«¼ shell ß «úαá¡¿τÑ¡¡δ¼¿
- 󫺼«ª¡«ßΓ∩¼¿, ∩ó½∩εΘ¿¼ß∩ »αÑñδñπΘÑ⌐ óÑαß¿Ñ⌐ «íδτ¡«ú« shell'á. æ¿ßΓÑ¼á ¼«ªÑΓ
- αáí«ΓáΓ∞ ß ¡Ñ߬«½∞¬¿¼¿ ¬«¼á¡ñ¡δ¼¿ »α«µÑßß«αἿ «ñ¡«óαѼѡ¡«. Å«½∞º«óáΓѽ¿
- ¿¼ÑεΓ ó«º¼«ª¡«ßΓ∞ ºá»π߬áΓ∞ «ñ¡«óαѼѡ¡« ¼¡«ªÑßΓó« »α«µÑßß«ó, »α«µÑßßδ ªÑ ó
- ßó«ε «τÑαÑñ∞ ¼«úπΓ ñ¿¡á¼¿τÑ߬¿ »«α«ªñáΓ∞ ¡«óδÑ »α«µÑßßδ ¿ ß¿¡σα«¡¿º¿α«óáΓ∞
- ¿σ óδ»«½¡Ñ¡¿Ñ. éßÑ φΓ¿ 󫺼«ª¡«ßΓ¿ «íÑß»Ñτ¿óáεΓß∩ í½áú«ñáα∩ ¡á½¿τ¿ε ¼«Θ¡δσ
- »α«úαá¼¼¡δσ ¿ á»»áαáΓ¡δσ ßαÑñßΓó, ß«ßΓáó½∩εΘ¿σ ßαÑñπ óδ»«½¡Ñ¡¿∩ »α«µÑßß«ó.
- ò«Γ∩ »α¿ó½Ñ¬áΓѽ∞¡«ßΓ∞ shell'á ó ¡á¿í«½∞ΦÑ⌐ ßΓѻѡ¿ «»αÑñѽ∩ÑΓß∩ Ñú« 󫺼«ª-
- ¡«ßΓ∩¼¿ ¬á¬ ∩ºδ¬á »α«úαá¼¼¿α«óá¡¿∩ ¿ Ñú« 󫺼«ª¡«ßΓ∩¼¿ ó «íαáí«Γ¬Ñ áαúπ¼Ñ¡-
- Γ«ó, ó ñá¡¡«¼ αáºñÑ½Ñ «ß¡«ó¡«Ñ ó¡¿¼á¡¿Ñ ¬«¡µÑ¡Γα¿απÑΓß∩ ¡á ßαÑñÑ óδ»«½¡Ñ¡¿∩
- »α«µÑßß«ó, π»αáó½Ñ¡¿Ñ ¬«Γ«α«⌐ ó ß¿ßΓÑ¼Ñ ó«º½«ªÑ¡« ¡á ¬«¼á¡ñ¡δ⌐ »α«µÑßß«α
- shell. äαπú¿Ñ ó᪡δÑ «ß«íÑ¡¡«ßΓ¿ shell'á óδσ«ñ∩Γ ºá αἬ¿ ¡áßΓ«∩ΘÑ⌐ ¬¡¿ú¿
- (»«ñα«í¡«Ñ «»¿ßá¡¿Ñ shell'á ß¼. ó [Bourne 78]).
-
-
-
- E1.3.3 ¥½Ñ¼Ñ¡Γδ ¬«¡ßΓαπ¬µ¿«¡¡δσ í½«¬«óF
-
- èᬠπªÑ ú«ó«α¿½«ß∞ αá¡ÑÑ, ¬«¡µÑ»µ¿∩ αáºαáí«Γ¬¿ ß¿ßΓѼδ UNIX ºá¬½ετá½áß∞
- ó »«ßΓα«Ñ¡¿¿ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼δ ¿º φ½Ñ¼Ñ¡Γ«ó, ¬«Γ«αδÑ »«ºó«½¿½¿ íδ »«½∞º«-
- óáΓѽε ß«ºñáóáΓ∞ ¡Ñí«½∞Φ¿Ñ »α«úαá¼¼¡δÑ ¼«ñπ½¿, óδßΓπ»áεΘ¿Ñ ó ¬áτÑßΓóÑ ¬«¡ßΓ-
- απ¬µ¿«¡¡δσ í½«¬«ó »α¿ ß«ºñá¡¿¿ í«½ÑÑ ß½«ª¡δσ »α«úαá¼¼. Äñ¡¿¼ ¿º Γᬿσ φ½Ñ-
- ¼Ñ¡Γ«ó, ß ¬«Γ«αδ¼ τáßΓ« ßΓὬ¿óáεΓß∩ »«½∞º«óáΓѽ¿ »α¿ αáí«ΓÑ ß ¬«¼á¡ñ¡δ¼
- »α«µÑßß«α«¼ shell, ∩ó½∩ÑΓß∩ 󫺼«ª¡«ßΓ∞ »ÑαѡạáτÑ¡¿∩ óó«ñá-óδó«ñá. â«ó«α∩
- πß½«ó¡«, »α«µÑßßδ ¿¼ÑεΓ ñ«ßΓπ» ¬ ΓαѼ Σá⌐½á¼: «¡¿ τ¿ΓáεΓ ¿º Σá⌐½á ßΓá¡ñáαΓ-
- ¡«ú« óó«ñá, ºá»¿ßδóáεΓ ó Σá⌐½ ßΓá¡ñáαΓ¡«ú« óδó«ñá ¿ óδó«ñ∩Γ ß««íΘÑ¡¿∩ «í
- «Φ¿í¬áσ ó ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ «Φ¿í«¬. Åα«µÑßßδ, ºá»π߬áѼδÑ ß ΓÑନ¡á½á, «íδτ¡«
- ¿ß»«½∞ºπεΓ ΓÑନ¡á½ ó¼ÑßΓ« óßÑσ φΓ¿σ ΓαÑσ Σá⌐½«ó, «ñ¡á¬« ¬áªñδ⌐ Σá⌐½ ¡Ñºáó¿-
- ß¿¼« «Γ ñαπú¿σ ¼«ªÑΓ íδΓ∞ "»ÑαѡạáτÑ¡". ìá»α¿¼Ñα, ¬«¼á¡ñá
-
- ls
-
- óδó«ñ¿Γ ß»¿ß«¬ óßÑσ Σá⌐½«ó ΓѬπΘÑú« ¬áΓὫúá ¡á πßΓα«⌐ßΓó« (ó Σá⌐½) ßΓá¡ñáα-
- Γ¡«ú« óδó«ñá, á ¬«¼á¡ñá
-
- ls > output
-
- »ÑαѡạáτáÑΓ óδó«ñ¡«⌐ »«Γ«¬ ß« ßΓá¡ñáαΓ¡«ú« óδó«ñá ó Σá⌐½ "output" ó ΓѬπ-
- ΘѼ ¬áΓὫúÑ, ¿ß»«½∞ºπ∩ óδΦÑπ»«¼∩¡πΓδ⌐ ß¿ßΓѼ¡δ⌐ ó맮ó creat. Å«ñ«í¡δ¼ ªÑ
- «íαẫ¼, ¬«¼á¡ñá
-
- mail mjb < letter
-
- «Γ¬αδóáÑΓ (ß »«¼«Θ∞ε ß¿ßΓѼ¡«ú« ó맮óá open) Σá⌐½ "letter" ó ¬áτÑßΓóÑ Σá⌐½á
- ßΓá¡ñáαΓ¡«ú« óó«ñá ¿ »ÑαÑßδ½áÑΓ Ñú« ß«ñÑন¼«Ñ »«½∞º«óáΓѽε ß ¿¼Ñ¡Ñ¼ "mjb".
- Åα«µÑßßδ ¼«úπΓ »ÑαѡạáτáΓ∞ «ñ¡«óαѼѡ¡« ¿ óó«ñ, ¿ óδó«ñ, ¬á¬, ¡á»α¿¼Ñα, ó
- ¬«¼á¡ñ¡«⌐ ßΓ᫬Ñ:
-
-
- 16
-
- nroff -mm < doc1 > doc1.out 2> errors
-
- úñÑ »α«úαá¼¼á Σ«α¼áΓ¿α«óá¡¿∩ nroff τ¿ΓáÑΓ óó«ñ¡«⌐ Σá⌐½ doc1, ó ¬áτÑßΓóÑ Σá⌐-
- ½á ßΓá¡ñáαΓ¡«ú« óδó«ñá ºáñáÑΓ Σá⌐½ doc1.out ¿ óδó«ñ¿Γ ß««íΘÑ¡¿∩ «í «Φ¿í¬áσ ó
- Σá⌐½ errors ("2>" «º¡áτáÑΓ »ÑαѡạáτÑ¡¿Ñ óδó«ñá, »αÑñ¡áº¡áτáóΦÑú«ß∩ ñ½∩
- Σá⌐½á ß ñÑß¬α¿»Γ«α«¼ 2, ¬«Γ«αδ⌐ ß««ΓóÑΓßΓóπÑΓ ßΓá¡ñáαΓ¡«¼π Σá⌐½π «Φ¿í«¬).
- Åα«úαá¼¼δ ls, mail ¿ nroff ¡Ñ º¡áεΓ, ¬á¬¿Ñ Σá⌐½δ óδíαá¡δ ó ¬áτÑßΓóÑ Σá⌐½«ó
- ßΓá¡ñáαΓ¡«ú« óó«ñá, ßΓá¡ñáαΓ¡«ú« óδó«ñá ¿ ºá»¿ß¿ ß««íΘÑ¡¿⌐ «í «Φ¿í¬áσ; ¬«-
- ¼á¡ñ¡δ⌐ »α«µÑßß«α shell ßá¼ αáß»«º¡áÑΓ ß¿¼ó«½δ "<", ">" ¿ "2>" ¿ ¡áº¡áτáÑΓ ó
- ß««ΓóÑΓßΓó¿¿ ß ¿σ π¬áºá¡¿Ñ¼ Σá⌐½δ ñ½∩ ßΓá¡ñáαΓ¡«ú« óó«ñá, ßΓá¡ñáαΓ¡«ú« óδó«-
- ñá ¿ ºá»¿ß¿ ß««íΘÑ¡¿⌐ «í «Φ¿í¬áσ ¡Ñ»«ßαÑñßΓóÑ¡¡« »ÑαÑñ ºá»π߬«¼ »α«µÑßß«ó.
- éΓ«αδ¼ ¬«¡ßΓαπ¬µ¿«¡¡δ¼ φ½Ñ¼Ñ¡Γ«¼ ∩ó½∩ÑΓß∩ ¬á¡á½, ¼Ñσá¡¿º¼, «íÑß»Ñτ¿óáε-
- Θ¿⌐ ¿¡Σ«α¼áµ¿«¡¡δ⌐ «í¼Ñ¡ ¼Ñªñπ »α«µÑßßἿ, óδ»«½¡Ñ¡¿Ñ ¬«Γ«αδσ ßó∩ºá¡« ß «»Ñ-
- αᵿ∩¼¿ τΓÑ¡¿∩ ¿ ºá»¿ß¿. Åα«µÑßßδ ¼«úπΓ »ÑαѡạáτáΓ∞ óδó«ñ¡«⌐ »«Γ«¬ ß«
- ßΓá¡ñáαΓ¡«ú« óδó«ñá ¡á ¬á¡á½ ñ½∩ τΓÑ¡¿∩ ß ¡Ñú« ñαπú¿¼¿ »α«µÑßßἿ, »ÑαÑ¡áº-
- ¡áτ¿óΦ¿¼¿ ¡á ¬á¡á½ ßó«⌐ ßΓá¡ñáαΓ¡δ⌐ óó«ñ. äá¡¡δÑ, »«ßδ½áѼδÑ ó ¬á¡á½ »Ñαó묨
- »α«µÑßßἿ, ∩ó½∩εΓß∩ óσ«ñ¡δ¼¿ ñ½∩ óΓ«αδσ »α«µÑßß«ó. éΓ«αδÑ »α«µÑßßδ ΓᬠªÑ
- ¼«úπΓ »Ñαѡạáτ¿Γ∞ ßó«⌐ óδó«ñ¡«⌐ »«Γ«¬ ¿ Γᬠñá½ÑÑ, ó ºáó¿ß¿¼«ßΓ¿ «Γ »«ªÑ-
- ½á¡¿⌐ »α«úαá¼¼¿ßΓá. ê ß¡«óá, ΓᬠªÑ ¬á¬ ¿ ó óδΦÑπ¬áºá¡¡«¼ ß½πτáÑ, »α«µÑßßá¼
- ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿ º¡áΓ∞, ¬á¬«ú« Γ¿»á Σá⌐½ ¿ß»«½∞ºπÑΓß∩ ó ¬áτÑßΓóÑ Σá⌐½á
- ßΓá¡ñáαΓ¡«ú« óδó«ñá; ¿σ óδ»«½¡Ñ¡¿Ñ ¡Ñ ºáó¿ß¿Γ «Γ Γ«ú«, íπñÑΓ ½¿ Σá⌐½«¼ ßΓá¡-
- ñáαΓ¡«ú« óδó«ñá «íδτ¡δ⌐ Σá⌐½, ¬á¡á½ ¿½¿ πßΓα«⌐ßΓó«. é »α«µÑßßÑ »«ßΓα«Ñ¡¿∩
- í«½∞Φ¿σ ¿ ß½«ª¡δσ »α«úαá¼¼ ¿º ¬«¡ßΓαπ¬µ¿«¡¡δσ φ½Ñ¼Ñ¡Γ«ó ¼Ñ¡∞ΦÑú« αẼÑαá
- »α«úαá¼¼¿ßΓδ τáßΓ« ¿ß»«½∞ºπεΓ ¬á¡á½δ ¿ »ÑαѡạáτÑ¡¿Ñ óó«ñá-óδó«ñá »α¿ ßí«α-
- ¬Ñ ¿ ß«Ññ¿¡Ñ¡¿¿ «Γñѽ∞¡δσ τáßΓÑ⌐. ê ñÑ⌐ßΓó¿Γѽ∞¡«, Γᬫ⌐ ßΓ¿½∞ »α«úαá¼¼¿α«-
- óá¡¿∩ ¡áσ«ñ¿Γ »«ññÑ᪬π ó ß¿ßΓѼÑ, í½áú«ñáα∩ τÑ¼π ¡«óδÑ »α«úαá¼¼δ ¼«úπΓ αá-
- í«ΓáΓ∞ ó¼ÑßΓÑ ß ßπΘÑßΓóπεΘ¿¼¿ »α«úαἼἿ.
- ìá»α¿¼Ñα, »α«úαá¼¼á grep »α«¿ºó«ñ¿Γ »«¿ß¬ ¬«¡ΓѬßΓá ó ¡áí«αÑ Σá⌐½«ó (∩ó-
- ½∩εΘ¿σß∩ »áαá¼ÑΓαἿ »α«úαá¼¼δ) »« ß½ÑñπεΘѼπ «íαẵπ:
-
- grep main a.c b.c c.c
-
- úñÑ "main" - »«ñßΓ᫬á, »«¿ß¬ ¬«Γ«α«⌐ »α«¿ºó«ñ¿Γß∩ ó Σá⌐½áσ a.c, b.c ¿ c.c ß
- óδñáτÑ⌐ ó Σá⌐½ ßΓá¡ñáαΓ¡«ú« óδó«ñá ΓÑσ ßΓ᫬, ó ¬«Γ«αδσ «¡á ß«ñÑনΓß∩. æ«-
- ñÑন¼«Ñ óδó«ñ¡«ú« Σá⌐½á ¼«ªÑΓ íδΓ∞ ß½ÑñπεΘ¿¼:
-
- a.c: main(argc,argv)
- c.c: /* here is the main loop in the program */
- c.c: main()
-
- Åα«úαá¼¼á wc ß ¡Ñ«í∩ºáΓѽ∞¡δ¼ »áαá¼ÑΓα«¼ -l »«ñßτ¿ΓδóáÑΓ τ¿ß½« ßΓ᫬ ó Σá⌐½Ñ
- ßΓá¡ñáαΓ¡«ú« óó«ñá. 諼á¡ñ¡á∩ ßΓ᫬á
-
- grep main a.c b.c c.c │ wc -l
-
- ó맮óÑΓ »«ñßτÑΓ τ¿ß½á ßΓ᫬ ó π¬áºá¡¡δσ Σá⌐½áσ, úñÑ íπñÑΓ «í¡áαπªÑ¡á »«ñßΓ-
- ᫬á "main"; óδó«ñ¡«⌐ »«Γ«¬ ¬«¼á¡ñδ grep »«ßΓπ»¿Γ ¡Ñ»«ßαÑñßΓóÑ¡¡« ¡á óσ«ñ
- ¬«¼á¡ñδ wc. ä½∩ »αÑñδñπΘÑú« »α¿¼Ñαá αѺπ½∞ΓáΓ íπñÑΓ Γᬫ⌐:
- 3
-
- êß»«½∞º«óá¡¿Ñ ¬á¡á½«ó ºáτáßΓπε ñѽáÑΓ ¡Ñ¡πª¡δ¼ ß«ºñá¡¿Ñ óαѼѡ¡δσ Σá⌐½«ó.
-
-
- E1.4 öôìèûêê ÄÅàÉÇûêÄììÄë æêæÆàî¢F
-
- ìá É¿ßπ¡¬Ñ 1.1 πα«óÑ¡∞ ∩ñαá «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼δ ¿º«íαáªÑ¡ ¡Ñ»«ßαÑñßΓ-
- óÑ¡¡« »«ñ πα«ó¡Ñ¼ »α¿¬½áñ¡δσ »α«úαá¼¼ »«½∞º«óáΓѽ∩. éδ»«½¡∩∩ αẽ¿τ¡δÑ φ½Ñ-
- ¼Ñ¡Γáα¡δÑ «»Ñαᵿ¿ »« ºá»α«ßá¼ »«½∞º«óáΓѽ∞߬¿σ »α«µÑßß«ó, ∩ñα« «íÑß»Ñτ¿óáÑΓ
- Σπ¡¬µ¿«¡¿α«óá¡¿Ñ »«½∞º«óáΓѽ∞߬«ú« ¿¡ΓÑαΣÑ⌐ßá, «»¿ßá¡¡«ú« óδΦÑ. æαÑñ¿ Σπ¡¬-
-
- 17
-
- µ¿⌐ ∩ñαá ¼«ª¡« «Γ¼ÑΓ¿Γ∞:
- * ô»αáó½Ñ¡¿Ñ óδ»«½¡Ñ¡¿Ñ¼ »α«µÑßß«ó »«ßαÑñßΓó«¼ ¿σ ß«ºñá¡¿∩, ºáóÑαΦÑ¡¿∩ ¿½¿
- »α¿«ßΓá¡«ó¬¿ ¿ «αúá¡¿ºáµ¿¿ óºá¿¼«ñÑ⌐ßΓó¿∩ ¼Ñªñπ ¡¿¼¿.
- * Ž᡿α«óá¡¿Ñ «τÑαÑñ¡«ßΓ¿ »αÑñ«ßΓáó½Ñ¡¿∩ óδ»«½¡∩εΘ¿¼ß∩ »α«µÑßßá¼ óαѼѡ¿
- µÑ¡Γαá½∞¡«ú« »α«µÑßß«αá (ñ¿ß»ÑΓτÑα¿ºáµ¿∩). Åα«µÑßßδ αáí«ΓáεΓ ß µÑ¡Γαá½∞¡δ¼
- »α«µÑßß«α«¼ ó αѪ¿¼Ñ αáºñѽѡ¿∩ óαѼѡ¿: µÑ¡Γαá½∞¡δ⌐ »α«µÑßß«α (*****) óδ-
- »«½¡∩ÑΓ »α«µÑßß, »« ºáóÑαΦÑ¡¿¿ «Γßτ¿ΓδóáѼ«ú« ∩ñα«¼ ¬óá¡Γá óαѼѡ¿ »α«µÑßß
- »α¿«ßΓá¡áó½¿óáÑΓß∩ ¿ ∩ñα« á¬Γ¿ó¿º¿απÑΓ óδ»«½¡Ñ¡¿Ñ ñαπú«ú« »α«µÑßßá. Å«ºñ-
- ¡ÑÑ ∩ñα« ºá»π߬áÑΓ »α¿«ßΓá¡«ó½Ñ¡¡δ⌐ »α«µÑßß.
- * éδñѽѡ¿Ñ óδ»«½¡∩Ѽ«¼π »α«µÑßßπ «»ÑαáΓ¿ó¡«⌐ »á¼∩Γ¿. ƒñα« «»Ñαᵿ«¡¡«⌐ ß¿ß-
- ΓѼδ ñáÑΓ »α«µÑßßἠ󫺼«ª¡«ßΓ∞ ß«ó¼ÑßΓ¡« ¿ß»«½∞º«óáΓ∞ πτáßΓ¬¿ áñαÑß¡«ú«
- »α«ßΓαá¡ßΓóá ¡á «»αÑñѽѡ¡δσ πß½«ó¿∩σ, ºáΘ¿Θá∩ »α¿ φΓ«¼ áñαÑß¡«Ñ »α«ßΓαá¡-
- ßΓó«, óδñѽѡ¡«Ñ »α«µÑßßπ, «Γ ó¼ÑΦáΓѽ∞ßΓóá ¿ºó¡Ñ. àß½¿ ß¿ßΓÑ¼Ñ ΓαÑíπÑΓß∩
- ßó«í«ñ¡á∩ »á¼∩Γ∞, ∩ñα« «ßó«í«ªñáÑΓ »á¼∩Γ∞, óαѼѡ¡« óδúαπªá∩ »α«µÑßß ¡á
- ó¡ÑΦ¡¿Ñ
- ºá»«¼¿¡áεΘ¿Ñ πßΓα«⌐ßΓóá, ¬«Γ«αδÑ ¡áºδóáεΓ πßΓα«⌐ßΓóἿ óδúαπº¬¿. àß½¿ ∩ñα«
- óδúαπªáÑΓ »α«µÑßßδ ¡á πßΓα«⌐ßΓóá óδúαπº¬¿ µÑ½¿¬«¼, Γá¬á∩ αÑ὿ºáµ¿∩ ß¿ßΓÑ-
- ¼δ UNIX ¡áºδóáÑΓß∩ ß¿ßΓѼ«⌐ ß« ßó«»¿¡ú«¼ (»«ñ¬áτ¬«⌐); Ñß½¿ ªÑ ¡á πßΓα«⌐ßΓ-
- ó« óδúαπº¬¿ óδó«ñ∩Γß∩ ßΓαá¡¿µδ »á¼∩Γ¿, Γá¬á∩ ß¿ßΓÑ¼á ¡áºδóáÑΓß∩ ß¿ßΓѼ«⌐ ß
- ºá¼ÑΘÑ¡¿Ñ¼ ßΓαá¡¿µ.
- * éδñѽѡ¿Ñ ó¡ÑΦ¡Ñ⌐ »á¼∩Γ¿ ß µÑ½∞ε «íÑß»ÑτÑ¡¿∩ φΣΣÑ¬Γ¿ó¡«ú« σαá¡Ñ¡¿∩ ¿¡Σ«α-
- ¼áµ¿¿ ¿ óδí«α¬á ñá¡¡δσ »«½∞º«óáΓѽ∩. ê¼Ñ¡¡« ó »α«µÑßßÑ αÑ὿ºáµ¿¿ φΓ«⌐
- Σπ¡¬µ¿¿ ß«ºñáÑΓß∩ Σá⌐½«óá∩ ß¿ßΓѼá. ƒñα« óδñѽ∩ÑΓ ó¡ÑΦ¡εε »á¼∩Γ∞ »«ñ »«½∞-
- º«óáΓѽ∞߬¿Ñ Σá⌐½δ, ¼«í¿½¿ºπÑΓ ¡Ñ¿ß»«½∞ºπѼπε »á¼∩Γ∞, ßΓαπ¬Γπα¿απÑΓ Σá⌐½«-
- óπε ß¿ßΓѼπ ó Σ«α¼Ñ, ñ«ßΓπ»¡«⌐ ñ½∩ »«¡¿¼á¡¿∩, ¿ ºáΘ¿ΘáÑΓ »«½∞º«óáΓѽ∞߬¿Ñ
- Σá⌐½δ «Γ ¡Ñßᡬµ¿«¡¿α«óá¡¡«ú« ñ«ßΓπ»á.
- * ô»αáó½Ñ¡¿Ñ ñ«ßΓπ»«¼ »α«µÑßß«ó ¬ »Ñα¿ΣÑα¿⌐¡δ¼ πßΓα«⌐ßΓóá¼, Γᬿ¼ ¬á¬ ΓÑନ-
- ¡á½δ, ½Ñ¡Γ«τ¡δÑ πßΓα«⌐ßΓóá, ñ¿ß¬«ó«ñδ ¿ ßÑΓÑó«Ñ «í«απñ«óá¡¿Ñ.
- éδ»«½¡Ñ¡¿Ñ ∩ñα«¼ ßó«¿σ Σπ¡¬µ¿⌐ ñ«ó«½∞¡« «τÑó¿ñ¡«. ìá»α¿¼Ñα, «¡« πº¡áÑΓ,
- τΓ« ñá¡¡δ⌐ Σá⌐½ ∩ó½∩ÑΓß∩ «íδτ¡δ¼ Σá⌐½«¼ ¿½¿ πßΓα«⌐ßΓó«¼, ¡« ߬αδóáÑΓ φΓ«
- αẽ¿τ¿Ñ «Γ »«½∞º«óáΓѽ∞߬¿σ »α«µÑßß«ó. Æá¬ ªÑ «¡«, Σ«α¼áΓ¿απ∩ ¿¡Σ«α¼áµ¿ε
- Σá⌐½á ñ½∩ ó¡πΓαÑ¡¡Ñú« σαá¡Ñ¡¿∩, ºáΘ¿ΘáÑΓ ó¡πΓαÑ¡¡¿⌐ Σ«α¼áΓ «Γ »«½∞º«óáΓѽ∞-
- ߬¿σ »α«µÑßß«ó, ó«ºóαáΘá∩ ¿¼ ¡Ñ«ΓΣ«α¼áΓ¿α«óá¡¡δ⌐ »«Γ«¬ íá⌐Γ«ó. ìᬫ¡Ñµ, ∩ñα«
- αÑ὿ºπÑΓ α∩ñ ¡Ñ«íσ«ñ¿¼δσ Σπ¡¬µ¿⌐ »« «íÑß»ÑτÑ¡¿ε óδ»«½¡Ñ¡¿∩ »α«µÑßß«ó »«½∞-
- º«óáΓѽ∞߬«ú« πα«ó¡∩, ºá ¿ß¬½ετÑ¡¿Ñ¼ Σπ¡¬µ¿⌐, ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ αÑ὿º«óá¡δ
- ¡á ßἫ¼ »«½∞º«óáΓѽ∞߬«¼ πα«ó¡Ñ. ìá»α¿¼Ñα, ∩ñα« óδ»«½¡∩ÑΓ ñÑ⌐ßΓó¿∩, ¡Ñ«íσ«-
- ñ¿¼δÑ shell'π ¬á¬ ¿¡ΓÑα»αÑΓáΓ«α𠬫¼á¡ñ: «¡« »«ºó«½∩ÑΓ »α«µÑßß«απ shell τ¿-
- ΓáΓ∞ óó«ñ¿¼δÑ ß ΓÑନ¡á½á ñá¡¡δÑ, ñ¿¡á¼¿τÑ߬¿ »«α«ªñáΓ∞ »α«µÑßßδ, ß¿¡σα«¡¿-
- º¿α«óáΓ∞ óδ»«½¡Ñ¡¿Ñ »α«µÑßß«ó, «Γ¬αδóáΓ∞ ¬á¡á½δ ¿ »ÑαÑáñαÑß«óδóáΓ∞ óó«ñ-óδ-
- ó«ñ. Å«½∞º«óáΓѽ¿ ¼«úπΓ αáºαáíáΓδóáΓ∞ ßó«¿ óÑαß¿¿ ¬«¼á¡ñ¡«ú« »α«µÑßß«αá
- shell ß ΓѼ, τΓ«íδ »α¿óÑßΓ¿ αáí«τπε ßαÑñπ ó ß««ΓóÑΓßΓó¿Ñ ß« ßó«¿¼¿ ΓαÑí«óá-
- ¡¿∩¼¿, ¡Ñ ºáΓαáú¿óá∩ ñαπú¿σ »«½∞º«óáΓѽÑ⌐. Æá¬¿Ñ »α«úαá¼¼δ »«½∞ºπεΓß∩ ΓѼ¿
- ªÑ πß½πúἿ ∩ñαá, τΓ« ¿ ßΓá¡ñáαΓ¡δ⌐ »α«µÑßß«α shell.
-
-
- E1.5 ÅÉàäÅÄïÇâÇàîǃ ÇÅÅÇÉÇÆìǃ æÉàäÇF
-
- éδ»«½¡Ñ¡¿Ñ »«½∞º«óáΓѽ∞߬¿σ »α«µÑßß«ó ó ß¿ßΓÑ¼Ñ UNIX «ßπΘÑßΓó½∩ÑΓß∩ ¡á
- ñóπσ πα«ó¡∩σ: πα«ó¡Ñ »«½∞º«óáΓѽ∩ ¿ πα«ó¡Ñ ∩ñαá. è«úñá »α«µÑßß »α«¿ºó«ñ¿Γ
- «íαáΘÑ¡¿Ñ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ, αѪ¿¼ óδ»«½¡Ñ¡¿∩ »α«µÑßßá »ÑαѬ½ετáÑΓß∩ ß
- αѪ¿¼á ºáñáτ¿ (»«½∞º«óáΓѽ∞߬«ú«) ¡á αѪ¿¼ ∩ñαá: «»Ñαᵿ«¡¡á∩ ß¿ßΓÑ¼á »δΓá-
- ÑΓß∩ «íß½πª¿Γ∞ ºá»α«ß »«½∞º«óáΓѽ∩, ó«ºóαáΘá∩ ¬«ñ «Φ¿í¬¿ ó ß½πτáÑ ¡Ñπñáτ¡«ú«
- ºáóÑαΦÑ¡¿∩ «»Ñαᵿ¿. äáªÑ Ñß½¿ »«½∞º«óáΓѽ∞ ¡Ñ ¡πªñáÑΓß∩ ó ¬á¬¿σ-½¿í« «»αÑ-
- ñѽѡ¡δσ πß½πúáσ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼δ ¿ ¡Ñ «íαáΘáÑΓß∩ ¬ ¡Ñ⌐ ß ºá»α«ßἿ,
-
-
- ──────────────────────────
- (*****) é ú½áóÑ 12 αáßß¼áΓα¿óáεΓß∩ ¼¡«ú«»α«µÑßß«α¡δÑ ß¿ßΓѼδ; ñ« Γ«ú« αÑτ∞
- íπñÑΓ ¿ñΓ¿ «í «ñ¡«»α«µÑßß«α¡«⌐ ¼«ñѽ¿.
-
- 18
-
- ß¿ßΓѼá ÑΘÑ óδ»«½¡∩ÑΓ πτÑΓ¡δÑ «»Ñαᵿ¿, ßó∩ºá¡¡δÑ ß »«½∞º«óáΓѽ∞߬¿¼ »α«µÑß-
- ß«¼, «íαáíáΓδóáÑΓ »αÑαδóá¡¿∩, »½á¡¿απÑΓ »α«µÑßßδ, π»αáó½∩ÑΓ αáß»αÑñѽѡ¿Ñ¼
- »á¼∩Γ¿ ¿ Γ.ñ. ü«½∞Φ¿¡ßΓó« óδτ¿ß½¿Γѽ∞¡δσ ß¿ßΓѼ αạ««íαạ«⌐ áασ¿ΓѬΓπαδ (¿
- ß««ΓóÑΓßΓóπεΘ¿Ñ ¿¼ «»Ñαᵿ«¡¡δÑ ß¿ßΓѼδ) »«ññÑনóáεΓ í«½∞ΦÑÑ τ¿ß½« πα«ó¡Ñ⌐,
- τѼ π¬áºá¡« ºñÑß∞, «ñ¡á¬« πªÑ ñóπσ αѪ¿¼«ó, αѪ¿¼á ºáñáτ¿ ¿ αѪ¿¼á ∩ñαá,
- 󻫽¡Ñ ñ«ßΓáΓ«τ¡« ñ½∩ ß¿ßΓѼδ UNIX.
- Äß¡«ó¡δÑ αẽ¿τ¿∩ ¼Ñªñπ φΓ¿¼¿ ñóπ¼∩ αѪ¿¼á¼¿:
- * é αѪ¿¼Ñ ºáñáτ¿ »α«µÑßßδ ¿¼ÑεΓ ñ«ßΓπ» Γ«½∞¬« ¬ ßó«¿¼ ß«íßΓóÑ¡¡δ¼ ¿¡ßΓαπ¬-
- µ¿∩¼ ¿ ñá¡¡δ¼, ¡« ¡Ñ ¬ ¿¡ßΓαπ¬µ¿∩¼ ¿ ñá¡¡δ¼ ∩ñαá (½¿í« ñαπú¿σ »α«µÑßß«ó).
- Äñ¡á¬« ó αѪ¿¼Ñ ∩ñαá »α«µÑßßá¼ πªÑ ñ«ßΓπ»¡δ áñαÑß¡δÑ »α«ßΓαá¡ßΓóá ∩ñαá ¿
- »«½∞º«óáΓѽÑ⌐. ìá»α¿¼Ñα, ó¿αΓπá½∞¡«Ñ áñαÑß¡«Ñ »α«ßΓαá¡ßΓó« »α«µÑßßá ¼«ªÑΓ
- íδΓ∞ »«ñѽѡ« ¡á áñαÑßá, ñ«ßΓπ»¡δÑ Γ«½∞¬« ó αѪ¿¼Ñ ∩ñαá, ¿ ¡á áñαÑßá, ñ«ß-
- Γπ»¡δÑ ó ½εí«¼ αѪ¿¼Ñ.
- * ìѬ«Γ«αδÑ ¼áΦ¿¡¡δÑ ¬«¼á¡ñδ ∩ó½∩εΓß∩ »α¿ó¿½Ñú¿α«óá¡¡δ¼¿ ¿ óδºδóáεΓ ó«º¡¿¬-
- ¡«óÑ¡¿Ñ «Φ¿í«¬ »α¿ »«»δ⪥ ¿σ ¿ß»«½∞º«óá¡¿∩ ó αѪ¿¼Ñ ºáñáτ¿. ìá»α¿¼Ñα, ó
- ¼áΦ¿¡¡«¼ ∩ºδ¬Ñ ¼«ªÑΓ íδΓ∞ ¬«¼á¡ñá, π»αáó½∩εΘá∩ αÑú¿ßΓα«¼ ß«ßΓ«∩¡¿∩ »α«µÑß-
- ß«αá; »α«µÑßßá¼, óδ»«½¡∩εΘ¿¼ß∩ ó
-
-
- Åα«µÑßßδ
-
- A B C D
- ┌───────┬───────┬───────┬───────┐
- ÉѪ¿¼ ∩ñαá │ ƒ │ │ │ ƒ │
- ├───────┼───────┼───────┼───────┤
- ÉѪ¿¼ ºáñáτ¿ │ │ ç │ ç │ │
- └───────┴───────┴───────┴───────┘
-
- É¿ßπ¡«¬ 1.5. Åα«µÑßßδ ¿ αѪ¿¼δ ¿σ óδ»«½¡Ñ¡¿∩
-
-
- αѪ¿¼Ñ ºáñáτ¿, «¡á ¡Ññ«ßΓπ»¡á.
- Åα«ΘÑ ú«ó«α∩, ½εí«Ñ óºá¿¼«ñÑ⌐ßΓó¿Ñ ß á»»áαáΓπα«⌐ «»¿ßδóáÑΓß∩ ó ΓÑନ¡áσ
- αѪ¿¼á ∩ñαá ¿ αѪ¿¼á ºáñáτ¿ ¿ »α«ΓѬáÑΓ «ñ¿¡á¬«ó« ñ½∩ óßÑσ »«½∞º«óáΓѽ∞߬¿σ
- »α«úαá¼¼, óδ»«½¡∩εΘ¿σß∩ ó φΓ¿σ αѪ¿¼áσ. Ä»Ñαᵿ«¡¡á∩ ß¿ßΓѼá σαá¡¿Γ ó¡πΓαÑ¡-
- ¡¿Ñ ºá»¿ß¿ « ¬áªñ«¼ »α«µÑßßÑ, óδ»«½¡∩εΘѼß∩ ó ß¿ßΓѼÑ. ìá É¿ßπ¡¬Ñ 1.5 »«¬á-
- ºá¡« φΓ« αáºñѽѡ¿Ñ: ∩ñα« ñѽ¿Γ »α«µÑßßδ A, B, C ¿ D, αáß»«½«ªÑ¡¡δÑ óñ«½∞
- ú«α¿º«¡Γá½∞¡«⌐ «ß¿, á»»áαáΓ¡δÑ ßαÑñßΓóá óó«ñ∩Γ αẽ¿τ¿∩ ¼Ñªñπ αѪ¿¼á¼¿ óδ-
- »«½¡Ñ¡¿∩, αáß»«½«ªÑ¡¡δ¼¿ »« óÑαΓ¿¬á½¿.
- ìÑß¼«Γα∩ ¡á Γ«, τΓ« ß¿ßΓѼá Σπ¡¬µ¿«¡¿απÑΓ ó «ñ¡«¼ ¿º ñóπσ αѪ¿¼«ó, ∩ñα«
- ñÑ⌐ßΓóπÑΓ «Γ ¿¼Ñ¡¿ »«½∞º«óáΓѽ∞߬«ú« »α«µÑßßá. ƒñα« ¡Ñ ∩ó½∩ÑΓß∩ ¬á¬«⌐-Γ«
- «ß«í«⌐ ß«ó«¬π»¡«ßΓ∞ε »α«µÑßß«ó, óδ»«½¡∩εΘ¿σß∩ »áαώѽ∞¡« ß »«½∞º«óáΓѽ∞߬¿-
- ¼¿, «¡« ßἫ óδßΓπ»áÑΓ ß«ßΓáó¡«⌐ τáßΓ∞ε ½εí«ú« »«½∞º«óáΓѽ∞߬«ú« »α«µÑßßá.
- æñѽᡡδ⌐ óδó«ñ íπñÑΓ ß¬«αÑÑ «Γ¡«ß¿Γ∞ß∩ ¬ "∩ñαπ", αáß»αÑñѽ∩εΘѼπ αÑßπαßδ,
- ¿½¿ ¬ "∩ñαπ", »α«¿ºó«ñ∩ΘѼπ αẽ¿τ¡δÑ «»Ñαᵿ¿, ¿ φΓ« íπñÑΓ «º¡áτáΓ∞, τΓ«
- »α«µÑßß, óδ»«½¡∩Ѽδ⌐ ó αѪ¿¼Ñ ∩ñαá, αáß»αÑñѽ∩ÑΓ αÑßπαßδ ¿ »α«¿ºó«ñ¿Γ ß««Γ-
- óÑΓßΓóπεΘ¿Ñ «»Ñαᵿ¿. ìá»α¿¼Ñα, ¬«¼á¡ñ¡δ⌐ »α«µÑßß«α shell ßτ¿ΓδóáÑΓ óó«ñ¡«⌐
- »«Γ«¬ ß ΓÑନ¡á½á ß »«¼«Θ∞ε ºá»α«ßá ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ. ƒñα« «»Ñαᵿ«¡-
- ¡«⌐ ß¿ßΓѼδ, óδßΓπ»á∩ «Γ ¿¼Ñ¡¿ »α«µÑßß«αá shell, π»αáó½∩ÑΓ Σπ¡¬µ¿«¡¿α«ó᡿Ѽ
- ΓÑନ¡á½á ¿ »ÑαÑñáÑΓ óó«ñ¿¼δÑ ß¿¼ó«½δ »α«µÑßß«απ shell. Shell »ÑαÑσ«ñ¿Γ ó
- αѪ¿¼ ºáñáτ¿, á¡á½¿º¿απÑΓ »«Γ«¬ ß¿¼ó«½«ó, óóÑñÑ¡¡δσ »«½∞º«óáΓѽѼ ¿ óδ»«½¡∩-
- ÑΓ ºáñá¡¡πε »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ñÑ⌐ßΓó¿⌐, ¬«Γ«αδÑ ¼«úπΓ »«ΓαÑí«óáΓ∞ óδ»«½¡Ñ-
- ¡¿∩ ¿ ñαπú¿σ ß¿ßΓѼ¡δσ «»Ñαᵿ⌐.
-
-
- E1.5.1 ÅαÑαδóá¡¿∩ ¿ «ß«íδÑ ß¿Γπᵿ¿F
-
- æ¿ßΓѼá UNIX »«ºó«½∩ÑΓ Γᬿ¼ πßΓα«⌐ßΓóá, ¬á¬ ó¡ÑΦ¡¿Ñ πßΓα«⌐ßΓóá óó«-
- ñá-óδó«ñá ¿ ß¿ßΓѼ¡δÑ τáßδ, áß¿¡σα«¡¡« »αÑαδóáΓ∞ αáí«Γπ µÑ¡Γαá½∞¡«ú« »α«µÑß-
-
- 19
-
- ß«αá. Å« »«½πτÑ¡¿¿ ß¿ú¡á½á »αÑαδóá¡¿∩ ∩ñα« «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ ß«σαá¡∩ÑΓ
- ßó«⌐ ΓѬπΘ¿⌐ ¬«¡ΓѬßΓ (ºáßΓδóΦ¿⌐ «íαẠóδ»«½¡∩Ѽ«ú« »α«µÑßßá), πßΓá¡áó½¿óáÑΓ
- »α¿τ¿¡π »αÑαδóá¡¿∩ ¿ «íαáíáΓδóáÑΓ »αÑαδóá¡¿Ñ. Å«ß½Ñ Γ«ú«, ¬á¬ »αÑαδóá¡¿Ñ íπ-
- ñÑΓ «íαáí«Γá¡« ∩ñα«¼, »αÑαóá¡¡δ⌐ ¬«¡ΓѬßΓ ó«ßßΓá¡«ó¿Γß∩ ¿ αáí«Γá »α«ñ«½ª¿Γß∩
- Γá¬, ¬á¬ íπñΓ« ¡¿τÑú« ¡Ñ ß½πτ¿½«ß∞. ôßΓα«⌐ßΓóá¼ «íδτ¡« »α¿»¿ßδóáεΓß∩ »α¿«α¿-
- ΓÑΓδ ó ß««ΓóÑΓßΓó¿¿ ß «τÑαÑñ¡«ßΓ∞ε «íαáí«Γ¬¿ »αÑαδóá¡¿⌐. é »α«µÑßßÑ «íαáí«Γ-
- ¬¿ »αÑαδóá¡¿⌐ ∩ñα« πτ¿ΓδóáÑΓ ¿σ »α¿«α¿ΓÑΓδ ¿ í½«¬¿απÑΓ «íß½πª¿óá¡¿Ñ »αÑαδóá-
- ¡¿∩ ß ¡¿º¬¿¼ »α¿«α¿ΓÑΓ«¼ ¡á óαѼ∩ «íαáí«Γ¬¿ »αÑαδóá¡¿∩ ß í«½ÑÑ óδß«¬¿¼ »α¿«-
- α¿ΓÑΓ«¼.
- Äß«íδÑ ß¿Γπᵿ¿ ßó∩ºá¡δ ß ó«º¡¿¬¡«óÑ¡¿Ñ¼ ¡Ñºá»½á¡¿α«óá¡¡δσ ß«íδΓ¿⌐, óδº-
- óá¡¡δσ »α«µÑßß«¼, Γᬿσ ¬á¬ ¡Ññ«»πßΓ¿¼á∩ áñαÑßᵿ∩, ºáñá¡¿Ñ »α¿ó¿½Ñú¿α«óá¡-
- ¡δσ ¬«¼á¡ñ, ñѽѡ¿Ñ ¡á ¡«½∞ ¿ Γ.ñ. Ä¡¿ «Γ½¿τáεΓß∩ «Γ »αÑαδóá¡¿⌐, ¬«Γ«αδÑ óδ-
- ºδóáεΓß∩ ß«íδΓ¿∩¼¿, ó¡ÑΦ¡¿¼¿ »« «Γ¡«ΦÑ¡¿ε ¬ »α«µÑßßπ. Äß«íδÑ ß¿Γπᵿ¿ 󫺡¿-
- ¬áεΓ »α∩¼« "»«ßαÑñ¿¡Ñ" óδ»«½¡Ñ¡¿∩ ¬«¼á¡ñδ, ¿ ß¿ßΓѼá, «íαáí«Γáó «ß«íπε ß¿Γπ-
- ᵿε, »δΓáÑΓß∩ »ÑαѺá»πßΓ¿Γ∞ ¬«¼á¡ñπ; ßτ¿ΓáÑΓß∩, τΓ« »αÑαδóá¡¿∩ 󫺡¿¬áεΓ
- ¼Ñªñπ óδ»«½¡Ñ¡¿Ñ¼ ñóπσ ¬«¼á¡ñ, »α¿ φΓ«¼ ß¿ßΓÑ¼á »«ß½Ñ «íαáí«Γ¬¿ »αÑαδóá¡¿∩
- »α«ñ«½ªáÑΓ óδ»«½¡Ñ¡¿Ñ »α«µÑßßá πªÑ ¡áτ¿¡á∩ ß« ß½ÑñπεΘÑ⌐ ¬«¼á¡ñδ. ä½∩ «íαá-
- í«Γ¬¿ »αÑαδóá¡¿⌐ ¿ «ß«íδσ ß¿Γπᵿ⌐ ó ß¿ßΓÑ¼Ñ UNIX ¿ß»«½∞ºπÑΓß∩ «ñ¿¡ ¿ ëà ªÑ
- ¼Ñσá¡¿º¼.
-
-
- E1.5.2 ôα«ó¡¿ »αÑαδóá¡¿∩ »α«µÑßß«αáF
-
- ƒñα« ¿¡«úñá «í∩ºá¡« »αÑñπ»αѪñáΓ∞ 󫺡¿¬¡«óÑ¡¿Ñ »αÑαδóá¡¿⌐ ó« óαѼ∩ ¬α¿-
- Γ¿τÑ߬¿σ ñÑ⌐ßΓó¿⌐, ¼«úπΘ¿σ ó ß½πτáÑ »αÑαδóá¡¿∩ ºá»«αΓ¿Γ∞ ¿¡Σ«α¼áµ¿ε. ìá»α¿-
- ¼Ñα, ó« óαѼ∩ «íαáí«Γ¬¿ ß»¿ß¬á ß π¬áºáΓѽ∩¼¿ 󫺡¿¬¡«óÑ¡¿Ñ »αÑαδóá¡¿∩ «Γ
- ñ¿ß¬á ñ½∩ ∩ñαá ¡ÑªÑ½áΓѽ∞¡«, Γ.¬. »α¿ «íαáí«Γ¬Ñ »αÑαδóá¡¿∩ ¼«ª¡« ºá»«αΓ¿Γ∞
- π¬áºáΓѽ¿, τΓ« ¼«ª¡« πó¿ñÑΓ∞ ¡á »α¿¼ÑαÑ ó ß½ÑñπεΘÑ⌐ ú½áóÑ. Äíδτ¡« ¿¼ÑÑΓß∩
- α∩ñ »α¿ó¿½Ñú¿α«óá¡¡δσ ¬«¼á¡ñ, πßΓá¡áó½¿óáεΘ¿σ πα«óÑ¡∞ »αÑαδóá¡¿∩ »α«µÑßß«αá
- ó ß½«óÑ ß«ßΓ«∩¡¿∩ »α«µÑßß«αá. ôßΓá¡«ó¬á πα«ó¡∩ »αÑαδóá¡¿∩ ¡á «»αÑñѽѡ¡«Ñ
- º¡áτÑ¡¿Ñ «ΓßѬáÑΓ »αÑαδóá¡¿∩ φΓ«ú« ¿ í«½ÑÑ ¡¿º¬¿σ πα«ó¡Ñ⌐, αáºαÑΦá∩ «íαáí«Γ-
- ¬π Γ«½∞¬« »αÑαδóá¡¿⌐ ß í«½ÑÑ óδß«¬¿¼ »α¿«α¿ΓÑΓ«¼. ìá É¿ßπ¡¬Ñ 1.6 »«¬áºá¡á
- »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ πα«ó¡Ñ⌐ »αÑαδóá¡¿∩. àß½¿ ∩ñα« ¿ú¡«α¿απÑΓ »αÑαδóá¡¿∩ «Γ
- ñ¿ß¬á, ó φΓ«¼ ß½πτáÑ ¿ú¡«α¿απεΓß∩ ¿ óßÑ «ßΓá½∞¡δÑ »αÑαδóá¡¿∩, ¬α«¼Ñ »αÑαδóá-
- ¡¿⌐ «Γ τáß«ó ¿ ¼áΦ¿¡¡δσ ßí«Ñó.
-
- ┌──────────────────────────────┐ ^
- │ îáΦ¿¡¡δÑ ßí«¿ │ │
- ├──────────────────────────────┤ │
- │ æ¿ßΓѼ¡δÑ τáßδ │ éδß«¬¿⌐ »α¿«α¿ΓÑΓ
- ├──────────────────────────────┤ │
- │ ä¿ß¬ │ │
- ├──────────────────────────────┤ │
- │ æÑΓÑó«Ñ «í«απñ«óá¡¿Ñ │ │
- ├──────────────────────────────┤ │
- │ ÆÑନ¡á½δ │ 쿺¬¿⌐ »α¿«α¿ΓÑΓ
- ├──────────────────────────────┤ │
- │ Åα«úαá¼¼¡δÑ »αÑαδóá¡¿∩ │ │
- └──────────────────────────────┘ v
-
- É¿ßπ¡«¬ 1.6. æΓá¡ñáαΓ¡δÑ πα«ó¡¿ »αÑαδóá¡¿⌐
-
-
-
- E1.5.3 Éáß»αÑñѽѡ¿Ñ »á¼∩Γ¿F
-
- ƒñα« »«ßΓ«∩¡¡« αáß»«½áúáÑΓß∩ ó «»ÑαáΓ¿ó¡«⌐ »á¼∩Γ¿, ¡áα∩ñπ ß óδ»«½¡∩εΘ¿¼-
- ß∩ ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ »α«µÑßß«¼ (¿½¿ τáßΓ∞ε Ñú«, »« ¼Ñ¡∞ΦÑ⌐ ¼ÑαÑ). é »α«µÑßßÑ
- ¬«¼»¿½∩µ¿¿ »α«úαá¼¼á-¬«¼»¿½∩Γ«α úÑ¡Ñα¿απÑΓ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ áñαÑß«ó, ∩ó½∩-
-
- 20
-
- εΘ¿σß∩ áñαÑßἿ »ÑαѼѡ¡δσ ¿ ¿¡Σ«α¼áµ¿«¡¡δσ ßΓαπ¬Γπα, á Γá¬ªÑ áñαÑßἿ ¿¡ßΓ-
- απ¬µ¿⌐ ¿ Σπ¡¬µ¿⌐. 諼»¿½∩Γ«α úÑ¡Ñα¿απÑΓ áñαÑßá ñ½∩ ó¿αΓπá½∞¡«⌐ ¼áΦ¿¡δ Γá¬,
- ß½«ó¡« ¡á Σ¿º¿τÑ߬«⌐ ¼áΦ¿¡Ñ ¡Ñ íπñÑΓ óδ»«½¡∩Γ∞ß∩ »áαώѽ∞¡« ß Γαá¡ß½¿απѼ«⌐
- ¡¿ «ñ¡á ñαπúá∩ »α«úαá¼¼á.
- è«úñá »α«úαá¼¼á ºá»π߬áÑΓß∩ ¡á óδ»«½¡Ñ¡¿Ñ, ∩ñα« óδñѽ∩ÑΓ ñ½∩ ¡ÑÑ ¼ÑßΓ« ó
- «»ÑαáΓ¿ó¡«⌐ »á¼∩Γ¿, »α¿ φΓ«¼ ß«ó»áñÑ¡¿Ñ ó¿αΓπá½∞¡δσ áñαÑß«ó, ßúÑ¡Ñα¿α«óá¡¡δσ
- ¬«¼»¿½∩Γ«α«¼, ß Σ¿º¿τÑ߬¿¼¿ áñαÑßἿ ß«óßѼ ¡Ñ«í∩ºáΓѽ∞¡«. ƒñα«, óºá¿¼«ñÑ⌐ß-
- Γóπ∩ ß á»»áαáΓ¡δ¼¿ ßαÑñßΓóἿ, Γαá¡ß½¿απÑΓ ó¿αΓπá½∞¡δÑ áñαÑßá ó Σ¿º¿τÑ߬¿Ñ,
- Γ.Ñ. «Γ«íαáªáÑΓ áñαÑßá, ßúÑ¡Ñα¿α«óá¡¡δÑ ¬«¼»¿½∩Γ«α«¼, ó Σ¿º¿τÑ߬¿Ñ, ¼áΦ¿¡¡δÑ
- áñαÑßá. Æá¬«Ñ «Γ«íαáªÑ¡¿Ñ «»¿αáÑΓß∩ ¡á 󫺼«ª¡«ßΓ¿ á»»áαáΓ¡δσ ßαÑñßΓó, »«φ-
- Γ«¼π ¬«¼»«¡Ñ¡Γδ ß¿ßΓѼδ UNIX, ºá¡¿¼áεΘ¿Ñß∩ ¿¼, ∩ó½∩εΓß∩ ¼áΦ¿¡¡«-ºáó¿ß¿¼δ¼¿.
- ìá»α¿¼Ñα, «Γñѽ∞¡δÑ óδτ¿ß½¿Γѽ∞¡δÑ ¼áΦ¿¡δ ¿¼ÑεΓ ß»Ñµ¿á½∞¡«Ñ «í«απñ«óá¡¿Ñ ñ½∩
- »«ñ¬áτ¬¿ óδúαπªÑ¡¡δσ ßΓαá¡¿µ »á¼∩Γ¿. â½áóδ 6 ¿ 9 »«ßó∩ΘÑ¡δ í«½ÑÑ »«ñα«í¡«¼π
- αáßß¼«ΓαÑ¡¿ε ó«»α«ß«ó, ßó∩ºá¡¡δσ ß αáß»αÑñѽѡ¿Ñ¼ »á¼∩Γ¿, ¿ ¿ßß½Ññ«óá¡¿ε ¿σ
- ß««Γ¡«ΦÑ¡¿∩ ß á»»áαáΓ¡δ¼¿ ßαÑñßΓóἿ.
-
-
- E1.6 é¢éÄä¢F
-
- é φΓ«⌐ ú½áóÑ «»¿ßá¡δ »«½¡á∩ ßΓαπ¬Γπαá ß¿ßΓѼδ UNIX, óºá¿¼««Γ¡«ΦÑ¡¿∩ ¼Ñª-
- ñπ »α«µÑßßἿ, óδ»«½¡∩εΘ¿¼¿ß∩ ó αѪ¿¼Ñ ºáñáτ¿ ¿ ó αѪ¿¼Ñ ∩ñαá, á Γá¬ªÑ á»»á-
- αáΓ¡á∩ ßαÑñá Σπ¡¬µ¿«¡¿α«óá¡¿∩ ∩ñαá «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ. Åα«µÑßßδ óδ»«½¡∩εΓ-
- ß∩ ó αѪ¿¼Ñ ºáñáτ¿ ¿½¿ ó αѪ¿¼Ñ ∩ñαá, ó ¬«Γ«α«¼ «¡¿ »«½∞ºπεΓß∩ πß½πúἿ ß¿ß-
- ΓѼδ í½áú«ñáα∩ ¡á½¿τ¿ε ¡áí«αá «íαáΘÑ¡¿⌐ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ. Çασ¿ΓѬΓπαá
- ß¿ßΓÑ¼δ »«ññÑনóáÑΓ Γᬫ⌐ ßΓ¿½∞ »α«úαá¼¼¿α«óá¡¿∩, »α¿ ¬«Γ«α«¼ ¿º ¡Ñí«½∞Φ¿σ
- »α«úαá¼¼, óδ»«½¡∩εΘ¿σ Γ«½∞¬« «Γñѽ∞¡δÑ Σπ¡¬µ¿¿, ¡« σ«α«Φ«, ß«ßΓáó½∩εΓß∩ í«-
- ½ÑÑ ß½«ª¡δÑ »α«úαá¼¼δ, ¿ß»«½∞ºπεΘ¿Ñ ¼Ñσá¡¿º¼ ¬á¡á½«ó ¿ »ÑαѡạáτÑ¡¿Ñ óó«-
- ñá-óδó«ñá.
- ÄíαáΘÑ¡¿∩ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ »«ºó«½∩εΓ »α«µÑßßá¼ »α«¿ºó«ñ¿Γ∞ «»Ñαá-
- µ¿¿, ¬«Γ«αδÑ ¿¡áτÑ ¡Ñ óδ»«½¡∩εΓß∩. é ñ«»«½¡Ñ¡¿Ñ ¬ «íαáí«Γ¬Ñ »«ñ«í¡δσ «íαáΘÑ-
- ¡¿⌐ ∩ñα« «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼δ «ßπΘÑßΓó½∩ÑΓ «íΘ¿Ñ πτÑΓ¡δÑ «»Ñαᵿ¿, π»αáó½∩ÑΓ
- »½á¡¿α«ó᡿Ѽ »α«µÑßß«ó, αáß»αÑñѽѡ¿Ñ¼ »á¼∩Γ¿ ¿ ºáΘ¿Γ«⌐ »α«µÑßß«ó ó «»Ñαá-
- Γ¿ó¡«⌐ »á¼∩Γ¿, «íß½πª¿óáÑΓ »αÑαδóá¡¿∩, π»αáó½∩ÑΓ Σá⌐½á¼¿ ¿ πßΓα«⌐ßΓóἿ ¿
- «íαáíáΓδóáÑΓ «ß«íδÑ ß¿Γπᵿ¿, 󫺡¿¬áεΘ¿Ñ ó ß¿ßΓѼÑ. é Σπ¡¬µ¿¿ ∩ñαá ß¿ßΓѼδ
- UNIX ¡á¼ÑαÑ¡¡« ¡Ñ ó¬½ετÑ¡δ ¼¡«ú¿Ñ Σπ¡¬µ¿¿, ∩ó½∩εΘ¿Ñß∩ τáßΓ∞ε ñαπú¿σ «»Ñαᵿ-
- «¡¡δσ ß¿ßΓѼ, »«ß¬«½∞¬π ¡áí«α «íαáΘÑ¡¿⌐ ¬ ß¿ßΓÑ¼Ñ »«ºó«½∩ÑΓ »α«µÑßßá¼ óδ»«½-
- ¡∩Γ∞ óßÑ ¡Ñ«íσ«ñ¿¼δÑ «»Ñαᵿ¿ ¡á »«½∞º«óáΓѽ∞߬«¼ πα«ó¡Ñ. é ß½ÑñπεΘÑ⌐ ú½áóÑ
- ß«ñÑনΓß∩ í«½ÑÑ ñÑΓá½∞¡á∩ ¿¡Σ«α¼áµ¿∩ « ∩ñαÑ, «»¿ßδóáεΘá∩ Ñú« áασ¿ΓѬΓπαπ ¿
- óó«ñ∩Θá∩ ¡Ñ¬«Γ«αδÑ «ß¡«ó¡δÑ »«¡∩Γ¿∩, ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩ »α¿ «»¿ßá¡¿¿ Ñú«
- Σπ¡¬µ¿«¡¿α«óá¡¿∩.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 21
-
-
- âïÇéÇ 2
-
- Eééàäàìêà é ÇÉòêÆàèÆôÉô ƒäÉÇ ÄÅàÉÇûêÄììÄë æêæÆàî¢F
-
-
-
- é »αÑñδñπΘÑ⌐ ú½áóÑ íδ½ ßñÑ½á¡ Γ«½∞¬« »«óÑασ¡«ßΓ¡δ⌐ «íº«α «ß«íÑ¡¡«ßΓÑ⌐
- «»Ñαᵿ«¡¡«⌐ ßαÑñδ UNIX. é φΓ«⌐ ú½áóÑ «ß¡«ó¡«Ñ ó¡¿¼á¡¿Ñ πñѽ∩ÑΓß∩ ∩ñαπ «»Ñ-
- αᵿ«¡¡«⌐ ß¿ßΓѼδ, ñѽáÑΓß∩ «íº«α Ñú« áασ¿ΓѬΓπαδ ¿ ¿º½áúáεΓß∩ ó «íΘ¿σ τÑα-
- Γáσ «ß¡«ó¡δÑ »«¡∩Γ¿∩ ¿ ßΓαπ¬Γπαδ, ßπΘÑßΓóÑ¡¡δÑ ñ½∩ »«¡¿¼á¡¿∩ óßÑú« »«ß½Ññπε-
- ΘÑú« ¼áΓÑα¿á½á ¬¡¿ú¿.
-
-
- E2.1 ÇÉòêÆàèÆôÉÇ ÄÅàÉÇûêÄììÄë æêæÆàî¢ UNIXF
-
- èᬠπªÑ αá¡ÑÑ í佫 ºá¼ÑτÑ¡« (ß¼. [Christian 83], ßΓα.239), ó ß¿ßΓѼÑ
- UNIX ß«ºñáÑΓß∩ ¿½½εº¿∩ Γ«ú«, τΓ« Σá⌐½«óá∩ ß¿ßΓÑ¼á ¿¼ÑÑΓ "¼ÑßΓá" ¿ τΓ« π »α«-
- µÑßß«ó ÑßΓ∞ "ª¿º¡∞". ÄíÑ ßπΘ¡«ßΓ¿, Σá⌐½δ ¿ »α«µÑßßδ, ∩ó½∩εΓß∩ µÑ¡Γαá½∞¡δ¼¿
- »«¡∩Γ¿∩¼¿ ¼«ñѽ¿ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ UNIX. ìá É¿ßπ¡¬Ñ 2.1 »αÑñßΓáó½Ñ¡á
- í½«¬-ßσѼá ∩ñαá ß¿ßΓѼδ, «ΓαáªáεΘá∩ ß«ßΓáó ¼«ñπ½Ñ⌐, ¿º ¬«Γ«αδσ ß«ßΓ«¿Γ ∩ñα«,
- ¿ ¿σ óºá¿¼«ßó∩º¿ ñαπú ß ñαπú«¼. é τáßΓ¡«ßΓ¿, ¡á ¡Ñ⌐ ß½Ñóá ¿º«íαáªÑ¡á Σá⌐½«-
- óá∩ »«ñß¿ßΓѼá, á ß»αáóá »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ »α«µÑßßἿ, ñóÑ ú½áó¡δÑ ¬«¼-
- »«¡Ñ¡Γδ ∩ñαá. ¥Γá ßσѼá ñáÑΓ ½«ú¿τÑ߬«Ñ »αÑñßΓáó½Ñ¡¿Ñ « ∩ñαÑ, σ«Γ∩ ó ñÑ⌐ßΓ-
- ó¿Γѽ∞¡«ßΓ¿ ó ßΓαπ¬ΓπαÑ ∩ñαá ¿¼ÑεΓß∩ «Γ¬½«¡Ñ¡¿∩ «Γ ¼«ñѽ¿, »«ß¬«½∞¬π «Γñѽ∞-
- ¡δÑ ¼«ñ㫨 ¿ß»δΓδóáεΓ ó¡πΓαÑ¡¡ÑÑ ó«ºñÑ⌐ßΓó¿Ñ ß« ßΓ«α«¡δ ñαπú¿σ ¼«ñπ½Ñ⌐.
- æσÑ¼á ¡á É¿ßπ¡¬Ñ 2.1 ¿¼ÑÑΓ Γα¿ πα«ó¡∩: πα«óÑ¡∞ »«½∞º«óáΓѽ∩, πα«óÑ¡∞ ∩ñ-
- αá ¿ πα«óÑ¡∞ á»»áαáΓπαδ. ÄíαáΘÑ¡¿∩ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ ¿ í¿í½¿«ΓѬ¿ ß«ß-
- Γáó½∩εΓ úαá¡¿µπ ¼Ñªñπ »«½∞º«óáΓѽ∞߬¿¼¿ »α«úαἼἿ ¿ ∩ñα«¼, »α«óÑñÑ¡¡πε ¡á
- É¿ßπ¡¬Ñ 1.1. ÄíαáΘÑ¡¿∩ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ óδú½∩ñ∩Γ ΓᬠªÑ, ¬á¬ «íδτ¡δÑ
- ó맮óδ Σπ¡¬µ¿⌐ ó »α«úαá¼¼áσ ¡á ∩ºδ¬Ñ æ¿, ¿ í¿í½¿«ΓѬ¿ πßΓá¡áó½¿óáεΓ ß««ΓóÑΓ-
- ßΓó¿Ñ ¼Ñªñπ φΓ¿¼¿ ó맮óἿ Σπ¡¬µ¿⌐ ¿ φ½Ñ¼Ñ¡Γáα¡δ¼¿ ß¿ßΓѼ¡δ¼¿ «»Ñαᵿ∩-
- ¼¿, « τѼ í«½ÑÑ »«ñα«í¡« ß¼. ó ú½áóÑ 6. Åα¿ φΓ«¼ »α«úαá¼¼δ ¡á áßßѼí½ÑαÑ ¼«-
- úπΓ «íαáΘáΓ∞ß∩ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ ¡Ñ»«ßαÑñßΓóÑ¡¡«, íѺ ¿ß»«½∞º«óá¡¿∩
- í¿í½¿«ΓѬ¿ ß¿ßΓѼ¡δσ ó맮ó«ó. Åα«úαá¼¼δ τáßΓ« «íαáΘáεΓß∩ ¬ ñαπú¿¼ í¿í½¿«ΓÑ-
- ¬á¼, Γᬿ¼ ¬á¬ í¿í½¿«ΓѬá ßΓá¡ñáαΓ¡δσ »«ñ»α«úαá¼¼ óó«ñá-óδó«ñá, ñ«ßΓ¿úá∩ ΓѼ
- ßá¼δ¼ í«½ÑÑ »«½¡«ú« ¿ß»«½∞º«óá¡¿∩ ß¿ßΓѼ¡δσ πß½πú. ä½∩ φΓ«ú« ó« óαѼ∩ ¬«¼»¿-
- ½∩µ¿¿ í¿í½¿«ΓѬ¿ ßó∩ºδóáεΓß∩ ß »α«úαἼἿ ¿ τáßΓ¿τ¡« ó¬½ετáεΓß∩ ó »α«úαá¼¼π
- »«½∞º«óáΓѽ∩. äá½ÑÑ ¼δ »α«¿½½εßΓα¿απѼ φΓ¿ ¼«¼Ñ¡Γδ ¡á »α¿¼ÑαÑ.
-
- ìá α¿ßπ¡¬Ñ ß«ó«¬π»¡«ßΓ∞ «íαáΘÑ¡¿⌐ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ αáºñÑ½Ñ¡á ¡á ΓÑ
- «íαáΘÑ¡¿∩, ¬«Γ«αδÑ óºá¿¼«ñÑ⌐ßΓóπεΓ ß »«ñß¿ßΓѼ«⌐ π»αáó½Ñ¡¿∩ Σá⌐½á¼¿, ¿ ΓÑ,
- ¬«Γ«αδÑ óºá¿¼«ñÑ⌐ßΓóπεΓ ß »«ñß¿ßΓѼ«⌐ π»αáó½Ñ¡¿∩ »α«µÑßßἿ. öá⌐½«óá∩ »«ñ-
- ß¿ßΓѼá π»αáó½∩ÑΓ Σá⌐½á¼¿, αẼÑΘáÑΓ ºá»¿ß¿ Σá⌐½«ó, π»αáó½∩ÑΓ ßó«í«ñ¡δ¼
- »α«ßΓαá¡ßΓó«¼, ñ«ßΓπ»«¼ ¬ Σá⌐½á¼ ¿ »«¿ß¬«¼ ñá¡¡δσ ñ½∩ »«½∞º«óáΓѽÑ⌐. Åα«µÑß-
- ßδ óºá¿¼«ñÑ⌐ßΓóπεΓ ß »«ñß¿ßΓѼ«⌐ π»αáó½Ñ¡¿∩ Σá⌐½á¼¿, ¿ß»«½∞ºπ∩ »α¿ φΓ«¼ ß«-
- ó«¬π»¡«ßΓ∞ ߻ѵ¿á½∞¡δσ «íαáΘÑ¡¿⌐ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ, Γᬿσ ¬á¬ open
- (ñ½∩ Γ«ú«, τΓ«íδ «Γ¬αδΓ∞ Σá⌐½ ¡á τΓÑ¡¿Ñ ¿½¿ ºá»¿ß∞),close, read, write, stat
- (ºá»α«ß¿Γ∞ áΓα¿íπΓδ Σá⌐½á), chown (¿º¼Ñ¡¿Γ∞ ºá»¿ß∞ ß ¿¡Σ«α¼áµ¿Ñ⌐ « ó½áñѽ∞µÑ
- Σá⌐½á) ¿ chmod (¿º¼Ñ¡¿Γ∞ »αáóá ñ«ßΓπ»á ¬ Σá⌐½π). ¥Γ¿ ¿ ñαπú¿Ñ «»Ñαᵿ¿ αáßß-
- ¼áΓα¿óáεΓß∩ ó ú½áóÑ 5.
- Å«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ Σá⌐½á¼¿ «íαáΘáÑΓß∩ ¬ ñá¡¡δ¼, ¬«Γ«αδÑ σαá¡∩Γß∩ ó
- Σá⌐½Ñ, ¿ß»«½∞ºπ∩ íπΣÑα¡δ⌐ ¼Ñσá¡¿º¼, π»αáó½∩εΘ¿⌐ »«Γ«¬«¼ ñá¡¡δσ ¼Ñªñπ ∩ñα«¼ ¿
- πßΓα«⌐ßΓóἿ ó¡ÑΦ¡Ñ⌐ »á¼∩Γ¿. üπΣÑα¡δ⌐ ¼Ñσá¡¿º¼, óºá¿¼«ñÑ⌐ßΓóπ∩ ß ñαá⌐óÑαἿ
- πßΓα«⌐ßΓó óó«ñá-óδó«ñá í½«¬á¼¿, ¿¡¿µ¿¿απÑΓ »ÑαÑñáτπ ñá¡¡δσ ¬ ∩ñαπ ¿ «íαáΓ¡«.
- äαá⌐óÑαδ πßΓα«⌐ßΓó ∩ó½∩εΓß∩ Γᬿ¼¿ ¼«ñπ½∩¼¿ ó ß«ßΓáóÑ ∩ñαá, ¬«Γ«αδÑ π»αáó½∩-
- εΓ αáí«Γ«⌐ »Ñα¿ΣÑα¿⌐¡δσ πßΓα«⌐ßΓó. ôßΓα«⌐ßΓóá óó«ñá-óδó«ñá í½«¬á¼¿ «Γ¡«ß∩Γß∩
-
-
-
- 22
-
- »α«úαá¼¼δ »«½∞º«óáΓѽ∩
- ^
- │ ┌──────────────────────┐
- Γ«τ¬á »ÑαÑ- │ │ í¿í½¿«ΓѬ¿ │
- ßÑτÑ¡¿∩ ∙∙∙∙∙∙∙∙∙│∙∙∙∙∙∙∙ └──────────────────────┘
- ∙ │ ∙ ^
- ôα«óÑ¡∞ »«½∞º«óáΓѽ∩ ∙ │ ∙ │
- --------------------------│---------------------│-----------------
- ôα«óÑ¡∞ ∩ñαá v v
- ┌───────────────────────────────────────────────────┐
- │ ^ «íαáΘÑ¡¿∩ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ ^ │
- └──────┼────────────────────────────────────┼───────┘
- │ │
- ┌─────────────────┼───────────────┐ ┌────────────────┼─────────┐
- │ v │ │ v │
- │ │ │ │
- │ »«ñß¿ßΓѼá π»αáó½Ñ- │ │ ............│
- │ ¡¿∩ Σá⌐½á¼¿ │ │ . óºá¿¼«- .│
- │ <───┼─┐ │ . ñÑ⌐ßΓó¿Ñ .│
- │ │ │ │ . »α«µÑßß«ó.│
- │ ^ ^ │ │ │ »«ñß¿ßΓѼá ............│
- │ │ │ │ │ │ ............│
- └───────┼──────────────┼──────────┘ │ │ . »½á¡¿α«ó-.│
- │ v └─┼> π»αáó½Ñ¡¿∩ . Θ¿¬ .│
- │ ┌──────────────┐ │ ............│
- │ │ íπΣÑα ßóÑασ- │ │ ............│
- │ │ «»ÑαáΓ¿ó¡«⌐ │ │ »α«µÑßßἿ . αáß»αÑñÑ-.│
- │ │ »á¼∩Γ¿ (¬ÑΦ) │ │ . ½Ñ¡¿Ñ .│
- │ └──────────────┘ │ . »á¼∩Γ¿ .│
- │ ^ │ ^ ............│
- │ │ │ │ │
- │ v └───────┼──────────────────┘
- ┌───────┼──────────────────────┐ │
- │ v . │ │
- │ ß¿¼ó«½ . í½«¬ │ │
- │ . │ │
- ├──────────────────────────────┤ │
- │ │ │
- │ ñαá⌐óÑαδ πßΓα«⌐ßΓó │ │
- │ ^ │ │
- └──────────────┼───────────────┘ │
- │ │
- ┌──────────────┼──────────────────────────────┼──────────────────┐
- │ v á»»áαáΓ¡δ⌐ ¬«¡Γα«½∞ v │
- └────────────────────────────────────────────────────────────────┘
- ôα«óÑ¡∞ ∩ñαá
- ------------------------------------------------------------------ ôα«óÑ¡∞
- á»»áαáΓπαδ
- ┌────────────────────────────────────────────────────────────────┐
- │ ΓÑσ¡¿τÑ߬¿Ñ ßαÑñßΓóá (á»»áαáΓπαá) │
- └────────────────────────────────────────────────────────────────┘
-
- É¿ßπ¡«¬ 2.1. ü½«¬-ßσѼá ∩ñαá «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ
-
-
- ¬ Γ¿»π ºá»«¼¿¡áεΘ¿σ πßΓα«⌐ßΓó ß »α«¿ºó«½∞¡«⌐ óδí«α¬«⌐; ¿σ ñαá⌐óÑαδ »«ßΓα«Ñ¡δ
- Γᬿ¼ «íαẫ¼, τΓ« óßÑ «ßΓá½∞¡δÑ ¬«¼»«¡Ñ¡Γδ ß¿ßΓѼδ ó«ß»α¿¡¿¼áεΓ φΓ¿ πßΓα«⌐-
- ßΓóá ¬á¬ ºá»«¼¿¡áεΘ¿Ñ πßΓα«⌐ßΓóá ß »α«¿ºó«½∞¡«⌐ óδí«α¬«⌐. ìá»α¿¼Ñα, ñαá⌐óÑα
- ºá»«¼¿¡áεΘÑú« πßΓα«⌐ßΓóá ¡á ¼áú¡¿Γ¡«⌐ ½Ñ¡ΓÑ »«ºó«½∩ÑΓ ∩ñαπ ß¿ßΓѼδ ó«ß»α¿¡¿-
-
- 23
-
- ¼áΓ∞ φΓ« πßΓα«⌐ßΓó« ¬á¬ ºá»«¼¿¡áεΘÑÑ πßΓα«⌐ßΓó« ß »α«¿ºó«½∞¡«⌐ óδí«α¬«⌐.
- Å«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ Σá⌐½á¼¿ Γá¬ªÑ ¡Ñ»«ßαÑñßΓóÑ¡¡« óºá¿¼«ñÑ⌐ßΓóπÑΓ ß ñαá⌐-
- óÑαἿ πßΓα«⌐ßΓó "¡ÑßΓαπ¬Γπα¿α«óá¡¡«ú«" óó«ñá-óδó«ñá, íѺ ó¼ÑΦáΓѽ∞ßΓóá íπ-
- ΣÑα¡«ú« ¼Ñσá¡¿º¼á. è πßΓα«⌐ßΓóá¼ ¡ÑßΓαπ¬Γπα¿α«óá¡¡«ú« óó«ñá-óδó«ñá, ¿¡«úñá
- ¿¼Ñ¡πÑ¼δ¼ πßΓα«⌐ßΓóἿ »«ß¿¼ó«½∞¡«ú« óó«ñá-óδó«ñá (ΓѬßΓ«ó묨), «Γ¡«ß∩Γß∩
- πßΓα«⌐ßΓóá, «Γ½¿τ¡δÑ «Γ πßΓα«⌐ßΓó óó«ñá-óδó«ñá í½«¬á¼¿.
- Å«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ »α«µÑßßἿ «ΓóÑτáÑΓ ºá ß¿¡σα«¡¿ºáµ¿ε »α«µÑßß«ó,
- óºá¿¼«ñÑ⌐ßΓó¿Ñ »α«µÑßß«ó, αáß»αÑñѽѡ¿Ñ »á¼∩Γ¿ ¿ »½á¡¿α«óá¡¿Ñ óδ»«½¡Ñ¡¿∩
- »α«µÑßß«ó. Å«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ Σá⌐½á¼¿ ¿ »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ »α«µÑßßἿ
- óºá¿¼«ñÑ⌐ßΓóπεΓ ¼Ñªñπ ß«í«⌐, ¬«úñá Σá⌐½ ºáúαπªáÑΓß∩ ó »á¼∩Γ∞ ¡á óδ»«½¡Ñ¡¿Ñ
- (ß¼. ú½áóπ 7): »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ »α«µÑßßἿ τ¿ΓáÑΓ ó »á¼∩Γ∞ ¿ß»«½¡∩ѼδÑ
- Σá⌐½δ »ÑαÑñ ΓѼ, ¬á¬ ¿σ óδ»«½¡¿Γ∞.
- Åα¿¼ÑαἿ «íαáΘÑ¡¿⌐ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ, ¿ß»«½∞ºπѼδσ »α¿ π»αáó½Ñ¡¿¿
- »α«µÑßßἿ, ¼«úπΓ ß½πª¿Γ∞ fork (ß«ºñá¡¿Ñ ¡«ó«ú« »α«µÑßßá), exec (¡á½«ªÑ¡¿Ñ
- «íαáºá »α«úαá¼¼δ ¡á óδ»«½¡∩Ѽδ⌐ »α«µÑßß), exit (ºáóÑαΦÑ¡¿Ñ óδ»«½¡Ñ¡¿∩ »α«-
- µÑßßá), wait (ß¿¡σα«¡¿ºáµ¿∩ »α«ñ«½ªÑ¡¿∩ óδ»«½¡Ñ¡¿∩ «ß¡«ó¡«ú« »α«µÑßßá ß ¼«-
- ¼Ñ¡Γ«¼ óδσ«ñá ¿º »«α«ªñÑ¡¡«ú« »α«µÑßßá), brk (π»αáó½Ñ¡¿Ñ αẼÑα«¼ »á¼∩Γ¿,
- óδñѽѡ¡«⌐ »α«µÑßßπ) ¿ signal (π»αáó½Ñ¡¿Ñ αÑᬵ¿Ñ⌐ »α«µÑßßá ¡á 󫺡¿¬¡«óÑ¡¿Ñ
- φ¬ßΓαá«αñ¿¡áα¡δσ ß«íδΓ¿⌐). â½áóá 7 »«ßó∩ΘÑ¡á αáßß¼«ΓαÑ¡¿ε φΓ¿σ ¿ ñαπú¿σ ß¿ß-
- ΓѼ¡δσ ó맮ó«ó.
- î«ñπ½∞ αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ ¬«¡Γα«½¿απÑΓ óδñѽѡ¿Ñ »á¼∩Γ¿ »α«µÑßßá¼. àß-
- ½¿ ó ¬á¬«⌐-Γ« ¼«¼Ñ¡Γ ß¿ßΓÑ¼á ¿ß»δΓδóáÑΓ ¡Ññ«ßΓáΓ«¬ ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿ ñ½∩
- ºá»π߬á óßÑσ »α«µÑßß«ó, ∩ñα« »ÑαÑßδ½áÑΓ »α«µÑßßδ ¼Ñªñπ «ß¡«ó¡«⌐ ¿ ó¡ÑΦ¡Ñ⌐
- »á¼∩Γ∞ε ß ΓѼ, τΓ«íδ óßÑ »α«µÑßßδ ¿¼Ñ½¿ 󫺼«ª¡«ßΓ∞ óδ»«½¡∩Γ∞ß∩. é ú½áóÑ 9
- «»¿ßδóáεΓß∩ ñóá ß»«ß«íá π»αáó½Ñ¡¿∩ αáß»αÑñѽѡ¿Ñ¼ »á¼∩Γ¿: óδúαπº¬á (»«ñ¬áτ-
- ¬á) ¿ ºá¼ÑΘÑ¡¿Ñ ßΓαá¡¿µ. Åα«úαá¼¼π »«ñ¬áτ¬¿ ¿¡«úñá ¡áºδóáεΓ »½á¡¿α«óΘ¿¬«¼,
- Γ.¬. «¡á "»½á¡¿απÑΓ" óδñѽѡ¿Ñ »á¼∩Γ¿ »α«µÑßßá¼ ¿ «¬áºδóáÑΓ ó½¿∩¡¿Ñ ¡á αáí«-
- Γπ »½á¡¿α«óΘ¿¬á µÑ¡Γαá½∞¡«ú« »α«µÑßß«αá. Äñ¡á¬« ó ñá½∞¡Ñ⌐ΦѼ ¼δ íπñѼ ßΓá-
- αáΓ∞ß∩ ßßδ½áΓ∞ß∩ ¡á ¡ÑÑ ¬á¬ ¡á "»α«úαá¼¼π »«ñ¬áτ¬¿", τΓ«íδ ¿ºíѪáΓ∞ »πΓá¡¿µδ
- ß »½á¡¿α«óΘ¿¬«¼ µÑ¡Γαá½∞¡«ú« »α«µÑßß«αá.
- î«ñπ½∞ "»½á¡¿α«óΘ¿¬" αáß»αÑñѽ∩ÑΓ ¼Ñªñπ »α«µÑßßἿ óαѼ∩ µÑ¡Γαá½∞¡«ú«
- »α«µÑßß«αá. Ä¡ »½á¡¿απÑΓ «τÑαÑñ¡«ßΓ∞ óδ»«½¡Ñ¡¿∩ »α«µÑßß«ó ñ« ΓÑσ »«α, »«¬á
- «¡¿ ñ«íα«ó«½∞¡« ¡Ñ «ßó«í«ñ∩Γ µÑ¡Γαá½∞¡δ⌐ »α«µÑßß«α, ñ«ªñáóΦ¿ß∞ óδñѽѡ¿∩
- ¬.-½. αÑßπαßá, ¿½¿ ñ« ΓÑσ »«α, »«¬á ∩ñα« ß¿ßΓÑ¼δ ¡Ñ óδúαπº¿Γ ¿σ »«ß½Ñ Γ«ú«,
- ¬á¬ ¿σ óαѼ∩ óδ»«½¡Ñ¡¿∩ »αÑóδß¿Γ ºáαá¡ÑÑ «»αÑñѽѡ¡δ⌐ ¬óá¡Γ óαѼѡ¿. Ž᡿-
- α«óΘ¿¬ óδí¿αáÑΓ ¡á óδ»«½¡Ñ¡¿Ñ ú«Γ«óδ⌐ ¬ ºá»π߬π »α«µÑßß ß ¡á¿óδßΦ¿¼ »α¿«α¿-
- ΓÑΓ«¼; óδ»«½¡Ñ¡¿Ñ »αÑñδñπΘÑú« »α«µÑßßá (»α¿«ßΓá¡«ó½Ñ¡¡«ú«) íπñÑΓ »α«ñ«½ªÑ¡«
- Γ«úñá, ¬«úñá Ñú« »α¿«α¿ΓÑΓ íπñÑΓ ¡á¿óδßΦ¿¼ ßαÑñ¿ »α¿«α¿ΓÑΓ«ó óßÑσ ú«Γ«óδσ ¬
- ºá»π߬π »α«µÑßß«ó. æπΘÑßΓóπÑΓ ¡Ñ߬«½∞¬« Σ«α¼ óºá¿¼«ñÑ⌐ßΓó¿∩ »α«µÑßß«ó ¼Ñªñπ
- ß«í«⌐, «Γ áß¿¡σα«¡¡«ú« «í¼Ñ¡á ß¿ú¡á½á¼¿ « ß«íδΓ¿∩σ ñ« ß¿¡σα«¡¡«ú« «í¼Ñ¡á ß«-
- «íΘÑ¡¿∩¼¿.
- ìᬫ¡Ñµ, á»»áαáΓ¡δ⌐ ¬«¡Γα«½∞ «ΓóÑτáÑΓ ºá «íαáí«Γ¬π »αÑαδóá¡¿⌐ ¿ ºá ßó∩º∞
- ß ¼áΦ¿¡«⌐. Æá¬¿Ñ πßΓα«⌐ßΓóá, ¬á¬ ñ¿ß¬¿ ¿ ΓÑନ¡á½δ, ¼«úπΓ »αÑαδóáΓ∞ αáí«Γπ
- µÑ¡Γαá½∞¡«ú« »α«µÑßß«αá ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«µÑßßá. Åα¿ φΓ«¼ ∩ñα« ß¿ßΓѼδ
- »«ß½Ñ «íαáí«Γ¬¿ »αÑαδóá¡¿∩ ¼«ªÑΓ ó«º«í¡«ó¿Γ∞ óδ»«½¡Ñ¡¿Ñ »αÑαóá¡¡«ú« »α«µÑß-
- ßá. ÅαÑαδóá¡¿∩ «íαáíáΓδóáεΓß∩ ¡Ñ ßἿ¼¿ »α«µÑßßἿ, á ߻ѵ¿á½∞¡δ¼¿ Σπ¡¬µ¿∩¼¿
- ∩ñαá ß¿ßΓѼδ, »ÑαÑτ¿ß½Ñ¡¡δ¼¿ ó ¬«¡ΓѬßΓÑ óδ»«½¡∩Ѽ«ú« »α«µÑßßá.
-
-
- E2.2 ééàäàìêà é ÄæìÄéì¢à ÅÄìƒÆêƒ æêæÆàî¢F
-
- é φΓ« αáºñÑ½Ñ ñáÑΓß∩ «íº«α ¡Ñ¬«Γ«αδσ «ß¡«ó¡δσ ¿¡Σ«α¼áµ¿«¡¡δσ ßΓαπ¬Γπα,
- ¿ß»«½∞ºπѼδσ ∩ñα«¼ ß¿ßΓѼδ, ¿ í«½ÑÑ »«ñα«í¡« «»¿ßδóáÑΓß∩ Σπ¡¬µ¿«¡¿α«óá¡¿Ñ
- ¼«ñπ½Ñ⌐ ∩ñαá, »«¬áºá¡¡δσ ¡á É¿ßπ¡¬Ñ 2.1.
-
-
- E2.2.1 Äíº«α «ß«íÑ¡¡«ßΓÑ⌐ »«ñß¿ßΓѼδ π»αáó½Ñ¡¿∩ Σá⌐½á¼¿F
-
- é¡πΓαÑ¡¡ÑÑ »αÑñßΓáó½Ñ¡¿Ñ Σá⌐½á «»¿ßδóáÑΓß∩ ó ¿¡ñѬßÑ, ¬«Γ«αδ⌐ ß«ñÑনΓ
-
- 24
-
- «»¿ßá¡¿Ñ αẼÑΘÑ¡¿∩ ¿¡Σ«α¼áµ¿¿ Σá⌐½á ¡á ñ¿ß¬Ñ ¿ ñαπúπε ¿¡Σ«α¼áµ¿ε, Γá¬πε ¬á¬
- ó½áñѽѵ Σá⌐½á, »αáóá ñ«ßΓπ»á ¬ Σá⌐½π ¿ óαѼ∩ ñ«ßΓπ»á. ÆÑନ¡ "¿¡ñѬß"
- (inode) Φ¿α«¬« ¿ß»«½∞ºπÑΓß∩ ó ½¿ΓÑαáΓπαÑ »« ß¿ßΓÑ¼Ñ UNIX. èáªñδ⌐ Σá⌐½ ¿¼ÑÑΓ
- «ñ¿¡ ¿¡ñѬß, ¡« ¼«ªÑΓ íδΓ∞ ßó∩ºá¡ ß ¡Ñ߬«½∞¬¿¼¿ ¿¼Ñ¡á¼¿, ¬«Γ«αδÑ óßÑ «Γαáªá-
- εΓß∩ ó ¿¡ñѬßÑ. èáªñ«Ñ ¿¼∩ ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ. è«úñá »α«µÑßß «íαáΘáÑΓß∩ ¬
- Σá⌐½π »« ¿¼Ñ¡¿, ∩ñα« ß¿ßΓѼδ á¡á½¿º¿απÑΓ »« «τÑαÑñ¿ ¬áªñπε ¬«¼»«¡Ñ¡Γπ ¿¼Ñ¡¿
- Σá⌐½á, »α«óÑα∩∩ »αáóá »α«µÑßßá ¡á »α«ß¼«Γα óσ«ñ∩Θ¿σ ó »πΓ∞ »«¿ß¬á ¬áΓὫú«ó,
- ¿ ó ¬«¡µÑ ¬«¡µ«ó ó«ºóαáΘáÑΓ ¿¡ñÑ¬ß Σá⌐½á. ìá»α¿¼Ñα, Ñß½¿ »α«µÑßß «íαáΘáÑΓß∩
- ¬ ß¿ßΓѼÑ:
-
- open("/fs2/mjb/rje/sourcefile", 1);
-
- ∩ñα« ß¿ßΓѼδ ó«ºóαáΘáÑΓ ¿¡ñÑ¬ß ñ½∩ Σá⌐½á "/fs2/mjb/rje/sourcefile". àß½¿
- »α«µÑßß ß«ºñáÑΓ ¡«óδ⌐ Σá⌐½, ∩ñα« »α¿ßóá¿óáÑΓ φΓ«¼π Σá⌐½π ¡Ñ¿ß»«½∞ºπѼδ⌐ ¿¡-
- ñѬß. ê¡ñѬßδ σαá¡∩Γß∩ ó Σá⌐½«ó«⌐ ß¿ßΓÑ¼Ñ (¿ φΓ« ¼δ ÑΘÑ πó¿ñ¿¼), «ñ¡á¬« »α¿
- «íαáí«Γ¬Ñ Σá⌐½«ó ∩ñα« ºá¡«ß¿Γ ¿σ ó Γáí½¿µπ ¿¡ñѬ߫ó ó «»ÑαáΓ¿ó¡«⌐ »á¼∩Γ¿.
- ƒñα« »«ññÑনóáÑΓ ÑΘÑ ñóÑ ¿¡Σ«α¼áµ¿«¡¡δÑ ßΓαπ¬Γπαδ, Γáí½¿µπ Σá⌐½«ó ¿
- »«½∞º«óáΓѽ∞߬πε Γáí½¿µπ ñÑß¬α¿»Γ«α«ó Σá⌐½á. Æáí½¿µá Σá⌐½«ó óδßΓπ»áÑΓ ú½«-
- íá½∞¡«⌐ ßΓαπ¬Γπα«⌐ ∩ñαá, á »«½∞º«óáΓѽ∞߬á∩ Γáí½¿µá ñÑß¬α¿»Γ«α«ó Σá⌐½á óδñÑ-
- ½∩ÑΓß∩ »«ñ »α«µÑßß. àß½¿ »α«µÑßß «Γ¬αδóáÑΓ ¿½¿ ß«ºñáÑΓ Σá⌐½, ∩ñα« óδñѽ∩ÑΓ ó
- ¬áªñ«⌐ Γáí½¿µÑ φ½Ñ¼Ñ¡Γ, ¬«ααÑß»«¡ñ¿απεΘ¿⌐ ß ¿¡ñѬ߫¼ Σá⌐½á. ¥½Ñ¼Ñ¡Γδ ó φΓ¿σ
- ΓαÑσ ßΓαπ¬Γπαáσ - ó »«½∞º«óáΓѽ∞߬«⌐ Γáí½¿µÑ ñÑß¬α¿»Γ«α«ó Σá⌐½á, ó Γáí½¿µÑ
- Σá⌐½«ó ¿ ó Γáí½¿µÑ ¿¡ñѬ߫ó - σαá¡∩Γ ¿¡Σ«α¼áµ¿ε « ß«ßΓ«∩¡¿¿ Σá⌐½á ¿ « ñ«ßΓπ-
- »Ñ »«½∞º«óáΓѽÑ⌐ ¬ ¡Ñ¼π. é Γáí½¿µÑ Σá⌐½«ó σαá¡¿Γß∩ ß¼ÑΘÑ¡¿Ñ ó íá⌐Γáσ «Γ ¡á-
- τá½á Σá⌐½á ñ« Γ«ú« ¼ÑßΓá, «Γ¬πñá ¡áτ¡ÑΓ óδ»«½¡∩Γ∞ß∩ ß½ÑñπεΘá∩ ¬«¼á¡ñá »«½∞-
- º«óáΓѽ∩ read ¿½¿ write,
-
- Å«½∞º«óáΓѽ∞߬á∩
- Γáí½¿µá ñÑß¬α¿»- Æáí½¿µá Æáí½¿µá Γ«α«ó Σá⌐½á Σá⌐½«ó ¿¡ñѬ߫ó
- ┌─────────┐ ┌─────┐ ┌─────┐
- │ - ┼ - ┐ │ │ │ │
- ├─────────┤ │ │ │ │
- │ - ┼ ┐ │ │ │ │ │
- ├─────────┤ │ │ ├─────┤
- │ - ┼┐│ └ - - - ->├─────┤ ┌ - - - ->│ │
- ├─────────┤ └ - - - - ->│ - ┼ - ┘ ├─────┤
- │ ││ ├─────┤ │ │
- │ │└ - ┐ │ │ │ │
- │ │ │ ├─────┤ ┌ - - - ->│ │
- │ │ └─ - - ->│ - ┼ - ┘ ├─────┤
- │ │ ├─────┤ │ │
- │ │ │ │ │ │
- └─────────┘ └─────┘ └─────┘
-
- É¿ßπ¡«¬ 2.2. Æáí½¿µδ Σá⌐½«ó, ñÑß¬α¿»Γ«α«ó Σá⌐½á ¿ ¿¡ñѬ߫ó
-
-
- á Γá¬ªÑ ¿¡Σ«α¼áµ¿∩ « »αáóáσ ñ«ßΓπ»á ¬ «Γ¬αδóáѼ«¼π »α«µÑßßπ. Æáí½¿µá ñÑ߬-
- α¿»Γ«α«ó Σá⌐½á ¿ñÑ¡Γ¿Σ¿µ¿απÑΓ óßÑ «Γ¬αδΓδÑ ñ½∩ »α«µÑßßá Σá⌐½δ. ìá É¿ßπ¡¬Ñ
- 2.2 »«¬áºá¡δ φΓ¿ Γáí½¿µδ ¿ ßó∩º¿ ¼Ñªñπ ¡¿¼¿. é ß¿ßΓѼ¡δσ «»Ñαᵿ∩σ open («Γ-
- ¬αδΓ∞) ¿ creat (ß«ºñáΓ∞) ∩ñα« ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α Σá⌐½á, ¬«Γ«α«¼π ß««ΓóÑΓ-
- ßΓóπÑΓ π¬áºáΓѽ∞ ó Γáí½¿µÑ ñÑß¬α¿»Γ«α«ó Σá⌐½á. Åα¿ óδ»«½¡Ñ¡¿¿ «»Ñαᵿ⌐ read
- (τ¿ΓáΓ∞) ¿ write (»¿ßáΓ∞) ∩ñα« ¿ß»«½∞ºπÑΓ ñÑß¬α¿»Γ«α Σá⌐½á ñ½∩ óσ«ñá ó Γáí-
- ½¿µπ ñÑß¬α¿»Γ«α«ó ¿, ß½Ññπ∩ π¬áºáΓѽ∩¼ ¡á Γáí½¿µπ Σá⌐½«ó ¿ ¡á Γáí½¿µπ ¿¡ñѬ-
- ß«ó, ¡áσ«ñ¿Γ ¿¡Σ«α¼áµ¿ε ó Σá⌐½Ñ. ü«½ÑÑ »«ñα«í¡« φΓ¿ ¿¡Σ«α¼áµ¿«¡¡δÑ ßΓαπ¬Γπαδ
- αáßß¼áΓα¿óáεΓß∩ ó ú½áóáσ 4 ¿ 5. æÑ⌐τáß ñ«ßΓáΓ«τ¡« ߬áºáΓ∞, τΓ« ¿ß»«½∞º«óá¡¿Ñ
- φΓ¿σ Γáí½¿µ «íÑß»Ñτ¿óáÑΓ αẽ¿τ¡πε ßΓѻѡ∞ αáºñѽѡ¿∩ ñ«ßΓπ»á ¬ Σá⌐½π.
- Äíδτ¡δÑ Σá⌐½δ ¿ ¬áΓὫú¿ σαá¡∩Γß∩ ó ß¿ßΓÑ¼Ñ UNIX ¡á πßΓα«⌐ßΓóáσ óó«-
- ñá-óδó«ñá í½«¬á¼¿, Γᬿσ ¬á¬ ¼áú¡¿Γ¡δÑ ½Ñ¡Γδ ¿½¿ ñ¿ß¬¿. ū߬«½∞¬π ßπΘÑßΓóπÑΓ
-
- 25
-
- ¡Ñ¬«Γ«α«Ñ αẽ¿τ¿Ñ ó« óαѼѡ¿ ñ«ßΓπ»á ¬ φΓ¿¼ πßΓα«⌐ßΓóá¼, »α¿ πßΓá¡«ó¬Ñ ß¿ß-
- ΓѼδ UNIX ¡á ½Ñ¡Γáσ αẼÑΘáεΓ Σá⌐½«óδÑ ß¿ßΓѼδ. æ ú«ñἿ íѺñ¿ß¬«óδÑ áóΓ«¼á-
- Γ¿º¿α«óá¡¡δÑ αáí«τ¿Ñ ¼ÑßΓá ßΓá¡πΓ «íΘ¿¼ ß½πτáѼ, ¿ Σá⌐½δ íπñπΓ αáß»«½áúáΓ∞ß∩
- ó πñá½Ñ¡¡«⌐ ß¿ßΓѼÑ, ñ«ßΓπ» ¬ ¬«Γ«α«⌐ íπñÑΓ «ßπΘÑßΓó½∩Γ∞ß∩ τÑαѺ ßÑΓ∞ (ß¼.
- ú½áóπ 13). ä½∩ »α«ßΓ«Γδ, ΓѼ ¡Ñ ¼Ñ¡ÑÑ, ó »«ß½ÑñπεΘѼ ΓѬßΓÑ »«ñαáºπ¼ÑóáÑΓß∩
- ¿ß»«½∞º«óá¡¿Ñ ñ¿ß¬«ó. é ß¿ßΓÑ¼Ñ ¼«ªÑΓ íδΓ∞ ¡Ñ߬«½∞¬« Σ¿º¿τÑ߬¿σ ñ¿ß¬«ó, ¡á
- ¬áªñ«¼ ¿º ¬«Γ«αδσ ¼«ªÑΓ αẼÑΘáΓ∞ß∩ «ñ¡á ¿ í«½ÑÑ Σá⌐½«óδσ ß¿ßΓѼ. Éáºí¿ó¬á
- ñ¿ß¬á ¡á ¡Ñ߬«½∞¬« Σá⌐½«óδσ ß¿ßΓѼ «í½ÑúτáÑΓ áñ¼¿¡¿ßΓαáΓ«απ π»αáó½Ñ¡¿Ñ σαá-
- ¡¿¼δ¼¿ ñá¡¡δ¼¿. ìá ½«ú¿τÑ߬«¼ πα«ó¡Ñ ∩ñα« ¿¼ÑÑΓ ñѽ« ß Σá⌐½«ó묨 ß¿ßΓѼἿ,
- á ¡Ñ ß ñ¿ß¬á¼¿, »α¿ φΓ«¼ ¬áªñá∩ ß¿ßΓѼá Γαá¬ΓπÑΓß∩ ¬á¬ ½«ú¿τÑ߬«Ñ πßΓα«⌐ßΓ-
- ó«, ¿ñÑ¡Γ¿Σ¿µ¿απѼ«Ñ ¡«¼Ñα«¼. ÅαÑ«íαẫóá¡¿Ñ áñαÑß«ó ½«ú¿τÑ߬«ú« πßΓα«⌐ßΓóá
- (Σá⌐½«ó«⌐ ß¿ßΓѼδ) ó áñαÑßá Σ¿º¿τÑ߬«ú« πßΓα«⌐ßΓóá (ñ¿ß¬á) ¿ «íαáΓ¡« óδ»«½-
- ¡∩ÑΓß∩ ñ¿ß¬«óδ¼ ñαá⌐óÑα«¼. ÆÑନ¡ "πßΓα«⌐ßΓó«" ó φΓ«⌐ ¬¡¿úÑ ¿ß»«½∞ºπÑΓß∩ ñ½∩
- «í«º¡áτÑ¡¿∩ ½«ú¿τÑ߬«ú« πßΓα«⌐ßΓóá, ¬α«¼Ñ ߻ѵ¿á½∞¡« «ú«ó«αÑ¡¡δσ ß½πτáÑó.
- öá⌐½«óá∩ ß¿ßΓѼá ß«ßΓ«¿Γ ¿º »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ½«ú¿τÑ߬¿σ í½«¬«ó ñ½¿¡«⌐
- 512, 1024, 2048 ¿½¿ ñαπú«ú« τ¿ß½á íá⌐Γ, ¬αáΓ¡«ú« 512, ó ºáó¿ß¿¼«ßΓ¿ «Γ αÑá-
- ½¿ºáµ¿¿ ß¿ßΓѼδ. ÉẼÑα ½«ú¿τÑ߬«ú« í½«¬á ó¡πΓα¿ «ñ¡«⌐ Σá⌐½«ó«⌐ ß¿ßΓÑ¼δ »«ß-
- Γ«∩¡Ñ¡, ¡« ¼«ªÑΓ óáα∞¿α«óáΓ∞ß∩ ó αạδσ Σá⌐½«óδσ ß¿ßΓѼáσ ó ñá¡¡«⌐ ¬«¡Σ¿úπ-
- αᵿ¿. êß»«½∞º«óá¡¿Ñ ½«ú¿τÑ߬¿σ í½«¬«ó í«½∞Φ«ú« αẼÑαá πóѽ¿τ¿óáÑΓ ß¬«α«ßΓ∞
- »ÑαÑñáτ¿ ñá¡¡δσ ¼Ñªñπ ñ¿ß¬«¼ ¿ »á¼∩Γ∞ε, »«ß¬«½∞¬π ∩ñα« ß¼«ªÑΓ »ÑαÑñáΓ∞ í«½∞-
- ΦÑ ¿¡Σ«α¼áµ¿¿ ºá «ñ¡π ñ¿ß¬«óπε «»Ñαᵿε, ¿ ß«¬αáΘáÑΓ ¬«½¿τÑßΓó« »α«ñ«½ª¿-
- Γѽ∞¡δσ «»Ñαᵿ⌐. ìá»α¿¼Ñα, τΓÑ¡¿Ñ 1 èíá⌐Γá ß ñ¿ß¬á ºá «ñ¡π «»Ñαáµ¿ε «ßπΘÑß-
- Γó½∩ÑΓß∩ íδßΓαÑÑ, τѼ τΓÑ¡¿Ñ 512 íá⌐Γ ºá ñóÑ. Äñ¡á¬«, Ñß½¿ αẼÑα ½«ú¿τÑ߬«-
- ú« í½«¬á ß½¿Φ¬«¼ óѽ¿¬, »«½Ñº¡δ⌐ «íΩѼ »á¼∩Γ¿ ¼«ªÑΓ π¼Ñ¡∞Φ¿Γ∞ß∩, φΓ« íπñÑΓ
- »«¬áºá¡« ó ú½áóÑ 5. ä½∩ »α«ßΓ«Γδ ΓÑନ¡ "í½«¬" ó φΓ«⌐ ¬¡¿úÑ íπñÑΓ ¿ß»«½∞º«-
- óáΓ∞ß∩ ñ½∩ «í«º¡áτÑ¡¿∩ ½«ú¿τÑ߬«ú« í½«¬á, »α¿ φΓ«¼ »«ñαáºπ¼ÑóáÑΓß∩ ½«ú¿τÑß-
- ¬¿⌐ í½«¬ αẼÑα«¼ 1 èíá⌐Γ, ¬α«¼Ñ ߻ѵ¿á½∞¡« «ú«ó«αÑ¡¡δσ ß½πτáÑó.
-
- ┌─────────┬─────────┬───────∙∙∙∙────────┬───────∙∙∙∙──────┐
- │ │ │ │ │
- └─────────┴─────────┴───────∙∙∙∙────────┴───────∙∙∙∙──────┘
- í½«¬ ßπ»Ñα- ß»¿ß«¬ ¿¡ñÑ¬ß«ó ¿¡Σ«α¼áµ¿«¡¡δÑ ºáúαπº¬¿ í½«¬ í½«¬¿
-
- É¿ßπ¡«¬ 2.3. ö«α¼áΓ Σá⌐½«ó«⌐ ß¿ßΓѼδ
-
-
- öá⌐½«óá∩ ß¿ßΓÑ¼á ¿¼ÑÑΓ ß½ÑñπεΘπε ßΓαπ¬Γπαπ (É¿ßπ¡«¬ 2.3).
- * ü½«¬ ºáúαπº¬¿ αáß»«½áúáÑΓß∩ ó ¡áτá½Ñ »α«ßΓαá¡ßΓóá, «ΓóÑñÑ¡¡«ú« »«ñ Σá⌐½«-
- óπε ß¿ßΓѼπ, «íδτ¡« ó »Ñαó«¼ ßÑ¬Γ«αÑ, ¿ ß«ñÑαª¿Γ »α«úαá¼¼π ¡áτá½∞¡«⌐ ºáú-
- απº¬¿, ¬«Γ«αá∩ ßτ¿ΓδóáÑΓß∩ ó ¼áΦ¿¡π »α¿ ºáúαπº¬Ñ ¿½¿ ¿¡¿µ¿á½¿ºáµ¿¿ «»Ñαá-
- µ¿«¡¡«⌐ ß¿ßΓѼδ. ò«Γ∩ ñ½∩ ºá»π߬á ß¿ßΓѼδ ΓαÑíπÑΓß∩ Γ«½∞¬« «ñ¿¡ í½«¬ ºáú-
- απº¬¿, ¬áªñá∩ Σá⌐½«óá∩ ß¿ßΓÑ¼á ¿¼ÑÑΓ ßó«⌐ (»πßΓ∞ ñáªÑ »πßΓ«⌐) í½«¬ ºáúαπº-
- ¬¿.
- * æπ»Ñαí½«¬ «»¿ßδóáÑΓ ß«ßΓ«∩¡¿Ñ Σá⌐½«ó«⌐ ß¿ßΓѼδ - ¬á¬«ú« «¡á αẼÑαá,
- ߬«½∞¬« Σá⌐½«ó ¼«ªÑΓ ó ¡Ñ⌐ σαá¡¿Γ∞ß∩, úñÑ αáß»«½áúáÑΓß∩ ßó«í«ñ¡«Ñ »α«ßΓ-
- αá¡ßΓó«, ñ«ßΓπ»¡«Ñ ñ½∩ Σá⌐½«ó«⌐ ß¿ßΓѼδ, ¿ ñαπúá∩ ¿¡Σ«α¼áµ¿∩.
- * 滿߫¬ ¿¡ñѬ߫ó ó Σá⌐½«ó«⌐ ß¿ßΓÑ¼Ñ αáß»«½áúáÑΓß∩ óß½Ññ ºá ßπ»Ñαí½«¬«¼. Çñ-
- ¼¿¡¿ßΓαáΓ«αδ π¬áºδóáεΓ αẼÑα ß»¿ß¬á ¿¡ñѬ߫ó »α¿ úÑ¡Ñαᵿ¿ Σá⌐½«ó«⌐ ß¿ß-
- ΓѼδ. ƒñα« «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼δ «íαáΘáÑΓß∩ ¬ ¿¡ñѬßá¼, ¿ß»«½∞ºπ∩ π¬áºáΓѽ¿
- ó ß»¿ß¬Ñ ¿¡ñѬ߫ó. Äñ¿¡ ¿º ¿¡ñѬ߫ó ∩ó½∩ÑΓß∩ ¬«α¡Ñóδ¼ ¿¡ñѬ߫¼ Σá⌐½«ó«⌐
- ß¿ßΓѼδ: φΓ« ¿¡ñѬß, »« ¬«Γ«α«¼π «ßπΘÑßΓó½∩ÑΓß∩ ñ«ßΓπ» ¬ ßΓαπ¬ΓπαÑ ¬áΓὫ-
- ú«ó Σá⌐½«ó«⌐ ß¿ßΓÑ¼δ »«ß½Ñ óδ»«½¡Ñ¡¿∩ ß¿ßΓѼ¡«⌐ «»Ñαᵿ¿ mount (¼«¡Γ¿α«-
- óáΓ∞) (αáºñѽ 5.14).
- * ê¡Σ«α¼áµ¿«¡¡δÑ í½«¬¿ αáß»«½áúáεΓß∩ ßαáºπ »«ß½Ñ ß»¿ß¬á ¿¡ñÑ¬ß«ó ¿ ß«ñÑαªáΓ
- ñá¡¡δÑ Σá⌐½«ó ¿ π»αáó½∩εΘ¿Ñ ñá¡¡δÑ. ÄΓñѽ∞¡« óº∩Γδ⌐ ¿¡Σ«α¼áµ¿«¡¡δ⌐ í½«¬
- ¼«ªÑΓ »α¿¡áñ½ÑªáΓ∞ «ñ¡«¼π ¿ Γ«½∞¬« «ñ¡«¼π Σá⌐½π ó Σá⌐½«ó«⌐ ß¿ßΓѼÑ.
-
-
-
-
- 26
-
- E2.2.2 Åα«µÑßßδF
-
- é φΓ«¼ αáºñÑ½Ñ ¼δ αáßß¼«Γα¿¼ í«½ÑÑ »«ñα«í¡« »«ñß¿ßΓѼπ π»αáó½Ñ¡¿∩ »α«-
- µÑßßἿ. äáεΓß∩ αáºΩ∩ߡѡ¿∩ »« »«ó«ñπ ßΓαπ¬Γπαδ »α«µÑßßá ¿ ¡Ñ¬«Γ«αδσ ¿¡Σ«α-
- ¼áµ¿«¡¡δσ ßΓαπ¬Γπα, ¿ß»«½∞ºπѼδσ »α¿ αáß»αÑñѽѡ¿¿ »á¼∩Γ¿ »«ñ »α«µÑßßδ. çá-
- ΓѼ ñáÑΓß∩ »αÑñóáα¿Γѽ∞¡δ⌐ «íº«α ñ¿áúαá¼¼δ ß«ßΓ«∩¡¿∩ »α«µÑßß«ó ¿ ºáΓαáú¿óá-
- εΓß∩ αẽ¿τ¡δÑ ó«»α«ßδ, ßó∩ºá¡¡δÑ ß »ÑαÑσ«ñἿ ¿º «ñ¡«ú« ß«ßΓ«∩¡¿∩ ó ñαπú«Ñ.
- Åα«µÑßß«¼ ¡áºδóáÑΓß∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ «»Ñαᵿ⌐ »α¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼-
- ¼δ, ¬«Γ«αδÑ »αÑñßΓáó½∩εΓ ß«í«⌐ ¡áí«αδ íá⌐Γ«ó, ¿¡ΓÑα»αÑΓ¿απѼδÑ µÑ¡Γαá½∞¡δ¼
- »α«µÑßß«α«¼ ¬á¬ ¼áΦ¿¡¡δÑ ¿¡ßΓαπ¬µ¿¿ (Γ.¡. "ΓѬßΓ"), ñá¡¡δÑ ¿ ßΓѬ«óδÑ ßΓαπ¬-
- Γπαδ. 櫺ñáÑΓß∩ ó»ÑτáΓ½Ñ¡¿Ñ, τΓ« «ñ¡«óαѼѡ¡« óδ»«½¡∩ÑΓß∩ ¼¡«ªÑßΓó« »α«µÑß-
- ß«ó, »«ß¬«½∞¬π ¿σ óδ»«½¡Ñ¡¿Ñ »½á¡¿απÑΓß∩ ∩ñα«¼, ¿, ¬α«¼Ñ Γ«ú«, ¡Ñ߬«½∞¬«
- »α«µÑßß«ó ¼«úπΓ íδΓ∞ φ¬ºÑ¼»½∩αἿ «ñ¡«⌐ »α«úαá¼¼δ. éδ»«½¡Ñ¡¿Ñ »α«µÑßßá ºá¬-
- ½ετáÑΓß∩ ó Γ«τ¡«¼ ß½Ññ«óá¡¿¿ ¡áí«απ ¿¡ßΓαπ¬µ¿⌐, ¬«Γ«αδ⌐ ∩ó½∩ÑΓß∩ ºá¼¬¡πΓδ¼ ¿
- ¡Ñ »ÑαÑñáÑΓ π»αáó½Ñ¡¿Ñ ¡áí«απ ¿¡ßΓαπ¬µ¿⌐ ñαπú«ú« »α«µÑßßá; «¡ ßτ¿ΓδóáÑΓ ¿
- ºá»¿ßδóáÑΓ ¿¡Σ«α¼áµ¿ε ó αáºñѽ ñá¡¡δσ ¿ ó ßΓѬ, ¡« Ѽπ ¡Ññ«ßΓπ»¡δ ñá¡¡δÑ ¿
- ßΓѬ¿ ñαπú¿σ »α«µÑßß«ó. Äñ¡¿ »α«µÑßßδ óºá¿¼«ñÑ⌐ßΓóπεΓ ß ñαπú¿¼¿ »α«µÑßßἿ ¿
- ß «ßΓá½∞¡δ¼ ¼¿α«¼ »«ßαÑñßΓó«¼ «íαáΘÑ¡¿⌐ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ.
- æ »αá¬Γ¿τÑ߬«⌐ Γ«τ¬¿ ºαÑ¡¿∩ »α«µÑßß ó ß¿ßΓÑ¼Ñ UNIX ∩ó½∩ÑΓß∩ «íΩÑ¬Γ«¼,
- ß«ºñáóáÑ¼δ¼ ó αѺπ½∞ΓáΓÑ óδ»«½¡Ñ¡¿∩ ß¿ßΓѼ¡«⌐ «»Ñαᵿ¿ fork. èáªñδ⌐ »α«µÑßß,
- ºá ¿ß¬½ετÑ¡¿Ñ¼ ¡π½Ñó«ú«, »«α«ªñáÑΓß∩ ó αѺπ½∞ΓáΓÑ ºá»π߬á ñαπú¿¼ »α«µÑßß«¼
- «»Ñαᵿ¿ fork. Åα«µÑßß, ºá»πßΓ¿óΦ¿⌐ «»Ñαᵿε fork, ¡áºδóáÑΓß∩ α«ñ¿Γѽ∞߬¿¼,
- á ó¡«ó∞ ß«ºñá¡¡δ⌐ »α«µÑßß - »«α«ªñÑ¡¡δ¼. èáªñδ⌐ »α«µÑßß ¿¼ÑÑΓ «ñ¡«ú« α«ñ¿ΓÑ-
- ½∩, ¡« ¼«ªÑΓ »«α«ñ¿Γ∞ ¼¡«ú« »α«µÑßß«ó. ƒñα« ß¿ßΓÑ¼δ ¿ñÑ¡Γ¿Σ¿µ¿απÑΓ ¬áªñδ⌐
- »α«µÑßß »« Ñú« ¡«¼Ñαπ, ¬«Γ«αδ⌐ ¡áºδóáÑΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ »α«µÑßßá (PID).
- ìπ½Ñó«⌐ »α«µÑßß ∩ó½∩ÑΓß∩ «ß«íÑ¡¡δ¼ »α«µÑßß«¼, ¬«Γ«αδ⌐ ß«ºñáÑΓß∩ "óαπτ¡πε" ó
- αѺπ½∞ΓáΓÑ ºáúαπº¬¿ ß¿ßΓѼδ; »«ß½Ñ »«α«ªñÑ¡¿∩ ¡«ó«ú« »α«µÑßßá (»α«µÑßß 1)
- ¡π½Ñó«⌐ »α«µÑßß ßΓá¡«ó¿Γß∩ »α«µÑßß«¼ »«ñ¬áτ¬¿. Åα«µÑßß 1, ¿ºóÑßΓ¡δ⌐ »«ñ ¿¼Ñ-
- ¡Ñ¼ init, ∩ó½∩ÑΓß∩ »αÑñ¬«¼ ½εí«ú« ñαπú«ú« »α«µÑßßá ó ß¿ßΓÑ¼Ñ ¿ ßó∩ºá¡ ß ¬áª-
- ñδ¼ »α«µÑßß«¼ «ß«íδ¼ «íαẫ¼, «»¿ßδóáÑ¼δ¼ ó ú½áóÑ 7.
- Å«½∞º«óáΓѽ∞, Γαá¡ß½¿απ∩ ¿ßσ«ñ¡δ⌐ ΓѬßΓ »α«úαá¼¼δ, ß«ºñáÑΓ ¿ß»«½¡∩Ѽδ⌐
- Σá⌐½, ¬«Γ«αδ⌐ ß«ßΓ«¿Γ ¿º ¡Ñ߬«½∞¬¿σ τáßΓÑ⌐:
- * ¡áí«αá "ºáú«½«ó¬«ó", «»¿ßδóáεΘ¿σ áΓα¿íπΓδ Σá⌐½á,
- * ΓѬßΓá »α«úαá¼¼δ,
- * »αÑñßΓáó½Ñ¡¿∩ ¡á ¼áΦ¿¡¡«¼ ∩ºδ¬Ñ ñá¡¡δσ, ¿¼ÑεΘ¿σ ¡áτá½∞¡δÑ
- º¡áτÑ¡¿∩ »α¿ ºá»π᪥ »α«úαá¼¼δ ¡á óδ»«½¡Ñ¡¿Ñ, ¿ π¬áºá¡¿∩ ¡á Γ«, ߬«½∞¬«
- »α«ßΓαá¡ßΓóá »á¼∩Γ¿ ∩ñα« ß¿ßΓѼδ óδñѽ¿Γ »«ñ ¡Ñ¿¡áµ¿á½¿º¿α«óá¡¡δÑ ñá¡¡δÑ,
- Γᬠ¡áºδóáѼδÑ bss (*) (∩ñα« πßΓá¡áó½¿óáÑΓ ¿σ ó 0 ó ¼«¼Ñ¡Γ ºá»π߬á),
- * ñαπú¿σ ßѬµ¿⌐, Γᬿσ ¬á¬ ¿¡Σ«α¼áµ¿∩ ß¿¼ó«½¿τÑ߬¿σ Γáí½¿µ.
- ä½∩ »α«úαá¼¼δ, »α¿óÑñÑ¡¡«⌐ ¡á É¿ßπ¡¬Ñ 1.3, ΓѬßΓ ¿ß»«½¡∩Ѽ«ú« Σá⌐½á
- »αÑñßΓáó½∩ÑΓ ß«í«⌐ ßúÑ¡Ñα¿α«óá¡¡δ⌐ ¬«ñ ñ½∩ Σπ¡¬µ¿⌐ main ¿ copy, ¬ «»αÑñѽѡ-
- ¡δ¼ ñá¡¡δ¼ «Γ¡«ß¿Γß∩ »ÑαѼѡ¡á∩ version (óßΓáó½Ñ¡¡á∩ ó »α«úαá¼¼π ñ½∩ Γ«ú«,
- τΓ«íδ ó »«ß½Ññ¡Ñ⌐ ¿¼Ñ½¿ß∞ ¡Ñ¬«Γ«αδÑ «»αÑñѽѡ¡δÑ ñá¡¡δÑ), á ¬ ¡Ñ«»αÑñѽѡ¡δ¼
- - ¼áßß¿ó buffer. 諼»¿½∩Γ«α ß ∩ºδ¬á æ¿ ñ½∩ ß¿ßΓѼδ óÑαß¿¿ V ß«ºñáÑΓ «Γñѽ∞¡«
- ΓѬßΓ«óπε ßѬµ¿ε »« π¼«½τá¡¿ε, ¡« ¡Ñ ¿ß¬½ετáÑΓß∩ 󫺼«ª¡«ßΓ∞ ó¬½ετÑ¡¿∩ ¿¡ßΓ-
- απ¬µ¿⌐ »α«úαá¼¼δ ¿ ó ßѬµ¿ε ñá¡¡δσ, ¬á¬ ó »αÑñδñπΘ¿σ óÑαß¿∩σ ß¿ßΓѼδ.
- ƒñα« ºáúαπªáÑΓ ¿ß»«½¡∩Ѽδ⌐ Σá⌐½ ó »á¼∩Γ∞ »α¿ óδ»«½¡Ñ¡¿¿ ß¿ßΓѼ¡«⌐ «»Ñαá-
- µ¿¿ exec, »α¿ φΓ«¼ ºáúαπªÑ¡¡δ⌐ »α«µÑßß ß«ßΓ«¿Γ »« ¼Ñ¡∞ΦÑ⌐ ¼ÑαÑ ¿º ΓαÑσ τáß-
- ΓÑ⌐, Γᬠ¡áºδóáѼδσ «í½áßΓÑ⌐: ΓѬßΓá, ñá¡¡δσ ¿ ßΓѬá. Äí½áßΓ¿ ΓѬßΓá ¿ ñá¡-
- ¡δσ ¬«ααÑß»«¡ñ¿απεΓ ß ßѬµ¿∩¼¿ ΓѬßΓá ¿ bss-ñá¡¡δσ ¿ß»«½¡∩Ѽ«ú« Σá⌐½á, á «í-
- ½áßΓ∞ ßΓѬá ß«ºñáÑΓß∩ áóΓ«¼áΓ¿τÑ߬¿ ¿ ÑÑ αẼÑα ñ¿¡á¼¿τÑ߬¿ πßΓá¡áó½¿óáÑΓß∩
- ∩ñα«¼ ß¿ßΓѼδ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩. æΓѬ ß«ßΓ«¿Γ ¿º ½«ú¿τÑ߬¿σ ºá»¿ßÑ⌐ á¬Γ¿-
- óᵿ¿, »«¼ÑΘáѼδσ ó ßΓѬ »α¿ ó맮óÑ Σπ¡¬µ¿¿ ¿ óδΓὬ¿óáѼδσ ¿º ßΓÑ¬á »α¿
- ó«ºóαáΓÑ π»αáó½Ñ¡¿∩ ó óδºóáóΦπε »α«µÑñπαπ; ߻ѵ¿á½∞¡δ⌐ αÑú¿ßΓα, ¿¼Ñ¡πѼδ⌐
- π¬áºáΓѽѼ óÑαΦ¿¡δ ßΓѬá, »«¬áºδóáÑΓ ΓѬπΘπε ú½πí¿¡π ßΓѬá. çỿß∞ á¬Γ¿óᵿ¿
- ó¬½ετáÑΓ »áαá¼ÑΓαδ »ÑαÑñáóáÑ-
- ────────────────────────────────────────────────
- (*) 櫬αáΘÑ¡¿Ñ bss ¿¼ÑÑΓ »α«¿ßσ«ªñÑ¡¿Ñ «Γ áßßѼí½Ñα¡«ú« »ßÑóñ««»ÑαáΓ«αá ñ½∩
- ¼áΦ¿¡δ IBM 7090 ¿ αáßΦ¿Σα«óδóáÑΓß∩ ¬á¬ "block started by symbol" ("í½«¬, ¡á-
- τ¿¡áεΘ¿⌐ß∩ ß ß¿¼ó«½á").
- 27
-
- ¼δÑ Σπ¡¬µ¿¿, ÑÑ ½«¬á½∞¡δÑ »ÑαѼѡ¡δÑ, á Γá¬ªÑ ñá¡¡δÑ, ¡Ñ«íσ«ñ¿¼δÑ ñ½∩ ó«ßß-
- Γá¡«ó½Ñ¡¿∩ »αÑñδñπΘÑ⌐ ºá»¿ß¿ á¬Γ¿óᵿ¿, ó Γ«¼ τ¿ß½Ñ º¡áτÑ¡¿∩ ßτÑΓτ¿¬á ¬«¼á¡ñ
- ¿ π¬áºáΓѽ∩ óÑαΦ¿¡δ ßΓѬá ó ¼«¼Ñ¡Γ ó맮óá Σπ¡¬µ¿¿. ÆÑ¬ßΓ »α«úαá¼¼δ ó¬½ετáÑΓ
-
- æΓѬ ºáñáτ¿ ìá»αáó½Ñ¡¿Ñ æΓѬ ∩ñαá
- ┌──────────────┐ πóѽ¿τÑ¡¿∩ ßΓѬá ┌──────────────────┐
- │ 﫬á½∞¡δÑ │ ^ │ │
- │ »ÑαѼѡ¡δÑ │ │ │ ^ │
- │ (¡Ñ »«¬áºá¡δ)│ │ │ . │
- │--------------│ │ │ . │
- │ÇñαÑß ºá»¿ß¿ 2│ │ │ . │
- │--------------│ │ │ . │
- │ÇñαÑß ó«ºóαáΓá│ │ │ . │
- │ »«ß½Ñ ó맮óá │ │ │ . │
- │ write │ │ │ . │
- │--------------│ │ │ . │
- │»áαá¼ÑΓαδ, »Ñ-│ │ │ . │
- │ αÑñáóáѼδÑ │ │ │ . │
- │ write │ │ │ . │
- │(new, buffer, │ │ │ v │
- │ count) │ çỿß∞ 3 │ │
- ├──────────────┤ call write() çỿß∞ 3 ├──────────────────┤
- │ 﫬á½∞¡δÑ │ │ 﫬á½∞¡δÑ │
- │ »ÑαѼѡ¡δÑ │ │ »ÑαѼѡ¡δÑ │
- │ (count) │ │ │
- │--------------│ │------------------│
- │ÇñαÑß ºá»¿ß¿ 1│ │ ÇñαÑß ºá»¿ß¿ 1 │
- │--------------│ │------------------│
- │ÇñαÑß ó«ºóαáΓá│ │ ÇñαÑß ó«ºóαáΓá │
- │ »«ß½Ñ ó맮óá │ │ »«ß½Ñ ó맮óá │
- │ copy │ │ func2 │
- │--------------│ │------------------│
- │»áαá¼ÑΓαδ, »Ñ-│ │ »áαá¼ÑΓαδ, »ÑαÑ- │
- │ αÑñáóáѼδÑ │ │ ñáóáѼδÑ Σπ¡¬µ¿¿ │
- │ copy │ │ ∩ñαá func2 │
- │ (old, new) │ çỿß∞ 2 çỿß∞ 2 │ │
- ├──────────────┤ call copy() call func2() ├──────────────────┤
- │ 﫬á½∞¡δÑ │ │ 﫬á½∞¡δÑ │
- │ »ÑαѼѡ¡δÑ │ │ »ÑαѼѡ¡δÑ │
- │(fdold, fdnew)│ │ │
- │--------------│ │------------------│
- │ÇñαÑß ºá»¿ß¿ 0│ │ ÇñαÑß ºá»¿ß¿ 0 │
- │--------------│ │------------------│
- │ÇñαÑß ó«ºóαáΓá│ │ ÇñαÑß ó«ºóαáΓá │
- │ »«ß½Ñ ó맮óá │ │ »«ß½Ñ ó맮óá │
- │ main │ │ func1 │
- │--------------│ │------------------│
- │»áαá¼ÑΓαδ, »Ñ-│ │ »áαá¼ÑΓαδ, »ÑαÑ- │
- │ αÑñáóáѼδÑ │ │ ñáóáѼδÑ Σπ¡¬µ¿¿ │
- │ main │ │ ∩ñαá func1 │
- │ (argc, argv) │ çỿß∞ 1 çỿß∞ 1 │ │
- └──────────────┘ call main() call func1() └──────────────────┘
-
- çỿß∞ 0 çỿß∞ 0
- æΓáαΓ ê¡ΓÑαΣÑ⌐ß
- «íαáΘÑ¡¿⌐ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ
-
- É¿ßπ¡«¬ 2.4. æΓѬ¿ ºáñáτ¿ ¿ ∩ñαá ñ½∩ »α«úαá¼¼δ ¬«»¿α«óá¡¿∩.
-
-
- 28
-
- »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ¬«¼á¡ñ, π»αáó½∩εΘ¿Ñ πóѽ¿τÑ¡¿Ñ¼ ßΓѬá, á ∩ñα« ß¿ßΓѼδ óδ-
- ñѽ∩ÑΓ, Ñß½¿ ¡πª¡«, ¼ÑßΓ« »«ñ ßΓѬ. é »α«úαá¼¼Ñ ¡á É¿ßπ¡¬Ñ 1.3 »áαá¼ÑΓαδ
- argc ¿ argv, á Γá¬ªÑ »ÑαѼѡ¡δÑ fdold ¿ fdnew, ß«ñÑαªáΘ¿Ñß∩ ó ó맮óÑ Σπ¡¬µ¿¿
- main, »«¼ÑΘáεΓß∩ ó ßΓѬ, ¬á¬ Γ«½∞¬« óßΓαÑΓ¿½«ß∞ «íαáΘÑ¡¿Ñ ¬ Σπ¡¬µ¿¿ main
- («ñ¿¡ αẠó ¬áªñ«⌐ »α«úαá¼¼Ñ, »« πß½«ó¿ε), ΓᬠªÑ ¿ »áαá¼ÑΓαδ old ¿ new ¿
- »ÑαѼѡ¡á∩ count, ß«ñÑαªáΘ¿Ñß∩ ó ó맮óÑ Σπ¡¬µ¿¿ copy, »«¼ÑΘáεΓß∩ ó ßΓѬ ó
- ¼«¼Ñ¡Γ «íαáΘÑ¡¿∩ ¬ π¬áºá¡¡«⌐ Σπ¡¬µ¿¿.
- ū߬«½∞¬π »α«µÑßß ó ß¿ßΓÑ¼Ñ UNIX ¼«ªÑΓ óδ»«½¡∩Γ∞ß∩ ó ñóπσ αѪ¿¼áσ, αѪ¿-
- ¼Ñ ∩ñαá ¿½¿ αѪ¿¼Ñ ºáñáτ¿, «¡ »«½∞ºπÑΓß∩ ó ¬áªñ«¼ ¿º φΓ¿σ αѪ¿¼«ó «Γñѽ∞¡δ¼
- ßΓѬ«¼. æΓѬ ºáñáτ¿ ß«ñÑαª¿Γ áαúπ¼Ñ¡Γδ, ½«¬á½∞¡δÑ »ÑαѼѡ¡δÑ ¿ ñαπúπε ¿¡Σ«α-
- ¼áµ¿ε «Γ¡«ß¿Γѽ∞¡« Σπ¡¬µ¿⌐, óδ»«½¡∩Ѽδσ ó αѪ¿¼Ñ ºáñáτ¿. æ½Ñóá ¡á É¿ßπ¡¬Ñ
- 2.4 »«¬áºá¡ ßΓѬ ºáñáτ¿ ñ½∩ »α«µÑßßá, ßó∩ºá¡¡«ú« ß óδ»«½¡Ñ¡¿Ñ¼ ß¿ßΓѼ¡«⌐
- «»Ñαᵿ¿ write ó »α«úαá¼¼Ñ copy. Åα«µÑñπαá ºá»πß¬á »α«µÑßßá (ó¬½ετÑ¡¡á∩ ó
- í¿í½¿«ΓѬπ) «íαáΓ¿½áß∞ ¬ Σπ¡¬µ¿¿ main ß »ÑαÑñáτÑ⌐ Ñ⌐ ñóπσ »áαá¼ÑΓα«ó, »«¼Ñß-
- Γ¿ó ó ßΓѬ ºáñáτ¿ ºá»¿ß∞ 1; ó ºá»¿ß¿ 1 ÑßΓ∞ ¼ÑßΓ« ñ½∩ ñóπσ ½«¬á½∞¡δσ »ÑαÑ-
- ¼Ñ¡¡δσ Σπ¡¬µ¿¿ main. öπ¡¬µ¿∩ main ºáΓѼ óδºδóáÑΓ Σπ¡¬µ¿ε copy ß »ÑαÑñáτÑ⌐ Ñ⌐
- ñóπσ »áαá¼ÑΓα«ó, old ¿ new, ¿ »«¼ÑΘáÑΓ ó ßΓѬ ºáñáτ¿ ºá»¿ß∞ 2; ó ºá»¿ß¿ 2
- ÑßΓ∞ ¼ÑßΓ« ñ½∩ ½«¬á½∞¡«⌐ »ÑαѼѡ¡«⌐ count. ìᬫ¡Ñµ, »α«µÑßß á¬Γ¿ó¿º¿απÑΓ
- ß¿ßΓѼ¡πε «»Ñαᵿε write, óδºóáó í¿í½¿«ΓÑτ¡πε Σπ¡¬µ¿ε ß ΓѼ ªÑ ¿¼Ñ¡Ñ¼. èáª-
- ñ«⌐ ß¿ßΓѼ¡«⌐ «»Ñαᵿ¿ ß««ΓóÑΓßΓóπÑΓ Γ«τ¬á óσ«ñá ó í¿í½¿«ΓÑ¬Ñ ß¿ßΓѼ¡δσ «»Ñ-
- αᵿ⌐; í¿í½¿«ΓѬá ß¿ßΓѼ¡δσ «»Ñαᵿ⌐ ¡á»¿ßá¡á ¡á ∩ºδ¬Ñ áßßѼí½Ñαá ¿ ó¬½ετáÑΓ
- ߻ѵ¿á½∞¡δÑ ¬«¼á¡ñδ »αÑαδóá¡¿∩, ¬«Γ«αδÑ, óδ»«½¡∩∩ß∞, »«α«ªñáεΓ "»αÑαδóá¡¿Ñ",
- óδºδóáεΘÑÑ »ÑαѬ½ετÑ¡¿Ñ á»»áαáΓπαδ ó αѪ¿¼ ∩ñαá. Åα«µÑßß ¿ΘÑΓ ó í¿í½¿«ΓѬÑ
- Γ«τ¬π óσ«ñá, ß««ΓóÑΓßΓóπεΘπε «Γñѽ∞¡«⌐ ß¿ßΓѼ¡«⌐ «»Ñαᵿ¿, »«ñ«í¡« Γ«¼π, ¬á¬
- «¡ óδºδóáÑΓ ½εíπε ¿º Σπ¡¬µ¿⌐, ß«ºñáóá∩ »α¿ φΓ«¼ ñ½∩ í¿í½¿«ΓÑτ¡«⌐ Σπ¡¬µ¿¿ ºá-
- »¿ß∞ á¬Γ¿óᵿ¿. è«úñá »α«µÑßß óδ»«½¡∩ÑΓ ß»Ñµ¿á½∞¡πε ¿¡ßΓαπ¬µ¿ε, «¡ »ÑαѬ½ε-
- τáÑΓß∩ ó αѪ¿¼ ∩ñαá, óδ»«½¡∩ÑΓ «»Ñαᵿ¿ ∩ñαá ¿ ¿ß»«½∞ºπÑΓ ßΓѬ ∩ñαá.
- æΓѬ ∩ñαá ß«ñÑαª¿Γ ºá»¿ß¿ á¬Γ¿óᵿ¿ ñ½∩ Σπ¡¬µ¿⌐, óδ»«½¡∩εΘ¿σß∩ ó αѪ¿¼Ñ
- ∩ñαá. ¥½Ñ¼Ñ¡Γδ Σπ¡¬µ¿⌐ ¿ ñá¡¡δσ ó ßΓÑ¬Ñ ∩ñαá ß««ΓóÑΓßΓóπεΓ Σπ¡¬µ¿∩¼ ¿ ñá¡-
- ¡δ¼, «Γ¡«ß∩Θ¿¼ß∩ ¬ ∩ñαπ, ¡« ¡Ñ ¬ »α«úαá¼¼Ñ »«½∞º«óáΓѽ∩, ΓѼ ¡Ñ ¼Ñ¡ÑÑ, ¬«¡ß-
- Γαπ¬µ¿∩ ßΓѬá ∩ñαá »«ñ«í¡á ¬«¡ßΓαπ¬µ¿¿ ßΓÑ¬á ºáñáτ¿. æΓѬ ∩ñαá ñ½∩ »α«µÑßßá
- »πßΓ, Ñß½¿ »α«µÑßß óδ»«½¡∩ÑΓß∩ ó αѪ¿¼Ñ ºáñáτ¿. æ»αáóá ¡á É¿ßπ¡¬Ñ 2.4 »αÑñß-
- Γáó½Ñ¡ ßΓѬ ∩ñαá ñ½∩ »α«µÑßßá óδ»«½¡Ñ¡¿∩ ß¿ßΓѼ¡«⌐ «»Ñαᵿ¿ write ó »α«úαá¼-
-
- »α«¼ÑªπΓ«τ¡á∩
- Γáí½¿µá «í½áß- Γáí½¿µá
- ΓÑ⌐ »α«µÑßß«ó «í½áßΓÑ⌐
- ┌─────────────────────┐ ┌─────────────┐ ┌────────────┐
- │ τáßΓ∞ áñαÑß¡«ú« »α«-│ │ │ │ │
- │ ßΓαá¡ßΓóá ºáñáτ¿, │ │ │ │ │
- │ óδñѽѡ¡á∩ »α«µÑßßπ │ │ │ │ │
- └─────────────────────┘ ├─────────────┤ ├────────────┤
- ^ ┌──┼─> ───┼─────┼─> │
- │ │ ├─────────────┤ ├─────┼──────┤
- ┌──────────┼──────────┐ ├──┼─> ───┼──┐ │ │ │
- │ │ │ │ ├─────────────┤ │ │ │ │
- │ │ │ │ │ │ │ ├─────┼──────┤
- ├──────────┼──────────┤ │ │ │ └──┼─> │ │
- │ v ─────┼──┘ │ │ ├─────┼───┼──┤
- ├─────────────────────┤ │ │ │ │ │ │
- │ │ └─────────────┘ └─────┼───┼──┘
- │ │ │ │
- └─────────────────────┘ │ │
- Γáí½¿µá »α«µÑßß«ó ┌─────────────────────────┼───┼──┐
- │ «»ÑαáΓ¿ó¡á∩ »á¼∩Γ∞ v v │
- └────────────────────────────────┘
-
- É¿ßπ¡«¬ 2.5. ê¡Σ«α¼áµ¿«¡¡δÑ ßΓαπ¬Γπαδ ñ½∩ »α«µÑßß«ó
-
-
- 29
-
-
- ¼Ñ copy. Å«ñα«í¡« á½ú«α¿Γ¼δ óδ»«½¡Ñ¡¿∩ ß¿ßΓѼ¡«⌐ «»Ñαᵿ¿ write íπñπΓ «»¿ßá-
- ¡δ ó »«ß½ÑñπεΘ¿σ αáºñѽáσ.
- èáªñ«¼π »α«µÑßßπ ß««ΓóÑΓßΓóπÑΓ Γ«τ¬á óσ«ñá ó Γáí½¿µÑ »α«µÑßß«ó ∩ñαá,
- ¬α«¼Ñ Γ«ú«, ¬áªñ«¼π »α«µÑßßπ óδñѽ∩ÑΓß∩ τáßΓ∞ «»ÑαáΓ¿ó¡«⌐ »á¼∩Γ¿, «ΓóÑñÑ¡¡á∩
- »«ñ ºáñáτπ »«½∞º«óáΓѽ∩. Æáí½¿µá »α«µÑßß«ó ó¬½ετáÑΓ ó ßÑí∩ π¬áºáΓѽ¿ ¡á »α«-
- ¼ÑªπΓ«τ¡πε Γáí½¿µπ «í½áßΓÑ⌐ »α«µÑßß«ó, Γ«τ¬¿ óσ«ñá ó ¬«Γ«απε ß½πªáΓ ó ¬áτÑß-
- ΓóÑ π¬áºáΓѽÑ⌐ ¡á ß«íßΓóÑ¡¡« Γáí½¿µπ «í½áßΓÑ⌐. Äí½áßΓ∞ε ¡áºδóáÑΓß∩ ¡Ñ»αÑαδó-
- ¡á∩ º«¡á
- áñαÑß¡«ú« »α«ßΓαá¡ßΓóá, óδñѽ∩Ѽá∩ »α«µÑßßπ ñ½∩ αẼÑΘÑ¡¿∩ ΓѬßΓá, ñá¡¡δσ ¿
- ßΓѬá. Æ«τ¬¿ óσ«ñá ó Γáí½¿µπ «í½áßΓÑ⌐ «»¿ßδóáεΓ áΓα¿íπΓδ «í½áßΓ¿, ¬á¬ ¡á»α¿-
- ¼Ñα, σαá¡∩Γß∩ ½¿ ó «í½áßΓ¿ ΓѬßΓ »α«úαá¼¼δ ¿½¿ ñá¡¡δÑ, ºá¬αδΓá∩ ½¿ φΓá «í-
- ½áßΓ∞ ¿½¿ ªÑ ß«ó¼ÑßΓ¡« ¿ß»«½∞ºπѼá∩, ¿ úñÑ ¬«¡¬αÑΓ¡« ó »á¼∩Γ¿ αẼÑΘáÑΓß∩
- ß«ñÑন¼«Ñ «í½áßΓ¿. é¡ÑΦ¡¿⌐ πα«óÑ¡∞ ¬«ßóÑ¡¡«⌐ áñαÑßᵿ¿ (τÑαѺ »α«¼ÑªπΓ«τ¡πε
- Γáí½¿µπ «í½áßΓÑ⌐, ¿ß»«½∞ºπѼδσ »α«µÑßßἿ, ¬ ß«íßΓóÑ¡¡« Γáí½¿µÑ «í½áßΓÑ⌐)
- »«ºó«½∩ÑΓ ¡Ñºáó¿ß¿¼δ¼ »α«µÑßßá¼ ß«ó¼ÑßΓ¡« ¿ß»«½∞º«óáΓ∞ «í½áßΓ¿. è«úñá »α«-
- µÑßß ºá»π߬áÑΓ ß¿ßΓѼ¡πε «»Ñαᵿε exec, ∩ñα« ß¿ßΓѼδ óδñѽ∩ÑΓ «í½áßΓ¿ »«ñ ÑÑ
- ΓѬßΓ, ñá¡¡δÑ ¿ ßΓѬ, «ßó«í«ªñá∩ ßΓáαδÑ «í½áßΓ¿, ¬«Γ«αδÑ ¿ß»«½∞º«ó὿ß∞ »α«-
- µÑßß«¼. àß½¿ »α«µÑßß ºá»π߬áÑΓ «»Ñαᵿε fork, ∩ñα« πñóá¿óáÑΓ αẼÑα áñαÑß¡«-
- ú« »α«ßΓαá¡ßΓóá ßΓáα«ú« »α«µÑßßá, »«ºó«½∩∩ »α«µÑßßá¼ ß«ó¼ÑßΓ¡« ¿ß»«½∞º«óáΓ∞
- «í½áßΓ¿, ¬«úñá φΓ« 󫺼«ª¡«, ¿, ß ñαπú«⌐ ßΓ«α«¡δ, »α«¿ºó«ñ∩ Σ¿º¿τÑ߬«Ñ ¬«»¿-
- α«óá¡¿Ñ. àß½¿ »α«µÑßß ºá»π߬áÑΓ «»Ñαᵿε exit, ∩ñα« «ßó«í«ªñáÑΓ «í½áßΓ¿, ¬«-
- Γ«αδÑ ¿ß»«½∞º«ó὿ß∞ »α«µÑßß«¼. ìá É¿ßπ¡¬Ñ 2.5 ¿º«íαáªÑ¡δ ¿¡Σ«α¼áµ¿«¡¡δÑ
- ßΓαπ¬Γπαδ, ßó∩ºá¡¡δÑ ß ºá»π߬«¼ »α«µÑßßá. Æáí½¿µá »α«µÑßß«ó ßßδ½áÑΓß∩ ¡á
- »α«¼ÑªπΓ«τ¡πε Γáí½¿µπ «í½áßΓÑ⌐, ¿ß»«½∞ºπѼδσ »α«µÑßß«¼, ó ¬«Γ«α«⌐ ß«ñÑαªáΓß∩
- π¬áºáΓѽ¿ ¡á ºá»¿ß¿ ó ß«íßΓóÑ¡¡« Γáí½¿µÑ «í½áßΓÑ⌐, ß««ΓóÑΓßΓóπεΘ¿Ñ «í½áßΓ∩¼
- ñ½∩ ΓѬßΓá, ñá¡¡δσ ¿ ßΓÑ¬á »α«µÑßßá.
- çỿß∞ ó Γáí½¿µÑ »α«µÑßß«ó ¿ τáßΓ∞ áñαÑß¡«ú« »α«ßΓαá¡ßΓóá ºáñáτ¿, óδñÑ-
- ½Ñ¡¡á∩ »α«µÑßßπ, ß«ñÑαªáΓ π»αáó½∩εΘπε ¿¡Σ«α¼áµ¿ε ¿ ñá¡¡δÑ « ß«ßΓ«∩¡¿¿ »α«-
- µÑßßá. ¥Γ« áñαÑß¡«Ñ »α«ßΓαá¡ßΓó« ∩ó½∩ÑΓß∩ αáßΦ¿αÑ¡¿Ñ¼ ß««ΓóÑΓßΓóπεΘÑ⌐ ºá»¿ß¿
- ó Γáí½¿µÑ »α«µÑßß«ó, αẽ¿τ¿∩ ¼Ñªñπ ñá¡¡δ¼¿ «íΩѬΓἿ íπñπΓ αáßß¼«ΓαÑ¡δ ó
- ú½áóÑ 6. é ¬áτÑßΓóÑ »«½Ñ⌐ ó Γáí½¿µÑ »α«µÑßß«ó, ¬«Γ«αδÑ αáßß¼áΓα¿óáεΓß∩ ó
- »«ß½ÑñπεΘ¿σ αáºñѽáσ, óδßΓπ»áεΓ:
- * »«½Ñ ß«ßΓ«∩¡¿∩,
- * ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ, ¬«Γ«αδÑ σáαá¬ΓÑਧπεΓ »«½∞º«óáΓѽ∩, ∩ó½∩εΘÑú«ß∩ ó½á-
- ñѽ∞µÑ¼ »α«µÑßßá (¬«ñ »«½∞º«óáΓѽ∩ ¿½¿ UID),
- * º¡áτÑ¡¿Ñ ñÑß¬α¿»Γ«αá ß«íδΓ¿∩, ¬«úñá »α«µÑßß »α¿«ßΓá¡«ó½Ñ¡ (¡áσ«ñ¿Γß∩ ó
- ß«ßΓ«∩¡¿¿ "ß¡á").
- ÇñαÑß¡«Ñ »α«ßΓαá¡ßΓó« ºáñáτ¿, óδñѽѡ¡«Ñ »α«µÑßßπ, ß«ñÑαª¿Γ «»¿ßδóáεΘπε
- »α«µÑßß ¿¡Σ«α¼áµ¿ε, ñ«ßΓπ» ¬ ¬«Γ«α«⌐ ñ«½ªÑ¡ «íÑß»Ñτ¿óáΓ∞ß∩ Γ«½∞¬« ó« óαѼ∩
- óδ»«½¡Ñ¡¿∩ »α«µÑßßá. éáª¡δ¼¿ »«½∩¼¿ ∩ó½∩εΓß∩:
-
- * π¬áºáΓѽ∞ ¡á »«º¿µ¿ε ó Γáí½¿µÑ »α«µÑßß«ó, ß««ΓóÑΓßΓóπεΘπε ΓѬπΘѼπ
- »α«µÑßßπ,
- * »áαá¼ÑΓαδ ΓѬπΘÑ⌐ ß¿ßΓѼ¡«⌐ «»Ñαᵿ¿, ó«ºóαáΘáѼδÑ º¡áτÑ¡¿∩ ¿ ¬«ñδ
- «Φ¿í«¬,
- * ñÑß¬α¿»Γ«αδ Σá⌐½á ñ½∩ óßÑσ «Γ¬αδΓδσ Σá⌐½«ó,
- * ó¡πΓαÑ¡¡¿Ñ »áαá¼ÑΓαδ óó«ñá-óδó«ñá,
- * ΓѬπΘ¿⌐ ¬áΓὫú ¿ ΓѬπΘ¿⌐ ¬«αÑ¡∞ (ß¼. ú½áóπ 5),
- * úαá¡¿µδ Σá⌐½«ó ¿ »α«µÑßßá.
- ƒñα« ß¿ßΓÑ¼δ ¿¼ÑÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡δ⌐ ñ«ßΓπ» ¬ »«½∩¼ áñαÑß¡«ú« »α«ßΓαá¡ßΓ-
- óá ºáñáτ¿, óδñѽѡ¡«ú« óδ»«½¡∩Ѽ«¼π »α«µÑßßπ, ¡« ¡Ñ ¿¼ÑÑΓ ñ«ßΓπ» ¬ ß««ΓóÑΓß-
- ΓóπεΘ¿¼ »«½∩¼ ñαπú¿σ »α«µÑßß«ó. æ Γ«τ¬¿ ºαÑ¡¿∩ ó¡πΓαÑ¡¡Ñú« á½ú«α¿Γ¼á, »α¿
- «íαáΘÑ¡¿¿ ¬ áñαÑß¡«¼π »α«ßΓαá¡ßΓóπ ºáñáτ¿, óδñѽѡ¡«¼π óδ»«½¡∩Ѽ«¼π »α«µÑß-
- ßπ, ∩ñα« ßßδ½áÑΓß∩ ¡á ßΓαπ¬Γπα¡πε »ÑαѼѡ¡πε u, ¿, ¬«úñá ºá»π߬áÑΓß∩ ¡á óδ-
- »«½¡Ñ¡¿Ñ ñαπú«⌐ »α«µÑßß, ∩ñα« »ÑαÑ¡áßΓαá¿óáÑΓ ó¿αΓπá½∞¡δÑ áñαÑßá Γᬿ¼ «íαá-
- º«¼, τΓ«íδ ßΓαπ¬Γπα¡á∩ »ÑαѼѡ¡á∩ u π¬áºδóá½á íδ ¡á áñαÑß¡«Ñ »α«ßΓαá¡ßΓó«
- ºáñáτ¿ ñ½∩ ¡«ó«ú« »α«µÑßßá. é ß¿ßΓѼ¡«⌐ αÑ὿ºáµ¿¿ »αÑñπß¼«ΓαÑ¡« «í½ÑúτÑ¡¿Ñ
- ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ ΓѬπΘÑú« »α«µÑßßá í½áú«ñáα∩ ¡á½¿τ¿ε π¬áºáΓѽ∩ ¡á ß««ΓóÑΓßΓóπε-
-
- 30
-
- Θπε ºá»¿ß∞ ó Γáí½¿µÑ »α«µÑßß«ó ¿º áñαÑß¡«ú« »α«ßΓαá¡ßΓóá ºáñáτ¿.
-
-
- E2.2.2.1 è«¡ΓѬßΓ »α«µÑßßáF
-
- è«¡ΓѬßΓ«¼ »α«µÑßßá ∩ó½∩ÑΓß∩ Ñú« ß«ßΓ«∩¡¿Ñ, «»αÑñѽ∩Ѽ«Ñ ΓѬßΓ«¼, º¡áτÑ-
- ¡¿∩¼¿ ú½«íá½∞¡δσ »ÑαѼѡ¡δσ »«½∞º«óáΓѽ∩ ¿ ¿¡Σ«α¼áµ¿«¡¡δ¼¿ ßΓαπ¬ΓπαἿ, º¡á-
- τÑ¡¿∩¼¿ ¿ß»«½∞ºπѼδσ ¼áΦ¿¡¡δσ αÑú¿ßΓα«ó, º¡áτÑ¡¿∩¼¿, σαá¡¿¼δ¼¿ ó »«º¿µ¿¿
- Γáí½¿µδ »α«µÑßß«ó ¿ ó áñαÑß¡«¼ »α«ßΓαá¡ßΓóÑ ºáñáτ¿, á Γá¬ªÑ ß«ñÑন¼δ¼ ßΓÑ-
- ¬«ó ºáñáτ¿ ¿ ∩ñαá, «Γ¡«ß∩Θ¿σß∩ ¬ ñá¡¡«¼π »α«µÑßßπ. ÆÑ¬ßΓ «»Ñαᵿ⌐ ß¿ßΓÑ¼δ ¿
- ÑÑ ú½«íá½∞¡δÑ ¿¡Σ«α¼áµ¿«¡¡δÑ ßΓαπ¬Γπαδ ß«ó¼ÑßΓ¡« ¿ß»«½∞ºπεΓß∩ óßѼ¿ »α«µÑß-
- ßἿ, ¡« ¡Ñ ∩ó½∩εΓß∩ ß«ßΓáó¡«⌐ τáßΓ∞ε ¬«¡ΓѬßΓá »α«µÑßßá.
- â«ó«α∩Γ, τΓ« »α¿ ºá»π᪥ »α«µÑßßá ß¿ßΓÑ¼á ¿ß»«½¡∩ÑΓß∩ ó ¬«¡ΓѬßΓÑ »α«-
- µÑßßá. è«úñá ∩ñα« ß¿ßΓѼδ αÑΦáÑΓ ºá»πßΓ¿Γ∞ ñαπú«⌐ »α«µÑßß, «¡« óδ»«½¡∩ÑΓ »Ñ-
- αѬ½ετÑ¡¿Ñ ¬«¡ΓѬßΓá ß ΓѼ, τΓ«íδ ß¿ßΓÑ¼á ¿ß»«½¡∩½áß∞ ó ¬«¡ΓѬßΓÑ ñαπú«ú«
- »α«µÑßßá. ƒñα« «ßπΘÑßΓó½∩ÑΓ »ÑαѬ½ετÑ¡¿Ñ ¬«¡ΓѬßΓá Γ«½∞¬« »α¿ «»αÑñѽѡ¡δσ
- πß½«ó¿∩σ, τΓ« ¼δ πó¿ñ¿¼ ó ñá½∞¡Ñ⌐ΦѼ. éδ»«½¡∩∩ »ÑαѬ½ετÑ¡¿Ñ ¬«¡ΓѬßΓá, ∩ñα«
- ß«σαá¡∩ÑΓ ¿¡Σ«α¼áµ¿ε, ñ«ßΓáΓ«τ¡πε ñ½∩ Γ«ú«, τΓ«íδ »«ºñ¡ÑÑ »ÑαѬ½ετ¿Γ∞ß∩
- ó¡«ó∞ ¡á »Ñαóδ⌐ »α«µÑßß ¿ ó«º«í¡«ó¿Γ∞ Ñú« óδ»«½¡Ñ¡¿Ñ. ǡὫú¿τ¡δ¼ «íαẫ¼,
- »α¿ »ÑαÑσ«ñÑ ¿º αѪ¿¼á ºáñáτ¿ ó αѪ¿¼ ∩ñαá, ∩ñα« ß¿ßΓѼδ ß«σαá¡∩ÑΓ ¿¡Σ«α¼á-
- µ¿ε, ñ«ßΓáΓ«τ¡πε ñ½∩ Γ«ú«, τΓ«íδ »«ºñ¡ÑÑ óÑα¡πΓ∞ß∩ ó αѪ¿¼ ºáñáτ¿ ¿ »α«ñ«½-
- ª¿Γ∞ óδ»«½¡Ñ¡¿Ñ ß »αÑαóá¡¡«ú« ¼ÑßΓá. Äñ¡á¬«, »ÑαÑσ«ñ ¿º αѪ¿¼á ºáñáτ¿ ó αÑ-
- ª¿¼ ∩ñαá ∩ó½∩ÑΓß∩ ߼ѡ«⌐ αѪ¿¼á, ¡« ¡Ñ »ÑαѬ½ετÑ¡¿Ñ¼ ¬«¡ΓѬßΓá. àß½¿ «íαá-
- Γ¿Γ∞ß∩ ÑΘÑ αẠ¬ É¿ßπ¡¬π 1.5, ¼«ª¡« ߬áºáΓ∞, τΓ« ∩ñα« óδ»«½¡∩ÑΓ »ÑαѬ½ετÑ¡¿Ñ
- ¬«¡ΓѬßΓá, ¬«úñá ¼Ñ¡∩ÑΓ ¬«¡ΓѬßΓ »α«µÑßßá A ¡á ¬«¡ΓѬßΓ »α«µÑßßá B; «¡« ¼Ñ-
- ¡∩ÑΓ αѪ¿¼ óδ»«½¡Ñ¡¿∩ ß αѪ¿¼á ºáñáτ¿ ¡á αѪ¿¼ ∩ñαá ¿ ¡á«í«α«Γ, «ßΓáóá∩ß∞ ó
- ¬«¡ΓѬßΓÑ «ñ¡«ú« »α«µÑßßá, ¡á»α¿¼Ñα, »α«µÑßßá A.
- ƒñα« «íαáíáΓδóáÑΓ »αÑαδóá¡¿∩ ó ¬«¡ΓѬßΓÑ »αÑαóá¡¡«ú« »α«µÑßßá, »πßΓ∞ ñá-
- ªÑ «¡« ¿ ¡Ñ óδºδóὫ ¡¿¬á¬«ú« »αÑαδóá¡¿∩. ÅαÑαóá¡¡δ⌐ »α«µÑßß ¼«ú »α¿ φΓ«¼
- óδ»«½¡∩Γ∞ß∩ ¬á¬ ó αѪ¿¼Ñ ºáñáτ¿, Γᬠ¿ ó αѪ¿¼Ñ ∩ñαá. ƒñα« ß«σαá¡∩ÑΓ ¿¡Σ«α-
- ¼áµ¿ε, ñ«ßΓáΓ«τ¡πε ñ½∩ Γ«ú«, τΓ«íδ ¼«ª¡« í佫 »«ºªÑ ó«º«í¡«ó¿Γ∞ óδ»«½¡Ñ¡¿Ñ
- »αÑαóá¡¡«ú« »α«µÑßßá, ¿ «íαáíáΓδóáÑΓ »αÑαδóá¡¿Ñ ó αѪ¿¼Ñ ∩ñαá. ƒñα« ¡Ñ »«-
- ᫪ñáÑΓ ¿ ¡Ñ »½á¡¿απÑΓ »«α«ªñÑ¡¿Ñ ¬á¬«ú«-Γ« «ß«í«ú« »α«µÑßßá »« «íαáí«Γ¬Ñ
- »αÑαδóá¡¿⌐.
-
-
- E2.2.2.2 æ«ßΓ«∩¡¿∩ »α«µÑßßáF
-
- éαѼ∩ ª¿º¡¿ »α«µÑßßá ¼«ª¡« αáºñѽ¿Γ∞ ¡á ¡Ñ߬«½∞¬« ß«ßΓ«∩¡¿⌐, ¬áªñ«Ñ ¿º
- ¬«Γ«αδσ ¿¼ÑÑΓ «»αÑñѽѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿, «»¿ßδóáεΘ¿Ñ »α«µÑßß. éßÑ ß«ßΓ«∩-
- ¡¿∩ »α«µÑßßá αáßß¼áΓα¿óáεΓß∩ ó ú½áóÑ 6, «ñ¡á¬« »αÑñßΓáó½∩ÑΓß∩ ßπΘÑßΓóÑ¡¡δ¼
- ñ½∩ »«¡¿¼á¡¿∩ »ÑαÑτ¿ß½¿Γ∞ ¡Ñ¬«Γ«αδÑ ¿º ß«ßΓ«∩¡¿⌐ πªÑ ßÑ⌐τáß:
- 1. Åα«µÑßß óδ»«½¡∩ÑΓß∩ ó αѪ¿¼Ñ ºáñáτ¿.
- 2. Åα«µÑßß óδ»«½¡∩ÑΓß∩ ó αѪ¿¼Ñ ∩ñαá.
- 3. Åα«µÑßß ¡Ñ óδ»«½¡∩ÑΓß∩, ¡« ú«Γ«ó ¬ óδ»«½¡Ñ¡¿ε ¿ ªñÑΓ, ¬«úñá »½á¡¿α«ó-
- Θ¿¬ óδíÑαÑΓ Ñú«. é φΓ«¼ ß«ßΓ«∩¡¿¿ ¼«ªÑΓ ¡áσ«ñ¿Γ∞ß∩ ¼¡«ú« »α«µÑßß«ó, ¿ á½ú«-
- α¿Γ¼ »½á¡¿α«óá¡¿∩ πßΓá¡áó½¿óáÑΓ, ¬á¬«⌐ ¿º »α«µÑßß«ó íπñÑΓ óδ»«½¡∩Γ∞ß∩ ß½Ññπ-
- εΘ¿¼.
- 4. Åα«µÑßß »α¿«ßΓá¡«ó½Ñ¡ ("ß»¿Γ"). Åα«µÑßß "ó»áñáÑΓ ó ß«¡", ¬«úñá «¡ ¡Ñ
- ¼«ªÑΓ í«½∞ΦÑ »α«ñ«½ªáΓ∞ óδ»«½¡Ñ¡¿Ñ, ¡á»α¿¼Ñα, ¬«úñá ªñÑΓ ºáóÑαΦÑ¡¿∩ óó«-
- ñá-óδó«ñá.
- ū߬«½∞¬π »α«µÑßß«α ó ¬áªñδ⌐ ¼«¼Ñ¡Γ óαѼѡ¿ óδ»«½¡∩ÑΓ Γ«½∞¬« «ñ¿¡ »α«-
- µÑßß, ó ß«ßΓ«∩¡¿∩σ 1 ¿ 2 ¼«ªÑΓ ¡áσ«ñ¿Γ∞ß∩ ßá¼«Ñ í«½∞ΦÑÑ «ñ¿¡ »α«µÑßß. ¥Γ¿
- ñóá ß«ßΓ«∩¡¿∩ ß««ΓóÑΓßΓóπεΓ ñóπ¼ αѪ¿¼á¼ óδ»«½¡Ñ¡¿∩, αѪ¿¼π ºáñáτ¿ ¿ αѪ¿¼π
- ∩ñαá.
-
-
-
-
-
- 31
-
- E2.2.2.3 ÅÑαÑσ«ñδ ¿º ß«ßΓ«∩¡¿∩ ó ß«ßΓ«∩¡¿ÑF
-
- æ«ßΓ«∩¡¿∩ »α«µÑßßá, »ÑαÑτ¿ß½Ñ¡¡δÑ óδΦÑ, ñáεΓ ßΓáΓ¿τÑ߬«Ñ »αÑñßΓáó½Ñ¡¿Ñ «
- »α«µÑßßÑ, «ñ¡á¬« »α«µÑßßδ ¡Ñ»αÑαδó¡« »ÑαÑσ«ñ∩Γ ¿º ß«ßΓ«∩¡¿∩ ó ß«ßΓ«∩¡¿Ñ ó
- ß««ΓóÑΓßΓó¿¿ ß «»αÑñѽѡ¡δ¼¿ »αáó¿½á¼¿. ä¿áúαá¼¼á »ÑαÑσ«ñ«ó »αÑñßΓáó½∩ÑΓ ß«-
- í«⌐ «α¿Ñ¡Γ¿α«óá¡¡δ⌐ úαáΣ, óÑαΦ¿¡δ ¬«Γ«α«ú« »αÑñßΓáó½∩εΓ ß«í«⌐ ß«ßΓ«∩¡¿∩, ó
- ¬«Γ«αδÑ ¼«ªÑΓ »ÑαÑ⌐Γ¿ »α«µÑßß, á ñπú¿ - ß«íδΓ¿∩, ∩ó½∩εΘ¿Ñß∩ »α¿τ¿¡á¼¿ »ÑαÑ-
- σ«ñá »α«µÑßßá ¿º «ñ¡«ú« ß«ßΓ«∩¡¿∩ ó ñαπú«Ñ. ÅÑαÑσ«ñ ¼Ñªñπ ñóπ¼∩ ß«ßΓ«∩¡¿∩¼¿
- αáºαÑΦÑ¡, Ñß½¿ ßπΘÑßΓóπÑΓ ñπúá ¿º »Ñαó«ú« ß«ßΓ«∩¡¿∩ ó« óΓ«α«Ñ. ìÑ߬«½∞¬« ñπú
- ¼«ªÑΓ óδσ«ñ¿Γ∞ ¿º «ñ¡«ú« ß«ßΓ«∩¡¿∩, «ñ¡á¬« »α«µÑßß »ÑαÑσ«ñ¿Γ Γ«½∞¬« »« «ñ¡«⌐
- ¿º ¡¿σ ó ºáó¿ß¿¼«ßΓ¿ «Γ Γ«ú«, ¬á¬«Ñ ß«íδΓ¿Ñ »α«¿º«Φ½« ó ß¿ßΓѼÑ. ìá É¿ßπ¡¬Ñ
- 2.6 »αÑñßΓáó½Ñ¡á ñ¿áúαá¼¼á »ÑαÑσ«ñ«ó ñ½∩ ß«ßΓ«∩¡¿⌐, »ÑαÑτ¿ß½Ñ¡¡δσ óδΦÑ.
- èᬠπªÑ ú«ó«α¿½«ß∞ óδΦÑ, ó αѪ¿¼Ñ αáºñѽѡ¿∩ óαѼѡ¿ ¼«ªÑΓ óδ»«½¡∩Γ∞ß∩
- «ñ¡«óαѼѡ¡« ¡Ñ߬«½∞¬« »α«µÑßß«ó, ¿ óßÑ «¡¿ ¼«úπΓ «ñ¡«óαѼѡ¡« αáí«ΓáΓ∞ ó
- αѪ¿¼Ñ ∩ñαá. àß½¿ ¿¼ αáºαÑΦ¿Γ∞ ßó«í«ñ¡« óδ»«½¡∩Γ∞ß∩ ó αѪ¿¼Ñ ∩ñαá, Γ« «¡¿
- ¼«úπΓ ¿ß»«αΓ¿Γ∞ ú½«íá½∞¡δÑ ¿¡Σ«α¼áµ¿«¡¡δÑ ßΓαπ¬Γπαδ, »α¿¡áñ½ÑªáΘ¿Ñ ∩ñαπ.
- çá»αÑΘá∩ »α«¿ºó«½∞¡«Ñ »ÑαѬ½ετÑ¡¿Ñ ¬«¡ΓѬßΓ«ó ¿ π»αáó½∩∩ 󫺡¿¬¡«óÑ¡¿Ñ¼ ß«-
- íδΓ¿⌐, ∩ñα« ºáΘ¿ΘáÑΓ ßó«ε µÑ½«ßΓ¡«ßΓ∞.
- ƒñα« αáºαÑΦáÑΓ »ÑαѬ½ετÑ¡¿Ñ ¬«¡ΓѬßΓá Γ«½∞¬« Γ«úñá, ¬«úñá »α«µÑßß »ÑαÑ-
- σ«ñ¿Γ ¿º ß«ßΓ«∩¡¿∩ "ºá»π߬ ó αѪ¿¼Ñ ∩ñαá" ó ß«ßΓ«∩¡¿Ñ "ß¡á ó »á¼∩Γ¿". Åα«-
- µÑßßδ, ºá»πΘÑ¡¡δÑ ó αѪ¿¼Ñ ∩ñαá, ¡Ñ ¼«úπΓ íδΓ∞ óδúαπªÑ¡δ ñαπú¿¼¿ »α«µÑßßἿ;
- »«φΓ«¼π ¿¡«úñá ú«ó«α∩Γ, τΓ« ∩ñα« ¡ÑóδúαπªáѼ«, »α¿ φΓ«¼ »α«µÑßßδ, ¡áσ«ñ∩Θ¿Ñ-
- ß∩ ó αѪ¿¼Ñ ºáñáτ¿, ¼«úπΓ óδúαπªáΓ∞ß∩ ß¿ßΓѼ«⌐. ƒñα« »«ññÑনóáÑΓ µÑ½«ßΓ-
- ¡«ßΓ∞ ßó«¿σ ¿¡Σ«α¼áµ¿«¡¡δσ ßΓαπ¬Γπα, »«ß¬«½∞¬π «¡« ¡ÑóδúαπªáѼ«, Γᬿ¼ «íαá-
- º«¼ αÑΦá∩ »α«í½Ñ¼π "óºá¿¼¡«ú« ¿ß¬½ετÑ¡¿∩" - «íÑß»ÑτÑ¡¿∩ Γ«ú«, τΓ« ¬α¿Γ¿τÑß-
- ¬¿Ñ ßѬµ¿¿ »α«úαá¼¼δ óδ»«½¡∩εΓß∩ ó ¬áªñδ⌐ ¼«¼Ñ¡Γ óαѼѡ¿ ó αἬáσ ßἫÑ
- í«½∞ΦÑÑ «ñ¡«ú« »α«µÑßßá.
- é ¬áτÑßΓóÑ »α¿¼Ñαá αáßß¼«Γα¿¼ »α«úαá¼¼π (É¿ßπ¡«¬ 2.7) ó¬½ετÑ¡¿∩ ¿¡Σ«α¼á-
- µ¿«¡¡«⌐ ßΓαπ¬Γπαδ, τÑ⌐ áñαÑß ß«ñÑনΓß∩ ó π¬áºáΓÑ½Ñ bp1, ó ß»¿ß«¬ ß ¿ß»«½∞-
- º«ó᡿Ѽ π¬áºáΓѽÑ⌐ »«ß½Ñ ßΓαπ¬Γπαδ, τÑ⌐ áñαÑß ß«ñÑনΓß∩ ó bp. àß½¿ ß¿ßΓѼá
- αáºαÑΦ¿½á »ÑαѬ½ετÑ¡¿Ñ ¬«¡ΓѬßΓá »α¿ óδ»«½¡Ñ¡¿¿ ∩ñα«¼ Σαáú¼Ñ¡Γá »α«úαá¼¼δ,
- 󫺼«ª¡« 󫺡¿¬¡«óÑ¡¿Ñ ß½ÑñπεΘÑ⌐ ß¿Γπᵿ¿. ÅαÑñ»«½«ª¿¼, ∩ñα« óδ»«½¡∩ÑΓ »α«ú-
- αá¼¼π
-
- ºá»π߬ ┌───────┐
- ó αѪ¿- │ │
- ¼Ñ ºá- │ 1 │
- ñáτ¿ │ │
- └─┬─────┘
- «íαáΘÑ¡¿Ñ │ ^ ó«ºóαáΓ
- ¬ ß¿ßΓÑ¼Ñ │ │
- ¿½¿ »αÑ- │ │
- αδóá¡¿Ñ │ │
- v │
- ºá»π߬ ┌─────┴─┐
- ó αѪ¿- │ │<─────────┐ »αÑαδóá¡¿Ñ,
- ¼Ñ ∩ñ- │ 2 │ │ ó«ºóαáΓ ¿º
- αá │ │<─────────┘ »αÑαδóá¡¿∩
- └─┬─────┘
- »α¿«ßΓá-│ ^ »α«µÑßß »½á-
- ┌───────┐ ¡«ó │ │ ¡¿α«óá¡¿∩ ┌───────┐
- «ª¿ñá¡¿Ñ │ │<──────────┘ └────────────┤ │ ú«Γ«ó¡«ßΓ∞
- ("ß«¡")│ 4 ├───────────────────────────>│ 3 │ ¬ óδ»«½¡Ñ¡¿ε
- └───────┘ »α«íπªñÑ¡¿Ñ └───────┘
- »ÑαѬ½ετÑ¡¿Ñ
- ¬«¡ΓѬßΓá ñ«»πßΓ¿¼«
-
- É¿ßπ¡«¬ 2.6. æ«ßΓ«∩¡¿∩ »α«µÑßßá ¿ »ÑαÑσ«ñδ ¼Ñªñπ ¡¿¼¿
-
-
- 32
-
-
-
- ñ« ¬«¼¼Ñ¡Γáα¿Ñó ¿ ºáΓѼ «ßπΘÑßΓó½∩ÑΓ »ÑαѬ½ετÑ¡¿Ñ ¬«¡ΓѬßΓá. 滿߫¬ ß ¿ß-
- »«½∞º«ó᡿Ѽ ßñó«Ñ¡¡δσ π¬áºáΓѽÑ⌐ ¿¼ÑÑΓ »α«Γ¿ó«αÑτ¿óδ⌐ ó¿ñ: ßΓαπ¬Γπαá bp1
- Γ«½∞¬« ¡á»«½«ó¿¡π óσ«ñ¿Γ ó φΓ«Γ ß»¿ß«¬. àß½¿ »α«µÑßß ß½ÑñπÑΓ ºá »ÑαÑñ¡¿¼¿
- π¬áºáΓѽ∩¼¿, «¡ «í¡áαπª¿Γ bp1 ó ñá¡¡«¼ ß»¿ß¬Ñ, ¡« Ñß½¿ «¡ »«ß½ÑñπÑΓ ºá Σ«¡«-
- ó묨 π¬áºáΓѽ∩¼¿, Γ« ó««íΘÑ ¡Ñ ¡á⌐ñÑΓ ßΓαπ¬Γπαπ bp1 (É¿ßπ¡«¬ 2.8). àß½¿ ñαπ-
- ú¿Ñ »α«µÑßßδ íπñπΓ «íαáíáΓδóáΓ∞ π¬áºáΓѽ¿ ó ß»¿ß¬Ñ ñ« ¼«¼Ñ¡Γá »«óΓ«α¡«ú« ºá-
- »πß¬á »Ñαó«ú« »α«µÑßßá, ßΓαπ¬Γπαá ß»¿ß¬á ¼«ªÑΓ »«ßΓ«∩¡¡« αáºαπΦáΓ∞ß∩. æ¿ßΓÑ-
- ¼á UNIX »αÑñπ»αѪñáÑΓ ó«º¡¿¬¡«óÑ¡¿Ñ »«ñ«í¡δσ ß¿Γπᵿ⌐, ºá»αÑΘá∩ »ÑαѬ½ετÑ¡¿Ñ
- ¬«¡ΓѬßΓ«ó ¡á óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«µÑßßá ó αѪ¿¼Ñ ∩ñαá. àß½¿ »α«µÑßß »ÑαÑσ«-
- ñ¿Γ ó ß«ßΓ«∩¡¿Ñ "ß¡á", ñѽá∩ ñ«»πßΓ¿¼δ¼ »ÑαѬ½ετÑ¡¿Ñ ¬«¡ΓѬßΓá, á½ú«α¿Γ¼δ
- ∩ñαá «íÑß»Ñτ¿óáεΓ ºáΘ¿Γπ µÑ½«ßΓ¡«ßΓ¿ ¿¡Σ«α¼áµ¿«¡¡δσ ßΓαπ¬Γπα ß¿ßΓѼδ.
- Åα«í½Ñ¼«⌐, ¬«Γ«αá∩ ¼«ªÑΓ »α¿óÑßΓ¿ ¬ ¡áαπΦÑ¡¿ε µÑ½«ßΓ¡«ßΓ¿ ¿¡Σ«α¼áµ¿¿ ∩ñ-
- αá, ∩ó½∩ÑΓß∩ «íαáí«Γ¬á »αÑαδóá¡¿⌐, ¼«úπΘá∩ ó¡«ß¿Γ∞ ¿º¼Ñ¡Ñ¡¿∩ ó ¿¡Σ«α¼áµ¿ε «
- ß«ßΓ«∩¡¿¿ ∩ñαá. ìá»α¿¼Ñα, Ñß½¿ ∩ñα« óδ»«½¡∩½« »α«úαá¼¼π, »α¿óÑñÑ¡¡πε ¡á É¿-
- ßπ¡¬Ñ 2.7, ¿ »«½πτ¿½« »αÑαδóá¡¿Ñ »« ñ«ßΓ¿ªÑ¡¿¿ ¬«¼¼Ñ¡Γáα¿Ñó, »α«úαá¼¼á «íαá-
- í«Γ¬¿ »αÑαδóá-
-
-
- ┌───────────────────────────────────────────────────────────┐
- │ struct queue { │
- │ │
- │ │
- │ │
- │ } *bp, *bp1; │
- │ bp1 - > forp = bp - > forp; │
- │ bp1 - > backp = bp; │
- │ bp - > forp = bp1; │
- │ /* ºñÑß∞ αáßß¼«Γα¿ΓÑ ó«º¼«ª¡«ßΓ∞ »ÑαѬ½ετÑ¡¿∩ ¬«¡ΓѬßΓá */│
- │ bp1 - > forp - > backp = bp1; │
- └───────────────────────────────────────────────────────────┘
-
- É¿ßπ¡«¬ 2.7. Åα¿¼Ñα »α«úαá¼¼δ, ß«ºñáεΘÑ⌐ ß»¿ß«¬ ß ñóπ¡á»αáó½Ñ¡¡δ¼¿ π¬áºáΓÑ-
- ½∩¼¿
-
- ┌───────┐
- │ │
- │ bp1 │
- │ │
- └───────┘
- ┌───────┐ ┌───────┐
- ─────>│ ├──────────────────────────────>│ ├────>
- │ bp │ │ │
- <─────┤ │<──────────────────────────────┤ │<────
- └───────┘ └───────┘
-
- 鬽ετÑ¡¿Ñ bp1 ó ß»¿ß«¬ ß ñóπ¡á»αáó½Ñ¡¡δ¼¿ π¬áºáΓѽ∩¼¿
-
- ┌───────┐ ┌───────┐ ┌───────┐
- ─────>│ ├──────────>│ ├──────────>│ ├────>
- │ bp │ │ bp1 │ │ │
- <─────┤ │<──────────┤ │ ┌─────┤ │<────
- └───────┘<────┐ └───────┘ │ └───────┘
- └───────────────────┘
-
- É¿ßπ¡«¬ 2.8. 滿߫¬ ß π¬áºáΓѽ∩¼¿, ¡Ñ¬«ααÑ¬Γ¡δ⌐ ¿º-ºá »ÑαѬ½ετÑ¡¿∩ ¬«¡ΓѬ-
- ßΓá
-
-
- 33
-
- ¡¿⌐ ¼«ªÑΓ αáºαπΦ¿Γ∞ ßß佬¿, Ñß½¿ íπñÑΓ ¼á¡¿»π½¿α«óáΓ∞ π¬áºáΓѽ∩¼¿, ¬á¬ í佫
- »«¬áºá¡« αá¡ÑÑ. ùΓ«íδ αÑΦ¿Γ∞ φΓπ »α«í½Ñ¼π, ß¿ßΓÑ¼á ¼«ú½á íδ ºá»αÑΓ¿Γ∞ óßÑ
- »αÑαδóá¡¿∩ ¡á óαѼ∩ αáí«Γδ ó αѪ¿¼Ñ ∩ñαá, ¡« »α¿ φΓ«¼ ºáΓ∩¡π½áß∞ íδ «íαáí«Γ-
- ¬á »αÑαδóá¡¿∩, τΓ« ó ¬«¡Ñτ¡«¼ ßτÑΓÑ ¡á¡Ñß½« íδ πΘÑαí »α«¿ºó«ñ¿Γѽ∞¡«ßΓ¿ ß¿ß-
- ΓѼδ. é¼ÑßΓ« φΓ«ú« ∩ñα« »«óδΦáÑΓ »α¿«α¿ΓÑΓ »αÑαδóá¡¿∩ »α«µÑßß«αá, ºá»αÑΘá∩
- »αÑαδóá¡¿∩ ¡á óαѼ∩ óδ»«½¡Ñ¡¿∩ ¬α¿Γ¿τÑ߬¿σ ßѬµ¿⌐ »α«úαá¼¼δ. æÑ¬µ¿∩ »α«úαá¼-
- ¼δ ∩ó½∩ÑΓß∩ ¬α¿Γ¿τÑ߬«⌐, Ñß½¿ ó »α«µÑßßÑ ÑÑ óδ»«½¡Ñ¡¿∩ ºá»π߬ »α«úαá¼¼ «íαá-
- í«Γ¬¿ »α«¿ºó«½∞¡«ú« »αÑαδóá¡¿∩ ¼«ªÑΓ »α¿óÑßΓ¿ ¬ 󫺡¿¬¡«óÑ¡¿ε »α«í½Ñ¼, ¿¼Ñε-
- Θ¿σ «Γ¡«ΦÑ¡¿Ñ ¬ ¡áαπΦÑ¡¿ε µÑ½«ßΓ¡«ßΓ¿. ìá»α¿¼Ñα, Ñß½¿ »α«úαá¼¼á «íαáí«Γ¬¿
- »αÑαδóá¡¿∩ «Γ ñ¿ß¬á αáí«ΓáÑΓ ß íπΣÑα¡δ¼¿ «τÑαÑñ∩¼¿, Γ« τáßΓ∞ »αÑαδóáѼ«⌐
- »α«úαá¼¼δ, »α¿ óδ»«½¡Ñ¡¿¿ ¬«Γ«α«⌐ ∩ñα« «íαáíáΓδóáÑΓ íπΣÑα¡δÑ «τÑαÑñ¿, ∩ó½∩-
- ÑΓß∩ ¬α¿Γ¿τÑ߬«⌐ ßѬµ¿Ñ⌐ »« «Γ¡«ΦÑ¡¿ε ¬ »α«úαá¼¼Ñ «íαáí«Γ¬¿ »αÑαδóá¡¿∩ «Γ
- ñ¿ß¬á. èα¿Γ¿τÑ߬¿Ñ ßѬµ¿¿ ¡Ñóѽ¿¬¿ »« αẼÑαπ ¿ óßΓαÑτáεΓß∩ ¡ÑτáßΓ«, »«φΓ«¼π
- ¿σ ßπΘÑßΓó«óá¡¿Ñ ¡Ñ «¬áºδóáÑΓ »αá¬Γ¿τÑ߬¿ ¡¿¬á¬«ú« ó«ºñÑ⌐ßΓó¿∩ ¡á »α«¿ºó«ñ¿-
- Γѽ∞¡«ßΓ∞ ß¿ßΓѼδ. é ñαπú¿σ «»Ñαᵿ«¡¡δσ ß¿ßΓѼáσ ñá¡¡δ⌐ ó«»α«ß αÑΦáÑΓß∩ »π-
- ΓѼ ºá»αÑΘÑ¡¿∩ ½εíδσ »αÑαδóá¡¿⌐ »α¿ αáí«ΓÑ ó ß¿ßΓѼ¡δσ αѪ¿¼áσ ¿½¿ »πΓѼ
- αáºαáí«Γ¬¿ ßσѼ í½«¬¿α«ó¬¿, «íÑß»Ñτ¿óáεΘ¿σ µÑ½«ßΓ¡«ßΓ∞. é ú½áóÑ 12 ¼δ ÑΘÑ
- óÑα¡Ñ¼ß∩ ¬ φΓ«¼π ó«»α«ßπ, ¬«úñá íπñѼ ú«ó«α¿Γ∞ « ¼¡«ú«»α«µÑßß«α¡δσ ß¿ßΓѼáσ,
- úñÑ »α¿¼Ñ¡Ñ¡¿∩ π¬áºá¡¡δσ ¼Ñα ñ½∩ αÑΦÑ¡¿∩ »α«í½Ñ¼δ ¡Ññ«ßΓáΓ«τ¡«.
- ùΓ«íδ »«ñóÑßΓ¿ τÑαΓπ, ÑΘÑ αẠ߬áªÑ¼, τΓ« ∩ñα« ºáΘ¿ΘáÑΓ ßó«ε µÑ½«ßΓ-
- ¡«ßΓ∞, αáºαÑΦá∩ »ÑαѬ½ετÑ¡¿Ñ ¬«¡ΓѬßΓá Γ«½∞¬« Γ«úñá, ¬«úñá »α«µÑßß »ÑαÑσ«ñ¿Γ
- ó ß«ßΓ«∩¡¿Ñ "ß¡á", á Γá¬ªÑ »αÑ»∩ΓßΓóπ∩ ó«ºñÑ⌐ßΓó¿ε «ñ¡«ú« »α«µÑßßá ¡á ñαπú«⌐
- ß µÑ½∞ε ¿º¼Ñ¡Ñ¡¿∩ ß«ßΓ«∩¡¿∩ »«ß½Ññ¡Ñú«. Ä¡« Γá¬ªÑ »«óδΦáÑΓ »α¿«α¿ΓÑΓ »αÑαδ-
- óá¡¿∩ »α«µÑßß«αá ¡á óαѼ∩ óδ»«½¡Ñ¡¿∩ ¬α¿Γ¿τÑ߬¿σ ßѬµ¿⌐ »α«úαá¼¼, ºá»αÑΘá∩
- Γᬿ¼ «íαẫ¼ »αÑαδóá¡¿∩, ¬«Γ«αδÑ ó »α«Γ¿ó¡«¼ ß½πτáÑ ¼«úπΓ óδºóáΓ∞ ¡áαπΦÑ¡¿Ñ
- µÑ½«ßΓ¡«ßΓ¿. Ž᡿α«óΘ¿¬ »α«µÑßß«ó »Ñα¿«ñ¿τÑ߬¿ óδúαπªáÑΓ »α«µÑßßδ, óδ»«½¡∩-
- εΘ¿Ñß∩ ó αѪ¿¼Ñ ºáñáτ¿, ñ½∩ Γ«ú«, τΓ«íδ »α«µÑßßδ ¡Ñ ¼«ú½¿ ¼«¡«»«½∞¡« ¿ß»«½∞-
- º«óáΓ∞ µÑ¡Γαá½∞¡δ⌐ »α«µÑßß«α.
-
-
- E2.2.2.4 "æ«¡" ¿ »α«íπªñÑ¡¿ÑF
-
- Åα«µÑßß, óδ»«½¡∩εΘ¿⌐ß∩ ó αѪ¿¼Ñ ∩ñαá, ¿¼ÑÑΓ º¡áτ¿Γѽ∞¡πε ßΓѻѡ∞ áóΓ«¡«-
- ¼¿¿ ó αÑΦÑ¡¿¿ Γ«ú«, ¬á¬ Ѽπ ß½ÑñπÑΓ αÑáú¿α«óáΓ∞ ¡á 󫺡¿¬¡«óÑ¡¿Ñ ß¿ßΓѼ¡δσ
- ß«íδΓ¿⌐. Åα«µÑßßδ ¼«úπΓ «íΘáΓ∞ß∩ ¼Ñªñπ ß«í«⌐ ¿ "»αÑñ½áúáΓ∞" αẽ¿τ¡δÑ á½∞-
- ΓÑα¡áΓ¿óδ, ¡« »α¿ φΓ«¼ «¬«¡τáΓѽ∞¡«Ñ αÑΦÑ¡¿Ñ «¡¿ »α¿¡¿¼áεΓ ßἫßΓ«∩Γѽ∞¡«.
- îδ ÑΘÑ πó¿ñ¿¼, τΓ« ßπΘÑßΓóπÑΓ ¡áí«α »αáó¿½, ¬«Γ«αδ¼ »«ñτ¿¡∩ÑΓß∩ »«óÑñÑ¡¿Ñ
- »α«µÑßß«ó ó αẽ¿τ¡δσ «íßΓ«∩Γѽ∞ßΓóáσ, ¡« ¬áªñδ⌐ »α«µÑßß ó ¬«¡Ñτ¡«¼ ¿Γ«úÑ
- ß½ÑñπÑΓ φΓ¿¼ »αáó¿½á¼ »« ßó«Ñ⌐ ß«íßΓóÑ¡¡«⌐ ¿¡¿µ¿áΓ¿óÑ. ìá»α¿¼Ñα, Ñß½¿ »α«-
- µÑßß ñ«½ªÑ¡ óαѼѡ¡« »α¿«ßΓá¡«ó¿Γ∞ óδ»«½¡Ñ¡¿Ñ ("»ÑαÑ⌐Γ¿ ¬« ß¡π"), «¡ φΓ« ñÑ-
- ½áÑΓ »« ßó«Ñ⌐ ñ«íα«⌐ ó«½Ñ. æ½Ññ«óáΓѽ∞¡«, »α«úαá¼¼á «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ ¡Ñ
- ¼«ªÑΓ »α¿«ßΓá¡«ó¿Γ∞ ßó«Ñ óδ»«½¡Ñ¡¿Ñ, ¿í« Ñß½¿ φΓ« ß½πτ¿Γß∩, »αÑαóá¡¡δ⌐ »α«-
- µÑßß ñ«½ªÑ¡ íδ½ íδ "»ÑαÑ⌐Γ¿ ¬« ß¡π" »« π¼«½τá¡¿ε.
- Åα«µÑßßδ »α¿«ßΓá¡áó½¿óáεΓ ßó«Ñ óδ»«½¡Ñ¡¿Ñ, »«Γ«¼π τΓ« «¡¿ «ª¿ñáεΓ ó«º-
- ¡¿¬¡«óÑ¡¿∩ ¡Ñ¬«Γ«α«ú« ß«íδΓ¿∩, ¡á»α¿¼Ñα, ºáóÑαΦÑ¡¿∩ óó«ñá-óδó«ñá ¡á »Ñα¿ΣÑ-
- α¿⌐¡«¼ πßΓα«⌐ßΓóÑ, óδσ«ñá, óδñѽѡ¿∩ ß¿ßΓѼ¡δσ αÑßπαß«ó ¿ Γ.ñ. è«úñá ú«ó«-
- α∩Γ, τΓ« »α«µÑßß »α¿«ßΓá¡«ó¿½ß∩ »« ß«íδΓ¿ε, Γ« ¿¼ÑÑΓß∩ óó¿ñπ, τΓ« »α«µÑßß
- ¡áσ«ñ¿Γß∩ ó ß«ßΓ«∩¡¿¿ "ß¡á" ñ« ¡áßΓπ»½Ñ¡¿∩ ß«íδΓ¿∩, »«ß½Ñ τÑú« «¡ »α«íπñ¿Γß∩
- ¿ »ÑαÑ⌐ñÑΓ ó ß«ßΓ«∩¡¿Ñ "ú«Γ«ó¡«ßΓ¿ ¬ óδ»«½¡Ñ¡¿ε". Äñ¡«óαѼѡ¡« ¼«úπΓ »α¿«ß-
- Γá¡«ó¿Γ∞ß∩ »« ß«íδΓ¿ε ¼¡«ú« »α«µÑßß«ó; ¬«úñá ß«íδΓ¿Ñ ¡áßΓπ»áÑΓ, óßÑ »α«µÑß-
- ßδ, »α¿«ßΓá¡«ó½Ñ¡¡δÑ »« ß«íδΓ¿ε, »α«íπªñáεΓß∩, »«ß¬«½∞¬π º¡áτÑ¡¿Ñ πß½«ó¿∩,
- ßó∩ºá¡¡«ú« ß ß«íδΓ¿Ñ¼, í«½∞ΦÑ ¡Ñ ∩ó½∩ÑΓß∩ "¿ßΓ¿¡¡δ¼". è«úñá »α«µÑßß »α«íπª-
- ñáÑΓß∩, «¡ »ÑαÑσ«ñ¿Γ ¿º ß«ßΓ«∩¡¿∩ "ß¡á" ó ß«ßΓ«∩¡¿Ñ "ú«Γ«ó¡«ßΓ¿ ¬ óδ»«½¡Ñ-
- ¡¿ε", ¡áσ«ñ∩ß∞ ó ¬«Γ«α«¼ «¡ πªÑ ¼«ªÑΓ íδΓ∞ óδíαá¡ »½á¡¿α«óΘ¿¬«¼; ß½ÑñπÑΓ «í-
- αáΓ¿Γ∞ ó¡¿¼á¡¿Ñ ¡á Γ«, τΓ« «¡ ¡Ñ óδ»«½¡∩ÑΓß∩ ¡Ñ¼Ññ½Ñ¡¡«. Åα¿«ßΓá¡«ó½Ñ¡¡δÑ
- »α«µÑßßδ ¡Ñ ºá¡¿¼áεΓ µÑ¡Γαá½∞¡δ⌐ »α«µÑßß«α. ƒñαπ ß¿ßΓÑ¼δ ¡ÑΓ ¡áñ«í¡«ßΓ¿ »«ß-
- Γ«∩¡¡« »α«óÑα∩Γ∞ Γ«, τΓ« »α«µÑßß óßÑ ÑΘÑ »α¿«ßΓá¡«ó½Ñ¡, Γ.¬. «ª¿ñáÑΓ ¡áßΓπ»-
- ½Ñ¡¿∩ ß«íδΓ¿∩, ¿ ºáΓѼ íπñ¿Γ∞ Ñú«.
- ìá»α¿¼Ñα, »α«µÑßß, óδ»«½¡∩Ѽδ⌐ ó αѪ¿¼Ñ ∩ñαá, ñ«½ªÑ¡ ¿¡«úñá í½«¬¿α«óáΓ∞
-
- 34
-
- ßΓαπ¬Γπαπ ñá¡¡δσ ¡á ß½πτá⌐ »α¿«ßΓá¡«ó¬¿ ó íπñπΘѼ; »α«µÑßßδ, »δΓáεΘ¿Ñß∩ «í-
- αáΓ¿Γ∞ß∩ ¬ ºáí½«¬¿α«óá¡¡«⌐ ßΓαπ¬ΓπαÑ, «í∩ºá¡δ »α«óÑα¿Γ∞ ¡á½¿τ¿Ñ í½«¬¿α«ó¬¿ ¿
- »α¿«ßΓá¡«ó¿Γ∞ ßó«Ñ óδ»«½¡Ñ¡¿Ñ, Ñß½¿ ßΓαπ¬Γπαá ºáí½«¬¿α«óá¡á ñαπú¿¼ »α«µÑß-
- ß«¼. ƒñα« óδ»«½¡∩ÑΓ í½«¬¿α«ó¬¿ Γᬫú« α«ñá ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- while (πß½«ó¿Ñ "¿ßΓ¿¡¡«")
- sleep (ß«íδΓ¿Ñ: πß½«ó¿Ñ »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ "½«ª∞");
- set condition true;
- Γ« ÑßΓ∞:
- »«¬á (πß½«ó¿Ñ "¿ßΓ¿¡¡«")
- »α¿«ßΓá¡«ó¿Γ∞ß∩ (ñ« ¡áßΓπ»½Ñ¡¿∩ ß«íδΓ¿∩, »α¿ ¬«Γ«α«¼
- πß½«ó¿Ñ »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ "½«ª∞");
- »α¿ßó«¿Γ∞ πß½«ó¿ε º¡áτÑ¡¿Ñ "¿ßΓ¿¡á";
-
- ƒñα« ß¡¿¼áÑΓ í½«¬¿α«ó¬π ¿ "íπñ¿Γ" óßÑ »α«µÑßßδ, »α¿«ßΓá¡«ó-
- ½Ñ¡¡δÑ ¿º-ºá φΓ«⌐ í½«¬¿α«ó¬¿, ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- set condition false;
- wakeup (ß«íδΓ¿Ñ: πß½«ó¿Ñ "½«ª¡«");
- Γ« ÑßΓ∞:
- »α¿ßó«¿Γ∞ πß½«ó¿ε º¡áτÑ¡¿Ñ "½«ª∞";
- »ÑαѺá»πßΓ¿Γ∞ß∩ (»α¿ ¡áßΓπ»½Ñ¡¿¿ ß«íδΓ¿∩, »α¿ ¬«Γ«α«¼ πß½«ó¿Ñ
- »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ "½«ª∞");
-
- ìá É¿ßπ¡¬Ñ 2.9 »α¿óÑñÑ¡ »α¿¼Ñα, ó ¬«Γ«α«¼ Γα¿ »α«µÑßßá, A, B ¿ C «ß»áα¿-
- óáεΓ ºáí½«¬¿α«óá¡¡δ⌐ íπΣÑα. ÅÑαÑσ«ñ ó ß«ßΓ«∩¡¿Ñ "ß¡á" óδºδóáÑΓß∩ ºáí½«¬¿α«-
- óá¡¡«ßΓ∞ε íπΣÑαá. Åα«µÑßßδ, «ñ¡áªñδ ºá»πßΓ¿óΦ¿ß∞, «í¡áαπª¿óáεΓ, τΓ« íπΣÑα
- ºáí½«¬¿α«óá¡, ¿ »α¿«ßΓá¡áó½¿óáεΓ ßó«Ñ óδ»«½¡Ñ¡¿Ñ ñ« ¡áßΓπ»½Ñ¡¿∩ ß«íδΓ¿∩, »«
- ¬«Γ«α«¼π íπΣÑα íπñÑΓ αáºí½«¬¿α«óá¡. é ¬«¡µÑ ¬«¡µ«ó í½«¬¿α«ó¬á ß íπΣÑαá ß¡¿-
- ¼áÑΓß∩ ¿ óßÑ »α«µÑßßδ "»α«íπªñáεΓß∩", »ÑαÑσ«ñ∩ ó ß«ßΓ«∩¡¿Ñ "ú«Γ«ó¡«ßΓ¿ ¬ óδ-
- »«½¡Ñ¡¿ε". ƒñα« ¡á¬«¡Ñµ óδí¿αáÑΓ «ñ¿¡ ¿º »α«µÑßß«ó, ߬áªÑ¼, B, ñ½∩ óδ»«½¡Ñ-
- ¡¿∩. Åα«µÑßß B, óδ»«½¡∩∩ µ¿¬½ "while", «í¡áαπª¿óáÑΓ, τΓ« íπΣÑα αáºí½«¬¿α«-
- óá¡, í½«¬¿απÑΓ Ñú« ¿ »α«ñ«½ªáÑΓ ßó«Ñ óδ»«½¡Ñ¡¿Ñ. àß½¿ »α«µÑßß B ó ñá½∞¡Ñ⌐ΦѼ
- ß¡«óá »α¿«ßΓá¡«ó¿Γß∩ íѺ ß¡∩Γ¿∩ í½«¬¿α«ó¬¿ ß íπΣÑαá (¡á»α¿¼Ñα, «ª¿ñá∩ ºáóÑα-
- ΦÑ¡¿∩ «»Ñαᵿ¿ óó«ñá-óδó«ñá), ∩ñα« ß¼«ªÑΓ »α¿ßΓπ»¿Γ∞ ¬ »½á¡¿α«óá¡¿ε óδ»«½¡Ñ-
- ¡¿∩ ñαπú¿σ »α«µÑßß«ó. àß½¿ íπñÑΓ »α¿ φΓ«¼ óδíαá¡ »α«µÑßß A, φëà »α«µÑßß,
- óδ»«½¡∩∩ µ¿¬½ "while", «í¡áαπª¿Γ, τΓ« íπΣÑα ºáí½«¬¿α«óá¡, ¿ ß¡«óá »ÑαÑ⌐ñÑΓ ó
- ß«ßΓ«∩¡¿Ñ "ß¡á"; 󫺼«ª¡« Γ« ªÑ ßá¼«Ñ »α«¿º«⌐ñÑΓ ¿ ß »α«µÑßß«¼ C. é ¬«¡µÑ
- ¬«¡µ«ó óδ»«½¡Ñ¡¿Ñ »α«µÑßßá B ó«º«í¡«ó¿Γß∩ ¿ í½«¬¿α«ó¬á ß íπΣÑαá íπñÑΓ ß¡∩Γá,
- ó αѺπ½∞ΓáΓÑ τÑú« »α«µÑßßδ A ¿ C »«½πτáΓ ñ«ßΓπ» ¬ ¡Ñ¼π. Æá¬¿¼ «íαẫ¼, µ¿¬½
- "while-sleep" «íÑß»Ñτ¿óáÑΓ Γá¬«Ñ »«½«ªÑ¡¿Ñ, »α¿ ¬«Γ«α«¼ ßá¼«Ñ í«½∞ΦÑÑ «ñ¿¡
- »α«µÑßß ¼«ªÑΓ ¿¼ÑΓ∞ ñ«ßΓπ» ¬ αÑßπαßπ.
- ǽú«α¿Γ¼δ »ÑαÑσ«ñá ó ß«ßΓ«∩¡¿Ñ "ß¡á" ¿ »α«íπªñÑ¡¿∩ í«½ÑÑ »«ñα«í¡« íπñπΓ
- αáßß¼«ΓαÑ¡δ ó ú½áóÑ 6. ÆÑ¼ óαѼѡѼ «¡¿ íπñπΓ ßτ¿ΓáΓ∞ß∩ "¡Ññѽ¿¼δ¼¿". Åα«-
- µÑßß »ÑαÑσ«ñ¿Γ ó ß«ßΓ«∩¡¿Ñ "ß¡á" ¼ú¡«óÑ¡¡« ¿ ¡áσ«ñ¿Γß∩ ó ¡Ñ¼ ñ« ΓÑσ »«α, »«-
- ¬á ¡Ñ íπñÑΓ "αáºíπªÑ¡". Å«ß½Ñ Γ«ú«, ¬á¬ «¡ »α¿«ßΓá¡áó½¿óáÑΓß∩, ∩ñα« ß¿ßΓѼδ
- ¡áτ¿¡áÑΓ »½á¡¿α«óáΓ∞ óδ»«½¡Ñ¡¿Ñ ß½ÑñπεΘÑú« »α«µÑßßá ¿ »ÑαѬ½ετáÑΓ ¬«¡ΓѬßΓ
- ¡á ¡Ñú«.
-
-
- E2.3 æÆÉôèÆôÉ¢ äÇìì¢ò ƒäÉÇF
-
- ü«½∞Φ¿¡ßΓó« ¿¡Σ«α¼áµ¿«¡¡δσ ßΓαπ¬Γπα ∩ñαá αẼÑΘáÑΓß∩ ó Γáí½¿µáσ Σ¿¬ß¿α«-
- óá¡¡«ú« αẼÑαá, á ¡Ñ ó ñ¿¡á¼¿τÑ߬¿ óδñѽѡ¡«⌐ »á¼∩Γ¿. ÅαÑ¿¼πΘÑßΓó« Γᬫú«
- »«ñσ«ñá ß«ßΓ«¿Γ ó Γ«¼, τΓ« »α«úαá¼¼á ∩ñαá »α«ßΓá, ¡« ó ¡Ñ⌐ «úαá¡¿τ¿óáÑΓß∩
- τ¿ß½« φ½Ñ¼Ñ¡Γ«ó ¿¡Σ«α¼áµ¿«¡¡«⌐ ßΓαπ¬Γπαδ ñ« º¡áτÑ¡¿∩, »αÑñóáα¿Γѽ∞¡« ºáñá¡-
- ¡«ú« »α¿ úÑ¡Ñαᵿ¿ ß¿ßΓѼδ. àß½¿ ó« óαѼ∩ Σπ¡¬µ¿«¡¿α«óá¡¿∩ ß¿ßΓѼδ τ¿ß½«
- φ½Ñ¼Ñ¡Γ«ó ¿¡Σ«α¼áµ¿«¡¡«⌐ ßΓαπ¬Γπαδ ∩ñαá óδ⌐ñÑΓ ºá π¬áºá¡¡«Ñ º¡áτÑ¡¿Ñ, ∩ñα«
- ¡Ñ ß¼«ªÑΓ ñ¿¡á¼¿τÑ߬¿ óδñѽ¿Γ∞ ¼ÑßΓ« ñ½∩ ¡«óδσ φ½Ñ¼Ñ¡Γ«ó ¿ ñ«½ª¡« ß««íΘ¿Γ∞
-
- 35
-
- «í «Φ¿í¬Ñ »«½∞º«óáΓѽε, ßñѽáóΦѼπ ºá»α«ß. àß½¿, ß ñαπú«⌐ ßΓ«α«¡δ, ∩ñα« ßúÑ-
- ¡Ñα¿α«óá¡« Γᬿ¼ «íαẫ¼, τΓ« óδσ«ñ ºá úαá¡¿µδ Γáí½¿τ¡«ú« »α«ßΓαá¡ßΓóá íπñÑΓ
- ¼á½«óÑα«∩ΓÑ¡, ñ«»«½¡¿Γѽ∞¡«Ñ Γáí½¿τ¡«Ñ »α«ßΓαá¡ßΓó« ¼«ªÑΓ ¡Ñ »«¡áñ«í¿Γ∞ß∩,
- »«ß¬«½∞¬π «¡« ¡Ñ ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡« ñ½∩ ñαπú¿σ µÑ½Ñ⌐. èᬠíδ Γ« ¡¿ íδ-
- ½«, »α«ßΓ«Γá á½ú«α¿Γ¼«ó ∩ñαá »αÑñßΓáó½∩ÑΓß∩ í«½ÑÑ ó᪡«⌐, τѼ ߪáΓ¿Ñ »«ß½Ññ-
- ¡¿σ íá⌐Γ«ó «»ÑαáΓ¿ó¡«⌐ »á¼∩Γ¿. Äíδτ¡« ó á½ú«α¿Γ¼áσ ñ½∩ »«¿ß¬á ßó«í«ñ¡δσ ¼ÑßΓ
- ó Γáí½¿µáσ ¿ß»«½∞ºπεΓß∩ ¡Ñß½«ª¡δÑ µ¿¬½δ ¿ φëà ¼ÑΓ«ñ í«½ÑÑ »«¡∩ΓÑ¡ ¿ ¿¡«úñá
- í«½ÑÑ φΣΣÑ¬Γ¿óÑ¡ »« ßαáó¡Ñ¡¿ε ß í«½ÑÑ ß½«ª¡δ¼¿ ßσѼἿ óδñѽѡ¿∩ »á¼∩Γ¿.
-
-
- E2.4 ôÅÉÇéïàìêà æêæÆàîÄëF
-
- è π»αáó½∩εΘ¿¼ »α«µÑßßá¼, úαπí« ú«ó«α∩, «Γ¡«ß∩Γß∩ ΓÑ »α«µÑßßδ, ¬«Γ«αδÑ
- óδ»«½¡∩εΓ αẽ¿τ¡δÑ Σπ¡¬µ¿¿ »« «íÑß»ÑτÑ¡¿ε í½áú«»«½πτ¡«⌐ αáí«Γδ »«½∞º«óáΓÑ-
- ½Ñ⌐ ß¿ßΓѼδ. è Γᬿ¼ Σπ¡¬µ¿∩¼ «Γ¡«ß∩Γß∩ Σ«α¼áΓ¿α«óá¡¿Ñ ñ¿ß¬«ó, ß«ºñá¡¿Ñ ¡«-
- óδσ Σá⌐½«óδσ ß¿ßΓѼ, ó«ßßΓá¡«ó½Ñ¡¿Ñ αáºαπΦÑ¡¡δσ Σá⌐½«óδσ ß¿ßΓѼ, «Γ½áñ¬á ∩ñ-
- αá ¿ ñα. æ ¬«¡µÑ»Γπá½∞¡«⌐
-
- éαѼ∩ Åα«µÑßß A Åα«µÑßß B Åα«µÑßß C
- ┌─────────────────────────────────────────────────────────────
- │ üπΣÑα ºáí½«¬¿α«óá¡
- │ Åα¿«ßΓá¡«ó½Ñ¡
- │ . üπΣÑα ºáí½«¬¿α«óá¡
- │ . Åα¿«ßΓá¡«ó½Ñ¡
- │ . . üπΣÑα ºáí½«¬¿α«óá¡
- │ . . Åα¿«ßΓá¡«ó½Ñ¡
- │ ┌──────────────────────────────────────────────────────────┐
- │ │üπΣÑα αáºí½«¬¿α«óá¡ Åα«íπªñÑ¡¿Ñ óßÑσ "ß»∩Θ¿σ" »α«µÑßß«ó│
- │ └──────────────────────────────────────────────────────────┘
- │ â«Γ«ó ¬ â«Γ«ó ¬ â«Γ«ó ¬
- │ óδ»«½¡Ñ¡¿ε óδ»«½¡Ñ¡¿ε óδ»«½¡Ñ¡¿ε
- │ . .
- │ . çá»πΘÑ¡ .
- │ . üπΣÑα αáºí½«¬¿α«óá¡ .
- │ . ü½«¬¿α«ó¬á íπΣÑαá .
- │ . . .
- │ . Åα¿«ßΓá¡«ó¬á »« .
- │ . »α«¿ºó«½∞¡«⌐ »α¿τ¿¡Ñ .
- │ . . .
- │ çá»πΘÑ¡ . .
- │ üπΣÑα ºáí½«¬¿α«óá¡ . .
- │ Åα¿«ßΓá¡«ó¬á . .
- │ . . çá»πΘÑ¡
- │ . . üπΣÑα ºáí½«¬¿α«óá¡
- │ . . Åα¿«ßΓá¡«ó¬á
- │ . Åα«íπªñÑ¡¿Ñ .
- │ . æ¡∩Γ¿Ñ í½«¬¿α«ó¬¿ .
- │ . íπΣÑαá .
- │ â«Γ«ó ¬ Åα«íπªñÑ¡¿Ñ óßÑσ â«Γ«ó ¬
- │ óδ»«½¡Ñ¡¿ε "ß»∩Θ¿σ" »α«µÑßß«ó óδ»«½¡Ñ¡¿ε
- │
- v ÅÑαѬ½ετÑ¡¿Ñ ¬«¡ΓѬßΓá
-
- çá»πΘÑ¡
-
-
- É¿ßπ¡«¬ 2.9. î¡«ú«¬αáΓ¡á∩ »α¿«ßΓá¡«ó¬á óδ»«½¡Ñ¡¿∩ »α«µÑßß«ó, óδºóá¡¡á∩
- í½«¬¿α«ó¬«⌐
-
-
- 36
-
- Γ«τ¬¿ ºαÑ¡¿∩, ¼Ñªñπ π»αáó½∩εΘ¿¼¿ ¿ »«½∞º«óáΓѽ∞߬¿¼¿ »α«µÑßßἿ ¡ÑΓ αạ¿µδ.
- Ä¡¿ ¿ß»«½∞ºπεΓ «ñ¿¡ ¿ ëà ªÑ ¡áí«α «íαáΘÑ¡¿⌐ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ, ñ«ßΓπ»-
- ¡δ⌐ ñ½∩ óßÑσ. ô»αáó½∩εΘ¿Ñ »α«µÑßßδ «Γ½¿τáεΓß∩ «Γ «íδτ¡δσ »«½∞º«óáΓѽ∞߬¿σ
- »α«µÑßß«ó Γ«½∞¬« »αáóἿ ¿ »α¿ó¿½Ñú¿∩¼¿, ¬«Γ«α묨 «¡¿ «í½áñáεΓ. ìá»α¿¼Ñα,
- αѪ¿¼δ αáºαÑΦÑ¡¿∩ ñ«ßΓπ»á ¬ Σá⌐½π ¼«úπΓ »αÑñπß¼áΓα¿óáΓ∞ »αÑñ«ßΓáó½Ñ¡¿Ñ ó«º-
- ¼«ª¡«ßΓ¿ αáí«Γδ ß Σá⌐½á¼¿ ñ½∩ π»αáó½∩εΘ¿σ »α«µÑßß«ó ¿ «ΓßπΓßΓó¿Ñ Γᬫ⌐ ó«º-
- ¼«ª¡«ßΓ¿ ñ½∩ «íδτ¡δσ »«½∞º«óáΓѽÑ⌐. é¡πΓα¿ ß¿ßΓѼδ ∩ñα« óδñѽ∩ÑΓ «ß«í«ú«
- »«½∞º«óáΓѽ∩, ¿¼Ñ¡πѼ«ú« ßπ»Ñα»«½∞º«óáΓѽѼ, ¿ ¡áñѽ∩ÑΓ Ñú« «ß«í묨 »α¿ó¿½Ñ-
- ú¿∩¼¿, « τѼ ¼δ ÑΘÑ »«ú«ó«α¿¼ ¡¿ªÑ. Å«½∞º«óáΓѽ∞ ¼«ªÑΓ ßΓáΓ∞ ßπ»Ñα»«½∞º«óá-
- ΓѽѼ, Ñß½¿ ß««ΓóÑΓßΓóπεΘ¿¼ «íαẫ¼ ºáαÑú¿ßΓα¿απÑΓß∩ ó ß¿ßΓÑ¼Ñ ¿½¿ ºá»πßΓ¿Γ
- ߻ѵ¿á½∞¡πε »α«úαá¼¼π. Åα¿ó¿½Ñú¿¿ ßπ»Ñα»«½∞º«óáΓѽ∩ íπñπΓ αáßß¼«ΓαÑ¡δ ó ß½Ñ-
- ñπεΘ¿σ ú½áóáσ. àß½¿ ߬áºáΓ∞ ¬«α«Γ¬«, ∩ñα« ß¿ßΓÑ¼δ ¡Ñ óδñѽ∩ÑΓ π»αáó½∩εΘ¿Ñ
- »α«µÑßßδ ó «Γñѽ∞¡δ⌐ ¬½áßß.
-
-
- E2.5 é¢éÄä¢ ê ÄüçÄÉ ÅÄæïàäô₧Öêò âïÇéF
-
- é φΓ«⌐ ú½áóÑ «»¿ßá¡á áασ¿ΓѬΓπαá ∩ñαá «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ; Ñú« «ß¡«ó¡δ-
- ¼¿ ¬«¼»«¡Ñ¡ΓἿ óδßΓπ»áεΓ »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ Σá⌐½á¼¿ ¿ »«ñß¿ßΓѼá π»αáó-
- ½Ñ¡¿∩ »α«µÑßßἿ. Å«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ Σá⌐½á¼¿ π»αáó½∩ÑΓ σαá¡Ñ¡¿Ñ¼ ¿ óδí«α-
- ¬«⌐ ñá¡¡δσ ó »«½∞º«óáΓѽ∞߬¿σ Σá⌐½áσ. öá⌐½δ «αúá¡¿º«óá¡δ ó ó¿ñÑ Σá⌐½«óδσ
- ß¿ßΓѼ, ¬«Γ«αδÑ Γαá¬ΓπεΓß∩ ¬á¬ ½«ú¿τÑ߬¿Ñ πßΓα«⌐ßΓóá; Σ¿º¿τÑ߬«Ñ πßΓα«⌐ßΓó«,
- Γá¬«Ñ ¬á¬ ñ¿ß¬, ¼«ªÑΓ ß«ñÑαªáΓ∞ ¡Ñ߬«½∞¬« ½«ú¿τÑ߬¿σ πßΓα«⌐ßΓó (Σá⌐½«óδσ
- ß¿ßΓѼ). èáªñá∩ Σá⌐½«óá∩ ß¿ßΓÑ¼á ¿¼ÑÑΓ ßπ»Ñαí½«¬, ó ¬«Γ«α«¼ «»¿ßδóáÑΓß∩
- ßΓαπ¬Γπαá ¿ ß«ñÑন¼«Ñ Σá⌐½«ó«⌐ ß¿ßΓѼδ, ¬áªñδ⌐ Σá⌐½ ó Σá⌐½«ó«⌐ ß¿ßΓÑ¼Ñ «»¿-
- ßδóáÑΓß∩ ¿¡ñѬ߫¼, σαá¡∩Θ¿¼ áΓα¿íπΓδ Σá⌐½á. æ¿ßΓѼ¡δÑ «»Ñαᵿ¿ αáí«ΓáεΓ ß
- Σá⌐½á¼¿, ¿ß»«½∞ºπ∩ ¿¡ñѬßδ.
- Åα«µÑßßδ ¡áσ«ñ∩Γß∩ ó αẽ¿τ¡δσ ß«ßΓ«∩¡¿∩σ ¿ »ÑαÑσ«ñ∩Γ ¿º ß«ßΓ«∩¡¿∩ ó
- ß«ßΓ«∩¡¿Ñ, ß½Ññπ∩ «»αÑñѽѡ¡δ¼ »αáó¿½á¼ »ÑαÑσ«ñá. é τáßΓ¡«ßΓ¿, »α«µÑßßδ, óδ-
- »«½¡∩εΘ¿Ñß∩ ó αѪ¿¼Ñ ∩ñαá, ¼«úπΓ »α¿«ßΓá¡«ó¿Γ∞ ßó«Ñ óδ»«½¡Ñ¡¿Ñ ¿ »ÑαÑ⌐Γ¿ ó
- ß«ßΓ«∩¡¿Ñ "ß¡á", ¡« ¡¿ «ñ¿¡ »α«µÑßß ¡Ñ ¼«ªÑΓ »ÑαÑóÑßΓ¿ ó φΓ« ß«ßΓ«∩¡¿Ñ ñαπ-
- ú«⌐ »α«µÑßß. ƒñα« ∩ó½∩ÑΓß∩ ¡ÑóδúαπªáÑ¼δ¼ ¿ φΓ« «º¡áτáÑΓ, τΓ« »α«µÑßß, óδ»«½-
- ¡∩εΘ¿⌐ß∩ ó αѪ¿¼Ñ ∩ñαá, íπñÑΓ »α«ñ«½ªáΓ∞ ßó«Ñ óδ»«½¡Ñ¡¿Ñ ñ« ΓÑσ »«α, »«¬á ¡Ñ
- »ÑαÑ⌐ñÑΓ ó ß«ßΓ«∩¡¿Ñ "ß¡á" ¿½¿ »«¬á ¡Ñ óÑα¡ÑΓß∩ ó αѪ¿¼ ºáñáτ¿. ƒñα« «íÑß»Ñ-
- τ¿óáÑΓ µÑ½«ßΓ¡«ßΓ∞ ßó«¿σ ¿¡Σ«α¼áµ¿«¡¡δσ ßΓαπ¬Γπα í½áú«ñáα∩ ßó«Ñ⌐ ¡ÑóδúαπªáÑ-
- ¼«ßΓ¿, á Γá¬ªÑ »πΓѼ í½«¬¿α«óá¡¿∩ »αÑαδóá¡¿⌐ ¡á óαѼ∩ óδ»«½¡Ñ¡¿∩ ¬α¿Γ¿τÑ߬¿σ
- ßѬµ¿⌐ »α«úαá¼¼δ.
- é «ßΓá½∞¡δσ τáßΓ∩σ ú½áóδ ñÑΓá½∞¡« «»¿ßδóáεΓß∩ »«ñß¿ßΓѼδ, ¿º«íαáªÑ¡¡δÑ
- ¡á É¿ßπ¡¬Ñ 2.1, á Γá¬ªÑ óºá¿¼«ñÑ⌐ßΓó¿Ñ ¼Ñªñπ ¡¿¼¿, ¡áτ¿¡á∩ ß »«ñß¿ßΓѼδ π»-
- αáó½Ñ¡¿∩ Σá⌐½á¼¿ ¿ ó¬½ετá∩ »«ñß¿ßΓѼπ π»αáó½Ñ¡¿∩ »α«µÑßßἿ. é ß½ÑñπεΘÑ⌐
- ú½áóÑ αáßß¼áΓα¿óáÑΓß∩ íπΣÑα ßóÑασ«»ÑαáΓ¿ó¡«⌐ »á¼∩Γ¿ (¬ÑΦ) ¿ «»¿ßδóáεΓß∩ á½-
- ú«α¿Γ¼δ π»αáó½Ñ¡¿∩ íπΣÑα«¼, ¿ß»«½∞ºπѼδÑ ó ú½áóáσ 4, 5 ¿ 7. é ú½áóÑ 4 αáßß-
- ¼áΓα¿óáεΓß∩ ó¡πΓαÑ¡¡¿Ñ á½ú«α¿Γ¼δ Σá⌐½«ó«⌐ ß¿ßΓѼδ, ó¬½ετá∩ «íαáí«Γ¬π ¿¡ñѬ-
- ß«ó, ßΓαπ¬Γπαπ Σá⌐½«ó, »αÑ«íαẫóá¡¿Ñ ¿¼Ñ¡¿ »πΓ¿ ó ¿¡ñѬß. é ú½áóÑ 5 αáßß-
- ¼áΓα¿óáεΓß∩ ß¿ßΓѼ¡δÑ «»Ñαᵿ¿, ¬«Γ«αδÑ, ¿ß»«½∞ºπ∩ »α¿óÑñÑ¡¡δÑ ó ú½áóÑ 4 á½-
- ú«α¿Γ¼δ, «íαáΘáεΓß∩ ¬ Σá⌐½«ó«⌐ ß¿ßΓѼÑ, Γ.Ñ. ΓᬿÑ, ¬á¬ open, close, read ¿
- write. â½áóá 6 ¿¼ÑÑΓ ñѽ« ß »«¡∩Γ¿Ñ¼ ¬«¡ΓѬßΓá »α«µÑßßá ¿ Ñú« áñαÑß¡δ¼ »α«ß-
- Γαá¡ßΓó«¼, á ú½áóá 7 αáßß¼áΓα¿óáÑΓ ß¿ßΓѼ¡δÑ «»Ñαᵿ¿, ßó∩ºá¡¡δÑ ß π»αáó½Ñ-
- ¡¿Ñ¼ »α«µÑßßἿ ¿ ¿ß»«½∞ºπεΘ¿Ñ á½ú«α¿Γ¼δ ú½áóδ 6. â½áóá 8 ¬áßáÑΓß∩ »½á¡¿α«-
- óá¡¿∩ óδ»«½¡Ñ¡¿∩ »α«µÑßß«ó, ó ú½áóÑ 9 «íßπªñáεΓß∩ á½ú«α¿Γ¼δ αáß»αÑñѽѡ¿∩
- »á¼∩Γ¿. â½áóá 10 »«ßó∩ΘÑ¡á ñαá⌐óÑαá¼ πßΓα«⌐ßΓó, αáßß¼«ΓαÑ¡¿Ñ ¬«Γ«αδσ ñ« Γ«ú«
- «Γ¬½áñδóὫß∞, τΓ«íδ »αѪñÑ «íΩ∩ß¡¿Γ∞ ßó∩º∞ ñαá⌐óÑαá ΓÑନ¡á½á ß π»αáó½Ñ¡¿Ñ¼
- »α«µÑßßἿ. é ú½áóÑ 11 »αÑñßΓáó½Ñ¡« ¡Ñ߬«½∞¬« Σ«α¼ óºá¿¼«ñÑ⌐ßΓó¿∩ »α«µÑßß«ó.
- ìᬫ¡Ñµ, ó »«ß½Ññ¡¿σ ñóπσ ú½áóáσ αáßß¼áΓα¿óáεΓß∩ ó«»α«ßδ, ßó∩ºá¡¡δÑ ß πú½πí-
- ½Ñ¡¡δ¼ ¿ºπτÑ¡¿Ñ¼ «ß«íÑ¡¡«ßΓÑ⌐ ß¿ßΓѼδ, ó τáßΓ¡«ßΓ¿, «ß«íÑ¡¡«ßΓ¿ ¼¡«ú«»α«µÑß-
- ß«α¡δσ ß¿ßΓѼ ¿ αáß»αÑñѽѡ¡δσ ß¿ßΓѼ.
-
-
-
-
- 37
-
- E2.6 ôÅÉÇåìàìêƒF
-
- 1. Éáßß¼«Γα¿¼ ß½ÑñπεΘ¿⌐ ¡áí«α ¬«¼á¡ñ:
-
- grep main a.c b.c c.c > grepout &
- wc -1 < grepout &
- rm grepout &
-
- Ǽ»Ñαßá¡ñ (ß¿¼ó«½ "&") ó ¬«¡µÑ ¬áªñ«⌐ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ ú«ó«α¿Γ ¬«¼á¡ñ¡«¼π
- »α«µÑßß«απ shell « Γ«¼, τΓ« ¬«¼á¡ñπ ß½ÑñπÑΓ óδ»«½¡¿Γ∞ ¡á Σ«¡Ñ, »α¿ φΓ«¼
- shell ¼«ªÑΓ óδ»«½¡∩Γ∞ óßÑ ¬«¼á¡ñ¡δÑ ßΓ᫬¿ »áαώѽ∞¡«. Å«τѼπ φΓ« ¡Ñ
- αá󡫵ѡ¡« ß½ÑñπεΘÑ⌐ ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ ?
-
- grep main a.c b.c c.c │ wc -1
-
- 2. Éáßß¼«Γα¿¼ »α¿¼Ñα »α«úαá¼¼δ, »α¿óÑñÑ¡¡δ⌐ ¡á É¿ßπ¡¬Ñ 2.7. ÅαÑñ»«½«ª¿¼, τΓ«
- ó ëà ¼«¼Ñ¡Γ, ¬«úñá »α¿ ÑÑ óδ»«½¡Ñ¡¿¿ óßΓαÑΓ¿½ß∩ ¬«¼¼Ñ¡Γáα¿⌐, »α«¿º«Φ½«
- »ÑαѬ½ετÑ¡¿Ñ ¬«¡ΓѬßΓá ¿ ñαπú«⌐ »α«µÑßß πíαá½ ß«ñÑন¼«Ñ íπΣÑαá ¿º ß»¿ß¬á
- π¬áºáΓѽÑ⌐ ß »«¼«Θ∞ε ß½ÑñπεΘ¿σ ¬«¼á¡ñ:
-
- remove(gp)
- struct queue *gp;
- {
- gp - > forp - > backp = gp - > backp;
- gp - > backp - > forp = gp - > forp;
- gp - > forp = gp - > backp = NULL;
- }
-
- Éáßß¼«Γα¿¼ Γα¿ ß½πτá∩:
- - Åα«µÑßß πí¿αáÑΓ ¿º ß»¿ß¬á ß π¬áºáΓѽ∩¼¿ ßΓαπ¬Γπαπ bp1.
- - Åα«µÑßß πí¿αáÑΓ ¿º ß»¿ß¬á ß π¬áºáΓѽ∩¼¿ ßΓαπ¬Γπαπ, ß½ÑñπεΘπε »«ß½Ñ
- ßΓαπ¬Γπαδ bp1.
- - Åα«µÑßß πí¿αáÑΓ ¿º ß»¿ß¬á ßΓαπ¬Γπαπ, ¬«Γ«αá∩ »Ñαó«¡áτá½∞¡« ß½Ññ«óá½á ºá
- bp1 ñ« Γ«ú«, ¬á¬ ßΓαπ¬Γπαá bp íδ½á ¡á»«½«ó¿¡π ó¬½ετÑ¡á ó π¬áºá¡¡δ⌐ ß»¿-
- ᮪.
- é ¬á¬«¼ ß«ßΓ«∩¡¿¿ íπñÑΓ ß»¿ß«¬ »«ß½Ñ Γ«ú«, ¬á¬ »Ñαóδ⌐ »α«µÑßß ºáóÑαΦ¿Γ
- óδ»«½¡Ñ¡¿Ñ τáßΓ¿ »α«úαá¼¼δ, αáß»«½«ªÑ¡¡«⌐ »«ß½Ñ ¬«¼¼Ñ¡Γáα¿Ñó ?
- 3. ùΓ« »α«¿º«Φ½« íδ ó Γ«¼ ß½πτáÑ, Ñß½¿ ∩ñα« »«»δΓὫß∞ íδ ó«º«í¡«ó¿Γ∞ óδ»«½-
- ¡Ñ¡¿Ñ óßÑσ »α«µÑßß«ó, »α¿«ßΓá¡«ó½Ñ¡¡δσ »« ß«íδΓ¿ε, ¡« ó ß¿ßΓÑ¼Ñ ¡Ñ í佫
- íδ ¬ φΓ«¼π ¼«¼Ñ¡Γπ ¡¿ «ñ¡«ú« Γᬫú« »α«µÑßßá ?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 38