home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-11-06 | 148.3 KB | 2,482 lines |
-
-
- âïÇéÇ 10
-
- EÅÄäæêæÆàîÇ ôÅÉÇéïàìêƒ ééÄäÄî-é¢éÄäÄîF
-
-
-
-
- Å«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ óó«ñ«¼-óδó«ñ«¼ »«ºó«½∩ÑΓ »α«µÑßßá¼ »«ññÑনóáΓ∞
- ßó∩º∞ ß »Ñα¿ΣÑα¿⌐¡δ¼¿ πßΓα«⌐ßΓóἿ, Γᬿ¼¿ ¬á¬ ¡á¬«»¿Γѽ¿ ¡á ¼áú¡¿Γ¡δσ ñ¿ß-
- ¬áσ ¿ ½Ñ¡Γáσ, ΓÑନ¡á½δ, »α¿¡ΓÑαδ ¿ ßÑΓ¿, ß «ñ¡«⌐ ßΓ«α«¡δ, ¿ ß ¼«ñπ½∩¼¿ ∩ñ-
- αá, ¬«Γ«αδÑ π»αáó½∩εΓ πßΓα«⌐ßΓóἿ ¿ ¿¼Ñ¡πεΓß∩ ñαá⌐óÑαἿ πßΓα«⌐ßΓó, ß ñαπ-
- ú«⌐. îѪñπ ñαá⌐óÑαἿ πßΓα«⌐ßΓó ¿ Γ¿»á¼¿ πßΓα«⌐ßΓó «íδτ¡« ßπΘÑßΓóπÑΓ «ñ¡«º-
- ¡áτ¡«Ñ ß««ΓóÑΓßΓó¿Ñ: ó ß¿ßΓÑ¼Ñ ¼«ªÑΓ íδΓ∞ «ñ¿¡ ñ¿ß¬«óδ⌐ ñαá⌐óÑα ñ½∩ π»αáó½Ñ-
- ¡¿∩ óßѼ¿ ñ¿ß¬«ó«ñἿ, «ñ¿¡ ΓÑନ¡á½∞¡δ⌐ ñαá⌐óÑα ñ½∩ π»αáó½Ñ¡¿∩ óßѼ¿ ΓÑନ-
- ¡á½á¼¿ ¿ «ñ¿¡ ½Ñ¡Γ«τ¡δ⌐ ñαá⌐óÑα ñ½∩ π»αáó½Ñ¡¿∩ óßѼ¿ ½Ñ¡Γ«τ¡δ¼¿ ¡á¬«»¿Γѽ∩-
- ¼¿. àß½¿ ó ß¿ßΓÑ¼Ñ ¿¼ÑεΓß∩ «ñ¡«Γ¿»¡δÑ πßΓα«⌐ßΓóá, »«½πτÑ¡¡δÑ «Γ αạδσ ¿ºú«-
- Γ«ó¿ΓѽÑ⌐ - ¡á»α¿¼Ñα, ñóÑ ¼áન ½Ñ¡Γ«τ¡δσ ¡á¬«»¿ΓѽÑ⌐, - ó φΓ«¼ ß½πτáÑ ¼«ª¡«
- Γαá¬Γ«óáΓ∞ «ñ¡«Γ¿»¡δÑ πßΓα«⌐ßΓóá ¬á¬ πßΓα«⌐ßΓóá ñóπσ αẽ¿τ¡δσ Γ¿»«ó ¿ ¿¼ÑΓ∞
- ñ½∩ ¡¿σ ñóá «Γñѽ∞¡δσ ñαá⌐óÑαá, »«ß¬«½∞¬π Γᬿ¼ πßΓα«⌐ßΓóá¼ ñ½∩ óδ»«½¡Ñ¡¿∩
- «ñ¡¿σ ¿ ΓÑσ ªÑ «»Ñαᵿ⌐ ¼«úπΓ »«ΓαÑí«óáΓ∞ß∩ αạδÑ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ¬«-
- ¼á¡ñ. Äñ¿¡ ñαá⌐óÑα π»αáó½∩ÑΓ ¼¡«ªÑßΓó«¼ Σ¿º¿τÑ߬¿σ πßΓα«⌐ßΓó ñá¡¡«ú« Γ¿»á.
- ìá»α¿¼Ñα, «ñ¿¡ ΓÑନ¡á½∞¡δ⌐ ñαá⌐óÑα ¼«ªÑΓ π»αáó½∩Γ∞ óßѼ¿ ΓÑନ¡á½á¼¿, »«ñ¬-
- ½ετÑ¡¡δ¼¿ ¬ ß¿ßΓѼÑ. äαá⌐óÑα αẽ¿τáÑΓ πßΓα«⌐ßΓóá, ¬«Γ«α묨 π»αáó½∩ÑΓ: óδ-
- σ«ñ¡δÑ ñá¡¡δÑ, »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩ «ñ¡«ú« ΓÑନ¡á½á, ¡Ñ ñ«½ª¡δ íδΓ∞ »«ß½á¡δ
- ¡á ñαπú«⌐.
- æ¿ßΓÑ¼á »«ññÑনóáÑΓ "»α«úαá¼¼¡δÑ πßΓα«⌐ßΓóá", ß ¬áªñδ¼ ¿º ¬«Γ«αδσ ¡Ñ
- ßó∩ºá¡« ¡¿ «ñ¡« ¬«¡¬αÑΓ¡«Ñ Σ¿º¿τÑ߬«Ñ πßΓα«⌐ßΓó«. ìá»α¿¼Ñα, ¬á¬ πßΓα«⌐ßΓó«
- Γαá¬ΓπÑΓß∩ Σ¿º¿τÑ߬á∩ »á¼∩Γ∞, τΓ«íδ »«ºó«½¿Γ∞ »α«µÑßßπ «íαáΘáΓ∞ß∩ ¬ ¡Ñ⌐ ¿ºó-
- ¡Ñ, »πßΓ∞ ñáªÑ »á¼∩Γ∞ ¡Ñ ∩ó½∩ÑΓß∩ »Ñα¿ΣÑα¿⌐¡δ¼ πßΓα«⌐ßΓó«¼. 諼á¡ñá ps «íαá-
- ΘáÑΓß∩ ¬ ¿¡Σ«α¼áµ¿«¡¡δ¼ ßΓαπ¬Γπαá¼ ∩ñαá ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿, τΓ«íδ ß««íΘ¿Γ∞
- ßΓáΓ¿ßΓ¿¬π »α«µÑßß«ó. àΘÑ «ñ¿¡ »α¿¼Ñα: ñαá⌐óÑαδ ¼«úπΓ óÑßΓ¿ Γαáßß¿α«ó¬π ºá-
- »¿ßÑ⌐ ó πñ«í¡«¼ ñ½∩ «Γ½áñ¬¿ ó¿ñÑ, á ñαá⌐óÑα Γαáßß¿α«ó¬¿ ñáÑΓ ó«º¼«ª¡«ßΓ∞
- »«½∞º«óáΓѽ∩¼ τ¿ΓáΓ∞ φΓ¿ ºá»¿ß¿. ìᬫ¡Ñµ, »α«Σ¿½∞ ∩ñαá, αáßß¼«ΓαÑ¡¡δ⌐ ó ú½á-
- óÑ 8, óδ»«½¡Ñ¡ ¬á¬ ñαá⌐óÑα: »α«µÑßß ºá»¿ßδóáÑΓ áñαÑßá »α«úαá¼¼ ∩ñαá, «í¡áαπ-
- ªÑ¡¡δσ ó Γáí½¿µÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó ∩ñαá, ¿ τ¿ΓáÑΓ αѺπ½∞ΓáΓδ »α«Σ¿½¿α«óá¡¿∩.
- é φΓ«⌐ ú½áóÑ αáßß¼áΓα¿óáÑΓß∩ óºá¿¼«ñÑ⌐ßΓó¿Ñ ¼Ñªñπ »α«µÑßßἿ ¿ »«ñß¿ßΓÑ-
- ¼«⌐ π»αáó½Ñ¡¿∩ óó«ñ«¼-óδó«ñ«¼, á Γá¬ªÑ ¼Ñªñπ ¼áΦ¿¡«⌐ ¿ ñαá⌐óÑαἿ πßΓα«⌐ßΓó.
- êßß½ÑñπÑΓß∩ «íΘá∩ ßΓαπ¬Γπαá ¿ Σπ¡¬µ¿«¡¿α«óá¡¿Ñ ñαá⌐óÑα«ó ¿ ó ¬áτÑßΓóÑ »α¿¼Ñ-
- α«ó «íΘÑú« óºá¿¼«ñÑ⌐ßΓó¿∩ αáßß¼áΓα¿óáεΓß∩ ñ¿ß¬«óδÑ ¿ ΓÑନ¡á½∞¡δÑ ñαá⌐óÑαδ.
- çáóÑαΦáÑΓ ú½áóπ «»¿ßá¡¿Ñ ¡«ó«ú« ¼ÑΓ«ñá αÑ὿ºáµ¿¿ ñαá⌐óÑα«ó »«Γ«¬«óδσ πßΓ-
- α«⌐ßΓó.
-
-
- E10.1 éçÇêîÄäàëæÆéêà äÉÇëéàÉÄé æ ÅÉÄâÉÇîîìÄë ê ÇÅÅÇÉÇÆìÄë æÉàäÄëF
-
- é ß¿ßΓÑ¼Ñ UNIX ¿¼ÑÑΓß∩ ñóá Γ¿»á πßΓα«⌐ßΓó - πßΓα«⌐ßΓóá óó«ñáóδó«ñá í½«-
- ¬á¼¿ ¿ πßΓα«⌐ßΓóá ¡ÑßΓαπ¬Γπα¿α«óá¡¡«ú« ¿½¿ »«ß¿¼ó«½∞¡«ú« óó«ñá-óδó«ñá. èá¬
- πªÑ ú«ó«α¿½«ß∞ ó ú½áóÑ 2, πßΓα«⌐ßΓóá óó«ñá-óδó«ñá í½«¬á¼¿, Γá¬¿Ñ ¬á¬ ñ¿ß¬¿ ¿
- ½Ñ¡Γδ, ñ½∩ «ßΓá½∞¡«⌐ τáßΓ¿ ß¿ßΓѼδ óδú½∩ñ∩Γ ¬á¬ ºá»«¼¿¡áεΘ¿Ñ πßΓα«⌐ßΓóá ß
- »α«¿ºó«½∞¡«⌐ óδí«α¬«⌐; ¬ πßΓα«⌐ßΓóá¼ »«ß¿¼ó«½∞¡«ú« óó«ñá-óδó«ñá «Γ¡«ß∩Γß∩
- óßÑ ñαπú¿Ñ πßΓα«⌐ßΓóá, ó Γ«¼ τ¿ß½Ñ ΓÑନ¡á½δ ¿ ßÑΓÑó«Ñ «í«απñ«óá¡¿Ñ. ôßΓα«⌐-
- ßΓóá óó«ñá-óδó«ñá í½«¬á¼¿ ¼«úπΓ ¿¼ÑΓ∞ ¿¡ΓÑαΣÑ⌐ß ¿ ß πßΓα«⌐ßΓóἿ »«ß¿¼ó«½∞-
- ¡«ú« óó«ñá-óδó«ñá.
- Å«½∞º«óáΓѽ∞ óºá¿¼«ñÑ⌐ßΓóπÑΓ ß πßΓα«⌐ßΓóἿ τÑαѺ »«ßαÑñ¡¿τÑßΓó« Σá⌐½«-
- ó«⌐ ß¿ßΓѼδ (ß¼. É¿ßπ¡«¬ 2.1). èáªñ«Ñ πßΓα«⌐ßΓó« ¿¼ÑÑΓ ¿¼∩, »«σ«ªÑÑ ¡á ¿¼∩
- Σá⌐½á, ¿ »«½∞º«óáΓѽ∞ «íαáΘáÑΓß∩ ¬ ¡Ñ¼π ¬á¬ ¬ Σá⌐½π. æ»Ñµ¿á½∞¡δ⌐ Σá⌐½ πßΓ-
- α«⌐ßΓóá ¿¼ÑÑΓ ¿¡ñÑ¬ß ¿ ºá¡¿¼áÑΓ ¼ÑßΓ« ó ¿Ñαáασ¿¿ ¬áΓὫú«ó Σá⌐½«ó«⌐ ß¿ßΓѼδ.
- öá⌐½ πßΓα«⌐ßΓóá «Γ½¿τáÑΓß∩ «Γ ñαπú¿σ Σá⌐½«ó Γ¿»«¼ Σá⌐½á, σαá¡∩Θ¿¼ß∩ ó Ñú«
- ¿¡ñѬßÑ, ½¿í« "í½«τ¡δ⌐", ½¿í« "ß¿¼ó«½∞¡δ⌐ ߻ѵ¿á½∞¡δ⌐", ó ºáó¿ß¿¼«ßΓ¿ «Γ πß-
-
- 290
-
- Γα«⌐ßΓóá, ¬«Γ«α«Ñ φëà Σá⌐½ »αÑñßΓáó½∩ÑΓ. àß½¿ πßΓα«⌐ßΓó« ¿¼ÑÑΓ ¬á¬ í½«τ¡δ⌐,
- Γᬠ¿ ß¿¼ó«½∞¡δ⌐ ¿¡ΓÑαΣÑ⌐ß, Ñú« »αÑñßΓáó½∩εΓ ñóá Σá⌐½á: ߻ѵ¿á½∞¡δ⌐ Σá⌐½ πß-
- Γα«⌐ßΓóá óó«ñá-óδó«ñá í½«¬á¼¿ ¿ ߻ѵ¿á½∞¡δ⌐ Σá⌐½ πßΓα«⌐ßΓóá »«ß¿¼ó«½∞¡«ú«
- óó«ñá-óδó«ñá. æ¿ßΓѼ¡δÑ Σπ¡¬µ¿¿ ñ½∩ «íδτ¡δσ Σá⌐½«ó, Γá¬¿Ñ ¬á¬ open, close,
- read ¿ write, ¿¼ÑεΓ Γ« ªÑ º¡áτÑ¡¿Ñ ¿ ñ½∩ πßΓα«⌐ßΓó, ó τѼ ¼δ πíÑñ¿¼ß∩ »«ºªÑ.
- æ¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ ioctl »αÑñ«ßΓáó½∩ÑΓ »α«µÑßßἠ󫺼«ª¡«ßΓ∞ π»αáó½∩Γ∞ πßΓ-
- α«⌐ßΓóἿ »«ß¿¼ó«½∞¡«ú« óó«ñá-óδó«ñá, ¡« ¡Ñ »α¿¼Ñ¡¿¼á ó «Γ¡«ΦÑ¡¿¿ ¬ Σá⌐½á¼
- «íδτ¡«ú« Γ¿»á (*). ÆÑ¼ ¡Ñ ¼Ñ¡ÑÑ, ñαá⌐óÑαá¼ πßΓα«⌐ßΓó ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿ »«ñ-
- ñÑনóáΓ∞ »«½¡δ⌐ ¡áí«α ß¿ßΓѼ¡δσ Σπ¡¬µ¿⌐. ìá»α¿¼Ñα, óδΦÑπ»«¼∩¡πΓδ⌐ ñαá⌐óÑα
- Γαáßß¿α«ó¬¿ ñáÑΓ »α«µÑßßἠ󫺼«ª¡«ßΓ∞ τ¿ΓáΓ∞ ºá»¿ß¿, ß«ºñá¡¡δÑ ñαπú¿¼¿
- ñαá⌐óÑαἿ, ¡« ¡Ñ »«ºó«½∩ÑΓ ß«ºñáóáΓ∞ ¿σ.
-
-
- E10.1.1 è«¡Σ¿úπαᵿ∩ ß¿ßΓѼδF
-
- çáñá¡¿Ñ ¬«¡Σ¿úπαᵿ¿ ß¿ßΓѼδ φΓ« »α«µÑñπαá π¬áºá¡¿∩ áñ¼¿¡¿ßΓαáΓ«αἿ
- º¡áτÑ¡¿⌐ »áαá¼ÑΓα«ó, ß »«¼«Θ∞ε ¬«Γ«αδσ »α«¿ºó«ñ¿Γß∩ ¡áßΓα«⌐¬á ß¿ßΓѼδ. ìѬ«-
- Γ«αδÑ ¿º »áαá¼ÑΓα«ó π¬áºδóáεΓ αẼÑαδ Γáí½¿µ ∩ñαá, Γᬿσ ¬á¬ Γáí½¿µá »α«µÑß-
- ß«ó, Γáí½¿µá ¿¡ñÑ¬ß«ó ¿ Γáí½¿µá Σá⌐½«ó, á Γá¬ªÑ ß¬«½∞¬« íπΣÑα«ó »«¼ÑΘáÑΓß∩ ó
- íπΣÑα¡«¼ »π½Ñ. æ »«¼«Θ∞ε ñαπú¿σ »áαá¼ÑΓα«ó π¬áºδóáÑΓß∩ ¬«¡Σ¿úπαᵿ∩ πßΓα«⌐-
- ßΓó, Γ« ÑßΓ∞ »α«¿ºó«ñ∩Γß∩ ¬«¡¬αÑΓ¡δÑ π¬áºá¡¿∩ ∩ñαπ, ¬á¬¿Ñ πßΓα«⌐ßΓóá ó¬½ετá-
- εΓß∩ ó ñá¡¡πε ß¿ßΓѼ¡πε αÑ὿ºáµ¿ε ¿ ¿σ "áñαÑß". ìá»α¿¼Ñα, ó ¬«¡Σ¿úπαᵿ¿
- ¼«ªÑΓ íδΓ∞ π¬áºá¡«, τΓ« ΓÑନ¡á½∞¡á∩ »½áΓá óßΓáó½Ñ¡á ó ß««ΓóÑΓßΓóπεΘ¿⌐ αáºΩ-
- Ѽ ¡á á»»áαáΓ¡«⌐ »á¡Ñ½¿.
- æπΘÑßΓóπÑΓ Γα¿ ßΓáñ¿¿, ¡á ¬«Γ«αδσ ¼«ªÑΓ íδΓ∞ π¬áºá¡á ¬«¡Σ¿úπαᵿ∩ πßΓ-
- α«⌐ßΓó. é«-»Ñαóδσ, áñ¼¿¡¿ßΓαáΓ«αδ ¼«úπΓ ¬«ñ¿α«óáΓ∞ ¿¡Σ«α¼áµ¿ε « ¬«¡Σ¿úπαᵿ¿
- ó Σá⌐½áσ, ¬«Γ«αδÑ Γαá¡ß½¿απεΓß∩ ¿ ¬«¼»«¡πεΓß∩ ó« óαѼ∩ »«ßΓα«Ñ¡¿∩ ∩ñαá. ê¡-
- Σ«α¼áµ¿∩ « ¬«¡Σ¿úπαᵿ¿ «íδτ¡« π¬áºδóáÑΓß∩ ó »α«ßΓ«¼ Σ«α¼áΓÑ, ¿ »α«úαá¼¼á
- ¬«¡Σ¿úπαᵿ¿ »αÑ«íαáºπÑΓ ÑÑ ó Σá⌐½, ú«Γ«óδ⌐ ñ½∩ Γαá¡ß½∩µ¿¿. é«-óΓ«αδσ, áñ¼¿-
- ¡¿ßΓαáΓ«αδ ¼«úπΓ π¬áºδóáΓ∞ ¿¡Σ«α¼áµ¿ε « ¬«¡Σ¿úπαᵿ¿ »«ß½Ñ Γ«ú«, ¬á¬ ß¿ßΓѼá
- πªÑ ºá»πΘÑ¡á; ∩ñα« ñ¿¡á¼¿τÑ߬¿ ¬«ααÑ¬Γ¿απÑΓ ó¡πΓαÑ¡¡¿Ñ Γáí½¿µδ ¬«¡Σ¿úπαᵿ¿.
- ìᬫ¡Ñµ, ßἫ¿ñÑ¡Γ¿Σ¿µ¿απεΘ¿Ñß∩ πßΓα«⌐ßΓóá ñáεΓ ∩ñαπ 󫺼«ª¡«ßΓ∞ πº¡áΓ∞, ¬á-
- ¬¿Ñ ¿º πßΓα«⌐ßΓó ó¬½ετÑ¡δ. ƒñα« ßτ¿ΓδóáÑΓ á»»áαáΓ¡δÑ ¬½ετ¿ ñ½∩ ßἫ¡áßΓα«⌐-
- ¬¿. Å«ñα«í¡«ßΓ¿ ºáñá¡¿∩ ß¿ßΓѼ¡«⌐ ¬«¡Σ¿úπαᵿ¿ óδσ«ñ∩Γ ºá »αÑñѽδ φΓ«⌐ ¬¡¿-
- ú¿, «ñ¡á¬« ó« óßÑσ ß½πτá∩σ αѺπ½∞ΓáΓ«¼ »α«µÑñπαδ ºáñá¡¿∩ ¬«¡Σ¿úπαᵿ¿ ∩ó½∩-
- ÑΓß∩ úÑ¡Ñαᵿ∩ ¿½¿ ºá»«½¡Ñ¡¿Ñ Γáí½¿µ, ß«ßΓáó½∩εΘ¿σ «ß¡«óπ »α«úαá¼¼ ∩ñαá.
- ê¡ΓÑαΣÑ⌐ß "∩ñα« - ñαá⌐óÑα" «»¿ßδóáÑΓß∩ ó Γáí½¿µÑ ¬½ετÑ⌐ πßΓα«⌐ßΓó óó«-
- ñá-óδó«ñá í½«¬á¼¿ ¿ ó Γáí½¿µÑ ¬½ετÑ⌐ πßΓα«⌐ßΓó »«ß¿¼ó«½∞¡«ú« óó«ñá-óδó«ñá
- (É¿ßπ¡«¬ 10.1). èáªñδ⌐ Γ¿» πßΓα«⌐ßΓóá ¿¼ÑÑΓ ó Γáí½¿µÑ Γ«τ¬¿ óσ«ñá, ¬«Γ«αδÑ
- »α¿ óδ»«½¡Ñ¡¿¿ ß¿ßΓѼ¡δσ Σπ¡¬µ¿⌐ áñαÑßπεΓ ∩ñα« ¬ ß««ΓóÑΓßΓóπεΘѼπ ñαá⌐óÑαπ.
- öπ¡¬µ¿¿ open ¿ close, óδºδóáѼδÑ Σá⌐½«¼ πßΓα«⌐ßΓóá, "»α«»π߬áεΓß∩" τÑαѺ
- Γáí½¿µδ ¬½ετÑ⌐ πßΓα«⌐ßΓó ó ß««ΓóÑΓßΓó¿¿ ß Γ¿»«¼ Σá⌐½á. öπ¡¬µ¿¿ mount ¿
- umount ΓᬠªÑ óδºδóáεΓ óδ»«½¡Ñ¡¿Ñ »α«µÑñπα «Γ¬αδΓ¿∩ ¿ ºá¬αδΓ¿∩ πßΓα«⌐ßΓó, ¡«
- ñ½∩ πßΓα«⌐ßΓó óó«ñá-óδó«ñá í½«¬á¼¿. öπ¡¬µ¿¿ read ¿ write, óδºδóáѼδÑ πßΓα«⌐-
- ßΓóἿ óó«ñá-óδó«ñá í½«¬á¼¿ ¿ Σá⌐½á¼¿ ó ß¼«¡Γ¿α«óá¡¡δσ Σá⌐½«óδσ ß¿ßΓѼáσ,
- ºá»π߬áεΓ á½ú«α¿Γ¼δ αáí«Γδ ß íπΣÑα¡δ¼ ¬ÑΦѼ, ¿¡¿µ¿¿απεΘ¿Ñ αÑ὿ºáµ¿ε ßΓαáΓÑ-
- ú¿τÑ߬«⌐ »α«µÑñπαδ αáí«Γδ ß πßΓα«⌐ßΓóἿ. ìѬ«Γ«αδÑ ¿º ñαá⌐óÑα«ó ºá»π߬áεΓ
- φΓπ »α«µÑñπαπ ¿º¡πΓα¿ ¿º »α«µÑñπα τΓÑ¡¿∩ ¿ ºá»¿ß¿. ü«½ÑÑ »«ñα«í¡« óºá¿¼«ñÑ⌐-
- ßΓó¿Ñ ß ¬áªñδ¼ ñαá⌐óÑα«¼ αáßß¼áΓα¿óáÑΓß∩ ó ß½ÑñπεΘѼ αáºñѽÑ.
- ê¡ΓÑαΣÑ⌐ß "á»»áαáΓπαá - ñαá⌐óÑα" ß«ßΓ«¿Γ ¿º ¼áΦ¿¡¡«-ºáó¿ß¿¼δσ π»αáó½∩ε-
- Θ¿σ αÑú¿ßΓα«ó ¿½¿ ¬«¼á¡ñ óó«ñá-óδó«ñá ñ½∩ π»αáó½Ñ¡¿∩ πßΓα«⌐ßΓóἿ ¿ óÑ¬Γ«αá-
- ¼¿ »αÑαδóá¡¿⌐: ¬«úñá »α«¿ßσ«ñ¿Γ »αÑαδóá¡¿Ñ «Γ πßΓα«⌐ßΓóá, ß¿ßΓÑ¼á ¿ñÑ¡Γ¿Σ¿-
- µ¿απÑΓ πßΓα«⌐ßΓó«, óδºóáóΦÑÑ »αÑαδóá¡¿Ñ, ¿ ºá»π߬áÑΓ »α«úαá¼¼π «íαáí«Γ¬¿ ß«-
-
- ────────────────────────────────────────
- (*) ê ¡á«í«α«Γ, ß¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ fcntl «íÑß»Ñτ¿óáÑΓ ¬«¡Γα«½∞ ¡áñ ñÑ⌐ßΓó¿∩-
- ¼¿, »α«¿ºó«ñ¿¼δ¼¿ ¡á πα«ó¡Ñ ñÑß¬α¿»Γ«αá Σá⌐½á, ¡« ¡Ñ ¡á πα«ó¡Ñ πßΓα«⌐ßΓ-
- óá. é ñαπú¿σ αÑ὿ºáµ¿∩σ Σπ¡¬µ¿∩ ioctl »α¿¼Ñ¡¿¼á ñ½∩ Σá⌐½«ó óßÑσ Γ¿»«ó.
-
-
- 291
-
- «ΓóÑΓßΓóπεΘÑú« »αÑαδóá¡¿∩. ÄτÑó¿ñ¡«, τΓ« "»α«úαá¼¼¡δÑ πßΓα«⌐ßΓóá", Γá¬¿Ñ ¬á¬
- ñαá⌐óÑα ß¿ßΓÑ¼δ »«ßΓα«Ñ¡¿∩ »α«Σ¿½∩ ∩ñαá (ú½áóá 8) ¡Ñ ¿¼ÑεΓ á»»áαáΓ¡«ú« ¿¡-
- ΓÑαΣÑ⌐ßá, «ñ¡á¬« »α«úαá¼¼δ «íαáí«Γ¬¿ ñαπú¿σ »αÑαδóá¡¿⌐ ¼«úπΓ «íαáΘáΓ∞ß∩ ¬
- "«íαáí«Γτ¿¬π »α«úαá¼¼¡«ú« »αÑαδóá¡¿∩" ¡Ñ»«ßαÑñßΓóÑ¡¡«. ìá»α¿¼Ñα, »α«úαá¼¼á
- «íαáí«Γ¬¿ »αÑαδóá¡¿∩ »« Γá⌐¼Ñαπ «íαáΘáÑΓß∩ ¬ »α«úαá¼¼Ñ «íαáí«Γ¬¿ »αÑαδóá¡¿∩
- ß¿ßΓÑ¼δ »«ßΓα«Ñ¡¿∩ »α«Σ¿½∩ ∩ñαá.
- Çñ¼¿¡¿ßΓαáΓ«αδ πßΓá¡áó½¿óáεΓ ß»Ñµ¿á½∞¡δÑ Σá⌐½δ πßΓα«⌐ßΓó ¬«¼á¡ñ«⌐ mknod,
- ó ¬«Γ«α«⌐ π¬áºδóáÑΓß∩ Γ¿» Σá⌐½á (í½«τ¡δ⌐ ¿½¿ ß¿¼ó«½∞¡δ⌐), ßΓáαΦ¿⌐ ¿ ¼½áñΦ¿⌐
- ¡«¼Ñαá πßΓα«⌐ßΓóá. 諼á¡ñá mknod ºá»π߬áÑΓ óδ»«½¡Ñ¡¿Ñ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ ß
- ΓѼ ªÑ ¿¼Ñ¡Ñ¼, ß«ºñáεΘÑ⌐ Σá⌐½ πßΓα«⌐ßΓóá. ìá»α¿¼Ñα, ó ¬«¼á¡ñ¡«⌐ ßΓ᫬Ñ
-
- mknod /dev/tty13 c 2 13
-
- "/dev/tty13" - ¿¼∩ Σá⌐½á πßΓα«⌐ßΓóá, "c" π¬áºδóáÑΓ, τΓ« Γ¿» Σá⌐½á - "ß¿¼-
- ó«½∞¡δ⌐ ߻ѵ¿á½∞¡δ⌐" ("b", ß««ΓóÑΓßΓóÑ¡¡«, í½«τ¡δ⌐), "2" - ßΓáαΦ¿⌐ ¡«¼Ñα πß-
- Γα«⌐ßΓóá, "13" - ¼½áñΦ¿⌐ ¡«¼Ñα πßΓα«⌐ßΓóá. æΓáαΦ¿⌐ ¡«¼Ñα πßΓα«⌐ßΓóá »«¬áºδ-
- óáÑΓ Ñú« Γ¿», ¬«Γ«α«¼π ß««ΓóÑΓßΓóπÑΓ Γ«τ¬á óσ«ñá ó Γáí½¿µÑ ¬½ετÑ⌐ πßΓα«⌐ßΓó,
- ¼½áñΦ¿⌐ ¡«¼Ñα πßΓα«⌐ßΓóá - φΓ« »«α∩ñ¬«óδ⌐ ¡«¼Ñα Ññ¿¡¿µδ πßΓα«⌐ßΓóá ñá¡¡«ú«
- Γ¿»á. àß½¿ »α«µÑßß «Γ¬αδóáÑΓ ß»Ñµ¿á½∞¡δ⌐ í½«τ¡δ⌐ Σá⌐½ ß ¿¼Ñ¡Ñ¼ "/dev/dsk1" ¿
- ¬«ñ«¼ 0, ∩ñα« ºá»π߬áÑΓ »α«úαá¼¼π gdopen ó Γ«τ¬Ñ 0 Γáí½¿µδ ¬½ετÑ⌐ πßΓα«⌐ßΓó
- í½«τ¡«ú« óó«ñá-óδó«ñá (É¿ßπ¡«¬ 10.2); Ñß½¿ »α«µÑßß τ¿ΓáÑΓ ß»Ñµ¿á½∞¡δ⌐ ß¿¼-
- ó«½∞¡δ⌐ Σá⌐½ ß ¿¼Ñ¡Ñ¼ "/dev/mem" ¿ ¬«ñ«¼ 3,
-
-
- Å«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ Σá⌐½á¼¿
- ┌────────────────────────────────────────────────────────────┐
- │ open close │
- │ open close read write ioctl read write │
- │ mount umount │
- └──┼─────┼────┼─────┼─────┼────────────┼─────┼─────┼─────┼───┘
- │ │ │ │ │ │ │ ┌─┴─────┴───┐
- │ │ │ │ │ │ │ │ Σπ¡¬µ¿¿ │
- │ │ │ │ │ │ │ │ αáí«Γδ ß │
- │ │ │ │ │ │ │ │ íπΣÑα¡δ¼ │
- │ │ │ │ │ │ │ │ ¬ÑΦѼ │
- │ │ │ │ │ │ │ └─────┬─────┘
- ┌──┴─────┴────┴─────┴─────┴─┐ ┌┴─────┴─────────┴─────┐
- │ Æáí½¿µá ¬½ετÑ⌐ πßΓα«⌐ßΓó │ │ Æáí½¿µá ¬½ετÑ⌐ πßΓ- │
- │ »«ß¿¼ó«½∞¡«ú« óó«ñá-óδó«ñá│ │ α«⌐ßΓó óó«ñá-óδó«ñá │
- │ │ │ í½«¬á¼¿ │
- └──┬─────┬────┬─────┬─────┬─┘ └──┬──────┬────────┬───┘
- ┌──┼─────┼────┼─────┼─────┼─┐ ┌──┼──────┼────────┼───┐
- │open close read write ioctl│ Æ«τ¬¿ │ open close strategy│
- │ │ óσ«ñá │ │
- │ äαá⌐óÑα │ ñ½∩ │ äαá⌐óÑα │
- │ │ ñαá⌐- │ │
- │»α«úαá¼¼á «íαáí«Γ¬¿ »αÑαδ- │ óÑα«ó │ »α«úαá¼¼á «íαáí«Γ¬¿ │
- │ óá¡¿⌐ «Γ πßΓα«⌐ßΓóá │ │»αÑαδóá¡¿⌐ «Γ πßΓα«⌐ßΓ│
- └────────────┼──────────────┘ └───────────┼──────────┘
- ┌────────┴──────────┐ ┌─────────┴─────────┐
- │ éÑ¬Γ«α »αÑαδóá¡¿∩ │ │ éÑ¬Γ«α »αÑαδóá¡¿∩ │
- └────────┬──────────┘ └─────────┬─────────┘
- └───────────────────┬────────────────┘
- │
- ÅαÑαδóá¡¿∩ «Γ πßΓα«⌐ßΓó
-
- É¿ßπ¡«¬ 10.1. Æ«τ¬¿ óσ«ñá ñ½∩ ñαá⌐óÑα«ó
-
-
-
- 292
-
- ∩ñα« ºá»π߬áÑΓ »α«úαá¼¼π mmread ó Γ«τ¬Ñ 3 Γáí½¿µδ ¬½ετÑ⌐ πßΓα«⌐ßΓó »«ß¿¼-
- ó«½∞¡«ú« óó«ñá-óδó«ñá. Åα«úαá¼¼á nulldev - φΓ« "»πßΓá∩" »α«úαá¼¼á, ¿ß»«½∞ºπ-
- Ѽá∩ ó ΓÑσ ß½πτá∩σ, ¬«úñá «ΓßπΓßΓóπÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ∞ ó ¬«¡¬αÑΓ¡«⌐ Σπ¡¬µ¿¿
- ñαá⌐óÑαá. æ «ñ¡¿¼ ßΓáαΦ¿¼ ¡«¼Ñα«¼ πßΓα«⌐ßΓóá ¼«ªÑΓ íδΓ∞ ßó∩ºá¡« ¼¡«ªÑßΓó«
- »Ñα¿ΣÑα¿⌐¡δσ πßΓα«⌐ßΓó; ¼½áñΦ¿⌐ ¡«¼Ñα πßΓα«⌐ßΓóá »«ºó«½∩ÑΓ «Γ½¿τ¿Γ∞ ¿σ «ñ¡«
- «Γ ñαπú«ú«. ìÑ ¡πª¡« ß«ºñáóáΓ∞ ߻ѵ¿á½∞¡δÑ Σá⌐½δ πßΓα«⌐ßΓó »α¿ ¬áªñ«⌐ ºáú-
- απº¬Ñ ß¿ßΓѼδ; ¿σ Γ«½∞¬« ¡πª¡« ¬«ααÑ¬Γ¿α«óáΓ∞, Ñß½¿ ¿º¼Ñ¡¿½áß∞ ¬«¡Σ¿úπαᵿ∩
- ß¿ßΓѼδ, ¡á»α¿¼Ñα, Ñß½¿ ¬ πßΓá¡«ó½Ñ¡¡«⌐ ¬«¡Σ¿úπαᵿ¿ í뫨 ñ«íáó½Ñ¡δ πßΓα«⌐ß-
- Γóá.
-
-
- E10.1.2 æ¿ßΓѼ¡δÑ Σπ¡¬µ¿¿ ¿ óºá¿¼«ñÑ⌐ßΓó¿Ñ ß ñαá⌐óÑαἿF
-
- é φΓ«¼ αáºñÑ½Ñ αáßß¼áΓα¿óáÑΓß∩ óºá¿¼«ñÑ⌐ßΓó¿Ñ ∩ñαá ß ñαá⌐óÑαἿ πßΓα«⌐-
- ßΓó. Åα¿ óδ»«½¡Ñ¡¿¿ ΓÑσ ß¿ßΓѼ¡δσ Σπ¡¬µ¿⌐, ¬«Γ«αδÑ ¿ß»«½∞ºπεΓ ñÑß¬α¿»Γ«αδ
- Σá⌐½«ó, ∩ñα«, ß½Ññπ∩ ºá π¬áºáΓѽ∩¼¿, σαá¡∩Θ¿¼¿ß∩ ó »«½∞º«óáΓѽ∞߬«¼ ñÑß¬α¿»-
- Γ«αÑ Σá⌐½á, «íαáΘáÑΓß∩ ¬ Γáí½¿µÑ
-
- ┌───────────────────────────────────────────────┐
- │ Γáí½¿µá ¬½ετÑ⌐ πßΓα«⌐ßΓó óó«ñá-óδó«ñá í½«¬á¼¿ │
- ├───────┬────────┬─────────┬────────────────────┤
- │ óσ«ñ │ open │ close │ strategy │
- ├───────┼────────┼─────────┼────────────────────┤
- │ 0 │ gdopen │ gdclose │ gdstrategy │
- ├───────┼────────┼─────────┼────────────────────┤
- │ 1 │ gtopen │ gtclose │ gtstrategy │
- └───────┴────────┴─────────┴────────────────────┘
- ┌────────────────────────────────────────────────────────────────┐
- │ Γáí½¿µá ¬½ετÑ⌐ πßΓα«⌐ßΓó »«ß¿¼ó«½∞¡«ú« óó«ñá-óδó«ñá │
- ├──────┬───────────┬───────────┬─────────┬───────────┬───────────┤
- │ óσ«ñ │ open │ close │ read │ write │ ioctl │
- ├──────┼───────────┼───────────┼─────────┼───────────┼───────────┤
- │ 0 │ conopen │ conclose │ conread │ conwrite │ conioctl │
- ├──────┼───────────┼───────────┼─────────┼───────────┼───────────┤
- │ 1 │ dzbopen │ dzbclose │ dzbread │ dzbwrite │ dzbioctl │
- ├──────┼───────────┼───────────┼─────────┼───────────┼───────────┤
- │ 2 │ syopen │ nulldev │ syread │ sywrite │ syioctl │
- ├──────┼───────────┼───────────┼─────────┼───────────┼───────────┤
- │ 3 │ nulldev │ nulldev │ mmread │ mmwrite │ nodev │
- ├──────┼───────────┼───────────┼─────────┼───────────┼───────────┤
- │ 4 │ gdopen │ gdclose │ gdread │ gdwrite │ nodev │
- ├──────┼───────────┼───────────┼─────────┼───────────┼───────────┤
- │ 5 │ gtopen │ gtclose │ gtread │ gtwrite │ nodev │
- └──────┴───────────┴───────────┴─────────┴───────────┴───────────┘
-
- É¿ßπ¡«¬ 10.2. Åα¿¼Ñα ºá»«½¡Ñ¡¿∩ Γáí½¿µ ¬½ετÑ⌐ πßΓα«⌐ßΓó óó«ñá-
- óδó«ñá í½«¬á¼¿ ¿ ß¿¼ó«½á¼¿
-
-
- Σá⌐½«ó ∩ñαá ¿ ¬ ¿¡ñѬßπ, úñÑ «¡« »α«óÑα∩ÑΓ Γ¿» Σá⌐½á, ¿ »ÑαÑσ«ñ¿Γ ¬ Γáí½¿µÑ
- ¬½ετÑ⌐ πßΓα«⌐ßΓó óó«ñá-óδó«ñá í½«¬á¼¿ ¿½¿ ß¿¼ó«½á¼¿. ƒñα« ¿ºó½Ñ¬áÑΓ ¿º ¿¡-
- ñѬßá ßΓáαΦ¿⌐ ¿ ¼½áñΦ¿⌐ ¡«¼Ñαá πßΓα«⌐ßΓóá, ¿ß»«½∞ºπÑΓ ßΓáαΦ¿⌐ ¡«¼Ñα ó ¬áτÑß-
- ΓóÑ π¬áºáΓѽ∩ ¡á Γ«τ¬π óσ«ñá ó ß««ΓóÑΓßΓóπεΘÑ⌐ Γáí½¿µÑ ¿ óδºδóáÑΓ óδ»«½¡Ñ¡¿Ñ
- Σπ¡¬µ¿¿ ñαá⌐óÑαá ó ß««ΓóÑΓßΓó¿¿ ß óδ»«½¡∩Ѽ«⌐ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿Ñ⌐, »ÑαÑñáóá∩
- ¼½áñΦ¿⌐ ¡«¼Ñα ó ¬áτÑßΓóÑ »áαá¼ÑΓαá. éáª¡δ¼ αẽ¿τ¿Ñ¼ ó αÑ὿ºáµ¿¿ ß¿ßΓѼ¡δσ
- Σπ¡¬µ¿⌐ ñ½∩ Σá⌐½«ó πßΓα«⌐ßΓó ¿ ñ½∩ Σá⌐½«ó «íδτ¡«ú« Γ¿»á ∩ó½∩ÑΓß∩ Γ«, τΓ« ¿¡-
- ñÑ¬ß ß»Ñµ¿á½∞¡«ú« Σá⌐½á ¡Ñ í½«¬¿απÑΓß∩ ó Γ« óαѼ∩, ¬«úñá ∩ñα« óδ»«½¡∩ÑΓ
- »α«úαá¼¼π ñαá⌐óÑαá. äαá⌐óÑαδ τáßΓ« »α¿«ßΓá¡áó½¿óáεΓ ßó«ε αáí«Γπ, «ª¿ñá∩ ßó∩-
- º¿ ß á»»áαáΓ¡δ¼¿ ßαÑñßΓóἿ ¿½¿ »«ßΓπ»½Ñ¡¿∩ ñá¡¡δσ, »«φΓ«¼π ∩ñα« ¡Ñ ó ß«ßΓ«-
-
- 293
-
- ∩¡¿¿ «»αÑñѽ¿Γ∞, ¡á ¬á¬«Ñ óαѼ∩ »α«µÑßß íπñÑΓ »α¿«ßΓá¡«ó½Ñ¡. àß½¿ ¿¡ñѬß
- ºáí½«¬¿α«óá¡, ñαπú¿Ñ »α«µÑßßδ, «íαáΓ¿óΦ¿Ñß∩ ¬ ¿¡ñѬßπ (¡á»α¿¼Ñα, »«ßαÑñßΓó«¼
- ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ stat), »α¿«ßΓá¡«ó∩Γß∩ ¡á ¡Ñ«»αÑñѽѡ¡«Ñ óαѼ∩, »«ß¬«½∞¬π
- «ñ¿¡ »α«µÑßß »α¿«ßΓá¡«ó¿½ ñαá⌐óÑα.
- äαá⌐óÑα πßΓα«⌐ßΓóá ¿¡ΓÑα»αÑΓ¿απÑΓ »áαá¼ÑΓαδ ó맮óá ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ ó
- «Γ¡«ΦÑ¡¿¿ πßΓα«⌐ßΓóá. äαá⌐óÑα »«ññÑনóáÑΓ ßΓαπ¬Γπαδ ñá¡¡δσ, «»¿ßδóáεΘ¿Ñ
- ß«ßΓ«∩¡¿Ñ ¬áªñ«⌐ ¬«¡Γα«½¿απѼ«⌐ Ññ¿¡¿µδ ñá¡¡«ú« Γ¿»á πßΓα«⌐ßΓóá; Σπ¡¬µ¿¿
- ñαá⌐óÑαá ¿ »α«úαá¼¼δ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ αÑ὿ºπεΓß∩ ó ß««ΓóÑΓßΓó¿¿ ß ß«ß-
- Γ«∩¡¿Ñ¼ ñαá⌐óÑαá ¿ ß ΓѼ, ¬á¬«Ñ ñÑ⌐ßΓó¿Ñ óδ»«½¡∩ÑΓß∩ ó φëà ¼«¼Ñ¡Γ (¡á»α¿-
- ¼Ñα, ñá¡¡δÑ óó«ñ∩Γß∩ ¿½¿ óδó«ñ∩Γß∩). ÆÑ»Ñα∞ αáßß¼«Γα¿¼ ¬áªñδ⌐ ¿¡ΓÑαΣÑ⌐ß í«-
- ½ÑÑ »«ñα«í¡«.
-
-
- ┌────────────────────────────────────────────────────────────┐
- │ á½ú«α¿Γ¼ open /* ñ½∩ ñαá⌐óÑα«ó πßΓα«⌐ßΓó */ │
- │ óσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩: ¿¼∩ »πΓ¿ »«¿ß¬á │
- │ αѪ¿¼ «Γ¬αδΓ¿∩ │
- │ óδσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩: ñÑß¬α¿»Γ«α Σá⌐½á │
- │ { │
- │ »αÑ«íαẫóáΓ∞ ¿¼∩ »πΓ¿ »«¿ß¬á ó ¿¡ñѬß, πóѽ¿τ¿Γ∞ º¡áτÑ-│
- │ ¡¿Ñ ßτÑΓτ¿¬á ßß佫¬ ó ¿¡ñѬßÑ; │
- │ óδñѽ¿Γ∞ ó Γáí½¿µÑ Σá⌐½«ó ¼ÑßΓ« ñ½∩ »«½∞º«óáΓѽ∞߬«ú« │
- │ ñÑß¬α¿»Γ«αá Σá⌐½á, ¬á¬ »α¿ «Γ¬αδΓ¿¿ «íδτ¡«ú« Σá⌐½á; │
- │ │
- │ óδíαáΓ∞ ¿º ¿¡ñѬßá ßΓáαΦ¿⌐ ¿ ¼½áñΦ¿⌐ ¡«¼Ñαá πßΓα«⌐ßΓóá; │
- │ │
- │ ß«σαá¡¿Γ∞ ¬«¡ΓѬßΓ (á½ú«α¿Γ¼ setjmp) ó ß½πτáÑ »ÑαÑñáτ¿ │
- │ π»αáó½Ñ¡¿∩ «Γ ñαá⌐óÑαá; │
- │ │
- │ Ñß½¿ (πßΓα«⌐ßΓó« í½«τ¡«ú« Γ¿»á) │
- │ { │
- │ ¿ß»«½∞º«óáΓ∞ ßΓáαΦ¿⌐ ¡«¼Ñα πßΓα«⌐ßΓóá ó ¬áτÑßΓóÑ π¬á-│
- │ ºáΓѽ∩ ó Γáí½¿µÑ ¬½ετÑ⌐ πßΓα«⌐ßΓó óó«ñá-óδó«ñá í½«- │
- │ ¬á¼¿; │
- │ óδºóáΓ∞ »α«µÑñπαπ «Γ¬αδΓ¿∩ ñαá⌐óÑαá »« ñá¡¡«¼π ¿¡ñѬ-│
- │ ßπ: »ÑαÑñáΓ∞ ¼½áñΦ¿⌐ ¡«¼Ñα πßΓα«⌐ßΓóá, αѪ¿¼δ «Γ¬αδ-│
- │ Γ¿∩; │
- │ } │
- │ ó »α«Γ¿ó¡«¼ ß½πτáÑ │
- │ { │
- │ ¿ß»«½∞º«óáΓ∞ ßΓáαΦ¿⌐ ¡«¼Ñα πßΓα«⌐ßΓóá ó ¬áτÑßΓóÑ π¬á-│
- │ ºáΓѽ∩ ó Γáí½¿µÑ ¬½ετÑ⌐ πßΓα«⌐ßΓó »«ß¿¼ó«½∞¡«ú« óó«-│
- │ ñá-óδó«ñá; │
- │ óδºóáΓ∞ »α«µÑñπαπ «Γ¬αδΓ¿∩ ñαá⌐óÑαá »« ñá¡¡«¼π ¿¡ñѬ-│
- │ ßπ: »ÑαÑñáΓ∞ ¼½áñΦ¿⌐ ¡«¼Ñα πßΓα«⌐ßΓóá, αѪ¿¼δ «Γ¬αδ-│
- │ Γ¿∩; │
- │ } │
- │ │
- │ Ñß½¿ («Γ¬αδΓ¿Ñ ó ñαá⌐óÑαÑ ¡Ñ óδ»«½¡¿½«ß∞) │
- │ »α¿óÑßΓ¿ Γáí½¿µπ Σá⌐½«ó ¬ »Ñαó«¡áτá½∞¡«¼π ó¿ñπ, │
- │ π¼Ñ¡∞Φ¿Γ∞ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ó ¿¡ñѬßÑ; │
- │ } │
- └────────────────────────────────────────────────────────────┘
-
- É¿ßπ¡«¬ 10.3. ǽú«α¿Γ¼ «Γ¬αδΓ¿∩ πßΓα«⌐ßΓóá
-
- E10.1.2.1 OpenF
-
- Åα¿ «Γ¬αδΓ¿¿ πßΓα«⌐ßΓóá ∩ñα« ß½ÑñπÑΓ Γ«⌐ ªÑ »α«µÑñπαÑ, τΓ« ¿ »α¿ «Γ¬αδ-
-
- 294
-
-
-
- Γ¿¿ Σá⌐½«ó «íδτ¡«ú« Γ¿»á (ß¼. αáºñѽ 5.1), óδñѽ∩∩ ó »á¼∩Γ¿ ¿¡ñѬßδ, πóѽ¿-
- τ¿óá∩ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ßß佫¬ ¿ »α¿ßóá¿óá∩ º¡áτÑ¡¿Ñ Γ«τ¬¿ óσ«ñá ó Γáí½¿µπ
- Σá⌐½«ó ¿ »«½∞º«óáΓѽ∞߬«ú« ñÑß¬α¿»Γ«αá Σá⌐½á. ìᬫ¡Ñµ, ∩ñα« ó«ºóαáΘáÑΓ º¡á-
- τÑ¡¿Ñ »«½∞º«óáΓѽ∞߬«ú« ñÑß¬α¿»Γ«αá Σá⌐½á óδºδóáεΘѼπ »α«µÑßßπ, ΓᬠτΓ« «Γ¬-
- αδΓ¿Ñ πßΓα«⌐ßΓóá óδú½∩ñ¿Γ ΓᬠªÑ, ¬á¬ ¿ «Γ¬αδΓ¿Ñ Σá⌐½á «íδτ¡«ú« Γ¿»á. Äñ¡á-
- ¬«, »ÑαÑñ ΓѼ, ¬á¬ óÑα¡πΓ∞ß∩ ó αѪ¿¼ ºáñáτ¿, ∩ñα« ºá»π߬áÑΓ
- ºáó¿ß∩Θπε «Γ πßΓα«⌐ßΓóá »α«µÑñπαπ open (É¿ßπ¡«¬ 10.3). ä½∩ πßΓα«⌐ßΓóá óó«-
- ñá-óδó«ñá í½«¬á¼¿ ºá»π߬áÑΓß∩ »α«µÑñπαá open, ºá¬«ñ¿α«óá¡¡á∩ ó Γáí½¿µÑ ¬½ε-
- τÑ⌐ πßΓα«⌐ßΓó óó«ñá-óδó«ñá í½«¬á¼¿, ñ½∩ πßΓα«⌐ßΓó »«ß¿¼ó«½∞¡«ú« óó«ñá-óδó«ñá
- - »α«µÑñπαá open, ºá¬«ñ¿α«óá¡¡á∩ ó ß««ΓóÑΓßΓóπεΘÑ⌐ Γáí½¿µÑ. àß½¿ πßΓα«⌐ßΓó«
- ¿¼ÑÑΓ ¬á¬ í½«τ¡δ⌐, Γᬠ¿ ß¿¼ó«½∞¡δ⌐ Γ¿», ∩ñα« ºá»π߬áÑΓ »α«µÑñπαπ open, ß«-
- «ΓóÑΓßΓóπεΘπε Γ¿»π Σá⌐½á πßΓα«⌐ßΓóá, «Γ¬αδΓ«ú« »«½∞º«óáΓѽѼ: «íÑ »α«µÑñπαδ
- ¼«úπΓ ñáªÑ íδΓ∞ ¿ñÑ¡Γ¿τ¡δ, ó ºáó¿ß¿¼«ßΓ¿ «Γ ¬«¡¬αÑΓ¡«ú« ñαá⌐óÑαá.
- çáó¿ß∩Θá∩ «Γ Γ¿»á πßΓα«⌐ßΓóá »α«µÑñπαá open πßΓá¡áó½¿óáÑΓ ßó∩º∞ ¼Ñªñπ
- óδºδóáεΘ¿¼ »α«µÑßß«¼ ¿ «Γ¬αδóáÑ¼δ¼ πßΓα«⌐ßΓó«¼ ¿ ¿¡¿µ¿á½¿º¿απÑΓ ¿¡Σ«α¼áµ¿«¡-
- ¡δÑ ßΓαπ¬Γπαδ ñαá⌐óÑαá. ìá»α¿¼Ñα, »α«µÑñπαá open ñ½∩ ΓÑନ¡á½á ¼«ªÑΓ »α¿«ß-
- Γá¡«ó¿Γ∞ »α«µÑßß ñ« ΓÑσ »«α, »«¬á ó ¼áΦ¿¡π ¡Ñ »«ßΓπ»¿Γ ß¿ú¡á½ (á»»áαáΓ¡δ⌐) «
- Γ«¼, τΓ« »«½∞º«óáΓѽ∞ »αÑñ»α¿¡∩½ »«»δΓ¬π ºáαÑú¿ßΓα¿α«óáΓ∞ß∩. Å«ß½Ñ φΓ«ú«
- ¿¡¿µ¿á½¿º¿απεΓß∩ ¿¡Σ«α¼áµ¿«¡¡δÑ ßΓαπ¬Γπαδ ñαá⌐óÑαá ó ß««ΓóÑΓßΓó¿¿ ß »α¿¡∩Γδ-
- ¼¿ πßΓá¡«ó¬á¼¿ ΓÑନ¡á½á (¡á»α¿¼Ñα, ߬«α«ßΓ∞ε »ÑαÑñáτ¿ ¿¡Σ«α¼áµ¿¿ ó í«ñáσ).
- ä½∩ "»α«úαá¼¼¡δσ πßΓα«⌐ßΓó", Γᬿσ ¬á¬ »á¼∩Γ∞ ß¿ßΓѼδ, »α«µÑñπαá open ¼«ªÑΓ
- ¡Ñ ó¬½ετáΓ∞ ó ßÑí∩ ¿¡¿µ¿á½¿ºáµ¿ε.
- àß½¿ ó« óαѼ∩ «Γ¬αδΓ¿∩ πßΓα«⌐ßΓóá »α«µÑßßπ »α¿Φ½«ß∞ »α¿«ßΓá¡«ó¿Γ∞ß∩ »«
- ¬á¬«⌐-½¿í« ¿º ó¡ÑΦ¡¿σ »α¿τ¿¡, ¼«ªÑΓ Γᬠ߽πτ¿Γ∞ß∩, τΓ« ß«íδΓ¿Ñ, ¬«Γ«α«Ñ ñ«½-
- ª¡« í佫 íδ óδºóáΓ∞ ó«º«í¡«ó½Ñ¡¿Ñ óδ»«½¡Ñ¡¿∩ »α«µÑßßá, Γᬠ¡¿¬«úñá ¿ ¡Ñ »α«-
- ¿º«⌐ñÑΓ. ìá»α¿¼Ñα, Ñß½¿ ¡á ñá¡¡«¼ ΓÑନ¡á½Ñ ÑΘÑ ¡Ñ ºáαÑú¿ßΓα¿α«óá½ß∩ ¡¿ «ñ¿¡
- ¿º »«½∞º«óáΓѽÑ⌐, »α«µÑßß getty, "«Γ¬αδóΦ¿⌐" ΓÑନ¡á½ (αáºñѽ 7.9), »α¿«ßΓá-
- ¡áó½¿óáÑΓß∩ ñ« ΓÑσ »«α, »«¬á »«½∞º«óáΓѽѼ ¡Ñ íπñÑΓ »αÑñ»α¿¡∩Γá »«»δΓ¬á αÑ-
- ú¿ßΓαᵿ¿, »α¿ φΓ«¼ ¼«ªÑΓ »α«⌐Γ¿ ñ«ßΓáΓ«τ¡« í«½∞Φ«⌐ »α«¼ÑªπΓ«¬ óαѼѡ¿. ƒñα«
- ñ«½ª¡« ¿¼ÑΓ∞ 󫺼«ª¡«ßΓ∞ ó«º«í¡«ó¿Γ∞ óδ»«½¡Ñ¡¿Ñ »α«µÑßßá ¿ «Γ¼Ñ¡¿Γ∞ ó맮ó
- Σπ¡¬µ¿¿ open »« »«½πτÑ¡¿¿ ß¿ú¡á½á: Ѽπ ß½ÑñπÑΓ ßíα«ß¿Γ∞ ¿¡ñѬß, «Γ¼Ñ¡¿Γ∞
- Γ«τ¬π óσ«ñá ó Γáí½¿µÑ Σá⌐½«ó ¿ »«½∞º«óáΓѽ∞߬¿⌐ ñÑß¬α¿»Γ«α Σá⌐½á, ¬«Γ«αδÑ
- í뫨 óδñÑ½Ñ¡δ »ÑαÑñ óσ«ñ«¼ ó ñαá⌐óÑα, »«ß¬«½∞¬π «Γ¬αδΓ¿Ñ ¡Ñ »α«¿º«Φ½«. ƒñα«
- ß«σαá¡∩ÑΓ ¬«¡ΓѬßΓ »α«µÑßßá, ¿ß»«½∞ºπ∩ á½ú«α¿Γ¼ setjmp (αáºñѽ 6.4.4), »αѪ-
- ñÑ τѼ ºá»πßΓ¿Γ∞ »α«µÑñπαπ open; Ñß½¿ »α«µÑßß ó«º«í¡«ó½∩ÑΓß∩ »« ß¿ú¡á½π, ∩ñ-
- α« ó«ßßΓá¡áó½¿óáÑΓ ¬«¡ΓѬßΓ »α«µÑßßá ó Γ«¼ ß«ßΓ«∩¡¿¿, ¬«Γ«α«Ñ «¡ ¿¼Ñ½ »ÑαÑñ
- «íαáΘÑ¡¿Ñ¼ ¬ ñαá⌐óÑαπ, ¿ß»«½∞ºπ∩ á½ú«α¿Γ¼ longjmp (αáºñѽ 6.4.4), ¿ ó«ºóαá-
- ΘáÑΓ ß¿ßΓÑ¼Ñ óßÑ óδñѽѡ¡δÑ »α«µÑñπαÑ open ßΓαπ¬Γπαδ ñá¡¡δσ. Æ«τ¡« ΓᬠªÑ ¿
- ñαá⌐óÑα ¼«ªÑΓ π½«ó¿Γ∞ ß¿ú¡á½ ¿ «τ¿ßΓ¿Γ∞ ñ«ßΓπ»¡δÑ Ñ¼π ßΓαπ¬Γπαδ ñá¡¡δσ, Ñß½¿
- φΓ« ¡Ñ«íσ«ñ¿¼«. ƒñα« Γá¬ªÑ »ÑαÑπßΓá¡áó½¿óáÑΓ ßΓαπ¬Γπαδ ñá¡¡δσ Σá⌐½«ó«⌐ ß¿ß-
- ΓѼδ, ¬«úñá ñαá⌐óÑα ßΓὬ¿óáÑΓß∩ ß ¿ß¬½ετ¿Γѽ∞¡δ¼¿ ß¿Γπᵿ∩¼¿, Γᬿ¼¿, ¬á¬
- »«»δΓ¬á »«½∞º«óáΓѽ∩ «íαáΓ¿Γ∞ß∩ ¬ πßΓα«⌐ßΓóπ, «ΓßπΓßΓóπεΘѼπ ó ñá¡¡«⌐ ¬«¡Σ¿-
- úπαᵿ¿. é »«ñ«í¡δσ ß½πτá∩σ Σπ¡¬µ¿∩ open ¡Ñ óδ»«½¡∩ÑΓß∩.
- Åα«µÑßßδ ¼«úπΓ π¬áºδóáΓ∞ º¡áτÑ¡¿∩ αẽ¿τ¡δσ »áαá¼ÑΓα«ó, σáαá¬ΓÑਧπεΘ¿Ñ
- «ß«íÑ¡¡«ßΓ¿ óδ»«½¡Ñ¡¿∩ »α«µÑñπαδ «Γ¬αδΓ¿∩. êº ¡¿σ ¡á¿í«½ÑÑ τáßΓ« ¿ß»«½∞ºπÑΓ-
- ß∩ "no delay" (íѺ ºáñÑ᪬¿), «º¡áτáεΘÑÑ, τΓ« »α«µÑßß ¡Ñ íπñÑΓ »α¿«ßΓá¡«ó½Ñ¡
- ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«µÑñπαδ open, Ñß½¿ πßΓα«⌐ßΓó« ¡Ñ ú«Γ«ó«. æ¿ßΓѼ¡á∩
- Σπ¡¬µ¿∩ open ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ ¡Ñ¼Ññ½Ñ¡¡« ¿ »«½∞º«óáΓѽ∞߬¿⌐ »α«µÑßß ¡Ñ
- πº¡áÑΓ, »α«¿º«Φ½« ½¿ á»»áαáΓ¡«Ñ ß«Ññ¿¡Ñ¡¿Ñ ¿½¿ ¡ÑΓ. ÄΓ¬αδΓ¿Ñ πßΓα«⌐ßΓóá ß
- »áαá¼ÑΓα«¼ "no delay", ¬α«¼Ñ óßÑú« »α«τÑú«, ºáΓα«¡ÑΓ ßѼá¡Γ¿¬π ó맮óá Σπ¡¬-
- µ¿¿ read, τΓ« ¼δ πó¿ñ¿¼ ñá½ÑÑ (αáºñѽ 10.3.4).
- àß½¿ πßΓα«⌐ßΓó« «Γ¬αδóáÑΓß∩ ¼¡«ú«¬αáΓ¡«, ∩ñα« «íαáíáΓδóáÑΓ »«½∞º«óáΓѽ∞-
- ߬¿Ñ ñÑß¬α¿»Γ«αδ Σá⌐½«ó, ¿¡ñÑ¬ß ¿ ºá»¿ß¿ ó Γáí½¿µÑ Σá⌐½«ó Γá¬, ¬á¬ φΓ« «»¿-
- ßá¡« ó ú½áóÑ 5, ºá»π߬á∩ «»αÑñѽ∩Ѽπε Γ¿»«¼ πßΓα«⌐ßΓóá »α«µÑñπαπ open »α¿
- ¬áªñ«¼ ó맮óÑ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ open. Æá¬¿¼ «íαẫ¼, ñαá⌐óÑα πßΓα«⌐ßΓóá ¼«-
- ªÑΓ »«ñßτ¿ΓáΓ∞, ߬«½∞¬« αẠπßΓα«⌐ßΓó« í佫 "«Γ¬αδΓ«", ¿ »αÑαóáΓ∞ óδ»«½¡Ñ¡¿Ñ
- Σπ¡¬µ¿¿ open, Ñß½¿ ¬«½¿τÑßΓó« «Γ¬αδΓ¿⌐ »α¿¡∩½« ¡Ññ«»πßΓ¿¼«Ñ º¡áτÑ¡¿Ñ. ìá»α¿-
-
- 295
-
- ¼Ñα, ¿¼ÑÑΓ ß¼δß½ αáºαÑΦ¿Γ∞ »α«µÑßßá¼ ¼¡«ú«¬αáΓ¡« "«Γ¬αδóáΓ∞" ΓÑନ¡á½ ¡á ºá-
- »¿ß∞ ñ½∩ Γ«ú«, τΓ«íδ »«½∞º«óáΓѽ¿ ¼«ú½¿ «í¼Ñ¡¿óáΓ∞ß∩ ß««íΘÑ¡¿∩¼¿. ì« »α¿
- φΓ«¼ ¡Ñ ß½ÑñπÑΓ ñ«»π߬áΓ∞ ¼¡«ú«¬αáΓ¡«ú« "«Γ¬αδΓ¿∩" »ÑτáΓáεΘÑú« πßΓα«⌐ßΓóá
- ñ½∩ «ñ¡«óαѼѡ¡«⌐ ºá»¿ß¿, Γᬠ¬á¬ »α«µÑßßδ ¼«úπΓ ºáΓÑαÑΓ∞ ñαπú ñαπúπ ¿¡Σ«α-
- ¼áµ¿ε. ¥Γ¿ αẽ¿τ¿∩ ¿¼ÑεΓ ß¼δß½ ߬«αÑÑ ¡á »αá¬Γ¿¬Ñ, ¡ÑªÑ½¿ ¡á ßΓáñ¿¿ αáºαá-
- í«Γ¬¿: αáºαÑΦÑ¡¿Ñ «ñ¡«óαѼѡ¡«⌐ ºá»¿ß¿ ¡á ΓÑନ¡á½δ ß»«ß«íßΓóπÑΓ πßΓá¡«ó½Ñ-
- ¡¿ε óºá¿¼«ñÑ⌐ßΓó¿∩ ¼Ñªñπ »«½∞º«óáΓѽ∩¼¿; ºá»αÑΘÑ¡¿Ñ «ñ¡«óαѼѡ¡«⌐ ºá»¿ß¿ ¡á
- »α¿¡ΓÑαδ ß½πª¿Γ »«óδΦÑ¡¿ε τ¿Γáíѽ∞¡«ßΓ¿ ¼áΦ¿¡«úαá¼¼ (**).
-
-
-
- ┌────────────────────────────────────────────────────────────┐
- │ á½ú«α¿Γ¼ close /* ñ½∩ πßΓα«⌐ßΓó */ │
- │ óσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩: ñÑß¬α¿»Γ«α Σá⌐½á │
- │ óδσ«ñ¡á∩ ¿¡Σ«α¼áµ¿∩: «ΓßπΓßΓóπÑΓ │
- │ { │
- │ óδ»«½¡¿Γ∞ á½ú«α¿Γ¼ ßΓá¡ñáαΓ¡«ú« ºá¬αδΓ¿∩ (ú½áóá 5σσσ); │
- │ Ñß½¿ (º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ßß佫¬ ó Γáí½¿µÑ Σá⌐½«ó ¡Ñ 0) │
- │ »ÑαÑ⌐Γ¿ ¡á finish; │
- │ Ñß½¿ (ßπΘÑßΓóπÑΓ ÑΘÑ «ñ¿¡ «Γ¬αδΓδ⌐ Σá⌐½, ßΓáαΦ¿⌐ ¿ ¼½áñ-│
- │ Φ¿⌐ ¡«¼Ñαá ¬«Γ«α«ú« ß«ó»áñáεΓ ß ¡«¼ÑαἿ ºá¬αδóáѼ«ú« │
- │ πßΓα«⌐ßΓóá) │
- │ »ÑαÑ⌐Γ¿ ¡á finish; /* ¡Ñ »«ß½Ññ¡ÑÑ ºá¬αδΓ¿Ñ */ │
- │ Ñß½¿ (πßΓα«⌐ßΓó« ß¿¼ó«½∞¡«ú« Γ¿»á) │
- │ { │
- │ ¿ß»«½∞º«óáΓ∞ ßΓáαΦ¿⌐ ¡«¼Ñα ó ¬áτÑßΓóÑ π¬áºáΓѽ∩ ó │
- │ Γáí½¿µÑ ¬½ετÑ⌐ πßΓα«⌐ßΓóá »«ß¿¼ó«½∞¡«ú« óó«ñá-óδó«- │
- │ ñá; │
- │ óδºóáΓ∞ »α«µÑñπαπ ºá¬αδΓ¿∩, «»αÑñѽ∩Ѽπε Γ¿»«¼ ñαá⌐- │
- │ óÑαá ¿ »ÑαÑñáΓ∞ Ñ⌐ ó ¬áτÑßΓóÑ »áαá¼ÑΓαá ¼½áñΦ¿⌐ ¡«- │
- │ ¼Ñα πßΓα«⌐ßΓóá; │
- │ } │
- │ Ñß½¿ (πßΓα«⌐ßΓó« í½«τ¡«ú« Γ¿»á) │
- │ { │
- │ Ñß½¿ (πßΓα«⌐ßΓó« ¼«¡Γ¿α«óá¡«) │
- │ »ÑαÑ⌐Γ¿ ¡á finish; │
- │ »ÑαÑ»¿ßáΓ∞ í½«¬¿ πßΓα«⌐ßΓóá ¿º íπΣÑα¡«ú« ¬ÑΦá ¡á πßΓ-│
- │ α«⌐ßΓó«; │
- │ ¿ß»«½∞º«óáΓ∞ ßΓáαΦ¿⌐ ¡«¼Ñα ó ¬áτÑßΓóÑ π¬áºáΓѽ∩ ó │
- │ Γáí½¿µÑ ¬½ετÑ⌐ πßΓα«⌐ßΓóá óó«ñá-óδó«ñá í½«¬á¼¿; │
- │ óδºóáΓ∞ »α«µÑñπαπ ºá¬αδΓ¿∩, «»αÑñѽ∩Ѽπε Γ¿»«¼ ñαá⌐- │
- │ óÑαá ¿ »ÑαÑñáΓ∞ Ñ⌐ ó ¬áτÑßΓóÑ »áαá¼ÑΓαá ¼½áñΦ¿⌐ ¡«- │
- │ ¼Ñα πßΓα«⌐ßΓóá; │
- │ ßñѽáΓ∞ ¡ÑñÑ⌐ßΓó¿Γѽ∞¡δ¼¿ í½«¬¿ πßΓα«⌐ßΓóá, «ßΓáóΦ¿Ñ-│
- │ ß∩ ó íπΣÑα¡«¼ ¬ÑΦÑ; │
- │ } │
- │ finish: │
- │ «ßó«í«ñ¿Γ∞ ¿¡ñѬß; │
- │ } │
- └────────────────────────────────────────────────────────────┘
-
- É¿ßπ¡«¬ 10.4. ǽú«α¿Γ¼ ºá¬αδΓ¿∩ πßΓα«⌐ßΓóá
-
- ────────────────────────────────────────
- (**) ìá »αá¬Γ¿¬Ñ óδó«ñ ¡á »ÑτáΓ∞ «íδτ¡« π»αáó½∩ÑΓß∩ ߻ѵ¿á½∞¡δ¼¿ »α«µÑßßἿ
- íπΣÑα¿ºáµ¿¿, ¿ »αáóá ñ«ßΓπ»á πßΓá¡áó½¿óáεΓß∩ Γᬿ¼ «íαẫ¼, τΓ«íδ Γ«½∞-
- ¬« ß¿ßΓѼá íπΣÑα¿ºáµ¿¿ ¼«ú½á «íαáΘáΓ∞ß∩ ¬ »α¿¡ΓÑαπ.
-
-
-
- 296
-
- E10.1.2.2 CloseF
-
- Åα«µÑßß αáºαδóáÑΓ ßó∩º∞ ß «Γ¬αδΓδ¼ πßΓα«⌐ßΓó«¼, ºá¬αδóá∩ Ñú«. Äñ¡á¬«,
- ∩ñα« ºá»π߬áÑΓ «»αÑñѽ∩Ѽπε Γ¿»«¼ πßΓα«⌐ßΓóá »α«µÑñπαπ close Γ«½∞¬« ó »«ß-
- ½Ññ¡Ñ¼ ó맮óÑ Σπ¡¬µ¿¿ close ñ½∩ φΓ«ú« πßΓα«⌐ßΓóá, ¿ Γ« Γ«½∞¬« Ñß½¿ ¡Ñ «ßΓá-
- ½«ß∞ »α«µÑßß«ó, ¬«Γ«αδ¼ πßΓα«⌐ßΓó« ¡Ñ«íσ«ñ¿¼« «Γ¬αδΓδ¼, »«ß¬«½∞¬π »α«µÑñπαá
- ºá¬αδΓ¿∩ πßΓα«⌐ßΓóá ºáóÑαΦáÑΓß∩ αáºαδó«¼ á»»áαáΓ¡«ú« ß«Ññ¿¡Ñ¡¿∩; «Γßεñá ∩ß-
- ¡«, τΓ« ∩ñαπ ß½ÑñπÑΓ »«ñ«ªñáΓ∞, »«¬á ¡Ñ «ßΓá¡ÑΓß∩ ¡¿ «ñ¡«ú« »α«µÑßßá, «íαá-
- ΘáεΘÑú«ß∩ ¬ πßΓα«⌐ßΓóπ. ū߬«½∞¬π ∩ñα« ºá»π߬áÑΓ »α«µÑñπαπ «Γ¬αδΓ¿∩ πßΓα«⌐ß-
- Γóá »α¿ ¬áªñ«¼ ó맮óÑ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ open, á »α«µÑñπαπ ºá¬αδΓ¿∩ Γ«½∞¬«
- «ñ¿¡ αáº, ñαá⌐óÑαπ πßΓα«⌐ßΓóá ¡ÑóÑñ«¼«, ߬«½∞¬« »α«µÑßß«ó ¿ß»«½∞ºπεΓ πßΓα«⌐-
- ßΓó« ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ. äαá⌐óÑαδ ¼«úπΓ ½Ñú¬« óδ⌐Γ¿ ¿º ßΓα«∩, Ñß½¿ »α¿ ¿σ ¡á»¿-
- ßá¡¿¿ ¡Ñ ß«í½εñá½áß∞ «ßë᫪¡«ßΓ∞: ¬«úñá »α¿ óδ»«½¡Ñ¡¿¿ »α«µÑñπαδ close «¡¿
- »α¿«ßΓá¡áó½¿óáεΓ ßó«ε αáí«Γπ ¿ ¬á¬«⌐-¡¿íπñ∞ »α«µÑßß «Γ¬αδóáÑΓ πßΓα«⌐ßΓó« ñ«
- Γ«ú«, ¬á¬ ºáóÑαΦ¿Γß∩ »α«µÑñπαá ºá¬αδΓ¿∩, πßΓα«⌐ßΓó« ¼«ªÑΓ ßΓáΓ∞ ¡Ññ«ßΓπ»¡δ¼
- ñ½∩ αáí«Γδ, Ñß½¿ ó αѺπ½∞ΓáΓÑ ¬«¼í¿¡áµ¿¿ ó맮ó«ó open ¿ close ß½«ª¿½áß∞ ¡Ñ-
- αáß»«º¡áóáѼá∩ ß¿Γπᵿ∩.
-
- ǽú«α¿Γ¼ ºá¬αδΓ¿∩ πßΓα«⌐ßΓóá »«σ«ª ¡á á½ú«α¿Γ¼ ºá¬αδΓ¿∩ Σá⌐½á «íδτ¡«ú«
- Γ¿»á (É¿ßπ¡«¬ 10.4). Äñ¡á¬«, ñ« Γ«ú«, ¬á¬ ∩ñα« «ßó«í«ªñáÑΓ ¿¡ñѬß, ó ¡Ñ¼ óδ-
- »«½¡∩εΓß∩ ñÑ⌐ßΓó¿∩, ߻ѵ¿Σ¿τ¡δÑ ñ½∩ Σá⌐½«ó πßΓα«⌐ßΓó.
- 1. Åα«ß¼áΓα¿óáÑΓß∩ Γáí½¿µá Σá⌐½«ó ñ½∩ Γ«ú«, τΓ«íδ πíÑñ¿Γ∞ß∩ ó Γ«¼, τΓ« ¡¿
- «ñ¡«¼π ¿º »α«µÑßß«ó ¡Ñ ΓαÑíπÑΓß∩, τΓ«íδ πßΓα«⌐ßΓó« í佫 «Γ¬αδΓ«. ùΓ«íδ
- πßΓá¡«ó¿Γ∞, τΓ« ó맮ó Σπ¡¬µ¿¿ close ñ½∩ πßΓα«⌐ßΓóá ∩ó½∩ÑΓß∩ »«ß½Ññ¡¿¼,
- ¡Ññ«ßΓáΓ«τ¡« »«½«ª¿Γ∞ß∩ ¡á º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ßß佫¬ ó Γáí½¿µÑ Σá⌐½«ó,
- »«ß¬«½∞¬π ¡Ñ߬«½∞¬« »α«µÑßß«ó ¼«úπΓ «íαáΘáΓ∞ß∩ ¬ «ñ¡«¼π ¿ Γ«¼π ªÑ πßΓ-
- α«⌐ßΓóπ, ¿ß»«½∞ºπ∩ αẽ¿τ¡δÑ Γ«τ¬¿ óσ«ñá ó Γáí½¿µÑ Σá⌐½«ó. Æá¬ ªÑ ¡Ññ«ß-
- ΓáΓ«τ¡« »«½«ª¿Γ∞ß∩ ¡á º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ó Γáí½¿µÑ ¿¡ñѬ߫ó, »«ß¬«½∞¬π
- «ñ¡«¼π ¿ Γ«¼π ªÑ πßΓα«⌐ßΓóπ ¼«úπΓ ß««ΓóÑΓßΓó«óáΓ∞ ¡Ñ߬«½∞¬« Σá⌐½«ó πßΓ-
- α«⌐ßΓóá. ìá»α¿¼Ñα, ¬«¼á¡ñá ls -l »«¬áªÑΓ, τΓ« «ñ¡«¼π ¿ Γ«¼π ªÑ πßΓα«⌐ßΓ-
- óπ ß¿¼ó«½∞¡«ú« Γ¿»á ("c" ó ¡áτá½Ñ ßΓ᫬¿) ß««ΓóÑΓßΓóπεΓ ñóá Σá⌐½á πßΓ-
- α«⌐ßΓóá, ßΓáαΦ¿⌐ ¿ ¼½áñΦ¿⌐ ¡«¼Ñαá 𠬫ëαδσ (9 ¿ 1) ß«ó»áñáεΓ. ç¡áτÑ¡¿Ñ
- ßτÑΓτ¿¬á ßó∩ºÑ⌐ ñ½∩ ¬áªñ«ú« Σá⌐½á, αáó¡«Ñ 1, ú«ó«α¿Γ « Γ«¼, τΓ« ¿¼ÑÑΓß∩
- ñóá ¿¡ñѬßá.
-
- crw--w--w- 1 root vis 9, 1 Aug 6 1984 /dev/tty01
- crw--w--w- 1 root unix 9, 1 May 3 15:02 /dev/tty01
-
- àß½¿ »α«µÑßßδ «Γ¬αδóáεΓ «íá Σá⌐½á ¡Ñºáó¿ß¿¼« «ñ¿¡ «Γ ñαπú«ú«, «¡¿ «íαá-
- Γ∩Γß∩ ¬ αáº¡δ¼ ¿¡ñѬßá¼ «ñ¡«ú« ¿ Γ«ú« ªÑ πßΓα«⌐ßΓóá.
- 2. àß½¿ πßΓα«⌐ßΓó« ß¿¼ó«½∞¡«ú« Γ¿»á, ∩ñα« ºá»π߬áÑΓ »α«µÑñπαπ ºá¬αδΓ¿∩ πßΓ-
- α«⌐ßΓóá ¿ ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ ó αѪ¿¼ ºáñáτ¿. àß½¿ πßΓα«⌐ßΓó« í½«τ¡«ú«
- Γ¿»á, ∩ñα« »α«ß¼áΓα¿óáÑΓ Γáí½¿µπ αѺπ½∞ΓáΓ«ó ¼«¡Γ¿α«óá¡¿∩ ¿ »α«óÑα∩ÑΓ,
- ¡Ñ αáß»«½áúáÑΓß∩ ½¿ ¡á πßΓα«⌐ßΓóÑ ß¼«¡Γ¿α«óá¡¡á∩ Σá⌐½«óá∩ ß¿ßΓѼá. àß½¿
- Γá¬á∩ ß¿ßΓѼá ÑßΓ∞, ∩ñα« ¡Ñ ß¼«ªÑΓ ºá»πßΓ¿Γ∞ »α«µÑñπαπ ºá¬αδΓ¿∩ πßΓα«⌐ß-
- Γóá, »«ß¬«½∞¬π ¡Ñ íδ½ ßñѽᡠ»«ß½Ññ¡¿⌐ ó맮ó Σπ¡¬µ¿¿ close ñ½∩ πßΓα«⌐ßΓ-
- óá. äáªÑ Ñß½¿ ¡á πßΓα«⌐ßΓóÑ ¡ÑΓ ß¼«¡Γ¿α«óá¡¡«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼδ, ó íπ-
- ΣÑα¡«¼ ¬ÑΦÑ ÑΘÑ ¼«úπΓ ¡áσ«ñ¿Γ∞ß∩ í½«¬¿ ß ñá¡¡δ¼¿, «ßΓáóΦ¿Ñß∩ «Γ ß¼«¡Γ¿-
- α«óá¡¡«⌐ αá¡ÑÑ Σá⌐½«ó«⌐ ß¿ßΓÑ¼δ ¿ ¡Ñ »ÑαÑ»¿ßá¡¡δÑ ¡á πßΓα«⌐ßΓó«, »«ß-
- ¬«½∞¬π ¿¼Ñ½¿ »«¼ÑΓ¬π "«Γ½«ªÑ¡¡á∩ ºá»¿ß∞". Å«φΓ«¼π ∩ñα« »α«ß¼áΓα¿óáÑΓ íπ-
- ΣÑα¡δ⌐ ¬ÑΦ ó »«¿ß¬áσ Γᬿσ í½«¬«ó ¿ »ÑαÑ»¿ßδóáÑΓ ¿σ ¡á πßΓα«⌐ßΓó« »ÑαÑñ
- ºá»π߬«¼ »α«µÑñπαδ ºá¬αδΓ¿∩ πßΓα«⌐ßΓóá. Å«ß½Ñ ºá¬αδΓ¿∩ πßΓα«⌐ßΓóá ∩ñα«
- ó¡«ó∞ »α«ß¼áΓα¿óáÑΓ íπΣÑα¡δ⌐ ¬ÑΦ ¿ ñѽáÑΓ ¡ÑñÑ⌐ßΓó¿Γѽ∞¡δ¼¿ óßÑ íπΣÑαδ,
- ¬«Γ«αδÑ ß«ñÑαªáΓ í½«¬¿ ñ½∩ Γ«½∞¬« τΓ« ºá¬αδΓ«ú« πßΓα«⌐ßΓóá, ó Γ« ªÑ óαÑ-
- ¼∩ »«ºó«½∩∩ íπΣÑαá¼ ß á¬Γπá½∞¡«⌐ ¿¡Σ«α¼áµ¿Ñ⌐ «ßΓáΓ∞ß∩ ó ¬ÑΦÑ.
- 3. ƒñα« «ßó«í«ªñáÑΓ ¿¡ñÑ¬ß Σá⌐½á πßΓα«⌐ßΓóá.
- è«α«τÑ ú«ó«α∩, »α«µÑñπαá ºá¬αδΓ¿∩ πßΓα«⌐ßΓóá αáºαδóáÑΓ ßó∩º∞ ß πßΓα«⌐ßΓ-
- ó«¼ ¿ ¿¡¿µ¿á½¿º¿απÑΓ ºá¡«ó« ¿¡Σ«α¼áµ¿«¡¡δÑ ßΓαπ¬Γπαδ ñαá⌐óÑαá ¿ á»»áαáΓ¡πε
- τáßΓ∞ πßΓα«⌐ßΓóá ß ΓѼ, τΓ«íδ ∩ñα« ¼«ú½« íδ »«ºñ¡ÑÑ «Γ¬αδΓ∞ πßΓα«⌐ßΓó«
-
- 297
-
- ó¡«ó∞.
-
-
- E10.1.2.3 Read ¿ WriteF
-
- ǽú«α¿Γ¼δ τΓÑ¡¿∩ ¿ ºá»¿ß¿ ∩ñα«¼ ¡á πßΓα«⌐ßΓóÑ »«σ«ª¿ ¡á á¡á½«ú¿τ¡δÑ á½-
- ú«α¿Γ¼δ ñ½∩ Σá⌐½«ó «íδτ¡«ú« Γ¿»á. àß½¿ »α«µÑßß »α«¿ºó«ñ¿Γ τΓÑ¡¿Ñ ¿½¿ ºá»¿ß∞
- ¡á πßΓα«⌐ßΓóÑ »«ß¿¼ó«½∞¡«ú« óó«ñá-óδó«ñá, ∩ñα« ºá»π߬áÑΓ »α«µÑñπαδ read ¿½¿
- write, «»αÑñѽ∩ѼδÑ Γ¿»«¼ ñαá⌐óÑαá. ìÑß¼«Γα∩ ¡á τáßΓ« óßΓαÑτáεΘ¿Ñß∩ ß¿Γπá-
- µ¿¿, ¬«úñá ∩ñα« «ßπΘÑßΓó½∩ÑΓ »ÑαÑñáτπ ñá¡¡δσ ¡Ñ»«ßαÑñßΓóÑ¡¡« ¼Ñªñπ áñαÑß¡δ¼
- »α«ßΓαá¡ßΓó«¼ ºáñáτ¿ ¿ πßΓα«⌐ßΓó«¼, ñαá⌐óÑαδ πßΓα«⌐ßΓó ¼«úπΓ íπΣÑਧ«óáΓ∞
- ¿¡Σ«α¼áµ¿ε ó¡πΓα¿ ßÑí∩. ìá»α¿¼Ñα, ΓÑନ¡á½∞¡δÑ ñαá⌐óÑαδ ñ½∩ íπΣÑα¿ºáµ¿¿ ñá¡-
- ¡δσ ¿ß»«½∞ºπεΓ ß¿¼ó«½∞¡δÑ ß»¿ß¬¿ (αáºñѽ 10.3.1). é Γᬿσ ß½πτá∩σ ñαá⌐óÑα
- πßΓα«⌐ßΓóá óδñѽ∩ÑΓ "íπΣÑα", ¬«»¿απÑΓ ñá¡¡δÑ ¿º »α«ßΓαá¡ßΓóá ºáñáτ¿ »α¿ óδ-
- »«½¡Ñ¡¿¿ »α«µÑñπαδ write ¿ óδó«ñ¿Γ ¿σ ¿º "íπΣÑαá" ¡á πßΓα«⌐ßΓó«. Åα«µÑñπαá
- ºá»¿ß¿, π»αáó½∩Ѽá∩ ñαá⌐óÑα«¼, αÑúπ½¿απÑΓ «íΩѼ óδó«ñ¿¼«⌐ ¿¡Σ«α¼áµ¿¿ (Γ.¡.
- π»αáó½Ñ¡¿Ñ »«Γ«¬«¼ ñá¡¡δσ): Ñß½¿ »α«µÑßßδ úÑ¡Ñα¿απεΓ ¿¡Σ«α¼áµ¿ε íδßΓαÑÑ, τѼ
- πßΓα«⌐ßΓó« óδó«ñ¿Γ ÑÑ, »α«µÑñπαá ºá»¿ß¿ »α¿«ßΓá¡áó½¿óáÑΓ óδ»«½¡Ñ¡¿Ñ »α«µÑß-
- ß«ó ñ« ΓÑσ »«α, »«¬á πßΓα«⌐ßΓó« ¡Ñ íπñÑΓ ú«Γ«ó« »α¿¡∩Γ∞ ß½ÑñπεΘπε »«αµ¿ε
- ñá¡¡δσ. Åα¿ τΓÑ¡¿¿ ñαá⌐óÑα πßΓα«⌐ßΓóá »«¼ÑΘáÑΓ ñá¡¡δÑ, »«½πτÑ¡¡δÑ «Γ πßΓα«⌐-
- ßΓóá, ó íπΣÑα ¿
-
- Åá¼∩Γ∞
-
- │ │
- ├─────┤
- 160110│ CSR │ ┌──────┐ ┌─────────tty00
- │ RDB ├─────────┤ dz00 ├─┼─────────tty01
- │ TDB │ └──────┘ │ ...
- ├─────┤ └─────────tty07
- 160120│ CSR │ ┌──────┐ ┌─────────tty08
- 160122│ RDB ├─────────┤ dz01 ├─┼─────────tty09
- 160126│ TDB │ └──────┘ │ ...
- ├─────┤ └─────────tty15
- │ │
-
- É¿ßπ¡«¬ 10.5. ÄΓ«íαáªÑ¡¿Ñ ó »á¼∩Γ¿ óó«ñá-óδó«ñá ß ¿ß»«½∞º«óá-
- ¡¿Ñ¼ ¬«¡Γα«½½Ñαá VAX DZ11
-
-
- ¬«»¿απÑΓ ¿σ ¿º íπΣÑαá ó »«½∞º«óáΓѽ∞߬¿Ñ áñαÑßá, π¬áºá¡¡δÑ ó ó맮óÑ ß¿ßΓѼ-
- ¡«⌐ Σπ¡¬µ¿¿.
- è«¡¬αÑΓ¡δ⌐ ¼ÑΓ«ñ óºá¿¼«ñÑ⌐ßΓó¿∩ ñαá⌐óÑαá ß πßΓα«⌐ßΓó«¼ «»αÑñѽ∩ÑΓß∩ «ß«-
- íÑ¡¡«ßΓ∩¼¿ á»»áαáΓπαδ. ìѬ«Γ«αδÑ ¿º ¼áΦ¿¡ «íÑß»Ñτ¿óáεΓ «Γ«íαáªÑ¡¿Ñ óó«ñá-óδ-
- ó«ñá ó »á¼∩Γ¿, »«ñαáºπ¼ÑóáεΘÑÑ, τΓ« ¬«¡¬αÑΓ¡δÑ áñαÑßá ó áñαÑß¡«¼ »α«ßΓαá¡ßΓ-
- óÑ ∩ñαá ∩ó½∩εΓß∩ ¡Ñ ¡«¼ÑαἿ ∩τÑѬ ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿, á ߻ѵ¿á½∞¡δ¼¿ αÑ-
- ú¿ßΓαἿ, ¬«¡Γα«½¿απεΘ¿¼¿ ß««ΓóÑΓßΓóπεΘ¿Ñ πßΓα«⌐ßΓóá. çỿßδóá∩ ó π¬áºá¡¡δÑ
- αÑú¿ßΓαδ π»αáó½∩εΘ¿Ñ »áαá¼ÑΓαδ ó ß««ΓóÑΓßΓó¿¿ ß« ߻ѵ¿Σ¿¬áµ¿∩¼¿ á»»áαáΓ¡δσ
- ßαÑñßΓó, ñαá⌐óÑα «ßπΘÑßΓó½∩ÑΓ π»αáó½Ñ¡¿Ñ πßΓα«⌐ßΓó«¼. ìá»α¿¼Ñα, ¬«¡Γα«½½Ñα
- óó«ñá-óδó«ñá ñ½∩ ¼áΦ¿¡δ VAX-11 ß«ñÑαª¿Γ ß»Ñµ¿á½∞¡δÑ αÑú¿ßΓαδ ñ½∩ ºá»¿ß¿ ¿¡-
- Σ«α¼áµ¿¿ « ß«ßΓ«∩¡¿¿ πßΓα«⌐ßΓóá (αÑú¿ßΓαδ ¬«¡Γα«½∩ ¿ ß«ßΓ«∩¡¿∩) ¿ ñ½∩ »ÑαÑ-
- ñáτ¿ ñá¡¡δσ (íπΣÑα¡δÑ αÑú¿ßΓαδ), ¬«Γ«αδÑ Σ«α¼¿απεΓß∩ »« ߻ѵ¿á½∞¡δ¼ áñαÑßá¼
- ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿. é τáßΓ¡«ßΓ¿, ΓÑନ¡á½∞¡δ⌐ ¬«¡Γα«½½Ñα VAX DZ11 π»αáó½∩ÑΓ
- 8 áß¿¡σα«¡¡δ¼¿ ½¿¡¿∩¼¿ ΓÑନ¡á½∞¡«⌐ ßó∩º¿ (ß¼. [Levy 80], úñÑ í«½ÑÑ »«ñα«í¡«
- «íΩ∩ß¡∩ÑΓß∩ áασ¿ΓѬΓπαá ¼áΦ¿¡ VAX). ÅπßΓ∞ αÑú¿ßΓα ¬«¡Γα«½∩ ¿ ß«ßΓ«∩¡¿∩ (CSR)
- ñ½∩ ¬«¡¬αÑΓ¡«ú« ΓÑନ¡á½á DZ11 ¿¼ÑÑΓ áñαÑß 160120, »ÑαÑñáεΘ¿⌐ íπΣÑα¡δ⌐ αÑ-
- ú¿ßΓα (TDB) - áñαÑß 120126, á »α¿¡¿¼áεΘ¿⌐ íπΣÑα¡δ⌐ αÑú¿ßΓα (RDB) - áñαÑß
- 160122 (É¿ßπ¡«¬ 10.5). ä½∩ Γ«ú«, τΓ«íδ »ÑαÑñáΓ∞ ß¿¼ó«½ ¡á ΓÑନ¡á½
- "/dev/tty09", ñαá⌐óÑα ΓÑନ¡á½á ºá»¿ßδóáÑΓ Ññ¿¡¿µπ (1 = 9 »« ¼«ñπ½ε 8) ó
-
- 298
-
- π¬áºá¡¡δ⌐ ñó«¿τ¡δ⌐ αáºα∩ñ αÑú¿ßΓαá ¬«¡Γα«½∩ ¿ ß«ßΓ«∩¡¿∩ ¿ ºáΓѼ ºá»¿ßδóáÑΓ
- ß¿¼ó«½ ó »ÑαÑñáεΘ¿⌐ íπΣÑα¡δ⌐ αÑú¿ßΓα. çỿß∞ ó »ÑαÑñáεΘ¿⌐ íπΣÑα¡δ⌐ αÑú¿ßΓα
- ∩ó½∩ÑΓß∩ »ÑαÑñáτÑ⌐ ñá¡¡δσ. è«¡Γα«½½Ñα DZ11 óδßΓáó½∩ÑΓ í¿Γ "óδ»«½¡Ñ¡«" ó αÑ-
- ú¿ßΓαÑ ¬«¡Γα«½∩ ¿ ß«ßΓ«∩¡¿∩, ¬«úñá ú«Γ«ó »α¿¡∩Γ∞ ß½ÑñπεΘπε »«αµ¿ε ñá¡¡δσ.
- ä«»«½¡¿Γѽ∞¡« ñαá⌐óÑα ¼«ªÑΓ óδßΓáó¿Γ∞ í¿Γ "󫺼«ª¡« »αÑαδóá¡¿Ñ »ÑαÑñáτ¿" ó
- αÑú¿ßΓαÑ ¬«¡Γα«½∩ ¿ ß«ßΓ«∩¡¿∩, τΓ« ºáßΓáó½∩ÑΓ ¬«¡Γα«½½Ñα DZ11 »αÑαδóáΓ∞ αá-
- í«Γπ ß¿ßΓѼδ, ¬«úñá «¡ ú«Γ«ó »α¿¡∩Γ∞ ß½ÑñπεΘπε »«αµ¿ε ñá¡¡δσ. ùΓÑ¡¿Ñ ñá¡¡δσ
- ¿º DZ11 »α«¿ºó«ñ¿Γß∩ á¡á½«ú¿τ¡«.
- ìá ñαπú¿σ ¼áΦ¿¡áσ ¿¼ÑÑΓß∩ »α«úαá¼¼¿απѼδ⌐ óó«ñ-óδó«ñ, »«ñαáºπ¼ÑóáεΘ¿⌐,
- τΓ« ó ¼áΦ¿¡Ñ ¿¼ÑεΓß∩ ¿¡ßΓαπ¬µ¿¿ »« π»αáó½Ñ¡¿ε πßΓα«⌐ßΓóἿ. äαá⌐óÑαδ π»αáó-
- ½∩εΓ πßΓα«⌐ßΓóἿ, óδ»«½¡∩∩ ß««ΓóÑΓßΓóπεΘ¿Ñ ¿¡ßΓαπ¬µ¿¿. ìá»α¿¼Ñα, ó ¼áΦ¿¡Ñ
- IBM 370 ¿¼ÑÑΓß∩ ¿¡ßΓαπ¬µ¿∩ "Start I/O" (ìáτáΓ∞ óó«ñ-óδó«ñ), ¬«Γ«αá∩ ¿¡¿µ¿¿-
- απÑΓ «»Ñαᵿε óó«ñá-óδó«ñá, ßó∩ºá¡¡πε ß πßΓα«⌐ßΓó«¼. 滫߫í ßó∩º¿ ñαá⌐óÑαá ß
- »Ñα¿ΣÑα¿⌐¡δ¼¿ πßΓα«⌐ßΓóἿ ¡Ñºá¼ÑΓÑ¡ ñ½∩ »«½∞º«óáΓѽ∩.
- ū߬«½∞¬π ¿¡ΓÑαΣÑ⌐ß ¼Ñªñπ ñαá⌐óÑαἿ πßΓα«⌐ßΓó ¿ ß««ΓóÑΓßΓóπεΘ¿¼¿ á»»á-
- αáΓ¡δ¼¿ ßαÑñßΓóἿ ∩ó½∩ÑΓß∩ ¼áΦ¿¡¡«-ºáó¿ß¿¼δ¼, ¡á φΓ«¼ πα«ó¡Ñ ¡Ñ ßπΘÑßΓóπÑΓ
- ßΓá¡ñáαΓ¡δσ ¿¡ΓÑαΣÑ⌐ß«ó. èᬠó ß½πτáÑ óó«ñáóδó«ñá ß «Γ«íαáªÑ¡¿Ñ¼ ó »á¼∩Γ¿,
- Γᬠ¿ ó ß½πτáÑ »α«úαá¼¼¿απѼ«ú« óó«ñá-óδó«ñá ñαá⌐óÑα ¼«ªÑΓ »«ßδ½áΓ∞ ¡á πßΓ-
- α«⌐ßΓó« π»αáó½∩εΘ¿Ñ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ß µÑ½∞ε πßΓá¡«ó½Ñ¡¿∩ αѪ¿¼á »α∩¼«ú«
- ñ«ßΓπ»á ó »á¼∩Γ∞ (ÅäÅ) ñ½∩ πßΓα«⌐ßΓóá. æ¿ßΓÑ¼á »«ºó«½∩ÑΓ «ßπΘÑßΓó½∩Γ∞ ¼áßß«-
- óπε »ÑαÑñáτπ ñá¡¡δσ ¼Ñªñπ πßΓα«⌐ßΓó«¼ ¿ »á¼∩Γ∞ε ó αѪ¿¼Ñ ÅäÅ »áαώѽ∞¡« ß
- αáí«Γ«⌐ µÑ¡Γαá½∞¡«ú« »α«µÑßß«αá, »α¿ φΓ«¼ πßΓα«⌐ßΓó« »αÑαδóáÑΓ αáí«Γπ ß¿ßΓÑ-
- ¼δ »« ºáóÑαΦÑ¡¿¿ »ÑαÑñáτ¿ ñá¡¡δσ. äαá⌐óÑα «αúá¡¿ºπÑΓ π»αáó½Ñ¡¿Ñ ó¿αΓπá½∞¡«⌐
- »á¼∩Γ∞ε Γᬿ¼ «íαẫ¼, τΓ«íδ ∩τÑ⌐¬¿ »á¼∩Γ¿ ß ¿σ ñÑ⌐ßΓó¿Γѽ∞¡δ¼¿ ¡«¼ÑαἿ ¿ß-
- »«½∞º«ó὿ß∞ ñ½∩ ÅäÅ.
- üδßΓα«ñÑ⌐ßΓóπεΘ¿Ñ πßΓα«⌐ßΓóá ¼«úπΓ ¿¡«úñá »ÑαÑñáóáΓ∞ ñá¡¡δÑ ¡Ñ»«ßαÑñßΓ-
- óÑ¡¡« ó áñαÑß¡«Ñ »α«ßΓαá¡ßΓó« ºáñáτ¿, íѺ ó¼ÑΦáΓѽ∞ßΓóá íπΣÑαá ∩ñαá. é αÑ-
- ºπ½∞ΓáΓÑ »«óδΦáÑΓß∩ ߬«α«ßΓ∞ »ÑαÑñáτ¿ ñá¡¡δσ, »«ß¬«½∞¬π »α¿ φΓ«¼ »α«¿ºó«ñ¿Γ-
- ß∩ ¡á «ñ¡π «»Ñαáµ¿ε ¬«»¿α«óá¡¿∩ ¼Ñ¡∞ΦÑ, ¿, ¬α«¼Ñ Γ«ú«, «íΩѼ ñá¡¡δσ, »ÑαÑñá-
- óáѼδσ ºá «ñ¡π «»Ñαᵿε, ¡Ñ «úαá¡¿τ¿óáÑΓß∩ αẼÑα«¼ íπΣÑα«ó ∩ñαá. äαá⌐óÑαδ,
- «ßπΘÑßΓó½∩εΘ¿Ñ Γá¬πε »ÑαÑñáτπ ñá¡¡δσ íѺ "«íαáí«Γ¬¿", «íδτ¡« ¿ß»«½∞ºπεΓ
- í½«τ¡δ⌐ ¿¡ΓÑαΣÑ⌐ß ñ½∩ »α«µÑñπα »«ß¿¼ó«½∞¡«ú« τΓÑ¡¿∩ ¿ ºá»¿ß¿, Ñß½¿ π ¡¿σ
- ¿¼ÑÑΓß∩ ñó«⌐¡¿¬ í½«τ¡«ú« Γ¿»á.
-
-
- E10.1.2.4 æΓαáΓÑú¿τÑ߬¿⌐ ¿¡ΓÑαΣÑ⌐ßF
-
- ƒñα« ¿ß»«½∞ºπÑΓ ßΓαáΓÑú¿τÑ߬¿⌐ ¿¡ΓÑαΣÑ⌐ß ñ½∩ »ÑαÑñáτ¿ ñá¡¡δσ ¼Ñªñπ íπ-
- ΣÑα¡δ¼ ¬ÑΦѼ ¿ πßΓα«⌐ßΓó«¼, σ«Γ∩, ¬á¬ πªÑ ú«ó«α¿½«ß∞ αá¡ÑÑ, »α«µÑñπαδ τΓÑ¡¿∩
- ¿ ºá»¿ß¿ ñ½∩ πßΓα«⌐ßΓó »«ß¿¼ó«½∞¡«ú« óó«ñáóδó«ñá ¿¡«úñá »«½∞ºπεΓß∩ »α«µÑñπ-
- α«⌐ strategy (¿σ ñó«⌐¡¿¬á í½«τ¡«ú« Γ¿»á) ñ½∩ ¡Ñ»«ßαÑñßΓóÑ¡¡«⌐ »ÑαÑñáτ¿ ñá¡-
- ¡δσ ¼Ñªñπ πßΓα«⌐ßΓó«¼ ¿ áñαÑß¡δ¼ »α«ßΓαá¡ßΓó«¼ ºáñáτ¿. Åα«µÑñπαá strategy
- ¼«ªÑΓ π»αáó½∩Γ∞ «τÑαÑñ¡«ßΓ∞ε óδ»«½¡Ñ¡¿∩ ºáñá¡¿⌐ ¡á óó«ñ-óδó«ñ, ßó∩ºá¡¡δ⌐ ß
- πßΓα«⌐ßΓó«¼, ¿½¿ óδ»«½¡∩Γ∞ í«½ÑÑ ß½«ª¡δÑ ñÑ⌐ßΓó¿∩ »« »½á¡¿α«óá¡¿ε óδ»«½¡Ñ¡¿∩
- »«ñ«í¡δσ ºáñá¡¿⌐. äαá⌐óÑαδ ó ß«ßΓ«∩¡¿¿ »α¿ó∩ºδóáΓ∞ »ÑαÑñáτπ ñá¡¡δσ ¬ «ñ¡«¼π
- Σ¿º¿τÑ߬«¼π áñαÑßπ ¿½¿ ¬« ¼¡«ú¿¼. ƒñα« »ÑαÑñáÑΓ áñαÑß ºáú«½«ó¬á íπΣÑαá ßΓαá-
- ΓÑú¿τÑ߬«⌐ »α«µÑñπαÑ ñαá⌐óÑαá; ó ºáú«½«ó¬Ñ ß«ñÑনΓß∩ ß»¿ß«¬ áñαÑß«ó (ßΓαá-
- ¡¿µ »á¼∩Γ¿) ¿ αẼÑαδ ñá¡¡δσ, »ÑαÑñáóáѼδσ ¡á ¿½¿ ß πßΓα«⌐ßΓóá. ǡὫú¿τ¡«Ñ
- ñÑ⌐ßΓó¿Ñ ¿¼ÑÑΓ ¼ÑßΓ« »α¿ αáí«ΓÑ ¼Ñσá¡¿º¼á ßó«»¿¡úá, «»¿ßá¡¡«ú« ó ú½áóÑ 9.
- Åα¿ αáí«ΓÑ ß íπΣÑα¡δ¼ ¬ÑΦѼ ∩ñα« »ÑαÑñáÑΓ ñá¡¡δÑ ß «ñ¡«ú« áñαÑßá; ó« óαѼ∩
- ßó«»¿¡úá ∩ñα« »ÑαÑñáÑΓ ñá¡¡δÑ, αáß»«½«ªÑ¡¡δÑ »« ¡Ñ߬«½∞¬¿¼ áñαÑßá¼ (ßΓαá¡¿µδ
- »á¼∩Γ¿). àß½¿ ñá¡¡δÑ ¬«»¿απεΓß∩ ¿º ¿½¿ ó áñαÑß¡«Ñ »α«ßΓαá¡ßΓó« ºáñáτ¿, ñαá⌐-
- óÑα ñ«½ªÑ¡ í½«¬¿α«óáΓ∞ »α«µÑßß (¿½¿ »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ, ß««ΓóÑΓßΓóπεΘ¿Ñ ßΓαá¡¿-
- µδ) ó »á¼∩Γ¿ ñ« ºáóÑαΦÑ¡¿∩ »ÑαÑñáτ¿ ñá¡¡δσ.
- ìá»α¿¼Ñα, »«ß½Ñ ¼«¡Γ¿α«óá¡¿∩ Σá⌐½«ó«⌐ ß¿ßΓѼδ ∩ñα« ¿ñÑ¡Γ¿Σ¿µ¿απÑΓ ¬áªñδ⌐
- Σá⌐½ ó Σá⌐½«ó«⌐ ß¿ßΓÑ¼Ñ »« ¡«¼Ñαπ πßΓα«⌐ßΓóá ¿ ¡«¼Ñαπ ¿¡ñѬßá. é ¡«¼ÑαÑ πßΓ-
- α«⌐ßΓóá ºá¬«ñ¿α«óá¡δ Ñú« ßΓáαΦ¿⌐ ¿ ¼½áñΦ¿⌐ ¡«¼Ñαá. è«úñá ∩ñα« «íαáΘáÑΓß∩ ¬
- í½«¬π, ¬«Γ«αδ⌐ »α¿¡áñ½Ñª¿Γ Σá⌐½π, «¡« ¬«»¿απÑΓ ¡«¼Ñα πßΓα«⌐ßΓóá ¿ ¡«¼Ñα í½«-
- ¬á ó ºáú«½«ó«¬ íπΣÑαá, ¬á¬ πªÑ ú«ó«α¿½«ß∞ αá¡ÑÑ ó ú½áóÑ 3. ÄíαáΘÑ¡¿∩ ¬ ñ¿ß-
-
- 299
-
- ¬π, ¿ß»«½∞ºπεΘ¿Ñ á½ú«α¿Γ¼δ αáí«Γδ ß íπΣÑα¡δ¼ ¬ÑΦѼ (¡á»α¿¼Ñα, bread ¿½¿
- bwrite), ¿¡¿µ¿¿απεΓ óδ»«½¡Ñ¡¿Ñ ßΓαáΓÑú¿τÑ߬«⌐ »α«µÑñπαδ, «»αÑñѽ∩Ѽ«⌐ ßΓáα-
- Φ¿¼ ¡«¼Ñα«¼ πßΓα«⌐ßΓóá. æΓαáΓÑú¿τÑ߬á∩ »α«µÑñπαá ¿ß»«½∞ºπÑΓ º¡áτÑ¡¿∩ »«½Ñ⌐
- ¼½áñΦÑú« ¡«¼Ñαá ¿ ¡«¼Ñαá í½«¬á ¿º ºáú«½«ó¬á íπΣÑαá ñ½∩ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ ¼ÑßΓá
- αáß»«½«ªÑ¡¿∩ ñá¡¡δσ ¡á πßΓα«⌐ßΓóÑ, á áñαÑß íπΣÑαá - ñ½∩ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ ¼ÑßΓá
- ¡áº¡áτÑ¡¿∩ »ÑαÑñáóáѼδσ ñá¡¡δσ. Æ«τ¡« ΓᬠªÑ, ¬«úñá »α«µÑßß «íαáΘáÑΓß∩ ¬ πß-
- Γα«⌐ßΓóπ óó«ñá-óδó«ñá í½«¬á¼¿ ¡Ñ»«ßαÑñßΓóÑ¡¡« (¡á»α¿¼Ñα, «Γ¬αδóá∩ πßΓα«⌐ßΓó«
- ¿ τ¿Γá∩ ¿½¿ ºá»¿ßδóá∩ ¡á ¡Ñú«), «¡ ¿ß»«½∞ºπÑΓ á½ú«α¿Γ¼δ αáí«Γδ ß íπΣÑα¡δ¼
- ¬ÑΦѼ, ¿ ¿¡ΓÑαΣÑ⌐ß »α¿ φΓ«¼ Σπ¡¬µ¿«¡¿απÑΓ óδΦÑ«»¿ßá¡¡δ¼ «íαẫ¼.
-
-
- E10.1.2.5 IoctlF
-
- æ¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ ioctl ∩ó½∩ÑΓß∩ «í«íΘÑ¡¿Ñ¼ ߻ѵ¿Σ¿τ¡δσ ñ½∩ ΓÑନ¡á½á
- Σπ¡¬µ¿⌐ stty (ºáñáΓ∞ πßΓá¡«ó¬¿ ΓÑନ¡á½á) ¿ gtty (»«½πτ¿Γ∞ πßΓá¡«ó¬¿ ΓÑନ-
- ¡á½á), ¿¼ÑóΦ¿σß∩ ó αá¡¡¿σ óÑαß¿∩σ ß¿ßΓѼδ UNIX. Ä¡á óδßΓπ»áÑΓ ó ¬áτÑßΓóÑ «í-
- ΘÑ⌐ Γ«τ¬¿ óσ«ñá ñ½∩ óßÑσ ßó∩ºá¡¡δσ ß Γ¿»«¼ πßΓα«⌐ßΓóá ¬«¼á¡ñ ¿ »«ºó«½∩ÑΓ
- »α«µÑßßá¼ ºáñáóáΓ∞ á»»áαáΓ¡δÑ »áαá¼ÑΓαδ, áßß«µ¿¿α«óá¡¡δÑ ß πßΓα«⌐ßΓó«¼, ¿
- »α«úαá¼¼¡δÑ »áαá¼ÑΓαδ, áßß«µ¿¿α«óá¡¡δÑ ß ñαá⌐óÑα«¼. æ»Ñµ¿á½∞¡δÑ ñÑ⌐ßΓó¿∩,
- óδ»«½¡∩ѼδÑ Σπ¡¬µ¿Ñ⌐ ioctl ñ½∩ αạδσ πßΓα«⌐ßΓó αẽ¿τ¡δ ¿ «»αÑñѽ∩εΓß∩ Γ¿-
- »«¼ ñαá⌐óÑαá. Åα«úαá¼¼δ, ¿ß»«½∞ºπεΘ¿Ñ ó맮ó ioctl, ñ«½ª¡δ ñ«½ª¡δ º¡áΓ∞, ß
- Σá⌐½«¼ ¬á¬«ú« Γ¿»á «¡¿ αáí«ΓáεΓ, Γᬠ¬á¬ «¡¿ ∩ó½∩εΓß∩ á»»áαáΓ¡«-ºáó¿ß¿¼δ¼¿.
- ê߬½ετÑ¡¿Ñ ¿º «íΘÑú« »αáó¿½á ßñѽᡫ ñ½∩ ß¿ßΓѼδ, ¬«Γ«αá∩ ¡Ñ ó¿ñ¿Γ αẽ¿τ¿⌐
- ¼Ñªñπ Σá⌐½á¼¿ αạδσ Γ¿»«ó. ü«½ÑÑ »«ñα«í¡« ¿ß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿¿ ioctl ñ½∩
- ΓÑନ¡á½«ó αáßß¼«ΓαÑ¡« ó αáºñÑ½Ñ 10.3.3.
- æ¿¡Γá¬ß¿ß ¬«¼á¡ñ¡«⌐ ßΓ᫬¿, ß«ñÑαªáΘÑ⌐ ó맮ó ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿:
-
- ioctl(fd,command,arg);
-
- úñÑ fd - ñÑß¬α¿»Γ«α Σá⌐½á, ó«ºóαáΘáѼδ⌐ »αÑñóáα¿Γѽ∞¡« óδºóá¡¡«⌐ Σπ¡¬µ¿Ñ⌐
- open, command - ñÑ⌐ßΓó¿Ñ (¬«¼á¡ñá), ¬«Γ«α«Ñ ¡Ñ«íσ«ñ¿¼« óδ»«½¡¿Γ∞ ñαá⌐óÑαπ,
- arg - »áαá¼ÑΓα ¬«¼á¡ñδ (¼«ªÑΓ íδΓ∞ π¬áºáΓѽѼ ¡á ßΓαπ¬Γπαπ). 諼á¡ñδ ߻ѵ¿-
- Σ¿τ¡δ ñ½∩ αẽ¿τ¡δσ ñαá⌐óÑα«ó; ß½Ññ«óáΓѽ∞¡«, ¬áªñδ⌐ ñαá⌐óÑα ¿¡ΓÑα»αÑΓ¿απÑΓ
- ¬«¼á¡ñδ ó ß««ΓóÑΓßΓó¿¿ ß« ßó«¿¼¿ ó¡πΓαÑ¡¡¿¼¿ ߻ѵ¿Σ¿¬áµ¿∩¼¿, «Γ ¬«¼á¡ñδ, ó
- ßó«ε «τÑαÑñ∞, ºáó¿ß¿Γ Σ«α¼áΓ ßΓαπ¬Γπαδ ñá¡¡δσ, «»¿ßδóáѼ«⌐ »ÑαÑñáóáÑ¼δ¼ »á-
- αá¼ÑΓα«¼. äαá⌐óÑαδ ¼«úπΓ ßτ¿ΓδóáΓ∞ ßΓαπ¬Γπαπ ñá¡¡δσ arg ¿º »α«ßΓαá¡ßΓóá ºá-
- ñáτ¿ ó ß««ΓóÑΓßΓó¿¿ ß »αÑñ«»αÑñѽѡ¡δ¼ Σ«α¼áΓ«¼ ¿½¿ ºá»¿ßδóáΓ∞ πßΓá¡«ó¬¿ πß-
- Γα«⌐ßΓóá ó »α«ßΓαá¡ßΓó« ºáñáτ¿ »« áñαÑßπ π¬áºá¡¡«⌐ ßΓαπ¬Γπαδ. ìá»α¿¼Ñα, ¡á-
- ½¿τ¿Ñ ¿¡ΓÑαΣÑ⌐ßá, »αÑñ«ßΓáó½∩Ѽ«ú« Σπ¡¬µ¿Ñ⌐ ioctl, ñáÑΓ ó«º¼«ª¡«ßΓ∞ »«½∞º«-
- óáΓѽ∩¼ πßΓá¡áó½¿óáΓ∞ ñ½∩ ΓÑନ¡á½á ߬«α«ßΓ∞ »ÑαÑñáτ¿ ¿¡Σ«α¼áµ¿¿ ó í«ñáσ,
- »ÑαѼáΓδóáΓ∞ ¼áú¡¿Γ¡πε ½Ñ¡Γπ, ¿, ¡á¬«¡Ñµ, óδ»«½¡∩Γ∞ ßÑΓÑóδÑ «»Ñαᵿ¿, ºáñá-
- óá∩ ¡«¼Ñαá ó¿αΓπá½∞¡δσ ¬á¡á½«ó ¿ ßÑΓÑóδÑ áñαÑßá.
-
-
- E10.1.2.6 äαπú¿Ñ Σπ¡¬µ¿¿, ¿¼ÑεΘ¿Ñ «Γ¡«ΦÑ¡¿Ñ ¬ Σá⌐½«ó«⌐ ß¿ßΓѼÑF
-
- Æá¬¿Ñ Σπ¡¬µ¿¿ αáí«Γδ ß Σá⌐½«ó«⌐ ß¿ßΓѼ«⌐, ¬á¬ stat ¿ chmod, óδ»«½¡∩εΓß∩
- «ñ¿¡á¬«ó«, ¬á¬ ñ½∩ «íδτ¡δσ Σá⌐½«ó, Γᬠ¿ ñ½∩ πßΓα«⌐ßΓó; «¡¿ ¼á¡¿»π½¿απεΓ ß
- ¿¡ñѬ߫¼, ¡Ñ «íαáΘá∩ß∞ ¬ ñαá⌐óÑαπ. äáªÑ ß¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ lseek αáí«ΓáÑΓ ñ½∩
- πßΓα«⌐ßΓó. ìá»α¿¼Ñα, Ñß½¿ »α«µÑßß »«ñó«ñ¿Γ ú«½«ó¬π ¡á ½Ñ¡Γ«»α«Γ∩ª¡«¼ πßΓα«⌐-
- ßΓóÑ ¬ π¬áºá¡¡«¼π áñαÑßπ ß¼ÑΘÑ¡¿∩ ó íá⌐Γáσ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ lseek, ∩ñα«
- ¬«ααÑ¬Γ¿απÑΓ ß¼ÑΘÑ¡¿Ñ ó Γáí½¿µÑ Σá⌐½«ó ¡« ¡Ñ óδ»«½¡∩ÑΓ ¡¿¬á¬¿σ ñÑ⌐ßΓó¿⌐,
- ߻ѵ¿Σ¿τ¡δσ ñ½∩ ñá¡¡«ú« Γ¿»á ñαá⌐óÑαá. è«úñá »«ºñ¡ÑÑ »α«µÑßß óδ»«½¡∩ÑΓ τΓÑ-
- ¡¿Ñ (read) ¿½¿ ºá»¿ß∞ (write), ∩ñα« »ÑαÑßδ½áÑΓ áñαÑß ß¼ÑΘÑ¡¿∩ ¿º Γáí½¿µδ
- Σá⌐½«ó ó áñαÑß¡«Ñ »α«ßΓαá¡ßΓó« ºáñáτ¿, »«ñ«í¡« Γ«¼π, ¬á¬ φΓ« ¿¼ÑÑΓ ¼ÑßΓ« »α¿
- αáí«ΓÑ ß Σá⌐½á¼¿ «íδτ¡«ú« Γ¿»á, ¿ πßΓα«⌐ßΓó« Σ¿º¿τÑ߬¿ »ÑαѼÑΘáÑΓ ú«½«ó¬π ¬
- ß««ΓóÑΓßΓóπεΘѼπ ß¼ÑΘÑ¡¿ε, π¬áºá¡¡«¼π ó »α«ßΓαá¡ßΓóÑ ºáñáτ¿. ¥Γ«Γ ß½πτá⌐ ¿½-
- ½εßΓα¿απÑΓß∩ ¡á »α¿¼ÑαÑ ó αáºñÑ½Ñ 10.3.
-
-
- 300
-
- ÅÑα¿ΣÑα¿⌐¡δÑ æ«Ññ¿¡¿Γѽ∞¡á∩ éÑ¬Γ«α
- πßΓα«⌐ßΓóá »á¡Ñ½∞ »αÑαδóá¡¿∩
- ┌──────────────────┐
- │ ∙ │
- tty00 ─────────────┐ │ ∙ │
- tty01 .... │ │ ∙ │
- ... │ ┌──┐ ├──────────────────┤
- tty07 ─────────────┴─┤ │∙∙∙∙∙∙∙∙∙∙∙∙│ ttyintr 0 │
- tty08 ─────────────┐ ├──┤ ├──────────────────┤
- tty09 .... ├─┤ │∙∙∙∙∙∙∙∙∙∙∙∙│ ttyintr 1 │
- ... ┌────────┘ ├──┤ ├──────────────────┤
- tty15 ────┘ ┌────────┤ │∙∙∙∙∙∙∙∙∙∙∙∙│ consintr │
- ¬«¡ß«½∞ ──────┘ ├──┤ ├──────────────────┤
- »α¿¡ΓÑα00 ─────────────┬─┤ │∙∙∙∙∙∙∙∙∙∙∙∙│ printintr 0 │
- .... │ ├──┤ ├──────────────────┤
- »α¿¡ΓÑα03 ─────────────┘ │ │ │ ∙ │
- │ │ │ ∙ │
- └──┘ └──────────────────┘
-
- É¿ßπ¡«¬ 10.6. ÅαÑαδóá¡¿∩ «Γ πßΓα«⌐ßΓó
-
-
-
- E10.1.3 Åα«úαá¼¼δ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐F
-
- èᬠπªÑ ú«ó«α¿½«ß∞ óδΦÑ (αáºñѽ 6.4.1), 󫺡¿¬¡«óÑ¡¿Ñ »αÑαδóá¡¿∩ »«íπª-
- ñáÑΓ ∩ñα« ºá»π߬áΓ∞ »α«úαá¼¼π «íαáí«Γ¬¿ »αÑαδóá¡¿⌐, ó «ß¡«óÑ á½ú«α¿Γ¼á ¬«Γ«-
- α«⌐ ½Ñª¿Γ ß««Γ¡«ΦÑ¡¿Ñ ¼Ñªñπ πßΓα«⌐ßΓó«¼, óδºóáóΦ¿¼ »αÑαδóá¡¿Ñ, ¿ ß¼ÑΘÑ¡¿Ñ¼ ó
- Γáí½¿µÑ óÑ¬Γ«α«ó »αÑαδóá¡¿⌐. ƒñα« ºá»π߬áÑΓ »α«úαá¼¼π «íαáí«Γ¬¿ »αÑαδóá¡¿⌐
- ñ½∩ ñá¡¡«ú« Γ¿»á πßΓα«⌐ßΓóá, »ÑαÑñáóá∩ Ñ⌐ ¡«¼Ñα πßΓα«⌐ßΓóá ¿½¿ ñαπú¿Ñ »áαá-
- ¼ÑΓαδ ñ½∩ Γ«ú«, τΓ«íδ ¿ñÑ¡Γ¿Σ¿µ¿α«óáΓ∞ Ññ¿¡¿µπ πßΓα«⌐ßΓóá, óδºóáóΦπε »αÑαδ-
- óá¡¿Ñ. ìá»α¿¼Ñα, ó Γáí½¿µÑ óÑ¬Γ«α«ó »αÑαδóá¡¿⌐ ¡á É¿ßπ¡¬Ñ 10.6 »«¬áºá¡δ ñóÑ
- Γ«τ¬¿ óσ«ñá ñ½∩ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ «Γ ΓÑନ¡á½«ó ("ttyintr"), ¬áªñá∩ ¿º
- ¬«Γ«αδσ ¿ß»«½∞ºπÑΓß∩ ñ½∩ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐, »«ßΓπ»¿óΦ¿σ «Γ 8 ΓÑନ¡á½«ó.
- àß½¿ πßΓα«⌐ßΓó« tty09 »αÑαóὫ αáí«Γπ ß¿ßΓѼδ, ß¿ßΓѼá óδºδóáÑΓ »α«úαá¼¼π
- «íαáí«Γ¬¿ »αÑαδóá¡¿∩, áßß«µ¿¿α«óá¡¡πε ß ¼ÑßΓ«¼ á»»áαáΓ¡«ú« »«ñ¬½ετÑ¡¿∩ πßΓ-
- α«⌐ßΓóá. ū߬«½∞¬π ß «ñ¡«⌐ ºá»¿ß∞ε ó Γáí½¿µÑ óÑ¬Γ«α«ó »αÑαδóá¡¿⌐ ¼«ªÑΓ íδΓ∞
- ßó∩ºá¡« ¼¡«ªÑßΓó« Σ¿º¿τÑ߬¿σ πßΓα«⌐ßΓó, ñαá⌐óÑα ñ«½ªÑ¡ π¼ÑΓ∞ αáß»«º¡áóáΓ∞
- πßΓα«⌐ßΓó«, óδºóáóΦÑÑ »αÑαδóá¡¿Ñ. ìá α¿ßπ¡¬Ñ ºá»¿ß¿ ó Γáí½¿µÑ óÑ¬Γ«α«ó »αÑ-
- αδóá¡¿⌐, ß««ΓóÑΓßΓóπεΘ¿Ñ »αÑαδóá¡¿∩¼ «Γ ΓÑନ¡á½«ó, ¿¼ÑεΓ ¼ÑΓ¬¿ 0 ¿ 1, τΓ«íδ
- ß¿ßΓѼá αẽ¿τá½á ¿σ ¼Ñªñπ ß«í«⌐ »α¿ ó맮óÑ »α«úαá¼¼δ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐,
- ¿ß»«½∞ºπ∩ ¬ »α¿¼Ñαπ φëà ¡«¼Ñα ó ¬áτÑßΓóÑ »ÑαÑñáóáѼ«ú« »α«úαá¼¼Ñ »áαá¼ÑΓαá.
- Åα«úαá¼¼á «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ ¿ß»«½∞ºπÑΓ φëà ¡«¼Ñα ¿ ñαπúπε ¿¡Σ«α¼áµ¿ε,
- »ÑαÑñá¡¡πε ¼Ñσá¡¿º¼«¼ »αÑαδóá¡¿∩, ñ½∩ Γ«ú«, τΓ«íδ πñ«ßΓ«óÑα¿Γ∞ß∩, τΓ« ¿¼Ñ¡¡«
- πßΓα«⌐ßΓó« tty09, á ¡Ñ tty12, »αÑαóὫ αáí«Γπ ß¿ßΓѼδ. ¥Γ«Γ »α¿¼Ñα ó π»α«-
- ΘÑ¡¡«¼ ó¿ñÑ »«¬áºδóáÑΓ Γ«, τΓ« ¿¼ÑÑΓ ¼ÑßΓ« ó αÑá½∞¡δσ ß¿ßΓѼáσ, úñÑ ¡á ßἫ¼
- ñÑ½Ñ ßπΘÑßΓóπÑΓ ¡Ñ߬«½∞¬« πα«ó¡Ñ⌐ ¬«¡Γα«½½Ñα«ó ¿ ß««ΓóÑΓßΓóπεΘ¿σ »α«úαá¼¼
- «íαáí«Γ¬¿ »αÑαδóá¡¿⌐, ¡« «¡ ¿½½εßΓα¿απÑΓ «íΘ¿Ñ »α¿¡µ¿»δ.
- àß½¿ »«ñóÑßΓ¿ ¿Γ«ú, ¼«ª¡« ߬áºáΓ∞, τΓ« ¡«¼Ñα πßΓα«⌐ßΓóá, ¿ß»«½∞ºπѼδ⌐
- »α«úαá¼¼«⌐ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐, ¿ñÑ¡Γ¿Σ¿µ¿απÑΓ Ññ¿¡¿µπ á»»áαáΓπαδ, á ¼½áñ-
- Φ¿⌐ ¡«¼Ñα ó Σá⌐½Ñ πßΓα«⌐ßΓóá ¿ñÑ¡Γ¿Σ¿µ¿απÑΓ πßΓα«⌐ßΓó« ñ½∩ ∩ñαá. äαá⌐óÑα πß-
- Γα«⌐ßΓóá πßΓá¡áó½¿óáÑΓ ß««ΓóÑΓßΓó¿Ñ ¼Ñªñπ ¼½áñΦ¿¼ ¡«¼Ñα«¼ πßΓα«⌐ßΓóá ¿ ¡«¼Ñ-
- α«¼ Ññ¿¡¿µδ á»»áαáΓπαδ.
-
-
- E10.2 äêæèÄé¢à äÉÇëéàÉ¢F
-
- Æá¬ ß½«ª¿½«ß∞ ¿ßΓ«α¿τÑ߬¿, τΓ« ñ¿ß¬«óδÑ πßΓα«⌐ßΓóá ó ß¿ßΓѼáσ UNIX αáº-
- í¿ó὿ß∞ ¡á αáºñѽδ, ß«ñÑαªáΘ¿Ñ αẽ¿τ¡δÑ Σá⌐½«óδÑ ß¿ßΓѼδ, τΓ« «º¡áτὫ
-
- 301
-
- "ñѽѡ¿Ñ [ñ¿ß¬«ó«ú«] »á¬ÑΓá ¡á ¡Ñ߬«½∞¬« π»αáó½∩Ѽδσ »«-ßó«Ñ¼π τáßΓÑ⌐" (ß¼.
- [System V 84b]). ìá»α¿¼Ñα, Ñß½¿ ¡á ñ¿ß¬Ñ αáß»«½áúáεΓß∩ τÑΓδαÑ Σá⌐½«óδÑ ß¿ß-
- ΓѼδ, áñ¼¿¡¿ßΓαáΓ«α ¼«ªÑΓ «ßΓáó¿Γ∞ «ñ¡π ¿º ¡¿σ ¡Ñß¼«¡Γ¿α«óá¡¡«⌐, «ñ¡π ß¼«¡-
- Γ¿α«óáΓ∞ Γ«½∞¬« ñ½∩ τΓÑ¡¿∩, á ñóÑ ñαπú¿σ Γ«½∞¬« ñ½∩ ºá»¿ß¿. ìÑß¼«Γα∩ ¡á Γ«,
- τΓ« óßÑ Σá⌐½«óδÑ ß¿ßΓѼδ ß«ßπΘÑßΓóπεΓ ¡á «ñ¡«¼ Σ¿º¿τÑ߬«¼ πßΓα«⌐ßΓóÑ, »«½∞-
- º«óáΓѽ¿ ¡Ñ ¼«úπΓ ¡¿ «íαáΘáΓ∞ß∩ ¬ Σá⌐½á¼ ¡Ñ¼«¡Γ¿α«óá¡¡«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼδ,
- ¿ß»«½∞ºπ∩ ¼ÑΓ«ñδ ñ«ßΓπ»á, «»¿ßá¡¡δÑ ó ú½áóáσ 4 ¿ 5, ¡¿ ºá»¿ßδóáΓ∞ Σá⌐½δ ó
- Σá⌐½«óδÑ ß¿ßΓѼδ, ß¼«¡Γ¿α«óá¡¡δÑ Γ«½∞¬« ñ½∩ τΓÑ¡¿∩. ü«½ÑÑ Γ«ú«, Γᬠ¬á¬ ¬áª-
- ñδ⌐ αáºñѽ (¿, ß½Ññ«óáΓѽ∞¡«, Σá⌐½«óá∩ ß¿ßΓѼá) ºá¡¿¼áÑΓ ¡á ñ¿ß¬Ñ ߼Ѫ¡δÑ
- ñ«α«ª¬¿ ¿ µ¿½¿¡ñαδ, ߬«»¿α«óáΓ∞ óßε Σá⌐½«óπε ß¿ßΓѼπ ½ÑúτÑ, τѼ ó Γ«¼ ß½π-
- τáÑ, Ñß½¿ íδ αáºñѽ ºá¡¿¼á½ πτáßΓ¬¿, αáºíα«ßá¡¡δÑ »« óßѼπ ñ¿ß¬«ó«¼π Γ«¼π.
- ä¿ß¬«óδ⌐ ñαá⌐óÑα Γαá¡ß½¿απÑΓ áñαÑß Σá⌐½«ó«⌐ ß¿ßΓѼδ, ß«ßΓ«∩Θ¿⌐ ¿º ½«ú¿-
- τÑ߬«ú« ¡«¼Ñαá πßΓα«⌐ßΓóá ¿ ¡«¼Ñαá í½«¬á, ó Γ«τ¡δ⌐ ¡«¼Ñα ñ¿ß¬«ó«ú« ßÑ¬Γ«αá.
- äαá⌐óÑα »«½πτáÑΓ áñαÑß «ñ¡¿¼ ¿º ß½ÑñπεΘ¿σ »πΓÑ⌐: ½¿í« ßΓαáΓÑú¿τÑ߬á∩ »α«µÑ-
- ñπαá ¿ß»«½∞ºπÑΓ íπΣÑα ¿º íπΣÑα¡«ú« »π½á, ºáú«½«ó«¬ ¬«Γ«α«ú« ß«ñÑαª¿Γ ¡«¼Ñαá
- πßΓα«⌐ßΓóá ¿ í½«¬á, ½¿í« »α«µÑñπαδ τΓÑ¡¿∩ ¿ ºá»¿ß¿ »ÑαÑñáεΓ ½«ú¿τÑ߬¿⌐
- (¼½áñΦ¿⌐) ¡«¼Ñα πßΓα«⌐ßΓóá ó ¬áτÑßΓóÑ »áαá¼ÑΓαá; «¡¿ »αÑ«íαáºπεΓ áñαÑß ß¼Ñ-
- ΘÑ¡¿∩ ó íá⌐Γáσ, σαá¡∩Θ¿⌐ß∩ ó »α«ßΓαá¡ßΓóÑ ºáñáτ¿, ó áñαÑß ß««ΓóÑΓßΓóπεΘÑú«
- í½«¬á. ä¿ß¬«óδ⌐ ñαá⌐óÑα ¿ß»«½∞ºπÑΓ ¡«¼Ñα πßΓα«⌐ßΓóá ñ½∩ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ Σ¿º¿-
- τÑ߬«ú« πßΓα«⌐ßΓóá ¿ π¬áºá¡¿∩ ¿ß»«½∞ºπѼ«ú« αáºñѽá, «íαáΘá∩ß∞ »α¿ φΓ«¼ ¬
- ó¡πΓαÑ¡¡¿¼ Γáí½¿µá¼ ñ½∩ »«¿ß¬á ßÑ¬Γ«αá, «Γ¼ÑτáεΘÑú« ¡áτὫ αáºñÑ½á ¡á ñ¿ß¬Ñ.
- ìᬫ¡Ñµ, «¡ ñ«íáó½∩ÑΓ ¡«¼Ñα í½«¬á ó Σá⌐½«ó«⌐ ß¿ßΓÑ¼Ñ ¬ ¡«¼Ñαπ í½«¬á, ß ¬«Γ«-
- α«ú« ¡áτ¿¡áÑΓß∩ ¬áªñδ⌐ ßÑ¬Γ«α, τΓ«íδ ¿ñÑ¡Γ¿Σ¿µ¿α«óáΓ∞ ßÑ¬Γ«α, ¿ß»«½∞ºπѼδ⌐
- ñ½∩ óó«ñá-óδó«ñá.
-
- ┌─────────────────────────────────────────────┐
- │ Éáºñѽ ìáτá½∞¡δ⌐ í½«¬ 使¡á ó í½«¬áσ │
- │ │
- │ ÉẼÑα í½«¬á = 512 íá⌐Γ │
- │ │
- │ 0 0 64000 │
- │ 1 64000 944000 │
- │ 2 168000 840000 │
- │ 3 336000 672000 │
- │ 4 504000 504000 │
- │ 5 672000 336000 │
- │ 6 840000 168000 │
- │ 7 0 1008000 │
- └─────────────────────────────────────────────┘
-
- É¿ßπ¡«¬ 10.7. ÉáºñÑ½δ ¡á ñ¿ß¬Ñ RP07
-
-
- êßΓ«α¿τÑ߬¿ ß½«ª¿½«ß∞ Γá¬, τΓ« αẼÑαδ ñ¿ß¬«óδσ αáºñѽ«ó πßΓá¡áó½¿óáεΓß∩
- ó ºáó¿ß¿¼«ßΓ¿ «Γ Γ¿»á ñ¿ß¬á. ìá»α¿¼Ñα, ñ¿ß¬ DEC RP07 αáºí¿Γ ¡á αáºñѽδ, σá-
- αá¬ΓÑα¿ßΓ¿¬á ¬«Γ«αδσ »α¿óÑñÑ¡á ¡á É¿ßπ¡¬Ñ 10.7. ÅαÑñ»«½«ª¿¼, τΓ« Σá⌐½δ
- "/dev/dsk0", "/dev/dsk1", "/dev/dsk2" ¿ "/dev/dsk3" ß««ΓóÑΓßΓóπεΓ αáºñѽá¼
- ñ¿ß¬á RP07, ¿¼ÑεΘ¿¼ ¡«¼Ñαá «Γ 0 ñ« 3, ¿ ¿¼ÑεΓ á¡á½«ú¿τ¡δÑ ¼½áñΦ¿Ñ ¡«¼Ñαá.
- ÅπßΓ∞ αẼÑα ½«ú¿τÑ߬«ú« í½«¬á ó Σá⌐½«ó«⌐ ß¿ßΓÑ¼Ñ ß«ó»áñáÑΓ ß αẼÑα«¼ ñ¿ß-
- ¬«ó«ú« í½«¬á. àß½¿ ∩ñα« »δΓáÑΓß∩ «íαáΓ¿Γ∞ß∩ ¬ í½«¬π ß ¡«¼Ñα«¼ 940 ó Σá⌐½«ó«⌐
- ß¿ßΓѼÑ, σαá¡∩ΘÑ⌐ß∩ ó "/dev/dsk3", ñ¿ß¬«óδ⌐ ñαá⌐óÑα »ÑαÑáñαÑßπÑΓ ºá»α«ß ¬
- í½«¬π ß ¡«¼Ñα«¼ 336940 (αáºñѽ 3 ¡áτ¿¡áÑΓß∩ ß í½«¬á, ¿¼ÑεΘÑú« ¡«¼Ñα 336000;
- 336000 + 940 = 336940) ¡á ñ¿ß¬Ñ.
- ÉẼÑαδ αáºñѽ«ó ¡á ñ¿ß¬Ñ óáα∞¿απεΓß∩ ¿ áñ¼¿¡¿ßΓαáΓ«αδ αáß»«½áúáεΓ Σá⌐-
- ½«óδÑ ß¿ßΓѼδ ó αáºñѽáσ ß««ΓóÑΓßΓóπεΘÑú« αẼÑαá: í«½∞Φ¿Ñ Σá⌐½«óδÑ ß¿ßΓѼδ
- »«»áñáεΓ ó αáºñѽδ í«½∞ΦÑú« αẼÑαá ¿ Γ. ñ. ÉáºñÑ½δ ¡á ñ¿ß¬Ñ ¼«úπΓ »ÑαѬαδ-
- óáΓ∞ß∩. ìá»α¿¼Ñα, αáºñѽδ 0 ¿ 1 ¡á ñ¿ß¬Ñ RP07 ¡Ñ »ÑαÑßѬáεΓß∩, ¡« ó¼ÑßΓÑ «¡¿
- ºá¡¿¼áεΓ í½«¬¿ ß ¡«¼ÑαἿ «Γ 0 ñ« 1008000, Γ« ÑßΓ∞ óÑß∞ ñ¿ß¬. Éáºñѽ 7 Γá¬
- ªÑ ºá¡¿¼áÑΓ óÑß∞ ñ¿ß¬. ÅÑαѬαδΓ¿Ñ αáºñѽ«ó ¡Ñ ¿¼ÑÑΓ º¡áτÑ¡¿∩, »«ß¬«½∞¬π Σá⌐-
-
- 302
-
- ½«óδÑ ß¿ßΓѼδ, σαá¡∩Θ¿Ñß∩ ó αáºñѽáσ, αẼÑΘáεΓß∩ Γᬿ¼ «íαẫ¼, τΓ« ¼Ñªñπ
- ¡¿¼¿ ¡ÑΓ »ÑαÑßÑτÑ¡¿⌐. ê¼ÑΓ∞ «ñ¿¡ αáºñѽ, ó¬½ετáεΘ¿⌐ ó ßÑí∩ óßÑ ñ¿ß¬«ó«Ñ
- »α«ßΓαá¡ßΓó«, óδú«ñ¡«, »«ß¬«½∞¬π óÑß∞ Γ«¼ ¼«ª¡« íδßΓα« ß¬«»¿α«óáΓ∞.
- êß»«½∞º«óá¡¿Ñ αáºñѽ«ó Σ¿¬ß¿α«óá¡¡«ú« ß«ßΓáóá ¿ αẼÑαá «úαá¡¿τ¿óáÑΓ
- ú¿í¬«ßΓ∞ ñ¿ß¬«ó«⌐ ¬«¡Σ¿úπαᵿ¿. ê¡Σ«α¼áµ¿ε « αáºñѽáσ ó ºá¬«ñ¿α«óá¡¡«¼ ó¿ñÑ
- ¡Ñ ß½ÑñπÑΓ ó¬½ετáΓ∞ ó ñ¿ß¬«óδ⌐ ñαá⌐óÑα, ¡« ¡πª¡« »«¼ÑßΓ¿Γ∞ ó Γáí½¿µπ ß«ñÑα-
- ª¿¼«ú« ñ¿ß¬«ó«ú« Γ«¼á. Äñ¡á¬«, ¡á⌐Γ¿ «íΘÑÑ ¼ÑßΓ« ¡á óßÑσ ñ¿ß¬áσ ñ½∩ αẼÑΘÑ-
- ¡¿∩ Γáí½¿µδ ß«ñÑন¼«ú« ñ¿ß¬«ó«ú« Γ«¼á ¿ ß«σαá¡¿Γ∞ ΓѼ ßá¼δ¼ ß«ó¼ÑßΓ¿¼«ßΓ∞ ß
- »αÑñδñπΘ¿¼¿ óÑαß¿∩¼¿ ß¿ßΓѼδ ñ«ó«½∞¡« Γαπñ¡«. é ßπΘÑßΓóπεΘ¿σ αÑ὿ºáµ¿∩σ
- óÑαß¿¿ V »αÑñ»«½áúáÑΓß∩, τΓ« í½«¬ ¡áτá½∞¡«⌐ ºáúαπº¬¿ »Ñαó«⌐ ¿º Σá⌐½«óδσ ß¿ß-
- ΓѼ ¡á ñ¿ß¬Ñ ºá¡¿¼áÑΓ »Ñαóδ⌐ ßÑ¬Γ«α Γ«¼á, σ«Γ∩ »« ½«ú¿¬Ñ φΓ«, ¬áºá½«ß∞ íδ,
- ßá¼«Ñ »«ñσ«ñ∩ΘÑÑ ¼ÑßΓ« ñ½∩ Γáí½¿µδ ß«ñÑন¼«ú« Γ«¼á. ê óßÑ ªÑ ñ¿ß¬«óδ⌐ ñαá⌐-
- óÑα ñ«½ªÑ¡ ¿¼ÑΓ∞ ºá¬«ñ¿α«óá¡¡πε ¿¡Σ«α¼áµ¿ε « ¼ÑßΓÑ αáß»«½«ªÑ¡¿∩ Γáí½¿µδ ß«-
- ñÑন¼«ú« Γ«¼á ñ½∩ ¬áªñ«ú« ñ¿ß¬á, ¡Ñ »αÑ»∩ΓßΓóπ∩ ßπΘÑßΓó«óá¡¿ε ñ¿ß¬«óδσ αáº-
- ñѽ«ó »ÑαѼѡ¡«ú« αẼÑαá.
- é ßó∩º¿ ß ΓѼ, τΓ« ñ½∩ ß¿ßΓѼδ UNIX ∩ó½∩ÑΓß∩ Γ¿»¿τ¡δ¼ óδß«¬¿⌐ πα«óÑ¡∞
- ñ¿ß¬«ó«ú« ΓαáΣ¿¬á, ñαá⌐óÑα ñ¿ß¬á ñ«½ªÑ¡ ¼á¬ß¿¼¿º¿α«óáΓ∞ »ÑαÑñáτπ ñá¡¡δσ ß
- ΓѼ, τΓ«íδ «íÑß»Ñτ¿Γ∞ ¡á¿½πτΦπε »α«¿ºó«ñ¿Γѽ∞¡«ßΓ∞ óßÑ⌐ ß¿ßΓѼδ. ì«óÑ⌐Φ¿Ñ
- ñ¿ß¬«óδÑ ¬«¡Γα«½½Ñαδ «ßπΘÑßΓó½∩εΓ »½á¡¿α«óá¡¿Ñ óδ»«½¡Ñ¡¿∩ ºáñá¡¿⌐, ΓαÑíπεΘ¿σ
- «íαáΘÑ¡¿∩ ¬ ñ¿ß¬π, »«º¿µ¿«¡¿απεΓ ú«½«ó¬π ñ¿ß¬á ¿ «íÑß»Ñτ¿óáεΓ »ÑαÑñáτπ ñá¡-
- ¡δσ ¼Ñªñπ ñ¿ß¬«¼ ¿ µÑ¡Γαá½∞¡δ¼ »α«µÑßß«α«¼; ¿¡áτÑ φΓ« »α¿σ«ñ¿Γß∩ ñѽáΓ∞ ñ¿ß-
- ¬«ó«¼π ñαá⌐óÑαπ.
- æÑαó¿ß¡δÑ »α«úαá¼¼δ ¼«úπΓ ¡Ñ»«ßαÑñßΓóÑ¡¡« «íαáΘáΓ∞ß∩ ¬ ñ¿ß¬π ó «íσ«ñ
- ßΓá¡ñáαΓ¡«ú« ¼ÑΓ«ñá ñ«ßΓπ»á ¬ Σá⌐½«ó«⌐ ß¿ßΓѼÑ, αáßß¼«ΓαÑ¡¡«ú« ó ú½áóáσ 4 ¿
- 5, ¬á¬ »«½∞ºπ∩ß∞ í½«τ¡δ¼ ¿¡ΓÑαΣÑ⌐ß«¼, Γᬠ¿ ¡Ñ »α¿íÑúá∩ ¬ ßΓαπ¬Γπα¿α«óá¡¿ε
- ñá¡¡δσ. ìÑ»«ßαÑñßΓóÑ¡¡« αáí«ΓáεΓ ß ñ¿ß¬«¼ ñóÑ ó᪡δÑ »α«úαá¼¼δ - mkfs ¿
- fsck. Åα«úαá¼¼á mkfs Σ«α¼áΓ¿απÑΓ αáºñѽ ñ¿ß¬á ñ½∩ Σá⌐½«ó«⌐ ß¿ßΓѼδ UNIX,
- ß«ºñáóá∩ »α¿ φΓ«¼ ßπ»Ñαí½«¬, ß»¿ß«¬ ¿¡ñѬ߫ó, ß»¿ß«¬ ßó«í«ñ¡δσ ñ¿ß¬«óδσ í½«-
- ¬«ó ß π¬áºáΓѽ∩¼¿ ¿ ¬«α¡Ñó«⌐ ¬áΓὫú ¡«ó«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼδ. Åα«úαá¼¼á fsck
- »α«óÑα∩ÑΓ µÑ½«ßΓ¡«ßΓ∞ ßπΘÑßΓóπεΘÑ⌐ Σá⌐½«ó«⌐ ß¿ßΓÑ¼δ ¿ ¿ß»αáó½∩ÑΓ «Φ¿í¬¿, ¬á¬
- »«¬áºá¡« ó ú½áóÑ 5.
- Éáßß¼«Γα¿¼ »α«úαá¼¼π, »α¿óÑñÑ¡¡πε ¡á É¿ßπ¡¬Ñ 10.8, ó »α¿¼Ñ¡Ñ¡¿¿ ¬ Σá⌐½á¼
- "/dev/dsk15" ¿ "/dev/rdsk15", ¿ »αÑñ»«½«ª¿¼, τΓ« ¬«¼á¡ñá ls óδñá½á ß½ÑñπεΘπε
- ¿¡Σ«α¼áµ¿ε:
- ls -1 /dev/dsk15 /dev/rdsk15
-
- br-------- 2 root root 0,21 Feb 12 15:40 /dev/dsk15
- crw-rw---- 2 root root 7,21 Mar 7 09:29 /dev/rdsk15
-
- ÄΓßεñá ó¿ñ¡«, τΓ« Σá⌐½ "/dev/dsk15" ß««ΓóÑΓßΓóπÑΓ πßΓα«⌐ßΓóπ í½«τ¡«ú«
- Γ¿»á, ó½áñѽ∞µÑ¼ ¬«Γ«α«ú« ∩ó½∩ÑΓß∩ »«½∞º«óáΓѽ∞ »«ñ ¿¼Ñ¡Ñ¼ "root", ¿ Γ«½∞¬«
- »«½∞º«óáΓѽ∞ "root" ¼«ªÑΓ τ¿ΓáΓ∞ ß ¡Ñú« ¡Ñ»«ßαÑñßΓóÑ¡¡«. àú« ßΓáαΦ¿⌐ ¡«¼Ñα -
- 0, ¼½áñΦ¿⌐ - 21. öá⌐½ "/dev/rdsk15" ß««ΓóÑΓßΓóπÑΓ πßΓα«⌐ßΓóπ »«ß¿¼ó«½∞¡«ú«
- óó«ñá-óδó«ñá, ó½áñѽ∞µÑ¼ ¬«Γ«α«ú« ∩ó½∩ÑΓß∩ »«½∞º«óáΓѽ∞ "root", «ñ¡á¬« »αáóá
- ñ«ßΓπ»á ¬ ¬«Γ«α«¼π ¡á ºá»¿ß∞ ¿ τΓÑ¡¿Ñ ÑßΓ∞ ¬á¬ π ó½áñѽ∞µá, Γᬠ¿ π úαπ»»δ.
- àú« ßΓáαΦ¿⌐ ¡«¼Ñα - 7, ¼½áñΦ¿⌐ - 21. Åα«µÑßß, «Γ¬αδóáεΘ¿⌐ Σá⌐½δ, »«½πτáÑΓ
- ñ«ßΓπ» ¬ πßΓα«⌐ßΓóπ τÑαѺ Γáí½¿µπ ¬½ε-
- τÑ⌐ πßΓα«⌐ßΓó óó«ñá-óδó«ñá í½«¬á¼¿ ¿ Γáí½¿µπ ¬½ετÑ⌐ πßΓα«⌐ßΓó »«ß¿¼ó«½∞¡«ú«
- óó«ñá-óδó«ñá, ß««ΓóÑΓßΓóÑ¡¡«, á ¼½áñΦ¿⌐ ¡«¼Ñα πßΓα«⌐ßΓóá 21 ¿¡Σ«α¼¿απÑΓ
- ñαá⌐óÑα « Γ«¼, ¬ ¬á¬«¼π αáºñѽπ ñ¿ß¬á »α«¿ºó«ñ¿Γß∩ «íαáΘÑ¡¿Ñ, ¡á»α¿¼Ñα, ñ¿ß-
- ¬«ó«ñ 2, αáºñѽ 1. ū߬«½∞¬π ¼½áñΦ¿Ñ ¡«¼Ñαá π Σá⌐½«ó ß«ó»áñáεΓ, «¡¿ ßßδ½áεΓ-
- ß∩ ¡á «ñ¿¡ ¿ ëà ªÑ αáºñѽ ñ¿ß¬á, Ñß½¿ »αÑñ»«½«ª¿Γ∞, τΓ« φΓ« «ñ¡« πßΓα«⌐ßΓó«
- (***). Æá¬¿¼ «íαẫ¼, »α«µÑßß, óδ»«½¡∩εΘ¿⌐ »α«úαá¼¼π, «Γ¬αδóáÑΓ «ñ¿¡ ¿ Γ«Γ
-
- ───────────────────────────────────────
- (***) ìÑ ßπΘÑßΓóπÑΓ ¿¡«ú« ß»«ß«íá πßΓá¡«ó¿Γ∞, τΓ« ß¿¼ó«½∞¡δ⌐ ¿ í½«τ¡δ⌐ ñαá⌐-
- óÑαδ ßßδ½áεΓß∩ ¡á «ñ¡« ¿ Γ« ªÑ πßΓα«⌐ßΓó«, ¬α«¼Ñ »α«ß¼«Γαá Γáí½¿µ ß¿ß-
- ΓѼ¡«⌐ ¬«¡Σ¿úπαᵿ¿ ¿ ΓѬßΓá »α«úαá¼¼ ñαá⌐óÑαá.
-
-
- 303
-
- ªÑ ñαá⌐óÑα ñóáªñδ (¿ß»«½∞ºπ∩ αẽ¿τ¡δÑ ¿¡ΓÑαΣÑ⌐ßδ), »«º¿µ¿«¡¿απÑΓ ú«½«ó¬π ¬
- ß¼ÑΘÑ¡¿ε ß áñαÑß«¼ 8192 ¿ ßτ¿ΓδóáÑΓ ñá¡¡δÑ ß φΓ«ú« ¼ÑßΓá. ÉѺπ½∞ΓáΓδ óδ»«½-
- ¡Ñ¡¿∩ «»Ñαᵿ⌐ τΓÑ¡¿∩ ñ«½ª¡δ íδΓ∞ ¿ñÑ¡Γ¿τ¡δ¼¿ »α¿ πß½«ó¿¿, τΓ« αáí«ΓáÑΓ
- Γ«½∞¬« «ñ¡á Σá⌐½«óá∩ ß¿ßΓѼá.
-
- ┌────────────────────────────────────────────────────────────┐
- │ #include "fcntl.h" │
- │ main() │
- │ { │
- │ char buf1[4096], buf2[4096] │
- │ int fd1, fd2, i; │
- │ │
- │ if (((fd1 = open("/dev/dsk5/", O_RDONLY)) == -1) || │
- │ ((fd2 = open("/dev/rdsk5", O_RDONLY)) == -1))│
- │ { │
- │ printf("«Φ¿í¬á »α¿ «Γ¬αδΓ¿¿\n"); │
- │ exit(); │
- │ } │
- │ │
- │ lseek(fd1, 8192L, 0); │
- │ lseek(fd2, 8192L, 0); │
- │ │
- │ if ((read(fd1, buf1, sizeof(buf1)) == -1) || │
- │ (read(fd2, buf2, sizeof(buf2)) == -1)) │
- │ { │
- │ printf("«Φ¿í¬á »α¿ τΓÑ¡¿¿\n"); │
- │ exit(); │
- │ } │
- │ │
- │ for (i = 0; i < sizeof(buf1); i++) │
- │ if (buf1[i] != buf2[i]) │
- │ { │
- │ printf("αẽ¿τ¿Ñ ó ß¼ÑΘÑ¡¿¿ %d\n", i); │
- │ exit(); │
- │ } │
- │ printf("ñá¡¡δÑ ß«ó»áñáεΓ\n"); │
- │ } │
- └────────────────────────────────────────────────────────────┘
-
- É¿ßπ¡«¬ 10.8. ùΓÑ¡¿Ñ ñá¡¡δσ ß ñ¿ß¬á ß ¿ß»«½∞º«ó᡿Ѽ í½«τ¡«ú«
- ¿¡ΓÑαΣÑ⌐ßá ¿ íѺ ßΓαπ¬Γπα¿α«óá¡¿∩ ñá¡¡δσ
-
-
- Åα«úαá¼¼δ, «ßπΘÑßΓó½∩εΘ¿Ñ τΓÑ¡¿Ñ ¿ ºá»¿ß∞ ¡á ñ¿ß¬ ¡Ñ»«ßαÑñßΓóÑ¡¡«, »αÑñ-
- ßΓáó½∩εΓ «»áß¡«ßΓ∞, »«ß¬«½∞¬π ¼á¡¿»π½¿απεΓ ß τπóßΓó¿Γѽ∞¡«⌐ ¿¡Σ«α¼áµ¿Ñ⌐,
- α¿ß¬π∩ ¡áαπΦ¿Γ∞ ß¿ßΓѼ¡πε ºáΘ¿Γπ. Çñ¼¿¡¿ßΓαáΓ«αá¼ ß½ÑñπÑΓ ºáΘ¿ΘáΓ∞ ¿¡ΓÑαΣÑ⌐-
- ßδ óó«ñá-óδó«ñá »πΓѼ πßΓá¡«ó¬¿ »αáó ñ«ßΓπ»á ¬ Σá⌐½á¼ ñ¿ß¬«óδσ πßΓα«⌐ßΓó.
- ìá»α¿¼Ñα, ñ¿ß¬«óδÑ Σá⌐½δ "/dev/dsk15" ¿ "/dev/rdsk15" ñ«½ª¡δ »α¿¡áñ½ÑªáΓ∞
- »«½∞º«óáΓѽε ß ¿¼Ñ¡Ñ¼ "root", ¿ »αáóá ñ«ßΓπ»á ¬ ¡¿¼ ñ«½ª¡δ íδΓ∞ «»αÑñѽѡδ
- Γᬿ¼ «íαẫ¼, τΓ«íδ »«½∞º«óáΓѽε "root" í佫 αáºαÑΦÑ¡« τΓÑ¡¿Ñ, á óßѼ «ß-
- Γá½∞¡δ¼ »«½∞º«óáΓѽ∩¼ ¿ τΓÑ¡¿Ñ, ¿ ºá»¿ß∞ ñ«½ª¡δ íδΓ∞ ºá»αÑΘÑ¡δ.
- Åα«úαá¼¼δ, «ßπΘÑßΓó½∩εΘ¿Ñ τΓÑ¡¿Ñ ¿ ºá»¿ß∞ ¡á ñ¿ß¬ ¡Ñ»«ßαÑñßΓóÑ¡¡«, ¼«úπΓ
- Γá¬ªÑ ¡áαπΦ¿Γ∞ µÑ½«ßΓ¡«ßΓ∞ ñá¡¡δσ ó Σá⌐½«ó«⌐ ß¿ßΓѼÑ. ǽú«α¿Γ¼δ Σá⌐½«ó«⌐
- ß¿ßΓѼδ, αáßß¼«ΓαÑ¡¡δÑ ó ú½áóáσ 3, 4 ¿ 5, ¬««αñ¿¡¿απεΓ óδ»«½¡Ñ¡¿Ñ «»Ñαᵿ⌐
- óó«ñá-óδó«ñá, ßó∩ºá¡¡δσ ß ñ¿ß¬«¼, ΓѼ ßá¼δ¼ »«ññÑনóá∩ µÑ½«ßΓ¡«ßΓ∞ ¿¡Σ«α¼á-
- µ¿«¡¡δσ ßΓαπ¬Γπα ¡á ñ¿ß¬Ñ, ó Γ«¼ τ¿ß½Ñ ß»¿ß¬á ßó«í«ñ¡δσ ñ¿ß¬«óδσ í½«¬«ó ¿
- π¬áºáΓѽÑ⌐ ¿º ¿¡ñѬ߫ó ¡á ¿¡Σ«α¼áµ¿«¡¡δÑ í½«¬¿ »α∩¼«⌐ ¿ ¬«ßóÑ¡¡«⌐ áñαÑßᵿ¿.
- Åα«µÑßßδ, «íαáΘáεΘ¿Ñß∩ ¬ ñ¿ß¬π ¡Ñ»«ßαÑñßΓóÑ¡¡«, «íσ«ñ∩Γ φΓ¿ á½ú«α¿Γ¼δ. ÅπßΓ∞
- ñáªÑ ¿σ »α«úαá¼¼δ ¡á»¿ßá¡δ ß í«½∞Φ«⌐ «ßë᫪¡«ßΓ∞ε, »α«í½Ñ¼á µÑ½«ßΓ¡«ßΓ¿ óßÑ
-
- 304
-
- αáó¡« ¡Ñ ¿ßτѺ¡ÑΓ, Ñß½¿ «¡¿ óδ»«½¡∩εΓß∩ »áαώѽ∞¡« ß αáí«Γ«⌐ ñαπú«⌐ Σá⌐½«-
- ó«⌐ ß¿ßΓѼδ. Å« φΓ«⌐ »α¿τ¿¡Ñ »α«úαá¼¼á fsck ¡Ñ ñ«½ª¡á óδ»«½¡∩Γ∞ß∩ »α¿ ¡á½¿-
- τ¿¿ á¬Γ¿ó¡«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼδ.
- äóá Γ¿»á ñ¿ß¬«ó«ú« ¿¡ΓÑαΣÑ⌐ßá αẽ¿τáεΓß∩ ¼Ñªñπ ß«í«⌐ »« ¿ß»«½∞º«óá¡¿ε
- íπΣÑα¡«ú« ¬ÑΦá. Åα¿ αáí«ΓÑ ß í½«τ¡δ¼ ¿¡ΓÑαΣÑ⌐ß«¼ ∩ñα« »«½∞ºπÑΓß∩ ΓѼ ªÑ á½-
- ú«α¿Γ¼«¼, τΓ« ¿ ñ½∩ Σá⌐½«ó «íδτ¡«ú« Γ¿»á, ¿ß¬½ετÑ¡¿Ñ ß«ßΓáó½∩Ñà ëà ¼«¼Ñ¡Γ,
- ¬«úñá »«ß½Ñ »αÑ«íαẫóá¡¿∩ áñαÑßá ß¼ÑΘÑ¡¿∩ ½«ú¿τÑ߬«ú« íá⌐Γá ó áñαÑß ß¼ÑΘÑ-
- ¡¿∩ ½«ú¿τÑ߬«ú« í½«¬á (ß¼. á½ú«α¿Γ¼ bmap ó ú½áóÑ 4) «¡« Γαá¬ΓπÑΓ áñαÑß ß¼Ñ-
- ΘÑ¡¿∩ ½«ú¿τÑ߬«ú« í½«¬á ¬á¬ Σ¿º¿τÑ߬¿⌐ ¡«¼Ñα í½«¬á ó Σá⌐½«ó«⌐ ß¿ßΓѼÑ. çá-
- ΓѼ, ¿ß»«½∞ºπ∩ íπΣÑα¡δ⌐ ¬ÑΦ, ∩ñα« «íαáΘáÑΓß∩ ¬ ñá¡¡δ¼, ¿, ó ¬«¡Ñτ¡«¼ ¿Γ«úÑ,
- ¬ ßΓαáΓÑú¿τÑ߬«¼π ¿¡ΓÑαΣÑ⌐ßπ ñαá⌐óÑαá. Äñ¡á¬«, »α¿ «íαáΘÑ¡¿¿ ¬ ñ¿ß¬π τÑαѺ
- ß¿¼ó«½∞¡δ⌐ ¿¡ΓÑαΣÑ⌐ß (íѺ ßΓαπ¬Γπα¿α«óá¡¿∩ ñá¡¡δσ), ∩ñα« ¡Ñ »αÑóαáΘáÑΓ áñαÑß
- ß¼ÑΘÑ¡¿∩ ó áñαÑß Σá⌐½á, á »ÑαÑñáÑΓ Ñú« ¡Ñ¼Ññ½Ñ¡¡« ñαá⌐óÑαπ, ¿ß»«½∞ºπ∩ ñ½∩
- »ÑαÑñáτ¿ αáí«τÑÑ »α«ßΓαá¡ßΓó« ºáñáτ¿. Åα«µÑñπαδ τΓÑ¡¿∩ ¿ ºá»¿ß¿, óσ«ñ∩Θ¿Ñ ó
- ß«ßΓáó ñαá⌐óÑαá, »αÑ«íαáºπεΓ ß¼ÑΘÑ¡¿Ñ ó íá⌐Γáσ ó ß¼ÑΘÑ¡¿Ñ ó í½«¬áσ ¿ ¬«»¿απ-
- εΓ ñá¡¡δÑ ¡Ñ»«ßαÑñßΓóÑ¡¡« ó áñαÑß¡«Ñ »α«ßΓαá¡ßΓó« ºáñáτ¿, ¼¿¡π∩ íπΣÑαδ ∩ñαá.
- Æá¬¿¼ «íαẫ¼, Ñß½¿ «ñ¿¡ »α«µÑßß ºá»¿ßδóáÑΓ ¡á πßΓα«⌐ßΓó« í½«τ¡«ú« Γ¿»á,
- á óΓ«α«⌐ »α«µÑßß ºáΓѼ ßτ¿ΓδóáÑΓ ß πßΓα«⌐ßΓóá ß¿¼ó«½∞¡«ú« Γ¿»á »« Γ«¼π ªÑ
- áñαÑßπ, óΓ«α«⌐ »α«µÑßß ¼«ªÑΓ ¡Ñ ßτ¿ΓáΓ∞ ¿¡Σ«α¼áµ¿ε, ºá»¿ßá¡¡πε »Ñαóδ¼ »α«-
- µÑßß«¼, Γᬠ¬á¬ ¿¡Σ«α¼áµ¿∩ ¼«ªÑΓ ÑΘÑ ¡áσ«ñ¿Γ∞ß∩ ó íπΣÑα¡«¼ ¬ÑΦÑ, á ¡Ñ ¡á
- ñ¿ß¬Ñ. ÆÑ¼ ¡Ñ ¼Ñ¡ÑÑ, Ñß½¿ óΓ«α«⌐ »α«µÑßß «íαáΓ¿Γß∩ ¬ πßΓα«⌐ßΓóπ í½«τ¡«ú« Γ¿-
- »á, «¡ áóΓ«¼áΓ¿τÑ߬¿ »«»áñÑΓ ¡á ¡«óδÑ ñá¡¡δÑ, ¡áσ«ñ∩Θ¿Ñß∩ ó íπΣÑα¡«¼ ¬ÑΦÑ.
- Åα¿ ¿ß»«½∞º«óá¡¿¿ ß¿¼ó«½∞¡«ú« ¿¡ΓÑαΣÑ⌐ßá ¼«ª¡« ßΓ«½¬¡πΓ∞ß∩ ß« ßΓαá¡¡«⌐
- ß¿ΓπᵿÑ⌐. àß½¿ »α«µÑßß τ¿ΓáÑΓ ¿½¿ »¿ΦÑΓ ¡á πßΓα«⌐ßΓó« »«ß¿¼ó«½∞¡«ú« óó«-
- ñá-óδó«ñá »«αµ¿∩¼¿ ¼Ñ¡∞ΦÑú« αẼÑαá, τѼ, ¬ »α¿¼Ñαπ, í½«¬, αѺπ½∞ΓáΓδ íπñπΓ
- ºáó¿ßÑΓ∞ «Γ ñαá⌐óÑαá. ìá»α¿¼Ñα, Ñß½¿ »α«¿ºó«ñ¿Γ∞ ºá»¿ß∞ ¡á ½Ñ¡Γπ »« 1 íá⌐Γπ,
- ¬áªñδ⌐ íá⌐Γ ¼«ªÑΓ »«»áßΓ∞ ó ½εí«⌐ ¿º ½Ñ¡Γ«τ¡δσ í½«¬«ó.
- ÅαÑ¿¼πΘÑßΓó« ¿ß»«½∞º«óá¡¿∩ ß¿¼ó«½∞¡«ú« ¿¡ΓÑαΣÑ⌐ßá ß«ßΓ«¿Γ ó ߬«α«ßΓ¿,
- Ñß½¿ ¡Ñ 󫺡¿¬áÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ∞ ó ¬ÑΦ¿α«óá¡¿¿ ñá¡¡δσ ñ½∩ ñá½∞¡Ñ⌐ΦÑ⌐ αáí«Γδ.
- Åα«µÑßßδ, «íαáΘáεΘ¿Ñß∩ ¬ πßΓα«⌐ßΓóá¼ óó«ñá -óδó«ñá í½«¬á¼¿, »ÑαÑñáεΓ ¿¡Σ«α-
- ¼áµ¿ε í½«¬á¼¿, αẼÑα ¬áªñ«ú« ¿º ¬«Γ«αδσ «úαá¡¿τ¿óáÑΓß∩ αẼÑα«¼ ½«ú¿τÑ߬«ú«
- í½«¬á ó ñá¡¡«⌐ Σá⌐½«ó«⌐ ß¿ßΓѼÑ. ìá»α¿¼Ñα, Ñß½¿ αẼÑα ½«ú¿τÑ߬«ú« í½«¬á ó
- Σá⌐½«ó«⌐ ß¿ßΓÑ¼Ñ 1 èíá⌐Γ, ºá «ñ¡π «»Ñαᵿε óó«ñá-óδó«ñá ¼«ªÑΓ íδΓ∞ »ÑαÑñá¡«
- ¡Ñ í«½∞ΦÑ 1 èíá⌐Γá ¿¡Σ«α¼áµ¿¿. Åα¿ φΓ«¼ »α«µÑßßδ, «íαáΘáεΘ¿Ñß∩ ¬ ñ¿ß¬π ß »«-
- ¼«Θ∞ε ß¿¼ó«½∞¡«ú« ¿¡ΓÑαΣÑ⌐ßá, ¼«úπΓ »ÑαÑñáóáΓ∞ ºá «ñ¡π ñ¿ß¬«óπε «»Ñαᵿε
- ¼¡«ªÑßΓó« ñ¿ß¬«óδσ í½«¬«ó, ó ºáó¿ß¿¼«ßΓ¿ «Γ 󫺼«ª¡«ßΓÑ⌐ ñ¿ß¬«ó«ú« ¬«¡Γα«½-
- ½Ñαá. æ Σπ¡¬µ¿«¡á½∞¡«⌐ Γ«τ¬¿ ºαÑ¡¿∩, »α«µÑßß »«½πτáÑà ëà ªÑ ßá¼δ⌐ αѺπ½∞-
- ΓáΓ, ¡« ß¿¼ó«½∞¡δ⌐ ¿¡ΓÑαΣÑ⌐ß ¼«ªÑΓ αáí«ΓáΓ∞ ú«αáºñ« íδßΓαÑÑ. àß½¿ ó«ß»«½∞º«-
- óáΓ∞ß∩ »α¿¼Ñα«¼, »α¿óÑñÑ¡¡δ¼ ¡á É¿ßπ¡¬Ñ 10.8, ¼«ª¡« πó¿ñÑΓ∞, τΓ« ¬«úñá »α«-
- µÑßß ßτ¿ΓδóáÑΓ 4096 íá⌐Γ, ¿ß»«½∞ºπ∩ í½«τ¡δ⌐ ¿¡ΓÑαΣÑ⌐ß ñ½∩ Σá⌐½«ó«⌐ ß¿ßΓѼδ ß
- αẼÑα«¼ í½«¬á 1 èíá⌐Γ, ∩ñα« »α«¿ºó«ñ¿Γ τÑΓδαÑ ó¡πΓαÑ¡¡¿Ñ ¿ΓÑαᵿ¿, ¡á ¬áª-
- ñ«¼ ΦáúÑ «íαáΘá∩ß∞ ¬ ñ¿ß¬π, »αѪñÑ τѼ óδºóá¡¡á∩ ß¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ ó«ºóαáΘá-
- ÑΓ π»αáó½Ñ¡¿Ñ, ¡« ¬«úñá »α«µÑßß ¿ß»«½∞ºπÑΓ ß¿¼ó«½∞¡δ⌐ ¿¡ΓÑαΣÑ⌐ß, ñαá⌐óÑα ¼«-
- ªÑΓ ºá¬«¡τ¿Γ∞ τΓÑ¡¿Ñ ºá «ñ¡π ñ¿ß¬«óπε «»Ñαᵿε. ü«½ÑÑ Γ«ú«, ¿ß»«½∞º«óá¡¿Ñ
- í½«τ¡«ú« ¿¡ΓÑαΣÑ⌐ßá óδºδóáÑΓ ñ«»«½¡¿Γѽ∞¡«Ñ ¬«»¿α«óá¡¿Ñ ñá¡¡δσ ¼Ñªñπ áñαÑß-
- ¡δ¼ »α«ßΓαá¡ßΓó«¼ ºáñáτ¿ ¿ íπΣÑαἿ ∩ñαá, τΓ« «ΓßπΓßΓóπÑΓ ó ß¿¼ó«½∞¡«¼ ¿¡-
- ΓÑαΣÑ⌐ßÑ.
-
-
- E10.3 ÆàÉîêìÇï£ì¢à äÉÇëéàÉ¢F
-
- ÆÑନ¡á½∞¡δÑ ñαá⌐óÑαδ óδ»«½¡∩εΓ Γπ ªÑ Σπ¡¬µ¿ε, τΓ« ¿ «ßΓá½∞¡δÑ ñαá⌐óÑαδ:
- π»αáó½Ñ¡¿Ñ »ÑαÑñáτÑ⌐ ñá¡¡δσ «Γ ¿ ¡á ΓÑନ¡á½δ. Äñ¡á¬«, ΓÑନ¡á½δ ¿¼ÑεΓ «ñ¡π
- «ß«íÑ¡¡«ßΓ∞, ßó∩ºá¡¡πε ß ΓѼ, τΓ« «¡¿ «íÑß»Ñτ¿óáεΓ ¿¡ΓÑαΣÑ⌐ß »«½∞º«óáΓѽ∩ ß
- ß¿ßΓѼ«⌐. ÄíÑß»Ñτ¿óá∩ ¿¡ΓÑαá¬Γ¿ó¡«Ñ ¿ß»«½∞º«óá¡¿Ñ ß¿ßΓѼδ UNIX, ΓÑନ¡á½∞¡δÑ
- ñαá⌐óÑαδ ¿¼ÑεΓ ßó«⌐ ó¡πΓαÑ¡¡¿⌐ ¿¡ΓÑαΣÑ⌐ß ß ¼«ñπ½∩¼¿, ¿¡ΓÑα»αÑΓ¿απεΘ¿¼¿ óó«ñ
- ¿ óδó«ñ ßΓ᫬. é ¬á¡«¡¿τÑ߬«¼ αѪ¿¼Ñ ¿¡ΓÑα»αÑΓáΓ«αδ ßΓ᫬ »αÑ«íαáºπεΓ ¡ÑßΓ-
- απ¬Γπα¿α«óá¡¡δÑ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ñá¡¡δσ, óóÑñÑ¡¡δÑ ß ¬½áó¿áΓπαδ, ó ¬á¡«¡¿-
- τÑ߬πε Σ«α¼π (Γ« ÑßΓ∞ ó Σ«α¼π, ß««ΓóÑΓßΓóπεΘπε Γ«¼π, τΓ« »«½∞º«óáΓѽ∞ ¿¼Ñ½ ó
-
- 305
-
- ó¿ñπ ¡á ßἫ¼ ñѽÑ) »αѪñÑ, τѼ »«ß½áΓ∞ φΓ¿ ñá¡¡δÑ »α¿¡¿¼áεΘѼπ »α«µÑßßπ;
- ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß Γá¬ªÑ »αÑ«íαáºπÑΓ ¡ÑßΓαπ¬Γπα¿α«óá¡¡δÑ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿
- óδσ«ñ¡δσ ñá¡¡δσ, ß«ºñá¡¡δσ »α«µÑßß«¼, ó Σ«α¼áΓ, ¡Ñ«íσ«ñ¿¼δ⌐ »«½∞º«óáΓѽε. é
- αѪ¿¼Ñ íѺ «íαáí«Γ¬¿ ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß »ÑαÑñáÑΓ ñá¡¡δÑ ¼Ñªñπ »α«µÑßßἿ ¿
- ΓÑନ¡á½«¼ íѺ ¬á¬¿σ-½¿í« »αÑ«íαẫóá¡¿⌐.
- Åα«úαá¼¼¿ßΓδ, ¡á»α¿¼Ñα, αáí«ΓáεΓ ¡á ¬½áó¿áΓπαÑ ΓÑନ¡á½á ñ«ó«½∞¡« íδßΓ-
- α«, ¡« ß «Φ¿í¬á¼¿. ìá φΓ«Γ ß½πτá⌐ ΓÑନ¡á½δ ¿¼ÑεΓ ¬½áó¿Φπ ßΓ¿αá¡¿∩ ("erase";
- ¬½áó¿Φá ¼«ªÑΓ íδΓ∞ «í«º¡áτÑ¡á Γᬿ¼ «íαẫ¼), τΓ«íδ »«½∞º«óáΓѽ∞ ¿¼Ñ½ ó«º-
- ¼«ª¡«ßΓ∞ ßΓ¿αáΓ∞ τáßΓ∞ óóÑñÑ¡¡«⌐ ßΓ᫬¿ ¿ óó«ñ¿Γ∞ ¬«ααÑ¬Γ¿óδ. ÆÑନ¡á½δ »Ñ-
- αÑßδ½áεΓ ¼áΦ¿¡Ñ óßε óóÑñÑ¡¡πε »«ß½Ññ«óáΓѽ∞¡«ßΓ∞, ó¬½ετá∩ ¿ ß¿¼ó«½δ ßΓ¿αá¡¿∩
- (*** *). é ¬á¡«¡¿τÑ߬«¼ αѪ¿¼Ñ ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß íπΣÑਧπÑΓ ¿¡Σ«α¼áµ¿ε ó
- ßΓ᫬¿ (¡áí«α ß¿¼ó«½«ó, ºá¬á¡τ¿óáεΘ¿⌐ß∩ ß¿¼ó«½«¼ ó«ºóαáΓá ¬áαÑΓ¬¿ (*****)) ¿
- »α«µÑßßδ ßΓ¿αáεΓ ß¿¼ó«½δ π ßÑí∩, »αѪñÑ τѼ »ÑαÑß½áΓ∞ ¿ß»αáó½Ñ¡¡πε »«ß½Ññ«-
- óáΓѽ∞¡«ßΓ∞ ßτ¿ΓδóáεΘѼπ »α«µÑßßπ.
- é Σπ¡¬µ¿¿ ßΓ᫬«ó«ú« ¿¡ΓÑαΣÑ⌐ßá óσ«ñ∩Γ:
- * »«ßΓα«τ¡δ⌐ αáºí«α óóÑñÑ¡¡δσ »«ß½Ññ«óáΓѽ∞¡«ßΓÑ⌐;
- * «íαáí«Γ¬á ß¿¼ó«½«ó ßΓ¿αá¡¿∩;
- * «íαáí«Γ¬á ß¿¼ó«½«ó "πñá½Ñ¡¿∩", «Γ¼Ñ¡∩εΘ¿σ óßÑ «ßΓá½∞¡δÑ ß¿¼ó«½δ, óóÑñÑ¡-
- ¡δÑ ñ« Γ«ú« ó ΓѬπΘÑ⌐ ßΓ᫬Ñ;
- * «Γ«íαáªÑ¡¿Ñ ß¿¼ó«½«ó, »«½πτÑ¡¡δσ ΓÑନ¡á½«¼;
- * αáßΦ¿αÑ¡¿Ñ óδσ«ñ¡δσ ñá¡¡δσ, ¡á»α¿¼Ñα, »αÑ«íαẫóá¡¿Ñ ß¿¼ó«½«ó Γáíπ½∩µ¿¿
- ó »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ »α«íѽ«ó;
- * ß¿ú¡á½¿º¿α«óá¡¿Ñ »α«µÑßßá¼ « ºáó¿ßá¡¿¿ ΓÑନ¡á½«ó ¿ »αÑαδóá¡¿¿ ßΓ᫬ ¿½¿
- ó «ΓóÑΓ ¡á ¡áªáΓ¿Ñ »«½∞º«óáΓѽѼ ¬½áó¿Φ¿ πñá½Ñ¡¿∩;
- * »αÑñ«ßΓáó½Ñ¡¿Ñ 󫺼«ª¡«ßΓ¿ ¡Ñ «íαáíáΓδóáΓ∞ ߻ѵ¿á½∞¡δÑ ß¿¼ó«½δ, ΓᬿÑ
- ¬á¬ ß¿¼ó«½δ ßΓ¿αá¡¿∩, πñá½Ñ¡¿∩ ¿ ó«ºóαáΓá ¬áαÑΓ¬¿.
-
- öπ¡¬µ¿«¡¿α«óá¡¿Ñ íѺ «íαáí«Γ¬¿ »«ñαáºπ¼ÑóáÑΓ ¿ß»«½∞º«óá¡¿Ñ áß¿¡σα«¡¡«ú«
- ΓÑନ¡á½á, »«ß¬«½∞¬π »α«µÑßßδ ¼«úπΓ ßτ¿ΓδóáΓ∞ ß¿¼ó«½δ ó Γ«¼ ó¿ñÑ, ó ¬á¬«¼
- «¡¿ í뫨 óóÑñÑ¡δ, ó¼ÑßΓ« Γ«ú«, τΓ«íδ ªñáΓ∞, ¬«úñá »«½∞º«óáΓѽ∞ ¡áª¼ÑΓ ¬½áó¿-
- Φπ óó«ñá ¿½¿ ó«ºóαáΓá ¬áαÑΓ¬¿.
- É¿τ¿ «Γ¼ÑΓ¿½, τΓ« »ÑαóδÑ ßΓ᫬«óδÑ ¿¡ΓÑαΣÑ⌐ßδ, ¿ß»«½∞ºπѼδÑ ÑΘÑ »α¿ αáº-
- αáí«Γ¬Ñ ß¿ßΓѼδ ó ¡áτá½Ñ 70-σ ú«ñ«ó, αáí«Γ὿ ó ß«ßΓáóÑ »α«úαá¼¼ ¬«¼á¡ñ¡«ú«
- »α«µÑßß«αá ¿ αÑñá¬Γ«αá, ¡« ¡Ñ ó ∩ñαÑ (ß¼. [Ritchie 84], ßΓα.1580). Äñ¡á¬«,
- »«ß¬«½∞¬π ó ¿σ Σπ¡¬µ¿∩σ ¡πªñáÑΓß∩ ¼¡«ªÑßΓó« »α«úαá¼¼, ¿σ ¼ÑßΓ« ó ß«ßΓáóÑ ∩ñ-
- αá. ìÑß¼«Γα∩ ¡á Γ«, τΓ« ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß óδ»«½¡∩ÑΓ Γá¬¿Ñ Σπ¡¬µ¿¿, ¿º ¬«-
- Γ«αδσ ½«ú¿τÑ߬¿ óδΓѬáÑΓ Ñú« ¼ÑßΓ« ¼Ñªñπ ΓÑନ¡á½∞¡δ¼ ñαá⌐óÑα«¼ ¿ «ßΓá½∞¡«⌐
- τáßΓ∞ε ∩ñαá, ∩ñα« ¡Ñ ºá»π߬áÑΓ ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß ¿¡áτÑ, τѼ τÑαѺ ΓÑନ-
- ¡á½∞¡δ⌐ ñαá⌐óÑα. ìá É¿ßπ¡¬Ñ 10.9 »«¬áºá¡δ »«Γ«¬ ñá¡¡δσ, »α«σ«ñ∩Θ¿⌐ τÑαѺ
- ΓÑନ¡á½∞¡δ⌐ ñαá⌐óÑα ¿ ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß, ¿ ß««ΓóÑΓßΓóπεΘ¿Ñ Ñ¼π π»αáó½∩ε-
- Θ¿Ñ ó«ºñÑ⌐ßΓó¿∩, »α«σ«ñ∩Θ¿Ñ τÑαѺ ΓÑନ¡á½∞¡δ⌐ ñαá⌐óÑα. Å«½∞º«óáΓѽ¿ ¼«úπΓ
- π¬áºáΓ∞, ¬á¬«⌐ ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß ¿ß»«½∞ºπÑΓß∩ »«ßαÑñßΓó«¼ ó맮óá ß¿ßΓѼ¡«⌐
- Σπ¡¬µ¿¿ ioctl, ¡« αÑ὿º«óáΓ∞ ßσѼπ, »« ¬«Γ«α«⌐ «ñ¡« πßΓα«⌐ßΓó« ¿ß»«½∞º«óὫ
- íδ ¡Ñ߬«½∞¬« ßΓ᫬«óδσ ¿¡ΓÑαΣÑ⌐ß«ó «ñ¡«óαѼѡ¡«, »α¿ τѼ ¬áªñδ⌐ ¿¡ΓÑαΣÑ⌐ß¡δ⌐
- ¼«ñπ½∞, ó ßó«ε «τÑαÑñ∞, πß»ÑΦ¡« óδºδóá½ íδ ß½ÑñπεΘ¿⌐ ¼«ñπ½∞ ñ½∩ «íαáí«Γ¬¿
- ñá¡¡δσ, ñ«ó«½∞¡« Γαπñ¡«.
-
- E10.3.1 濼ó«½∞¡δÑ ß»¿ß¬¿F
-
- æΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß «íαáíáΓδóáÑΓ ñá¡¡δÑ ó ß¿¼ó«½∞¡δσ ß»¿ß¬áσ. 濼ó«½∞¡δ⌐
- ß»¿ß«¬ (clist) »αÑñßΓáó½∩ÑΓ ß«í«⌐ »ÑαѼѡ¡«⌐ ñ½¿¡δ ß»¿ß«¬ ß¿¼ó«½∞¡δσ í½«¬«ó
- ß ¿ß»«½∞º«ó᡿Ѽ π¬áºáΓѽÑ⌐ ¿ ß »«ñßτÑΓ«¼ ¬«½¿τÑßΓóá ß¿¼ó«½«ó ó ß»¿ß¬Ñ. 濼-
-
- ───────────────────────────────────────
- (****) é φΓ«¼ αáºñÑ½Ñ αáßß¼áΓα¿óáÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ ΓÑନ¡á½«ó óó«ñá-óδó«ñá,
- ¬«Γ«αδÑ »ÑαÑñáεΓ óßÑ ß¿¼ó«½δ, óóÑñÑ¡¡δÑ »«½∞º«óáΓѽѼ, íѺ «íαáí«Γ¬¿.
- (*****) é ñá¡¡«⌐ ú½áóÑ ¿ß»«½∞ºπÑΓß∩ «íΘ¿⌐ ΓÑନ¡ "ó«ºóαáΓ ¬áαÑΓ¬¿" ñ½∩ «í«º-
- ¡áτÑ¡¿∩ ß¿¼ó«½«ó ó«ºóαáΓá ¬áαÑΓ¬¿ ¿ »ÑαÑó«ñá ßΓ᫬¿.
-
-
- 306
-
- Å«Γ«¬ ñá¡¡δσ Å«Γ«¬ π»αáó½∩εΘ¿σ
- ó«ºñÑ⌐ßΓó¿⌐
- ┌───────────────────────┐ ┌───────────────────────┐
- │ Åα«µÑßß τΓÑ¡¿∩/ºá»¿ß¿ │ │ Åα«µÑßß τΓÑ¡¿∩/ºá»¿ß¿ │
- └───────────────────────┘ └───────────────────────┘
-
- ∙ │ ^ ∙ │ ^
- ∙ v │ ∙ v │
- ∙ ┌─────────────────────┐ ∙ ┌───────────────────────┐
- óδó«ñ │ æΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß│ óó«ñ │ ÆÑନ¡á½∞¡δ⌐ ñαá⌐óÑα │
- ∙ └─────────────────────┘ ∙ └───────────────────────┘
- ∙ │ ^ ∙ │ ^
- ∙ v │ ∙ v │
- ┌───────────────────────┐ ┌─────────────────────┐
- │ ÆÑନ¡á½∞¡δ⌐ ñαá⌐óÑα │ │ æΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß │
- └───────────────────────┘ └─────────────────────┘
- │ ^
- v │
- ┌───────────────────────┐
- │ äαá⌐óÑα óó«ñá-óδó«ñá │
- └───────────────────────┘
- │ ^
- v │
- ┌─────────────────────────┐
- │ ôßΓα«⌐ßΓó« óó«ñá-óδó«ñá │
- └─────────────────────────┘
-
- É¿ßπ¡«¬ 10.9. ū߽Ññ«óáΓѽ∞¡«ßΓ∞ «íαáΘÑ¡¿⌐ ¿ »«Γ«¬ ñá¡¡δσ τÑ-
- αѺ ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß
-
- ô¬áºáΓѽ∞ æ¼ÑΘÑ¡¿Ñ æ¼ÑΘÑ¡¿Ñ
- ¡á ñ« ñ«
- ß½ÑñπεΘ¿⌐ ¡áτá½á ¬«¡µá îáßß¿ó ß¿¼ó«½«ó
- í½«¬ 0 1 2 3 4 5 6 7 8 9 14
- ──────────┬─────────┬─────────┬┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬───
- │ 7 │ 14 ││g│a│r│b│a│g│e│││ │e│q│n│ │││ │...
- ────┼─────┴─────────┴─────────┴┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴───
- │
- v
-
- É¿ßπ¡«¬ 10.10. 濼ó«½∞¡δ⌐ í½«¬
-
-
- ó«½∞¡δ⌐ í½«¬ (cblock) ß«ñÑαª¿Γ π¬áºáΓѽ∞ ¡á ß½ÑñπεΘ¿⌐ í½«¬ ó ß»¿ß¬Ñ, ¡Ñí«½∞-
- Φ«⌐ ¼áßß¿ó σαá¡¿¼«⌐ ó ß¿¼ó«½∞¡«¼ ó¿ñÑ ¿¡Σ«α¼áµ¿¿ ¿ áñαÑßá ß¼ÑΘÑ¡¿⌐, »«¬áºδ-
- óáεΘ¿Ñ ¼ÑßΓ« αáß»«½«ªÑ¡¿∩ ó¡πΓα¿ í½«¬á ¬«ααÑ¬Γ¡«⌐ ¿¡Σ«α¼áµ¿¿ (É¿ßπ¡«¬
- 10.10). æ¼ÑΘÑ¡¿Ñ ñ« ¡áτá½á »«¬áºδóáÑΓ »Ñαóπε »«º¿µ¿ε αáß»«½«ªÑ¡¿∩ ¬«ααÑ¬Γ¡«⌐
- ¿¡Σ«α¼áµ¿¿ ó ¼áßß¿óÑ, ß¼ÑΘÑ¡¿Ñ ñ« ¬«¡µá »«¬áºδóáÑΓ »Ñαóπε »«º¿µ¿ε αáß»«½«ªÑ-
- ¡¿∩ ¡Ñ¬«ααÑ¬Γ¡«⌐ ¿¡Σ«α¼áµ¿¿.
- ƒñα« «íÑß»Ñτ¿óáÑΓ óÑñÑ¡¿Ñ ß»¿ß¬á ßó«í«ñ¡δσ ß¿¼ó«½∞¡δσ í½«¬«ó ¿ óδ»«½¡∩ÑΓ
- ¡áñ ß¿¼ó«½∞¡δ¼¿ ß»¿ß¬á¼¿ ¿ ß¿¼ó«½∞¡δ¼¿ í½«¬á¼¿ ΦÑßΓ∞ «»Ñαᵿ⌐.
- 1. ƒñα« ¡áº¡áτáÑΓ ñαá⌐óÑαπ ß¿¼ó«½∞¡δ⌐ í½«¬ ¿º ß»¿ß¬á ßó«í«ñ¡δσ ß¿¼ó«½∞¡δσ
- í½«¬«ó.
- 2. Ä¡« Γá¬ªÑ ó«ºóαáΘáÑΓ ß¿¼ó«½∞¡δ⌐ í½«¬ ó ß»¿ß«¬ ßó«í«ñ¡δσ ß¿¼ó«½∞¡δσ í½«-
- ¬«ó.
- 3. ƒñα« ¼«ªÑΓ óδí¿αáΓ∞ »Ñαóδ⌐ ß¿¼ó«½ ¿º ß¿¼ó«½∞¡«ú« ß»¿ß¬á: «¡« πñá½∩ÑΓ
- »Ñαóδ⌐ ß¿¼ó«½ ¿º »Ñαó«ú« ß¿¼ó«½∞¡«ú« í½«¬á ó ß»¿ß¬Ñ ¿ πßΓá¡áó½¿óáÑΓ º¡á-
- τÑ¡¿∩ ßτÑΓτ¿¬á ß¿¼ó«½«ó ó ß»¿ß¬Ñ ¿ π¬áºáΓѽÑ⌐ ó í½«¬Ñ Γᬿ¼ «íαẫ¼,
- τΓ«íδ »«ß½ÑñπεΘ¿Ñ «»Ñαᵿ¿ ¡Ñ óδí¿α὿ «ñ¿¡ ¿ ëà ªÑ ß¿¼ó«½. àß½¿ ó αÑ-
-
- 307
-
- ºπ½∞ΓáΓÑ «»Ñαᵿ¿ óδíαá¡ »«ß½Ññ¡¿⌐ ß¿¼ó«½ í½«¬á, ∩ñα« »«¼ÑΘáÑΓ ó ß»¿ß«¬
- ßó«í«ñ¡δσ ß¿¼ó«½∞¡δσ í½«¬«ó »πßΓ«⌐ í½«¬ ¿ »ÑαÑπßΓá¡áó½¿óáÑΓ π¬áºáΓѽ¿ ó
- ß¿¼ó«½∞¡«¼ ß»¿ß¬Ñ. àß½¿ ó ß¿¼ó«½∞¡«¼ ß»¿ß¬Ñ «ΓßπΓßΓóπεΓ ß¿¼ó«½δ, ∩ñα«
- ó«ºóαáΘáÑΓ »πßΓ«⌐ ß¿¼ó«½.
- 4. ƒñα« ¼«ªÑΓ »«¼ÑßΓ¿Γ∞ ß¿¼ó«½ ó ¬«¡Ñµ ß¿¼ó«½∞¡«ú« ß»¿ß¬á »πΓѼ »«¿ß¬á »«ß-
- ½Ññ¡Ñú« ß¿¼ó«½∞¡«ú« í½«¬á ó ß»¿ß¬Ñ, ó¬½ετÑ¡¿∩ ß¿¼ó«½á ó ¡Ñú« ¿ »ÑαÑπßΓá-
- ¡«ó¬¿ áñαÑß«ó ß¼ÑΘÑ¡¿⌐. àß½¿ ß¿¼ó«½∞¡δ⌐ í½«¬ ºá»«½¡Ñ¡, ∩ñα« óδñѽ∩ÑΓ ¡«-
- óδ⌐ ß¿¼ó«½∞¡δ⌐ í½«¬, ó¬½ετáÑΓ Ñú« ó ¬«¡Ñµ ß¿¼ó«½∞¡«ú« ß»¿ß¬á ¿ »«¼ÑΘáÑΓ
- ß¿¼ó«½ ó ¡«óδ⌐ í½«¬.
- 5. ƒñα« ¼«ªÑΓ πñá½∩Γ∞ «Γ ¡áτá½á ß»¿ß¬á úαπ»»π ß¿¼ó«½«ó »« «ñ¡«¼π í½«¬π ºá
- «ñ¡π «»Ñαᵿε, τΓ« φ¬ó¿óá½Ñ¡Γ¡« πñá½Ñ¡¿ε óßÑσ ß¿¼ó«½«ó ó í½«¬Ñ ºá «ñ¿¡
- ࠧ.
- 6. ƒñα« ¼«ªÑΓ »«¼ÑßΓ¿Γ∞ í½«¬ ß ß¿¼ó«½á¼¿ ó ¬«¡Ñµ ß¿¼ó«½∞¡«ú« ß»¿ß¬á.
-
- 濼ó«½∞¡δÑ ß»¿ß¬¿ »«ºó«½∩εΓ ß«ºñáΓ∞ ¡Ñß½«ª¡δ⌐ ¼Ñσá¡¿º¼ íπΣÑα¿ºáµ¿¿, »«-
- ½Ñº¡δ⌐ »α¿ ¡Ñí«½∞Φ«¼ «íΩÑ¼Ñ »ÑαÑñáóáѼδσ ñá¡¡δσ, Γ¿»¿τ¡«¼ ñ½∩ ¼Ññ½Ñ¡¡δσ πßΓ-
- α«⌐ßΓó, Γᬿσ ¬á¬ ΓÑନ¡á½δ. Ä¡¿ ñáεΓ ó«º¼«ª¡«ßΓ∞ ¼á¡¿»π½¿α«óáΓ∞ ß ñá¡¡δ¼¿ ß
- ¬áªñδ¼ ß¿¼ó«½«¼ ó «Γñѽ∞¡«ßΓ¿ ¿ ß úαπ»»«⌐ ß¿¼ó«½∞¡δσ í½«¬«ó. ìá»α¿¼Ñα, É¿ßπ-
- ¡«¬ 10.11 ¿½½εßΓα¿απÑΓ πñá½Ñ¡¿Ñ ß¿¼ó«½«ó ¿º ß¿¼ó«½∞¡«ú« ß»¿ß¬á; ∩ñα« πñá½∩ÑΓ
- »« «ñ¡«¼π ß¿¼ó«½π ¿º »Ñαó«ú« í½«¬á ó ß»¿ß¬Ñ (É¿ßπ¡«¬ 10.11á-ó) ñ« ΓÑσ »«α,
- »«¬á ó í½«¬Ñ ¡Ñ «ßΓá¡ÑΓß∩ ¡¿ «ñ¡«ú« ß¿¼ó«½á (É¿ßπ¡«¬
-
- ß¿¼ó«½∞¡δ⌐ ß¿¼ó«½∞¡δÑ
- ß»¿ß«¬ í½«¬¿
-
- ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- ┌─────>│ 0 8 │ │ p │ i │ c │ │ f │ i │ l │ e │
- │ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- │ v
- │ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- ┌──────────┬─┐ │ │ 0 8 │ │ * │ │ │ │ │ t │ b │ l │ │
- │ 27 │ ┼──┘ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- │ ß¿¼ó«½«ó │ ┼──┐ v
- └──────────┴─┘ │ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- │ │ 0 8 │ │ │ │ │ t │ r │ o │ f │ f │ │
- │ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- │ v
- │ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- └─────>│ 0 3 │ │ - │ m │ m │ │ │ │ │ │
- └───────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- (á)
-
- ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- ┌─────>│ 1 8 │ │ │ i │ c │ │ f │ i │ l │ e │
- │ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- │ v
- │ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- ┌──────────┬─┐ │ │ 0 8 │ │ * │ │ │ │ │ t │ b │ l │ │
- │ 26 │ ┼──┘ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- │ ß¿¼ó«½«ó │ ┼──┐ v
- └──────────┴─┘ │ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- │ │ 0 8 │ │ │ │ │ t │ r │ o │ f │ f │ │
- │ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- │ v
- │ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- └─────>│ 0 3 │ │ - │ m │ m │ │ │ │ │ │
- └───────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- (í)
-
-
- 308
-
- ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- ┌─────>│ 2 8 │ │ │ │ c │ │ f │ i │ l │ e │
- │ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- │ v
- │ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- ┌──────────┬─┐ │ │ 0 8 │ │ * │ │ │ │ │ t │ b │ l │ │
- │ 25 │ ┼──┘ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- │ ß¿¼ó«½«ó │ ┼──┐ v
- └──────────┴─┘ │ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- │ │ 0 8 │ │ │ │ │ t │ r │ o │ f │ f │ │
- │ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- │ v
- │ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- └─────>│ 0 3 │ │ - │ m │ m │ │ │ │ │ │
- └───────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- (ó)
-
- ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- ┌─────>│ 0 8 │ │ * │ │ │ │ │ t │ b │ l │ │
- │ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- ┌──────────┬─┐ │ v
- │ 19 │ ┼──┘ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- │ ß¿¼ó«½«ó │ ┼──┐ │ 0 8 │ │ │ │ │ t │ r │ o │ f │ f │ │
- └──────────┴─┘ │ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- │ v
- │ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- └─────>│ 0 3 │ │ - │ m │ m │ │ │ │ │ │
- └───────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- (ú)
-
- É¿ßπ¡«¬ 10.11. ôñá½Ñ¡¿Ñ ß¿¼ó«½«ó ¿º ß¿¼ó«½∞¡«ú« ß»¿ß¬á
-
-
- ß¿¼ó«½∞¡δ⌐ ß¿¼ó«½∞¡δÑ
- ß»¿ß«¬ í½«¬¿
-
- ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- ┌─────>│ 0 8 │ │ p │ i │ c │ │ f │ i │ l │ e │
- │ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- ┌──────────┬─┐ │ v
- │ 22 │ ┼──┘ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- │ ß¿¼ó«½á │ ┼──┐ │ 0 8 │ │ * │ │ │ │ │ t │ b │ l │ │
- └──────────┴─┘ │ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- │ v
- │ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- └─────>│ 0 6 │ │ │ │ │ t │ r │ o │ f │ │ │
- └───────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- (á)
- ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- ┌─────>│ 0 8 │ │ p │ i │ c │ │ f │ i │ l │ e │
- │ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- ┌──────────┬─┐ │ v
- │ 23 │ ┼──┘ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- │ ß¿¼ó«½á │ ┼──┐ │ 0 8 │ │ * │ │ │ │ │ t │ b │ l │ │
- └──────────┴─┘ │ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- │ v
- │ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- └─────>│ 0 7 │ │ │ │ │ t │ r │ o │ f │ f │ │
- └───────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
-
- 309
-
- (í)
- ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- ┌─────>│ 0 8 │ │ p │ i │ c │ │ f │ i │ l │ e │
- │ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- ┌──────────┬─┐ │ v
- │ 24 │ ┼──┘ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- │ ß¿¼ó«½á │ ┼──┐ │ 0 8 │ │ * │ │ │ │ │ t │ b │ l │ │
- └──────────┴─┘ │ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- │ v
- │ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- └─────>│ 0 8 │ │ │ │ │ t │ r │ o │ f │ f │ │
- └───────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- (ó)
- ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- ┌─────>│ 0 8 │ │ p │ i │ c │ │ f │ i │ l │ e │
- │ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- │ v
- │ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- ┌──────────┬─┐ │ │ 0 8 │ │ * │ │ │ │ │ t │ b │ l │ │
- │ 25 │ ┼──┘ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- │ ß¿¼ó«½«ó │ ┼──┐ v
- └──────────┴─┘ │ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- │ │ 0 8 │ │ │ │ │ t │ r │ o │ f │ f │ │
- │ └┬──────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- │ v
- │ ┌───────┐ ┌───┬───┬───┬───┬───┬───┬───┬───┐
- └─────>│ 0 1 │ │ - │ │ │ │ │ │ │ │
- └───────┘ └───┴───┴───┴───┴───┴───┴───┴───┘
- (ú)
-
- É¿ßπ¡«¬ 10.12. 鬽ετÑ¡¿Ñ ß¿¼ó«½«ó ó ß¿¼ó«½∞¡δ⌐ ß»¿ß«¬
-
- 10.11ú); ºáΓѼ «¡« πßΓá¡áó½¿óáÑΓ π¬áºáΓѽ∞ ß»¿ß¬á ¡á ß½ÑñπεΘ¿⌐ í½«¬, ¬«Γ«αδ⌐
- ßΓá¡«ó¿Γß∩ »Ñαóδ¼ í½«¬«¼ ó ß»¿ß¬Ñ. Å«ñ«í¡« φΓ«¼π ¡á É¿ßπ¡¬Ñ 10.12 »«¬áºá¡«,
- ¬á¬ ∩ñα« ó¬½ετáÑΓ ß¿¼ó«½δ ó ß¿¼ó«½∞¡δ⌐ ß»¿ß«¬; »α¿ φΓ«¼ »αÑñ»«½áúáÑΓß∩, τΓ«
- ó «ñ¡«¼ í½«¬Ñ »«¼ÑΘáÑΓß∩ ñ« 8 ß¿¼ó«½«ó ¿ τΓ« ∩ñα« αẼÑΘáÑΓ ¡«óδ⌐ í½«¬ ó
- ¬«¡µÑ ß»¿ß¬á (É¿ßπ¡«¬ 10.12ú).
-
-
- E10.3.2 ÆÑନ¡á½∞¡δ⌐ ñαá⌐óÑα ó ¬á¡«¡¿τÑ߬«¼ αѪ¿¼ÑF
-
- æΓαπ¬Γπαδ ñá¡¡δσ, ß ¬«Γ«α묨 αáí«ΓáεΓ ΓÑନ¡á½∞¡δÑ ñαá⌐óÑαδ, ßó∩ºá¡δ ß
- ΓαѼ∩ ß¿¼ó«½∞¡δ¼¿ ß»¿ß¬á¼¿: ß»¿ß¬«¼ ñ½∩ σαá¡Ñ¡¿∩ ñá¡¡δσ, óδó«ñ¿¼δσ ¡á ΓÑନ-
- ¡á½, ß»¿ß¬«¼ ñ½∩ σαá¡Ñ¡¿∩ ¡ÑßΓαπ¬Γπα¿α«óá¡¡δσ óó«ñ¡δσ ñá¡¡δσ, »«ßΓπ»¿óΦ¿σ ó
- αѺπ½∞ΓáΓÑ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ «íαáí«Γ¬¿ »αÑαδóá¡¿∩ «Γ ΓÑନ¡á½á, óδºóá¡¡«-
- ú« »«»δΓ¬«⌐ »«½∞º«óáΓѽ∩ óóÑßΓ¿ ñá¡¡δÑ ß ¬½áó¿áΓπαδ, ¿ ß»¿ß¬«¼ ñ½∩ σαá¡Ñ¡¿∩
- «íαáí«Γá¡¡δσ óσ«ñ¡δσ ñá¡¡δσ, »«ßΓπ»¿óΦ¿σ ó αѺπ½∞ΓáΓÑ »αÑ«íαẫóá¡¿∩ ßΓ᫬«-
- óδ¼ ¿¡ΓÑαΣÑ⌐ß«¼ ߻ѵ¿á½∞¡δσ ß¿¼ó«½«ó (Γᬿσ ¬á¬ ß¿¼ó«½δ ßΓ¿αá¡¿∩ ¿ πñá½Ñ¡¿∩)
- ó ¡ÑßΓαπ¬Γπα¿α«óá¡¡«¼ ß»¿ß¬Ñ.
- è«úñá »α«µÑßß óÑñÑΓ ºá»¿ß∞ ¡á ΓÑନ¡á½ (É¿ßπ¡«¬ 10.13), ΓÑନ¡á½∞¡δ⌐
- ñαá⌐óÑα ºá»π߬áÑΓ ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß. æΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß ó µ¿¬½Ñ ßτ¿ΓδóáÑΓ
- ß¿¼ó«½δ ¿º áñαÑß¡«ú« »α«ßΓαá¡ßΓóá »α«µÑßßá ¿ »«¼ÑΘáÑΓ ¿σ ó ß¿¼ó«½∞¡δ⌐ ß»¿ß«¬
- ñ½∩ σαá¡Ñ¡¿∩ óδó«ñ¡δσ ñá¡¡δσ ñ« ΓÑσ »«α, »«¬á »«Γ«¬ ñá¡¡δσ ¡Ñ íπñÑΓ ¿ßτÑα-
- »á¡. æΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß «íαáíáΓδóáÑΓ óδó«ñ¿¼δÑ ß¿¼ó«½δ, ¡á»α¿¼Ñα, ºá¼Ñ¡∩∩
- ß¿¼ó«½δ Γáíπ½∩µ¿¿ ¡á »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ »α«íѽ«ó. àß½¿ ¬«½¿τÑßΓó« ß¿¼ó«½«ó ó
- ß»¿ß¬Ñ ñ½∩ σαá¡Ñ¡¿∩ óδó«ñ¡δσ ñá¡¡δσ »αÑóδß¿Γ óÑασ¡εε «Γ¼ÑΓ¬π, ßΓ᫬«óδ⌐ ¿¡-
- ΓÑαΣÑ⌐ß óδºδóáÑΓ »α«µÑñπαδ ñαá⌐óÑαá, »ÑαÑßδ½áεΘ¿Ñ ñá¡¡δÑ ¿º ß¿¼ó«½∞¡«ú«
- ß»¿ß¬á ¡á ΓÑନ¡á½ ¿ »«ß½Ñ φΓ«ú« »α¿«ßΓá¡áó½¿óáεΘ¿Ñ óδ»«½¡Ñ¡¿Ñ »α«µÑßßá, óÑ-
-
-
- 310
-
- ┌────────────────────────────────────────────────────────────┐
- │ á½ú«α¿Γ¼ terminal_write │
- │ { │
- │ óδ»«½¡¿Γ∞ (»«¬á ¿º »α«ßΓαá¡ßΓóá ºáñáτ¿ ÑΘÑ »«ßΓπ»áεΓ │
- │ ñá¡¡δÑ) │
- │ { │
- │ Ñß½¿ (¡á ΓÑନ¡á½ »«ßΓπ»áÑΓ ¿¡Σ«α¼áµ¿∩) │
- │ { │
- │ »α¿ßΓπ»¿Γ∞ ¬ óδ»«½¡Ñ¡¿ε «»Ñαᵿ¿ ºá»¿ß¿ ñá¡¡δσ │
- │ ¿º ß»¿ß¬á, σαá¡∩ΘÑú« óδó«ñ¡δÑ ñá¡¡δÑ; │
- │ »α¿«ßΓá¡«ó¿Γ∞ß∩ (ñ« Γ«ú« ¼«¼Ñ¡Γá, ¬«úñá ΓÑନ- │
- │ ¡á½ íπñÑΓ ú«Γ«ó »α¿¡∩Γ∞ ß½ÑñπεΘπε »«αµ¿ε ñá¡- │
- │ ¡δσ); │
- │ »α«ñ«½ª¿Γ∞; /* ó«ºóαáΓ ¬ ¡áτá½π µ¿¬½á */ │
- │ } │
- │ ߬«»¿α«óáΓ∞ ñá¡¡δÑ ó «íΩÑ¼Ñ ß¿¼ó«½∞¡«ú« í½«¬á ¿º │
- │ »α«ßΓαá¡ßΓóá ºáñáτ¿ ó ß»¿ß«¬, σαá¡∩Θ¿⌐ óδó«ñ¡δÑ │
- │ ñá¡¡δÑ: ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß »αÑ«íαáºπÑΓ ß¿¼ó«½δ │
- │ Γáíπ½∩µ¿¿ ¿ Γ.ñ.; │
- │ } │
- │ │
- │ »α¿ßΓπ»¿Γ∞ ¬ óδ»«½¡Ñ¡¿ε «»Ñαᵿ¿ ºá»¿ß¿ ñá¡¡δσ ¿º ß»¿ß-│
- │ ¬á, σαá¡∩ΘÑú« óδó«ñ¡δÑ ñá¡¡δÑ; │
- │ } │
- └────────────────────────────────────────────────────────────┘
-
- É¿ßπ¡«¬ 10.13. ǽú«α¿Γ¼ »ÑαÑ»¿ß¿ ñá¡¡δσ ¡á ΓÑନ¡á½
-
-
- ñπΘÑú« ºá»¿ß∞. è«úñá «íΩѼ ¿¡Σ«α¼áµ¿¿ ó ß»¿ß¬Ñ ñ½∩ σαá¡Ñ¡¿∩ óδó«ñ¡δσ ñá¡¡δσ
- »áñáÑΓ ºá ¡¿ª¡εε «Γ¼ÑΓ¬π, »α«úαá¼¼á «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ ó«º«í¡«ó½∩ÑΓ óδ»«½-
- ¡Ñ¡¿Ñ óßÑσ »α«µÑßß«ó, »α¿«ßΓá¡«ó½Ñ¡¡δσ ñ« Γ«ú« ¼«¼Ñ¡Γá, ¬«úñá ΓÑନ¡á½ ß¼«-
- ªÑΓ »α¿¡∩Γ∞ ß½ÑñπεΘπε »«αµ¿ε ñá¡¡δσ. æΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß ºáóÑαΦáÑΓ µ¿¬½ «í-
- αáí«Γ¬¿, ߬«»¿α«óáó óßε óδó«ñ¿¼πε ¿¡Σ«α¼áµ¿ε ¿º áñαÑß¡«ú« »α«ßΓαá¡ßΓóá ºáñá-
- τ¿ ó ß««ΓóÑΓßΓóπεΘ¿⌐ ß¿¼ó«½∞¡δ⌐ ß»¿ß«¬, ¿ óδºδóáÑΓ óδ»«½¡Ñ¡¿Ñ »α«µÑñπα ñαá⌐-
- óÑαá, »ÑαÑßδ½áεΘ¿σ ñá¡¡δÑ ¡á ΓÑନ¡á½, « ¬«Γ«αδσ πªÑ í佫 ߬áºá¡« óδΦÑ.
- àß½¿ ¡á ΓÑନ¡á½ óÑñπΓ ºá»¿ß∞ ¡Ñ߬«½∞¬« »α«µÑßß«ó, «¡¿ ¡Ñºáó¿ß¿¼« ñαπú
- «Γ ñαπúá ß½ÑñπεΓ π¬áºá¡¡«⌐ »α«µÑñπαÑ. éδó«ñ¿¼á∩ ¿¡Σ«α¼áµ¿∩ ¼«ªÑΓ íδΓ∞ ¿ß¬á-
- ªÑ¡á; Γ« ÑßΓ∞ ¡á ΓÑନ¡á½Ñ ñá¡¡δÑ, ºá»¿ßδóáѼδÑ »α«µÑßßἿ, ¼«úπΓ »ÑαÑßÑ-
- ¬áΓ∞ß∩. ¥Γ« ¼«ªÑΓ »α«¿º«⌐Γ¿ ¿º-ºá Γ«ú«, τΓ« »α«µÑßßδ óÑñπΓ ºá»¿ß∞ ¡á ΓÑନ-
- ¡á½, ¿ß»«½∞ºπ∩ ¡Ñ߬«½∞¬« ó맮ó«ó ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ write. ƒñα« ¼«ªÑΓ »ÑαѬ-
- ½ετáΓ∞ ¬«¡ΓѬßΓ, »«¬á »α«µÑßß óδ»«½¡∩ÑΓß∩ ó αѪ¿¼Ñ ºáñáτ¿, ¼Ñªñπ »«ß½Ññ«óá-
- Γѽ∞¡δ¼¿ ó맮óἿ Σπ¡¬µ¿¿ write, ¿ ó¡«ó∞ ºá»πΘÑ¡¡δÑ »α«µÑßßδ ¼«úπΓ óÑßΓ¿ ºá-
- »¿ß∞ ¡á ΓÑନ¡á½, »«¬á »Ñαóδ⌐ ¿º »α«µÑßß«ó »α¿«ßΓá¡«ó½Ñ¡. éδó«ñ¿¼δÑ ñá¡¡δÑ
- ¼«úπΓ íδΓ∞ Γá¬ªÑ ¿ß¬áªÑ¡δ ¿ ¡á ΓÑନ¡á½Ñ, »«ß¬«½∞¬π »α«µÑßß ¼«ªÑΓ »α¿«ßΓá¡«-
- ó¿Γ∞ß∩ ¡á ßÑαÑñ¿¡Ñ óδ»«½¡Ñ¡¿∩ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ write, «ª¿ñá∩ ºáóÑαΦÑ¡¿∩ óδ-
- ó«ñá ¡á ΓÑନ¡á½ ¿º ß¿ßΓÑ¼δ »αÑñδñπΘÑ⌐ »«αµ¿¿ ñá¡¡δσ. ƒñα« ¼«ªÑΓ ºá»πßΓ¿Γ∞
- ñαπú¿Ñ »α«µÑßßδ, ¬«Γ«αδÑ óѽ¿ ºá»¿ß∞ ¡á ΓÑନ¡á½ ñ« Γ«ú«, ¬á¬ »Ñαóδ⌐ »α«µÑßß
- íδ½ »«óΓ«α¡« ºá»πΘÑ¡. Å« φΓ«⌐ »α¿τ¿¡Ñ, ∩ñα« ¡Ñ úáαá¡Γ¿απÑΓ, τΓ« ß«ñÑন¼«Ñ
- íπΣÑαá ñá¡¡δσ, óδó«ñ¿¼«Ñ ó αѺπ½∞ΓáΓÑ ó맮óá ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ write, »«∩-
- ó¿Γß∩ ¡á φ¬αá¡Ñ ΓÑନ¡á½á ó ¡Ñ»αÑαδó¡«¼ ó¿ñÑ.
- Éáßß¼«Γα¿¼ »α«úαá¼¼π, »α¿óÑñÑ¡¡πε ¡á É¿ßπ¡¬Ñ 10.14. É«ñ¿Γѽ∞߬¿⌐ »α«µÑßß
- ß«ºñáÑΓ ñ« 18 »«α«ªñÑ¡¡δσ »α«µÑßß«ó; ¬áªñδ⌐ ¿º »«α«ªñÑ¡¡δσ »α«µÑßß«ó ºá»¿ßδ-
- óáÑΓ ßΓ᫬π (ß »«¼«Θ∞ε í¿í½¿«ΓÑτ¡«⌐ Σπ¡¬µ¿¿ sprintf) ó ¼áßß¿ó output, ¬«Γ«-
- αδ⌐ ó¬½ετáÑΓ ß««íΘÑ¡¿Ñ ¿ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á i ó ¼«¼Ñ¡Γ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿
- fork, ¿ ºáΓѼ óσ«ñ¿Γ ó µ¿¬½ »«Φáú«ó«⌐ »ÑαÑ»¿ß¿ ßΓ᫬¿ ó Σá⌐½ ßΓá¡ñáαΓ¡«ú«
- óδó«ñá. àß½¿ ßΓá¡ñáαΓ¡δ¼ óδó«ñ«¼ ∩ó½∩ÑΓß∩ ΓÑନ¡á½, ΓÑନ¡á½∞¡δ⌐ ñαá⌐óÑα αÑ-
- úπ½¿απÑΓ »«Γ«¬ »«ßΓπ»áεΘ¿σ ñá¡¡δσ. éδó«ñ¿¼á∩ ßΓα«¬á ¿¼ÑÑΓ í«½ÑÑ 64 ß¿¼ó«½«ó
-
-
- 311
-
- ┌────────────────────────────────────────────────────────────────┐
- │ char form[]="φΓ« »α¿¼Ñα óδó«ñá ßΓ᫬¿ ¿º »«α«ªñÑ¡¡«ú« »α«µÑßßá"│ │
- │ main() │
- │ { │
- │ char output[128]; │
- │ int i; │
- │ │
- │ for (i = 0; i < 18; i++) │
- │ { │
- │ switch (fork()) │
- │ { │
- │ case -1: /* «Φ¿í¬á --- »αÑóδΦÑ¡« ¼á¬ß¿¼á½∞¡«Ñ τ¿ß-│
- │ ½« »α«µÑßß«ó */ │
- │ exit(); │
- │ │
- │ default: /* α«ñ¿Γѽ∞߬¿⌐ »α«µÑßß */ │
- │ break; │
- │ │
- │ case 0: /* »«α«ªñÑ¡¡δ⌐ »α«µÑßß */ │
- │ /* Σ«α¼áΓ óδó«ñá ßΓ᫬¿ ó »ÑαѼѡ¡«⌐ output */ │
- │ sprintf(output,"%%d\n%s%d\n",form,i,form,i); │
- │ for (;;) │
- │ write(1,output,sizeof(output)); │
- │ } │
- │ } │
- │ } │
- └────────────────────────────────────────────────────────────────┘
-
- É¿ßπ¡«¬ 10.14. ÅÑαÑñáτá ñá¡¡δσ τÑαѺ ßΓá¡ñáαΓ¡δ⌐ óδó«ñ
-
-
- ó ñ½¿¡π, Γ« ÑßΓ∞ ß½¿Φ¬«¼ óѽ¿¬á ñ½∩ Γ«ú«, τΓ«íδ »«¼ÑßΓ¿Γ∞ß∩ ó ß¿¼ó«½∞¡«¼
- í½«¬Ñ (ñ½¿¡«⌐ 64 íá⌐Γá) ó óÑαß¿¿ V ß¿ßΓѼδ. æ½Ññ«óáΓѽ∞¡«, ΓÑନ¡á½∞¡«¼π
- ñαá⌐óÑαπ ΓαÑíπÑΓß∩ í«½ÑÑ «ñ¡«ú« ß¿¼ó«½∞¡«ú« í½«¬á ñ½∩ ¬áªñ«ú« ó맮óá Σπ¡¬µ¿¿
- write, ¿¡áτÑ óδó«ñ¡«⌐ »«Γ«¬ ¼«ªÑΓ ßΓáΓ∞ ¿ß¬áªÑ¡¡δ¼. ìá»α¿¼Ñα, ß½ÑñπεΘ¿Ñ
- ßΓ᫬¿ í뫨 τáßΓ∞ε óδó«ñ¡«ú« »«Γ«¬á, »«½πτÑ¡¡«ú« ó αѺπ½∞ΓáΓÑ óδ»«½¡Ñ¡¿∩
- »α«úαá¼¼δ ¡á ¼áΦ¿¡Ñ AT&T 3B20:
-
- this is a sample output string from child 1
- this is a sample outthis is a sample output string from child 0
-
- ùΓÑ¡¿Ñ ñá¡¡δσ ß ΓÑନ¡á½á ó ¬á¡«¡¿τÑ߬«¼ αѪ¿¼Ñ í«½ÑÑ ß½«ª¡á∩ «»Ñαᵿ∩.
- é ó맮óÑ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ read π¬áºδóáÑΓß∩ ¬«½¿τÑßΓó« íá⌐Γ, ¬«Γ«αδÑ »α«µÑßß
- σ«τÑΓ ßτ¿ΓáΓ∞, ¡« ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß óδ»«½¡∩ÑΓ τΓÑ¡¿Ñ »« »«½πτÑ¡¿¿ ß¿¼ó«½á
- »ÑαÑó«ñá ¬áαÑΓ¬¿, ñáªÑ Ñß½¿ ¬«½¿τÑßΓó« ß¿¼ó«½«ó ¡Ñ π¬áºá¡«. ¥Γ« πñ«í¡« ß
- »αá¬Γ¿τÑ߬«⌐ Γ«τ¬¿ ºαÑ¡¿∩, Γᬠ¬á¬ »α«µÑßß ¡Ñ ó ß«ßΓ«∩¡¿¿ »αÑñπúáñáΓ∞,
- ߬«½∞¬« ß¿¼ó«½«ó »«½∞º«óáΓѽ∞ óóÑñÑΓ ß ¬½áó¿áΓπαδ, ¿, ß ñαπú«⌐ ßΓ«α«¡δ, ¡Ñ
- ¿¼ÑÑΓ ß¼δß½á ªñáΓ∞, ¬«úñá »«½∞º«óáΓѽ∞ óóÑñÑΓ í«½∞Φ«Ñ τ¿ß½« ß¿¼ó«½«ó. ìá»α¿-
- ¼Ñα, »«½∞º«óáΓѽ¿ óó«ñ∩Γ ¬«¼á¡ñ¡δÑ ßΓ᫬¿ ñ½∩ ¬«¼á¡ñ¡«ú« »α«µÑßß«αá shell ¿
- «ª¿ñáεΓ «ΓóÑΓá shell'á ¡á ¬«¼á¡ñπ »« »«½πτÑ¡¿¿ ß¿¼ó«½á ó«ºóαáΓá ¬áαÑΓ¬¿. Åα¿
- φΓ«¼ ¡ÑΓ ¡¿¬á¬«⌐ αạ¿µδ, ∩ó½∩εΓß∩ ½¿ óóÑñÑ¡¡δÑ ßΓ᫬¿ »α«ßΓ묨 ¬«¼á¡ñἿ,
- Γᬿ¼¿ ¬á¬ "date" ¿½¿ "who", ¿½¿ ªÑ φΓ« í«½ÑÑ ß½«ª¡δÑ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ¬«-
- ¼á¡ñ, »«ñ«í¡δÑ ß½ÑñπεΘÑ⌐:
-
- pic file* │ tbl │ eqn │ troff -mm -Taps │ apsend
-
- ÆÑନ¡á½∞¡δ⌐ ñαá⌐óÑα ¿ ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß ¡¿τÑú« ¡Ñ º¡áεΓ « ß¿¡Γá¬ß¿ßÑ
- ¬«¼á¡ñ¡«ú« »α«µÑßß«αá shell, ¿ φΓ« »αáó¿½∞¡«, »«ß¬«½∞¬π ñαπú¿Ñ »α«úαá¼¼δ,
- ¬«Γ«αδÑ ßτ¿ΓδóáεΓ ¿¡Σ«α¼áµ¿ε ß ΓÑନ¡á½«ó (¡á»α¿¼Ñα, αÑñá¬Γ«αδ), ¿¼ÑεΓ αáº-
-
- 312
-
- ½¿τ¡δ⌐ ß¿¡Γá¬ß¿ß ¬«¼á¡ñ. Å«φΓ«¼π ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß óδ»«½¡∩ÑΓ τΓÑ¡¿Ñ »« »«-
- ½πτÑ¡¿¿ ß¿¼ó«½á ó«ºóαáΓá ¬áαÑΓ¬¿.
- ìá É¿ßπ¡¬Ñ 10.15 »«¬áºá¡ á½ú«α¿Γ¼ τΓÑ¡¿∩ ß ΓÑନ¡á½á. ÅαÑñ»«½«ª¿¼, τΓ«
- ΓÑନ¡á½ αáí«ΓáÑΓ ó ¬á¡«¡¿τÑ߬«¼ αѪ¿¼Ñ; ó αáºñÑ½Ñ 10.3.3 íπñÑΓ αáßß¼«ΓαÑ¡á
- αáí«Γá ó αѪ¿¼Ñ íѺ «íαáí«Γ¬¿. àß½¿ ó ¡áßΓ«∩Θ¿⌐ ¼«¼Ñ¡Γ ó ½εí«¼ ¿º ß¿¼ó«½∞¡δσ
- ß»¿ß¬«ó ñ½∩ σαá¡Ñ¡¿∩ óó«ñ¡«⌐ ¿¡Σ«α¼áµ¿¿ «ΓßπΓßΓóπεΓ ñá¡¡δÑ, »α«µÑßß, óδ»«½-
-
- ┌────────────────────────────────────────────────────────────┐
- │ á½ú«α¿Γ¼ terminal_read │
- │ { │
- │ Ñß½¿ (ó ¬á¡«¡¿τÑ߬«¼ ß¿¼ó«½∞¡«¼ ß»¿ß¬Ñ «ΓßπΓßΓóπεΓ ñá¡- │
- │ ¡δÑ) │
- │ { │
- │ óδ»«½¡¿Γ∞ (»«¬á ó ß»¿ß¬Ñ ñ½∩ ¡ÑßΓαπ¬Γπα¿α«óá¡¡δσ │
- │ óó«ñ¡δσ ñá¡¡δσ «ΓßπΓßΓóπÑΓ ¿¡Σ«α¼áµ¿∩) │
- │ { │
- │ Ñß½¿ (ΓÑନ¡á½ «Γ¬αδΓ ß »áαá¼ÑΓα«¼ "no delay" │
- │ (íѺ ºáñÑ᪬¿)) │
- │ ó«ºóαáΓ¿Γ∞ π»αáó½Ñ¡¿Ñ; │
- │ Ñß½¿ (ΓÑନ¡á½ ó αѪ¿¼Ñ íѺ «íαáí«Γ¬¿ ß ¿ß»«½∞º«-│
- │ ó᡿Ѽ Γá⌐¼Ñαá ¿ Γá⌐¼Ñα ¡Ñ á¬Γ¿óÑ¡) │
- │ »αÑñ»α¿¡∩Γ∞ ñÑ⌐ßΓó¿∩ ¬ á¬Γ¿ó¿ºáµ¿¿ Γá⌐¼Ñαá │
- │ (Γáí½¿µá «ΓóÑΓ¡δσ ß¿ú¡á½«ó); │
- │ »α¿«ßΓá¡«ó¿Γ∞ß∩ (ñ« »«ßΓπ»½Ñ¡¿∩ ñá¡¡δσ ß ΓÑନ¡á-│
- │ ½á); │
- │ } │
- │ │
- │ /* ó ß»¿ß¬Ñ ñ½∩ ¡ÑßΓαπ¬Γπα¿α«óá¡¡δσ óó«ñ¡δσ ñá¡¡δσ │
- │ ÑßΓ∞ ¿¡Σ«α¼áµ¿∩ */ │
- │ Ñß½¿ (ΓÑନ¡á½ ó αѪ¿¼Ñ íѺ «íαáí«Γ¬¿) │
- │ ߬«»¿α«óáΓ∞ óßÑ ñá¡¡δÑ ¿º ß»¿ß¬á ñ½∩ ¡ÑßΓαπ¬Γπα¿-│
- │ α«óá¡¡δσ óó«ñ¡δσ ñá¡¡δσ ó ¬á¡«¡¿τÑ߬¿⌐ ß»¿ß«¬; │
- │ ó »α«Γ¿ó¡«¼ ß½πτáÑ /* ΓÑନ¡á½ ó ¬á¡«¡¿τÑ߬«¼ αÑ- │
- │ ª¿¼Ñ */ │
- │ { │
- │ óδ»«½¡¿Γ∞ (»«¬á ó ß»¿ß¬Ñ ñ½∩ ¡ÑßΓαπ¬Γπα¿α«óá¡¡δσ │
- │ óó«ñ¡δσ ñá¡¡δσ ÑßΓ∞ ß¿¼ó«½δ) │
- │ { │
- │ ¬«»¿α«óáΓ∞ »« «ñ¡«¼π ß¿¼ó«½π ¿º ß»¿ß¬á ñ½∩ │
- │ ¡ÑßΓαπ¬Γπα¿α«óá¡¡δσ óó«ñ¡δσ ñá¡¡δσ ó ¬á¡«- │
- │ ¡¿τÑ߬¿⌐ ß»¿ß«¬: │
- │ óδ»«½¡¿Γ∞ «íαáí«Γ¬π ß¿¼ó«½«ó ßΓ¿αá¡¿∩ ¿ πñá-│
- │ ½Ñ¡¿∩; │
- │ Ñß½¿ (ß¿¼ó«½ - "ó«ºóαáΓ ¬áαÑΓ¬¿" ¿½¿ "¬«¡Ñµ │
- │ Σá⌐½á") │
- │ »αÑαóáΓ∞ß∩; /* óδσ«ñ ¿º µ¿¬½á */ │
- │ } │
- │ } │
- │ } │
- │ │
- │ óδ»«½¡¿Γ∞ (»«¬á ó ¬á¡«¡¿τÑ߬«¼ ß»¿ß¬Ñ ÑΘÑ ÑßΓ∞ ß¿¼ó«½δ │
- │ ¿ ¡Ñ ¿ßτÑα»á¡« ¬«½¿τÑßΓó« ß¿¼ó«½«ó, π¬áºá¡¡«Ñ ó ó맮óÑ │
- │ Σπ¡¬µ¿¿ read) │
- │ ¬«»¿α«óáΓ∞ ß¿¼ó«½δ ¿º ß¿¼ó«½∞¡δσ í½«¬«ó ¬á¡«¡¿τÑ߬«ú«│
- │ ß»¿ß¬á ó áñαÑß¡«Ñ »α«ßΓαá¡ßΓó« ºáñáτ¿; │
- │ } │
- └────────────────────────────────────────────────────────────┘
-
- É¿ßπ¡«¬ 10.15. ǽú«α¿Γ¼ τΓÑ¡¿∩ ß ΓÑନ¡á½á
-
- 313
-
-
-
- ¡∩εΘ¿⌐ τΓÑ¡¿Ñ, »α¿«ßΓá¡áó½¿óáÑΓß∩ ñ« »«ßΓπ»½Ñ¡¿∩ »Ñαó«⌐ ßΓ᫬¿ ñá¡¡δσ. è«úñá
- ñá¡¡δÑ »«ßΓπ»áεΓ, »α«úαá¼¼á «íαáí«Γ¬¿ »αÑαδóá¡¿∩ «Γ ΓÑନ¡á½á ºá»π߬áÑΓ
- "»α«úαá¼¼π «íαáí«Γ¬¿ »αÑαδóá¡¿∩" ßΓ᫬«ó«ú« ¿¡ΓÑαΣÑ⌐ßá, ¬«Γ«αá∩ »«¼ÑΘáÑΓ
- ñá¡¡δÑ ó ß»¿ß«¬ ñ½∩ σαá¡Ñ¡¿∩ ¡ÑßΓαπ¬Γπα¿α«óá¡¡δσ óó«ñ¡δσ ñá¡¡δσ ñ½∩ »ÑαÑñáτ¿
- »α«µÑßßá¼, «ßπΘÑßΓó½∩εΘ¿¼ τΓÑ¡¿Ñ, ¿ ó ß»¿ß«¬ ñ½∩ σαá¡Ñ¡¿∩ óδó«ñ¡δσ ñá¡¡δσ,
- »ÑαÑñáóáѼδσ ó ¬áτÑßΓóÑ φσ«ß«»α«ó«ªñÑ¡¿∩ ¡á ΓÑନ¡á½. àß½¿ óóÑñÑ¡¡á∩ ßΓ᫬á
- ß«ñÑαª¿Γ ß¿¼ó«½ ó«ºóαáΓá ¬áαÑΓ¬¿, »α«úαá¼¼á «íαáí«Γ¬¿ »αÑαδóá¡¿∩ ó«º«í¡«ó½∩-
- ÑΓ óδ»«½¡Ñ¡¿Ñ óßÑσ »α¿«ßΓá¡«ó½Ñ¡¡δσ »α«µÑßß«ó τΓÑ¡¿∩. è«úñá »α«µÑßß, «ßπΘÑß-
- Γó½∩εΘ¿⌐ τΓÑ¡¿Ñ, óδ»«½¡∩ÑΓß∩, ñαá⌐óÑα óδí¿αáÑΓ ß¿¼ó«½δ ¿º ß»¿ß¬á ñ½∩ σαá¡Ñ-
- ¡¿∩ ¡ÑßΓαπ¬Γπα¿α«óá¡¡δσ óó«ñ¡δσ ñá¡¡δσ, «íαáíáΓδóáÑΓ ß¿¼ó«½δ ßΓ¿αá¡¿∩ ¿ πñá-
- ½Ñ¡¿∩ ¿ »«¼ÑΘáÑΓ ß¿¼ó«½δ ó ¬á¡«¡¿τÑ߬¿⌐ ß¿¼ó«½∞¡δ⌐ ß»¿ß«¬. çáΓѼ «¡ ¬«»¿απÑΓ
- ßΓ᫬π ß¿¼ó«½«ó ó áñαÑß¡«Ñ »α«ßΓαá¡ßΓó« ºáñáτ¿ ñ« ß¿¼ó«½á ó«ºóαáΓá ¬áαÑΓ¬¿
- ¿½¿ ñ« ¿ßτÑα»á¡¿∩ τ¿ß½á ß¿¼ó«½«ó, π¬áºá¡¡«ú« ó ó맮óÑ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿
- read, τΓ« óßΓαÑΓ¿Γß∩ αá¡∞ΦÑ. Äñ¡á¬«, »α«µÑßß ¼«ªÑΓ «í¡áαπª¿Γ∞, τΓ« ñá¡¡δσ,
- αáñ¿ ¬«Γ«αδσ «¡ ó«º«í¡«ó¿½ ßó«Ñ óδ»«½¡Ñ¡¿Ñ, í«½∞ΦÑ ¡Ñ ßπΘÑßΓóπÑΓ: ñαπú¿Ñ
- »α«µÑßßδ ßτ¿Γ὿ ñá¡¡δÑ ß ΓÑନ¡á½á ¿ πñ὿½¿ ¿σ ¿º ß»¿ß¬á ñ½∩ ¡ÑßΓαπ¬Γπα¿-
- α«óá¡¡δσ óó«ñ¡δσ ñá¡¡δσ ñ« Γ«ú«, ¬á¬ »Ñαóδ⌐ »α«µÑßß íδ½ ºá»πΘÑ¡ ó¡«ó∞. Æá¬á∩
- ß¿Γπᵿ∩ »«σ«ªá ¡á Γπ, ¬«Γ«αá∩ ¿¼ÑÑΓ ¼ÑßΓ«, ¬«úñá ¿º ¬á¡á½á ßτ¿ΓδóáεΓ ñá¡¡δÑ
- ¡Ñ߬«½∞¬« »α«µÑßß«ó.
- Äíαáí«Γ¬á ß¿¼ó«½«ó ó ¡á»αáó½Ñ¡¿¿ óó«ñá ¿ ó ¡á»αáó½Ñ¡¿¿ óδó«ñá áß¿¼¼ÑΓ-
- α¿τ¡á, τΓ« ó¿ñ¡« ¿º ¡á½¿τ¿∩ ñóπσ ß¿¼ó«½∞¡δσ ß»¿ß¬«ó ñ½∩ óó«ñá ¿ «ñ¡«ú« - ñ½∩
- óδó«ñá. æΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß óδó«ñ¿Γ ñá¡¡δÑ ¿º »α«ßΓαá¡ßΓóá ºáñáτ¿, «íαáíáΓδ-
- óáÑΓ ¿σ ¿ »«¼ÑΘáÑΓ ¿σ ó ß»¿ß«¬ ñ½∩ σαá¡Ñ¡¿∩ óδó«ñ¡δσ ñá¡¡δσ. ä½∩ ß¿¼¼ÑΓα¿¿
- ß½Ññ«óὫ íδ ¿¼ÑΓ∞
- Γ«½∞¬« «ñ¿¡ ß»¿ß«¬ ñ½∩ óó«ñ¡δσ ñá¡¡δσ. Äñ¡á¬«, ó Γᬫ¼ ß½πτáÑ »«ΓαÑí«óὫß∞
- íδ ¿ß»«½∞º«óá¡¿Ñ »α«úαá¼¼δ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ ñ½∩ ¿¡ΓÑα»αÑΓᵿ¿ ß¿¼ó«½«ó
-
- ┌──────────────────────────────────────────────────────────────┐
- │ char input[256]; │
- │ │
- │ main() │
- │ { │
- │ register int i; │
- │ │
- │ for (i = 0; i < 18; i++) │
- │ { │
- │ switch (fork()) │
- │ { │
- │ case -1: /* «Φ¿í¬á */ │
- │ printf("«»Ñαᵿ∩ fork ¡Ñ óδ»«½¡Ñ¡á ¿º-ºá «Φ¿í¬¿\n");│
- │ exit(); │
- │ │
- │ default: /* α«ñ¿Γѽ∞߬¿⌐ »α«µÑßß */ │
- │ break; │
- │ │
- │ case 0: /* »«α«ªñÑ¡¡δ⌐ »α«µÑßß */ │
- │ for (;;) │
- │ { │
- │ read(0,input,256); /* τΓÑ¡¿Ñ ßΓ᫬¿ */ │
- │ printf("%d τΓÑ¡¿Ñ %s\n",i,input); │
- │ } │
- │ } │
- │ } │
- │ } │
- └──────────────────────────────────────────────────────────────┘
-
- É¿ßπ¡«¬ 10.16. è«¡¬παÑ¡µ¿∩ ºá ñá¡¡δÑ, óó«ñ¿¼δÑ ß ΓÑନ¡á½á
-
- 314
-
-
-
- ßΓ¿αá¡¿∩ ¿ πñá½Ñ¡¿∩, τΓ« ßñѽὫ íδ »α«µÑñπαπ í«½ÑÑ ß½«ª¡«⌐ ¿ ñ½¿Γѽ∞¡«⌐ ¿
- ºá»αÑΓ¿½« íδ 󫺡¿¬¡«óÑ¡¿Ñ ñαπú¿σ »αÑαδóá¡¿⌐ ¡á óßÑ ¬α¿Γ¿τÑ߬«Ñ óαѼ∩. êß-
- »«½∞º«óá¡¿Ñ ñóπσ ß¿¼ó«½∞¡δσ ß»¿ß¬«ó ñ½∩ óó«ñá »«ñαáºπ¼ÑóáÑΓ, τΓ« »α«úαá¼¼á
- «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ ¼«ªÑΓ »α«ßΓ« ßíα«ß¿Γ∞ ß¿¼ó«½δ ó ß»¿ß«¬ ñ½∩ ¡ÑßΓαπ¬Γπα¿-
- α«óá¡¡δσ óó«ñ¡δσ ñá¡¡δσ ¿ ó«º«í¡«ó¿Γ∞ óδ»«½¡Ñ¡¿Ñ »α«µÑßßá, «ßπΘÑßΓó½∩εΘÑú«
- τΓÑ¡¿Ñ, ¬«Γ«αδ⌐ ß«íßΓóÑ¡¡« ¿ ó«º∞¼ÑΓ ¡á ßÑí∩ αáí«Γπ »« ¿¡ΓÑα»αÑΓᵿ¿ óó«ñ¡δσ
- ñá¡¡δσ. Åα¿ φΓ«¼ »α«úαá¼¼á «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ ¡Ñ¼Ññ½Ñ¡¡« »«¼ÑΘáÑΓ óóÑñÑ¡-
- ¡δÑ ß¿¼ó«½δ ó ß»¿ß«¬ ñ½∩ σαá¡Ñ¡¿∩ óδó«ñ¡δσ ñá¡¡δσ, ΓᬠτΓ« »«½∞º«óáΓѽ∞ ¿ß-
- »δΓδóáÑΓ ½¿Φ∞ ¼¿¡¿¼á½∞¡πε ºáñÑ᪬π »α¿ »α«ß¼«ΓαÑ óóÑñÑ¡¡δσ ß¿¼ó«½«ó ¡á ΓÑα-
- ¼¿¡á½Ñ.
- ìá É¿ßπ¡¬Ñ 10.16 »α¿óÑñÑ¡á »α«úαá¼¼á, ó ¬«Γ«α«⌐ α«ñ¿Γѽ∞߬¿⌐ »α«µÑßß »«-
- ᫪ñáÑΓ ¡Ñ߬«½∞¬« »α«µÑßß«ó, «ßπΘÑßΓó½∩εΘ¿σ τΓÑ¡¿Ñ ¿º Σá⌐½á ßΓá¡ñáαΓ¡«ú«
- óó«ñá, ¬«¡¬πα¿απ∩ ºá »«½πτÑ¡¿Ñ ñá¡¡δσ, óó«ñ¿¼δσ ß ΓÑନ¡á½á. éó«ñ ß ΓÑନ¡á-
- ½á «íδτ¡« «ßπΘÑßΓó½∩ÑΓß∩ ß½¿Φ¬«¼ ¼Ññ½Ñ¡¡« ñ½∩ Γ«ú«, τΓ«íδ πñ«ó½ÑΓó«α¿Γ∞ óßÑ
- »α«µÑßßδ, óÑñπΘ¿Ñ τΓÑ¡¿Ñ, »«φΓ«¼π »α«µÑßßδ í«½∞Φπε τáßΓ∞ óαѼѡ¿ ¡áσ«ñ∩Γß∩ ó
- »α¿«ßΓá¡«ó½Ñ¡¡«¼ ß«ßΓ«∩¡¿¿ ó ß««ΓóÑΓßΓó¿¿ ß á½ú«α¿Γ¼«¼ terminal_read, «ª¿ñá∩
- óó«ñá ñá¡¡δσ. è«úñá »«½∞º«óáΓѽ∞ óó«ñ¿Γ ßΓ᫬π ñá¡¡δσ, »α«úαá¼¼á «íαáí«Γ¬¿
- »αÑαδóá¡¿⌐ «Γ ΓÑନ¡á½á ó«º«í¡«ó½∩ÑΓ óδ»«½¡Ñ¡¿Ñ óßÑσ »α«µÑßß«ó, óÑñπΘ¿σ τΓÑ-
- ¡¿Ñ; »«ß¬«½∞¬π «¡¿ í뫨 »α¿«ßΓá¡«ó½Ñ¡δ ß «ñ¡¿¼ ¿ ΓѼ ªÑ πα«ó¡Ñ¼ »α¿«α¿ΓÑΓá,
- «¡¿ óδí¿αáεΓß∩ ñ½∩ ºá»π߬á ß «ñ¿¡á¬«óδ¼ πα«ó¡Ñ¼ »α¿«α¿ΓÑΓá. Å«½∞º«óáΓѽ∞ ¡Ñ
- ó ß«ßΓ«∩¡¿¿ »αÑñπúáñáΓ∞, ¬á¬«⌐ ¿º »α«µÑßß«ó óδ»«½¡∩ÑΓß∩ ¿ ßτ¿ΓδóáÑΓ ßΓ᫬π
- ñá¡¡δσ; πß»ÑΦ¡« ß«ºñá¡¡δ⌐ »α«µÑßß »ÑτáΓáÑΓ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐ i ó ¼«¼Ñ¡Γ
- Ñú« ß«ºñá¡¿∩. éßÑ ñαπú¿Ñ »α«µÑßßδ ó ¬«¡µÑ ¬«¡µ«ó íπñπΓ ºá»πΘÑ¡δ, ¡« 󻫽¡Ñ
- 󫺼«ª¡«, τΓ« «¡¿ ¡Ñ «í¡áαπªáΓ óóÑñÑ¡¡«⌐ ¿¡Σ«α¼áµ¿¿ ó ß»¿ß¬áσ ñ½∩ σαá¡Ñ¡¿∩
- óó«ñ¡δσ ñá¡¡δσ ¿ ¿σ óδ»«½¡Ñ¡¿Ñ ß¡«óá íπñÑΓ »α¿«ßΓá¡«ó½Ñ¡«. éß∩ »α«µÑñπαá
- »«óΓ«α∩ÑΓß∩ ñ½∩ ¬áªñ«⌐ óóÑñÑ¡¡«⌐ ßΓ᫬¿; ¡Ñ½∞º∩ ñáΓ∞ úáαá¡Γ¿ε, τΓ« ¡¿ «ñ¿¡
- ¿º »α«µÑßß«ó ¡Ñ ºáσóáΓ¿Γ óßÑ óóÑñÑ¡¡δÑ ñá¡¡δÑ.
- Äñ¡«óαѼѡ¡«¼π τΓÑ¡¿ε ß ΓÑନ¡á½á ¡Ñ߬«½∞¬¿¼¿ »α«µÑßßἿ »α¿ßπΘá ¡Ñ«ñ-
- ¡«º¡áτ¡«ßΓ∞, ¡« ∩ñα« ß»αáó½∩ÑΓß∩ ß ß¿ΓπᵿÑ⌐ ¡á¿½πτΦ¿¼ «íαẫ¼. æ ñαπú«⌐
- ßΓ«α«¡δ, ∩ñα« «í∩ºá¡« »«ºó«½∩Γ∞ »α«µÑßßá¼ «ñ¡«óαѼѡ¡« ßτ¿ΓδóáΓ∞ ñá¡¡δÑ ß
- ΓÑନ¡á½á, ¿¡áτÑ »«α«ªñÑ¡¡δÑ ¬«¼á¡ñ¡δ¼ »α«µÑßß«α«¼ shell »α«µÑßßδ, τ¿ΓáεΘ¿Ñ
- ¿º ßΓá¡ñáαΓ¡«ú« óó«ñá, ¡¿¬«úñá ¡Ñ íπñπΓ αáí«ΓáΓ∞, »«ß¬«½∞¬π shell Γ«ªÑ «íαá-
- ΘáÑΓß∩ ¬ ßΓá¡ñáαΓ¡«¼π óó«ñπ. è«α«τÑ ú«ó«α∩, »α«µÑßßδ ñ«½ª¡δ ß¿¡σα«¡¿º¿α«óáΓ∞
- ßó«¿ «íαáΘÑ¡¿∩ ¬ ΓÑନ¡á½π ¡á »«½∞º«óáΓѽ∞߬«¼ πα«ó¡Ñ.
- è«úñá »«½∞º«óáΓѽ∞ óó«ñ¿Γ ß¿¼ó«½ "¬«¡Ñµ Σá⌐½á" (Ctrl-d ó ASCII), ßΓ᫬«-
- óδ⌐ ¿¡ΓÑαΣÑ⌐ß »ÑαÑñáÑΓ Σπ¡¬µ¿¿ read óóÑñÑ¡¡πε ßΓ᫬π ñ« ß¿¼ó«½á ¬«¡µá Σá⌐½á,
- ¡« ¡Ñ ó¬½ετá∩ Ñú«. Ä¡ ¡Ñ »ÑαÑñáÑΓ ñá¡¡δÑ (¬«ñ ó«ºóαáΓá 0) Σπ¡¬µ¿¿ read, Ñß½¿
- ó ß¿¼ó«½∞¡«¼ ß»¿ß¬Ñ óßΓαÑΓ¿½ß∩ Γ«½∞¬« ß¿¼ó«½ "¬«¡Ñµ Σá⌐½á"; óδºδóáεΘ¿⌐ »α«-
- µÑßß ßá¼ αáß»«º¡áÑΓ, τΓ« «í¡áαπªÑ¡ ¬«¡Ñµ Σá⌐½á ¿ í«½∞ΦÑ ¡Ñ ß½ÑñπÑΓ ßτ¿ΓδóáΓ∞
- ñá¡¡δÑ ß ΓÑନ¡á½á. àß½¿ ÑΘÑ αẠ«íαáΓ¿Γ∞ß∩ ¬ »α¿¼Ñαá¼ »α«úαá¼¼ »« shell'π,
- »α¿óÑñÑ¡¡δ¼ ó ú½áóÑ 7, ¼«ª¡« «Γ¼ÑΓ¿Γ∞, τΓ« µ¿¬½ αáí«Γδ shell'á ºáóÑαΦáÑΓß∩,
- ¬«úñá »«½∞º«óáΓѽ∞ ¡áª¿¼áÑΓ <Ctrl-d>: Σπ¡¬µ¿∩ read ó«ºóαáΘáÑΓ 0 ¿ »α«¿ºó«-
- ñ¿Γß∩ óδσ«ñ ¿º shell'á.
- é φΓ«¼ αáºñÑ½Ñ αáßß¼«ΓαÑ¡á αáí«Γá ΓÑନ¡á½«ó óó«ñá-óδó«ñá, ¬«Γ«αδÑ »ÑαÑ-
- ñáεΓ ñá¡¡δÑ ¡á ¼áΦ¿¡π »« «ñ¡«¼π ß¿¼ó«½π ºá «ñ¡π «»Ñαᵿε, ó Γ«τ¡«ßΓ¿ ¬á¬
- »«½∞º«óáΓѽ∞ ¿σ óó«ñ¿Γ ß ¬½áó¿áΓπαδ. ê¡Γѽ½Ñ¬Γπá½∞¡δÑ ΓÑନ¡á½δ »«ñú«Γáó½¿-
- óáεΓ ßó«⌐ óó«ñ¡«⌐ »«Γ«¬ ¡á ó¡ÑΦ¡Ñ¼ πßΓα«⌐ßΓóÑ, «ßó«í«ªñá∩ µÑ¡Γαá½∞¡δ⌐ »α«-
- µÑßß«α ñ½∩ ñαπú«⌐ αáí«Γδ. æΓαπ¬Γπαá ñαá⌐óÑα«ó ñ½∩ Γᬿσ ΓÑନ¡á½«ó »«σ«ñ¿Γ
- ¡á ßΓαπ¬Γπαπ ñαá⌐óÑα«ó ñ½∩ ΓÑନ¡á½«ó óó«ñá-óδó«ñá, ¡Ñß¼«Γα∩ ¡á Γ«, τΓ« Σπ¡-
- ¬µ¿¿ ßΓ᫬«ó«ú« ¿¡ΓÑαΣÑ⌐ßá αẽ¿τáεΓß∩ ó ºáó¿ß¿¼«ßΓ¿ «Γ 󫺼«ª¡«ßΓÑ⌐ ó¡ÑΦ¡¿σ
- πßΓα«⌐ßΓó.
-
-
- E10.3.3 ÆÑନ¡á½∞¡δ⌐ ñαá⌐óÑα ó αѪ¿¼Ñ íѺ «íαáí«Γ¬¿ ß¿¼ó«½«óF
-
- Å«½∞º«óáΓѽ¿ πßΓá¡áó½¿óáεΓ »áαá¼ÑΓαδ ΓÑନ¡á½á, Γá¬¿Ñ ¬á¬ ß¿¼ó«½δ ßΓ¿αá-
- ¡¿∩ ¿ πñá½Ñ¡¿∩, ¿ ¿ºó½Ñ¬áεΓ º¡áτÑ¡¿∩ ΓѬπΘ¿σ πßΓá¡«ó«¬ ß »«¼«Θ∞ε ß¿ßΓѼ¡«⌐
-
- 315
-
- Σπ¡¬µ¿¿ ioctl. æσ«ñ¡δ¼ «íαẫ¼ «¡¿ πßΓá¡áó½¿óáεΓ ¡Ñ«íσ«ñ¿¼«ßΓ∞ φσ«-ß«»α«ó«ª-
- ñÑ¡¿∩ óó«ñá ñá¡¡δσ ß ΓÑନ¡á½á, ºáñáεΓ ß¬«α«ßΓ∞ »ÑαÑñáτ¿ ¿¡Σ«α¼áµ¿¿ ó í«ñáσ,
- ºá»«½¡∩εΓ «τÑαÑñ¿ ß¿¼ó«½«ó óó«ñá ¿ óδó«ñá ¿½¿ óαπτ¡πε ºá»π߬áεΓ ¿ «ßΓá¡áó½¿-
- óáεΓ óδó«ñ¡«⌐ »«Γ«¬ ß¿¼ó«½«ó. é ¿¡Σ«α¼áµ¿«¡¡«⌐ ßΓαπ¬ΓπαÑ ΓÑନ¡á½∞¡«ú« ñαá⌐-
- óÑαá σαá¡∩Γß∩ αẽ¿τ¡δÑ π»αáó½∩εΘ¿Ñ πßΓá¡«ó¬¿ (ß¼. [SVID 85], ßΓα.281), ¿
- ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß »«½πτáÑΓ »áαá¼ÑΓαδ Σπ¡¬µ¿¿ ioctl ¿ πßΓá¡áó½¿óáÑΓ ¿½¿
- ßτ¿ΓδóáÑΓ º¡áτÑ¡¿∩ ß««ΓóÑΓßΓóπεΘ¿σ »«½Ñ⌐ ßΓαπ¬Γπαδ ñá¡¡δσ. è«úñá »α«µÑßß πß-
- Γá¡áó½¿óáÑΓ º¡áτÑ¡¿∩ »áαá¼ÑΓα«ó ΓÑନ¡á½á, «¡ ñѽáÑΓ φΓ« ñ½∩ óßÑσ »α«µÑßß«ó,
- ¿ß»«½∞ºπεΘ¿σ ΓÑନ¡á½. ôßΓá¡«ó¬¿ ΓÑନ¡á½á ¡Ñ ßíαáßδóáεΓß∩ áóΓ«¼áΓ¿τÑ߬¿ »α¿
- óδσ«ñÑ ¿º »α«µÑßßá, ßñѽáóΦÑú« ¿º¼Ñ¡Ñ¡¿∩ ó πßΓá¡«ó¬áσ.
- Åα«µÑßßδ ¼«úπΓ Γá¬ªÑ »ÑαÑóÑßΓ¿ ΓÑନ¡á½ ó αѪ¿¼ íѺ «íαáí«Γ¬¿ ß¿¼ó«½«ó,
- ó ¬«Γ«α«¼ ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß »ÑαÑñáÑΓ ß¿¼ó«½δ ó Γ«τ¡«¼ ß««ΓóÑΓßΓó¿¿ ß ΓѼ,
- ¬á¬ »«½∞º«óáΓѽ∞ óóѽ ¿σ: «íαáí«Γ¬á óó«ñ¡«ú« »«Γ«¬á »«½¡«ßΓ∞ε «ΓßπΓßΓóπÑΓ.
- Äñ¡á¬«, ∩ñα« ñ«½ª¡« º¡áΓ∞, ¬«úñá óδ»«½¡¿Γ∞ óδºóá¡¡πε »«½∞º«óáΓѽѼ ß¿ßΓѼ¡πε
- Σπ¡¬µ¿ε read, »«ß¬«½∞¬π ß¿¼ó«½ ó«ºóαáΓá ¬áαÑΓ¬¿ Γαá¬ΓπÑΓß∩ ¬á¬ «íδτ¡δ⌐ óóÑ-
- ñÑ¡¡δ⌐ ß¿¼ó«½. Ä¡« óδ»«½¡∩ÑΓ Σπ¡¬µ¿ε read »«ß½Ñ Γ«ú«, ¬á¬ ß ΓÑନ¡á½á íπñÑΓ
- óóÑñÑ¡« ¼¿¡¿¼á½∞¡«Ñ τ¿ß½« ß¿¼ó«½«ó ¿½¿ »« »α«σ«ªñÑ¡¿¿ Σ¿¬ß¿α«óá¡¡«ú« »α«¼Ñ-
- ªπΓ¬á óαѼѡ¿ «Γ ¼«¼Ñ¡Γá »«½πτÑ¡¿∩ ß ΓÑନ¡á½á ½εí«ú« ¡áí«αá ß¿¼ó«½«ó. é
- »«ß½Ññ¡Ñ¼ ß½πτáÑ ∩ñα« σα«¡«¼ÑΓα¿απÑΓ óó«ñ ß¿¼ó«½«ó ß ΓÑନ¡á½á, »«¼ÑΘá∩ ºá-
- »¿ß¿ ó Γáí½¿µπ «ΓóÑΓ¡δσ ß¿ú¡á½«ó (ú½áóá 8). Äíá ¬α¿ΓÑα¿∩ (¼¿¡¿¼á½∞¡«Ñ τ¿ß½«
- ß¿¼ó«½«ó ¿ Σ¿¬ß¿α«óá¡¡δ⌐ »α«¼ÑªπΓ«¬ óαѼѡ¿) ºáñáεΓß∩ ó ó맮óÑ Σπ¡¬µ¿¿
- ioctl. è«úñá ß««ΓóÑΓßΓóπεΘ¿Ñ ¬α¿ΓÑα¿¿ πñ«ó½ÑΓó«αÑ¡δ, »α«úαá¼¼á «íαáí«Γ¬¿
- »αÑαδóá¡¿⌐ ßΓ᫬«ó«ú« ¿¡ΓÑαΣÑ⌐ßá ó«º«í¡«ó½∩ÑΓ óδ»«½¡Ñ¡¿Ñ óßÑσ »α¿«ßΓá¡«ó½Ñ¡-
- ¡δσ »α«µÑßß«ó. äαá⌐óÑα »ÑαÑßδ½áÑΓ óßÑ ß¿¼ó«½δ ¿º ß»¿ß¬á ñ½∩ σαá¡Ñ¡¿∩ ¡ÑßΓ-
- απ¬Γπα¿α«óá¡¡δσ óó«ñ¡δσ ñá¡¡δσ ó ¬á¡«¡¿τÑ߬¿⌐ ß»¿ß«¬ ¿ óδ»«½¡∩ÑΓ ºá»α«ß »α«-
- µÑßßá ¡á τΓÑ¡¿Ñ, ß½Ññπ∩ Γ«¼π ªÑ ßἫ¼π á½ú«α¿Γ¼π, τΓ« ¿ ó ß½πτáÑ αáí«Γδ ó
- ¬á¡«¡¿τÑ߬«¼ αѪ¿¼Ñ. ÉѪ¿¼ íѺ «íαáí«Γ¬¿ ß¿¼ó«½«ó «ß«íÑ¡¡« óáªÑ¡ ó φ¬αá¡-
- ¡«-«α¿Ñ¡Γ¿α«óá¡¡δσ »α¿½«ªÑ¡¿∩σ, Γᬿσ ¬á¬ φ¬αá¡¡δ⌐ αÑñá¬Γ«α vi, ¼¡«ú¿Ñ ¿º
- ¬«¼á¡ñ ¬«Γ«α«ú« ¡Ñ ºá¬á¡τ¿óáεΓß∩ ß¿¼ó«½«¼ ó«ºóαáΓá ¬áαÑΓ¬¿. ìá»α¿¼Ñα, ¬«¼á¡-
- ñá dw πñá½∩ÑΓ ß½«ó« ó ΓѬπΘÑ⌐ »«º¿µ¿¿ ¬παß«αá.
- ìá É¿ßπ¡¬Ñ 10.17 »α¿óÑñÑ¡á »α«úαá¼¼á, ¿ß»«½∞ºπεΘá∩ Σπ¡¬µ¿ε ioctl ñ½∩
- ß«σαá¡Ñ¡¿∩ ΓѬπΘ¿σ πßΓá¡«ó«¬ ΓÑନ¡á½á ñ½∩ Σá⌐½á ß ñÑß¬α¿»Γ«α«¼ 0, τΓ« ß««Γ-
- óÑΓßΓóπÑΓ º¡áτÑ¡¿ε ñÑß¬α¿»Γ«αá Σá⌐½á ßΓá¡ñáαΓ¡«ú« óó«ñá. öπ¡¬µ¿∩ ioctl ß ¬«-
- ¼á¡ñ«⌐ TCGETA »α¿¬áºδóáÑΓ
- ñαá⌐óÑαπ ¿ºó½Ñτ∞ πßΓá¡«ó¬¿ ¿ ß«σαá¡¿Γ∞ ¿σ ó ßΓαπ¬ΓπαÑ ß ¿¼Ñ¡Ñ¼ savetty ó áñ-
- αÑß¡«¼ »α«ßΓαá¡ßΓóÑ ºáñáτ¿. ¥Γá ¬«¼á¡ñá τáßΓ« ¿ß»«½∞ºπÑΓß∩ ñ½∩ Γ«ú«, τΓ«íδ
- «»αÑñѽ¿Γ∞, ∩ó½∩ÑΓß∩ ½¿ Σá⌐½ ΓÑନ¡á½«¼ ¿½¿ ¡ÑΓ, »«ß¬«½∞¬π «¡á ¡¿τÑú« ¡Ñ ¿º-
- ¼Ñ¡∩ÑΓ ó ß¿ßΓѼÑ: Ñß½¿ «¡á ºáóÑαΦáÑΓß∩ ¡Ñπñáτ¡«, »α«µÑßßδ »αÑñ»«½áúáεΓ, τΓ«
- Σá⌐½ ¡Ñ ∩ó½∩ÑΓß∩ ΓÑନ¡á½«¼. çñÑß∞ ªÑ, »α«µÑßß óΓ«α¿τ¡« óδºδóáÑΓ Σπ¡¬µ¿ε
- ioctl ñ½∩ Γ«ú«, τΓ«íδ »ÑαÑóÑßΓ¿ ΓÑନ¡á½ ó αѪ¿¼ íѺ «íαáí«Γ¬¿: «¡ «Γ¬½ετáÑΓ
- φσ«-ß«»α«ó«ªñÑ¡¿Ñ óó«ñá ß¿¼ó«½«ó ¿ ú«Γ«ó¿Γß∩ ¬ óδ»«½¡Ñ¡¿ε «»Ñαᵿ⌐ τΓÑ¡¿∩ ß
-
- ┌────────────────────────────────────────────────────────────────┐
- │ #include <signal.h> │
- │ #include <termio.h> │
- │ struct termio savetty; │
- │ main() │
- │ { │
- │ extern sigcatch(); │
- │ struct termio newtty; │
- │ int nrd; │
- │ char buf[32]; │
- │ signal(SIGINT,sigcatch); │
- │ if (ioctl(0,TCGETA,&savetty) == -1) │
- │ { │
- │ printf("ioctl ºáóÑαΦ¿½áß∞ ¡Ñπñáτ¡«: ¡ÑΓ ΓÑନ¡á½á\n"); │
- │ exit(); │
- │ } │
- │ newtty = savetty; │
-
- 316
-
- │ newtty.c_lflag &= ~ICANON;/* óδσ«ñ ¿º ¬á¡«¡¿τÑ߬«ú« αѪ¿¼á */│
- │ newtty.c_lflag &= ~ECHO; /* «Γ¬½ετÑ¡¿Ñ φσ«-ß«»α«ó«ªñÑ¡¿∩*/ │
- │ newtty.c_cc[VMIN] = 5; /* ¼¿¡¿¼π¼ 5 ß¿¼ó«½«ó */ │
- │ newtty.c_cc[VTIME] = 100; /* ¿¡ΓÑαóá½ 10 ßѬπ¡ñ */ │
- │ if (ioctl(0,TCSETAF,&newtty) == -1) │
- │ { │
- │ printf("¡Ñ ¼«úπ »ÑαÑóÑßΓ¿ ΓÑα-½ ó αѪ¿¼ íѺ «íαáí«Γ¬¿\n");│
- │ exit(); │
- │ } │
- │ for(;;) │
- │ { │
- │ nrd = read(0,buf,sizeof(buf)); │
- │ buf[nrd] = 0; │
- │ printf("τΓÑ¡¿Ñ %d ß¿¼ó«½«ó '%s'\n",nrd,buf); │
- │ } │
- │ } │
- │ sigcatch() │
- │ { │
- │ ioctl(0,TCSETAF,&savetty); │
- │ exit(); │
- │ } │
- └────────────────────────────────────────────────────────────────┘
-
- É¿ßπ¡«¬ 10.17. ÉѪ¿¼ íѺ «íαáí«Γ¬¿ - τΓÑ¡¿Ñ 5-ß¿¼ó«½∞¡δσ í½«¬«ó
-
-
-
- ┌────────────────────────────────────────────────────────────────┐
- │ #include <fcntl.h> │
- │ │
- │ main() │
- │ { │
- │ register int i,n; │
- │ int fd; │
- │ char buf[256]; │
- │ │
- │ /* «Γ¬αδΓ¿Ñ ΓÑନ¡á½á Γ«½∞¬« ñ½∩ τΓÑ¡¿∩ ß «»µ¿Ñ⌐ "no delay" */ │
- │ if((fd = open("/dev/tty",O_RDONLY│O_NDELAY)) == -1) │
- │ exit(); │
- │ │
- │ n = 1; │
- │ for(;;) /* óßÑúñá */ │
- │ { │
- │ for(i = 0; i < n; i++) │
- │ ; │
- │ │
- │ if(read(fd,buf,sizeof(buf)) > 0) │
- │ { │
- │ printf("τΓÑ¡¿Ñ ß ¡«¼Ñαá %d\n",n); │
- │ n--; │
- │ } │
- │ else │
- │ /* ¡¿τÑú« ¡Ñ »α«τ¿Γá¡«; ó«ºóαáΓ óß½ÑñßΓó¿Ñ "no delay" */ │
- │ n++; │
- │ } │
- │ } │
- └────────────────────────────────────────────────────────────────┘
-
- É¿ßπ¡«¬ 10.18. Ä»α«ß ΓÑନ¡á½á
-
- 317
-
-
- ΓÑନ¡á½á »« »«½πτÑ¡¿¿ ß ΓÑନ¡á½á 5 ß¿¼ó«½«ó, ¬á¬ ¼¿¡¿¼π¼, ¿½¿ »« »α«σ«ªñÑ-
- ¡¿¿ 10 ßѬπ¡ñ ß ¼«¼Ñ¡Γá óó«ñá »Ñαó«⌐ »«αµ¿¿ ß¿¼ó«½«ó. è«úñá »α«µÑßß »«½πτáÑΓ
- ß¿ú¡á½ « »αÑαδóá¡¿¿, «¡ ßíαáßδóáÑΓ »Ñαó«¡áτá½∞¡δÑ »áαá¼ÑΓαδ ΓÑନ¡á½á ¿ ºá-
- óÑαΦáÑΓß∩.
-
-
- E10.3.4 Ä»α«ß ΓÑନ¡á½áF
-
- ê¡«úñá πñ«í¡« »α«¿ºó«ñ¿Γ∞ «»α«ß πßΓα«⌐ßΓóá, Γ« ÑßΓ∞ ßτ¿ΓδóáΓ∞ ß ¡Ñú«
- ñá¡¡δÑ, Ñß½¿ «¡¿ ÑßΓ∞, ¿½¿ »α«ñ«½ªáΓ∞ óδ»«½¡∩Γ∞ «íδτ¡πε αáí«Γπ - ó »α«Γ¿ó¡«¼
- ß½πτáÑ. Åα«úαá¼¼á ¡á É¿ßπ¡¬Ñ 10.18 ¿½½εßΓα¿απÑΓ φΓ«Γ ß½πτá⌐: »«ß½Ñ «Γ¬αδΓ¿∩
- ΓÑନ¡á½á ß »áαá¼ÑΓα«¼ "no delay" (íѺ ºáñÑ᪬¿) »α«µÑßßδ, óÑñπΘ¿Ñ τΓÑ¡¿Ñ ß
- ¡Ñú«, ¡Ñ »α¿«ßΓá¡«ó∩Γ ßó«Ñ óδ»«½¡Ñ¡¿Ñ ó ß½πτáÑ «ΓßπΓßΓó¿∩ ñá¡¡δσ, á óÑα¡πΓ
- π»αáó½Ñ¡¿Ñ ¡Ñ¼Ññ½Ñ¡¡« (ß¼. á½ú«α¿Γ¼ terminal_read, É¿ßπ¡«¬ 10.15). ¥Γ«Γ ¼Ñ-
- Γ«ñ αáí«ΓáÑΓ ΓᬪÑ, Ñß½¿ »α«µÑßß ß½Ññ¿Γ ºá ¼¡«ªÑßΓó«¼ πßΓα«⌐ßΓó: «¡ ¼«ªÑΓ
- «Γ¬αδΓ∞ ¬áªñ«Ñ πßΓα«⌐ßΓó« ß »áαá¼ÑΓα«¼ "no delay" ¿ «»α«ß¿Γ∞ óßÑσ ¿º ¡¿σ,
- «ª¿ñá∩ »«ßΓπ»½Ñ¡¿∩ ¿¡Σ«α¼áµ¿¿ ß ¬áªñ«ú«. Äñ¡á¬«, φëà ¼ÑΓ«ñ αáßΓαáτ¿óáÑΓ óδ-
- τ¿ß½¿Γѽ∞¡δÑ ¼«Θ¡«ßΓ¿ ß¿ßΓѼδ.
- é ß¿ßΓÑ¼Ñ BSD ÑßΓ∞ ß¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ select, »«ºó«½∩εΘá∩ »α«¿ºó«ñ¿Γ∞ «»-
- α«ß πßΓα«⌐ßΓóá. æ¿¡Γá¬ß¿ß ó맮óá φΓ«⌐ Σπ¡¬µ¿¿:
-
- select(nfds,rfds,wfds,efds,timeout)
-
- úñÑ nfds - ¬«½¿τÑßΓó« óδí¿αáѼδσ ñÑß¬α¿»Γ«α«ó Σá⌐½«ó, á rfds, wfds ¿ efds
- π¬áºδóáεΓ ¡á ñó«¿τ¡δÑ ¼á߬¿, ¬«Γ«α묨 "óδí¿αáεΓ" ñÑß¬α¿»Γ«αδ «Γ¬αδΓδσ Σá⌐-
- ½«ó. Æ« ÑßΓ∞, í¿Γ 1 << fd (ßñó¿ú ¡á 1 αáºα∩ñ ó½Ñó« º¡áτÑ¡¿∩ ñÑß¬α¿»Γ«αá Σá⌐-
- ½á) ß««ΓóÑΓßΓóπÑΓ πßΓá¡«ó¬Ñ ¡á Γ«Γ ß½πτá⌐, Ñß½¿ »«½∞º«óáΓÑ½ε ¡πª¡« óδíαáΓ∞
- φëà ñÑß¬α¿»Γ«α Σá⌐½á. Åáαá¼ÑΓα timeout (Γá⌐¼-áπΓ) π¬áºδóáÑΓ, ¡á ¬á¬«Ñ óαѼ∩
- ß½ÑñπÑΓ »α¿«ßΓá¡«ó¿Γ∞ óδ»«½¡Ñ¡¿Ñ Σπ¡¬µ¿¿ select, «ª¿ñá∩ »«ßΓπ»½Ñ¡¿∩ ñá¡¡δσ,
- ¡á»α¿¼Ñα; Ñß½¿ ñá¡¡δÑ »«ßΓπ»áεΓ ñ½∩ ½εíδσ ñÑß¬α¿»Γ«α«ó ¿ Γá⌐¼-áπΓ ¡Ñ ºá¬«¡-
- τ¿½ß∩, select ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ, π¬áºδóá∩ ó ñó«¿τ¡δσ ¼á߬áσ, ¬á¬¿Ñ ñÑ߬-
- α¿»Γ«αδ í뫨 óδíαá¡δ. ìá»α¿¼Ñα, Ñß½¿ »«½∞º«óáΓѽ∞ »«ªÑ½á½ »α¿«ßΓá¡«ó¿Γ∞ß∩ ñ«
- ¼«¼Ñ¡Γá »«½πτÑ¡¿∩ ñá¡¡δσ »« ñÑß¬α¿»Γ«αá¼ 0, 1 ¿½¿ 2, »áαá¼ÑΓα rfds π¬áªÑΓ ¡á
- ñó«¿τ¡πε ¼á߬π 7; ¬«úñá select ó«ºóαáΓ¿Γ π»αáó½Ñ¡¿Ñ, ñó«¿τ¡á∩ ¼á߬á íπñÑΓ
- ºá¼Ñ¡Ñ¡á ¼á߬«⌐, π¬áºδóáεΘÑ⌐, »« ¬á¬¿¼ ¿º ñÑß¬α¿»Γ«α«ó ¿¼ÑεΓß∩ ú«Γ«óδÑ ñá¡-
- ¡δÑ. äó«¿τ¡á∩ ¼á߬á wfds óδ»«½¡∩ÑΓ »«σ«ªπε Σπ¡¬µ¿ε ó «Γ¡«ΦÑ¡¿¿ ºá»¿ß¿ ñÑ߬-
- α¿»Γ«α«ó, á ñó«¿τ¡á∩ ¼á߬á efds π¬áºδóáÑΓ ¡á ßπΘÑßΓó«óá¡¿Ñ ¿ß¬½ετ¿Γѽ∞¡δσ
- πß½«ó¿⌐, ßó∩ºá¡¡δσ ß ¬«¡¬αÑΓ¡δ¼¿ ñÑß¬α¿»Γ«αἿ, τΓ« íδóáÑΓ »«½Ñº¡« »α¿ αáí«-
- ΓÑ ó ßÑΓ¿.
-
-
- E10.3.5 ìạáτÑ¡¿Ñ «»ÑαáΓ«α߬«ú« ΓÑନ¡á½áF
-
- Ä»ÑαáΓ«α߬¿⌐ ΓÑନ¡á½ - φΓ« ΓÑନ¡á½, ß ¬«Γ«α«ú« »«½∞º«óáΓѽ∞ αÑú¿ßΓα¿-
- απÑΓß∩ ó ß¿ßΓѼÑ, «¡ π»αáó½∩ÑΓ »α«µÑßßἿ, ºá»πΘÑ¡¡δ¼¿ »«½∞º«óáΓѽѼ ß ΓÑα-
- ¼¿¡á½á. è«úñá »α«µÑßß «Γ¬αδóáÑΓ ΓÑନ¡á½, ñαá⌐óÑα ΓÑନ¡á½á «Γ¬αδóáÑΓ ßΓα«-
- ¬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß. àß½¿ »α«µÑßß ó«ºú½áó½∩ÑΓ úαπ»»π »α«µÑßß«ó ¬á¬ αѺπ½∞ΓáΓ óδ-
- »«½¡Ñ¡¿∩ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ setpgrp ¿ Ñß½¿ »α«µÑßß ¡Ñ ßó∩ºá¡ ß «ñ¡¿¼ ¿º «»Ñ-
- αáΓ«α߬¿σ ΓÑନ¡á½«ó, ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß ñѽáÑΓ «Γ¬αδóáѼδ⌐ ΓÑନ¡á½ «»Ñαá-
- Γ«α߬¿¼. Ä¡ ß«σαá¡∩ÑΓ ßΓáαΦ¿⌐ ¿ ¼½áñΦ¿⌐ ¡«¼Ñαá πßΓα«⌐ßΓóá ñ½∩ Σá⌐½á ΓÑନ¡á-
- ½á ó áñαÑß¡«¼ »α«ßΓαá¡ßΓóÑ, óδñѽѡ¡«¼ »α«µÑßßπ, á ¡«¼Ñα úαπ»»δ »α«µÑßß«ó,
- ßó∩ºá¡¡«⌐ ß «Γ¬αδóáÑ¼δ¼ »α«µÑßß«¼, ó ßΓαπ¬ΓπαÑ ñá¡¡δσ ΓÑନ¡á½∞¡«ú« ñαá⌐óÑ-
- αá. ÄΓ¬αδóáѼδ⌐ »α«µÑßß ßΓá¡«ó¿Γß∩ π»αáó½∩εΘ¿¼ »α«µÑßß«¼, «íδτ¡« óσ«ñ¡δ¼
- (¡áτá½∞¡δ¼) ¬«¼á¡ñ¡δ¼ »α«µÑßß«α«¼, τΓ« ¼δ πó¿ñ¿¼ ñá½ÑÑ.
- Ä»ÑαáΓ«α߬¿⌐ ΓÑନ¡á½ ¿úαáÑΓ ó᪡πε α«½∞ ó «íαáí«Γ¬Ñ ß¿ú¡á½«ó. è«úñá
- »«½∞º«óáΓѽ∞ ¡áª¿¼áÑΓ ¬½áó¿Φ¿ "delete" (πñá½Ñ¡¿∩), "break" (»αÑαδóá¡¿∩),
- ßΓ¿αá¡¿∩ ¿½¿ óδσ«ñá, »α«úαá¼¼á «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ ºáúαπªáÑΓ ßΓ᫬«óδ⌐ ¿¡-
- ΓÑαΣÑ⌐ß, ¬«Γ«αδ⌐ »«ßδ½áÑΓ ß««ΓóÑΓßΓóπεΘ¿⌐ ß¿ú¡á½ óßѼ »α«µÑßßá¼ ó úαπ»»Ñ.
-
- 318
-
- Å«ñ«í¡« φΓ«¼π, ¬«úñá »«½∞º«óáΓѽ∞ "ºáó¿ßáÑΓ", »α«úαá¼¼á «íαáí«Γ¬¿ »αÑαδóá¡¿⌐
- «Γ ΓÑନ¡á½á »«½πτáÑΓ ¿¡Σ«α¼áµ¿ε « "ºáó¿ßá¡¿¿" «Γ á»»áαáΓπαδ, ¿ ßΓ᫬«óδ⌐
- ¿¡ΓÑαΣÑ⌐ß »«ßδ½áÑΓ ß««ΓóÑΓßΓóπεΘ¿⌐ ß¿ú¡á½ óßѼ »α«µÑßßá¼ ó úαπ»»Ñ. Æá¬¿¼ «í-
- αẫ¼, óßÑ »α«µÑßßδ, ºá»πΘÑ¡¡δÑ ß ¬«¡¬αÑΓ¡«ú« ΓÑନ¡á½á, »«½πτáεΓ ß¿ú¡á½ «
- "ºáó¿ßá¡¿¿"; αÑᬵ¿Ñ⌐ »« π¼«½τá¡¿ε ñ½∩ í«½∞Φ¿¡ßΓóá »α«µÑßß«ó íπñÑΓ óδσ«ñ ¿º
- »α«úαá¼¼δ »« »«½πτÑ¡¿¿ ß¿ú¡á½á; φΓ« »«σ«ªÑ ¡á Γ«, ¬á¬ »α¿ ºáóÑαΦÑ¡¿¿ αáí«Γδ
- »«½∞º«óáΓѽ∩ ß ΓÑନ¡á½«¼ ¿º ß¿ßΓѼδ πñá½∩εΓß∩ »«í«τ¡δÑ »α«µÑßßδ. Å«ß½Ñ »«-
- ß佬¿ ß¿ú¡á½á « "ºáó¿ßá¡¿¿" »α«úαá¼¼á «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ «Γ ΓÑନ¡á½á αáº-
- ΩÑñ¿¡∩ÑΓ ΓÑନ¡á½ ß úαπ»»«⌐ »α«µÑßß«ó, τΓ«íδ »α«µÑßßδ ¿º φΓ«⌐ úαπ»»δ ¡Ñ ¼«ú-
- ½¿ í«½∞ΦÑ »«½πτáΓ∞ ß¿ú¡á½δ, 󫺡¿¬áεΘ¿Ñ ¡á ΓÑନ¡á½Ñ.
-
-
- E10.3.6 äαá⌐óÑα ¬«ßóÑ¡¡«ú« ΓÑନ¡á½áF
-
- çáτáßΓπε »α«µÑßßá¼ ¡Ñ«íσ«ñ¿¼« »α«τ¿ΓáΓ∞ ¿½ ºá»¿ßáΓ∞ ñá¡¡δÑ ¡Ñ»«ßαÑñßΓ-
- óÑ¡¡« ¡á «»ÑαáΓ«α߬¿⌐ ΓÑନ¡á½, σ«Γ∩ ßΓá¡ñáαΓ¡δ⌐ óó«ñ ¿ óδó«ñ ¼«úπΓ íδΓ∞ »Ñ-
- αѡạáτÑ¡δ ó ñαπú¿Ñ Σá⌐½δ. ìá»α¿¼Ñα, shell ¼«ªÑΓ »«ßδ½áΓ∞ ßα«τ¡δÑ ß««íΘÑ¡¿∩
- ¡Ñ»«ßαÑñßΓóÑ¡¡« ¡á ΓÑନ¡á½, ¡Ñß¼«Γα∩ ¡á Γ«, τΓ« Ñú« ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ óδó«ñá
- ¿ ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ «Φ¿í«¬, 󫺼«ª¡«, »ÑαѡạáτÑ¡δ ó ñαπú«Ñ ¼ÑßΓ«. é óÑαß¿∩σ
- ß¿ßΓѼδ UNIX »«ññÑনóáÑΓß∩ "¬«ßóÑ¡¡δ⌐" ñ«ßΓπ» ¬ ΓÑନ¡á½π τÑαѺ Σá⌐½ πßΓ-
- α«⌐ßΓóá "/dev/tty", ó ¬«Γ«α«¼ ñ½∩ ¬áªñ«ú« »α«µÑßßá «»αÑñѽѡ π»αáó½∩εΘ¿⌐
- («»ÑαáΓ«α߬¿⌐) ΓÑନ¡á½. Å«½∞º«óáΓѽ¿, »α«ΦÑñΦ¿Ñ αÑú¿ßΓαáµ¿ε ¡á «Γñѽ∞¡δσ
- ΓÑନ¡á½áσ, ¼«úπΓ «íαáΘáΓ∞ß∩ ¬ Σá⌐½π "/dev/tty", ¡« «¡¿ »«½πτáΓ ñ«ßΓπ» ¬
- αáº¡δ¼ ΓÑନ¡á½á¼.
- æπΘÑßΓóπÑΓ ñóá «ß¡«ó¡δσ ß»«ß«íá »«¿ß¬á ∩ñα«¼ «»ÑαáΓ«α߬«ú« ΓÑନ¡á½á »«
- ¿¼Ñ¡¿ Σá⌐½á "/dev/tty". é«-»Ñαóδσ, ∩ñα« ¼«ªÑΓ ß»Ñµ¿á½∞¡« π¬áºáΓ∞ ¡«¼Ñα πßΓ-
- α«⌐ßΓóá ñ½∩ Σá⌐½á ¬«ßóÑ¡¡«ú« ΓÑନ¡á½á ß «Γñѽ∞¡«⌐ Γ«τ¬«⌐ óσ«ñá ó Γáí½¿µπ
- ¬½ετÑ⌐ πßΓα«⌐ßΓó »«ß¿¼ó«½∞¡«ú« óó«ñá-óδó«ñá. Åα¿ ºá»π᪥ ¬«ßóÑ¡¡«ú« ΓÑନ¡á-
- ½á ñαá⌐óÑα φΓ«ú« ΓÑନ¡á½á »«½πτáÑΓ ßΓáαΦ¿⌐ ¿ ¼½áñΦ¿⌐ ¡«¼Ñαá «»ÑαáΓ«α߬«ú«
- ΓÑନ¡á½á ¿º áñαÑß¡«ú« »α«ßΓαá¡ßΓóá, óδñѽѡ¡«ú« »α«µÑßßπ, ¿ ºá»π߬áÑΓ ñαá⌐-
- óÑα αÑá½∞¡«ú« ΓÑନ¡á½á, ¿ß»«½∞ºπ∩ ñá¡¡δÑ Γáí½¿µδ ¬½ετÑ⌐ πßΓα«⌐ßΓó »«ß¿¼-
- ó«½∞¡«ú« óó«ñá-óδó«ñá. éΓ«α«⌐ ß»«ß«í, «íδτ¡« ¿ß»«½∞ºπѼδ⌐ ñ½∩ »«¿ß¬á «»Ñαá-
- Γ«α߬«ú« ΓÑନ¡á½á »« ¿¼Ñ¡¿ "/dev/tty", ßó∩ºá¡ ß »α«óÑᬫ⌐ ß««ΓóÑΓßΓó¿∩
- ßΓáαΦÑú« ¡«¼Ñαá πßΓα«⌐ßΓóá ¡«¼Ñα𠬫ßóÑ¡¡«ú« ΓÑନ¡á½á »ÑαÑñ óδº«ó«¼ »α«µÑ-
- ñπαδ open, «»αÑñѽ∩Ѽ«⌐ Γ¿»«¼ ñá¡¡«ú« ñαá⌐óÑαá. é ß½πτáÑ ß«ó»áñÑ¡¿∩ ¡«¼Ñα«ó
- «ßó«í«ªñáÑΓß∩ ¿¡ñÑ¬ß Σá⌐½á "/dev/tty", óδñѽ∩ÑΓß∩ ¿¡ñÑ¬ß «»ÑαáΓ«α߬«¼π ΓÑα-
- ¼¿¡á½π, Γ«τ¬á óσ«ñá ó Γáí½¿µπ Σá⌐½«ó »ÑαÑπßΓá¡áó½¿óáÑΓß∩ Γá¬, τΓ«íδ π¬áºδ-
- óáΓ∞ ¡á ¿¡ñÑ¬ß «»ÑαáΓ«α߬«ú« ΓÑନ¡á½á, ¿ óδºδóáÑΓß∩ »α«µÑñπαá open, »α¿¡áñ-
- ½ÑªáΘá∩ ΓÑନ¡á½∞¡«¼π ñαá⌐óÑαπ. äÑß¬α¿»Γ«α Σá⌐½á, ó«ºóαáΘÑ¡¡δ⌐ »«ß½Ñ «Γ¬αδ-
- Γ¿∩ Σá⌐½á "/dev/tty", π¬áºδóáÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡« ¡á «»ÑαáΓ«α߬¿⌐ ΓÑନ¡á½ ¿
- Ñú« ñαá⌐óÑα.
-
-
- E10.3.7 éσ«ñ ó ß¿ßΓѼπF
-
- èᬠ»«¬áºá¡« ó ú½áóÑ 7, »α«µÑßß ¡áτá½∞¡«⌐ ºáúαπº¬¿, ¿¼ÑεΘ¿⌐ ¡«¼Ñα 1, óδ-
- »«½¡∩ÑΓ íÑ߬«¡Ñτ¡δ⌐ µ¿¬½ τΓÑ¡¿∩ ¿º Σá⌐½á "/etc/inittab" ¿¡ßΓαπ¬µ¿⌐ « Γ«¼,
- τΓ« ¡πª¡« ñѽáΓ∞, Ñß½¿ ºáúαπªáѼá∩ ß¿ßΓÑ¼á «»αÑñÑ½Ñ¡á ¬á¬ "«ñ¡«»«½∞º«óáΓѽ∞-
- ߬á∩" ¿½¿ "¼¡«ú«»«½∞º«óáΓѽ∞߬á∩". é ¼¡«ú«»«½∞º«óáΓѽ∞߬«¼ αѪ¿¼Ñ ßἫ⌐ »Ñα-
- ó«⌐ «í∩ºá¡¡«ßΓ∞ε »α«µÑßßá ¡áτá½∞¡«⌐ ºáúαπº¬¿ ∩ó½∩ÑΓß∩ »αÑñ«ßΓáó½Ñ¡¿Ñ »«½∞º«-
- óáΓѽ∩¼ 󫺼«ª¡«ßΓ¿ αÑú¿ßΓα¿α«óáΓ∞ß∩ ó ß¿ßΓÑ¼Ñ ß ΓÑନ¡á½«ó (É¿ßπ¡«¬ 10.19).
- Ä¡ »«α«ªñáÑΓ »α«µÑßßδ, ¿¼Ñ¡πѼδÑ getty-»α«µÑßßἿ («Γ "get tty" - »«½πτ¿Γ∞
- ΓÑନ¡á½), ¿ ß½Ññ¿Γ ºá ΓѼ, ¬á¬«⌐ ¿º »α«µÑßß«ó «Γ¬αδóáÑΓ ¬á¬«⌐ ΓÑନ¡á½;
- ¬áªñδ⌐ getty-»α«µÑßß πßΓá¡áó½¿óáÑΓ ßó«ε úαπ»»π »α«µÑßß«ó, ¿ß»«½∞ºπ∩ ó맮ó
- ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ setpgrp, «Γ¬αδóáÑΓ «Γñѽ∞¡πε ΓÑନ¡á½∞¡πε ½¿¡¿ε ¿ «íδτ¡«
- »α¿«ßΓá¡áó½¿óáÑΓß∩ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ open ñ« ΓÑσ »«α, »«¬á ¼áΦ¿¡á
- ¡Ñ »«½πτ¿Γ á»»áαáΓ¡πε ßó∩º∞ ß ΓÑନ¡á½«¼. è«úñá Σπ¡¬µ¿∩ open ó«ºóαáΘáÑΓ π»-
- αáó½Ñ¡¿Ñ, getty-»α«µÑßß ¿ß»«½¡∩ÑΓ »α«úαá¼¼π login (αÑú¿ßΓαᵿ¿ ó ß¿ßΓѼÑ),
- ¬«Γ«αá∩ ΓαÑíπÑΓ «Γ »«½∞º«óáΓѽÑ⌐, τΓ«íδ «¡¿ ¿ñÑ¡Γ¿Σ¿µ¿α«ó὿ ßÑí∩ π¬áºá¡¿Ñ¼
-
- 319
-
- αÑú¿ßΓαᵿ«¡¡«ú« ¿¼Ñ¡¿ ¿ »áα«½∩. àß½¿ »«½∞º«óáΓѽ∞ ºáαÑú¿ßΓα¿α«óá½ß∩ πß»ÑΦ-
- ¡«, »α«úαá¼¼á login ¡á¬«¡Ñµ ºá»π߬áÑΓ ¬«¼á¡ñ¡δ⌐ »α«µÑßß«α shell ¿ »«½∞º«óá-
- Γѽ∞ »α¿ßΓπ»áÑΓ ¬ αáí«ΓÑ. ¥Γ«Γ ó맮ó shell'á ¿¼Ñ¡πÑΓß∩ "login shell" (αÑú¿ß-
- Γαᵿ«¡¡δ⌐ shell, αÑú¿ßΓαᵿ«¡¡δ⌐ ¿¡ΓÑα»αÑΓáΓ«α ¬«¼á¡ñ). Åα«µÑßß, ßó∩ºá¡¡δ⌐
- ß shell'«¼, ¿¼ÑÑà ëà ªÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, τΓ« ¿ ¡áτá½∞¡δ⌐ getty-»α«µÑßß, »«φ-
- Γ«¼π login shell ∩ó½∩ÑΓß∩ »α«µÑßß«¼, ó«ºú½áó½∩εΘ¿¼ úαπ»»π »α«µÑßß«ó. àß½¿
- »«½∞º«óáΓѽ∞ ¡Ñ ß¼«ú πß»ÑΦ¡« ºáαÑú¿ßΓα¿α«óáΓ∞ß∩, »α«úαá¼¼á αÑú¿ßΓαᵿ¿ ºá-
- óÑαΦáÑΓß∩ τÑαѺ «»αÑñѽѡ¡δ⌐ »α«¼ÑªπΓ«¬ óαѼѡ¿, ºá¬αδóá∩ «Γ¬αδΓπε ΓÑନ-
- ¡á½∞¡πε ½¿¡¿ε, á »α«µÑßß ¡áτá½∞¡«⌐ ºáúαπº¬¿ »«α«ªñáÑΓ ñ½∩ φΓ«⌐ ½¿¡¿¿ ß½Ññπε-
- Θ¿⌐ getty-»α«µÑßß. Åα«µÑßß ¡áτá½∞¡«⌐ ºáúαπº¬¿ ñѽáÑΓ »áπºπ ñ« »«½πτÑ¡¿∩ ß¿ú-
- ¡á½á «í «¬«¡τá¡¿¿ »«α«ªñÑ¡¡«ú« αá¡ÑÑ »α«µÑßßá. Å«ß½Ñ ó«º«í¡«ó½Ñ¡¿∩ αáí«Γδ «¡
- óδ∩ß¡∩ÑΓ, íδ½ ½¿ »αѬαáΓ¿óΦ¿⌐ ßπΘÑßΓó«óá¡¿Ñ »α«µÑßß αÑú¿ßΓαᵿ«¡¡δ¼ shell'«¼
- ¿ Ñß½¿ φΓ« Γá¬, »«α«ªñáÑΓ ÑΘÑ «ñ¿¡ getty-»α«µÑßß, «Γ¬αδóáεΘ¿⌐ ΓÑନ¡á½,
- ó¼ÑßΓ« »αѬαáΓ¿óΦÑú« ßπΘÑßΓó«óá¡¿Ñ.
-
- ┌────────────────────────────────────────────────────────────┐
- │ á½ú«α¿Γ¼ login /* »α«µÑñπαá αÑú¿ßΓαᵿ¿ */ │
- │ { │
- │ ¿ß»«½¡∩ÑΓß∩ getty-»α«µÑßß: │
- │ πßΓá¡«ó¿Γ∞ úαπ»»π »α«µÑßß«ó (ó맮ó Σπ¡¬µ¿¿ setpgrp); │
- │ «Γ¬αδΓ∞ ΓÑନ¡á½∞¡πε ½¿¡¿ε; /* »α¿«ßΓá¡«ó ñ« ºáóÑαΦÑ¡¿∩│
- │ «Γ¬αδΓ¿∩ */ │
- │ Ñß½¿ («Γ¬αδΓ¿Ñ ºáóÑαΦ¿½«ß∞ πß»ÑΦ¡«) │
- │ { │
- │ ¿ß»«½¡¿Γ∞ »α«úαá¼¼π αÑú¿ßΓαᵿ¿: │
- │ ºá»α«ß¿Γ∞ ¿¼∩ »«½∞º«óáΓѽ∩; │
- │ «Γ¬½ετ¿Γ∞ φσ«-ß«»α«ó«ªñÑ¡¿Ñ, ºá»α«ß¿Γ∞ »áα«½∞; │
- │ Ñß½¿ (αÑú¿ßΓαᵿ∩ »α«Φ½á πß»ÑΦ¡«) │
- │ /* ¡á⌐ñÑ¡ ß««ΓóÑΓßΓóπεΘ¿⌐ »áα«½∞ ó /etc/passwd */ │
- │ { │
- │ »ÑαÑóÑßΓ¿ ΓÑନ¡á½ ó ¬á¡«¡¿τÑ߬¿⌐ αѪ¿¼ (ioctl);│
- │ ¿ß»«½¡¿Γ∞ shell; │
- │ } │
- │ ó »α«Γ¿ó¡«¼ ß½πτáÑ │
- │ ßτ¿ΓáΓ∞ ¬«½¿τÑßΓó« »«»δΓ«¬ αÑú¿ßΓαᵿ¿, »δΓáΓ∞ß∩│
- │ ºáαÑú¿ßΓα¿α«óáΓ∞ß∩ ß¡«óá ñ« ñ«ßΓ¿ªÑ¡¿∩ «»αÑñÑ- │
- │ ½Ñ¡¡«⌐ Γ«τ¬¿; │
- │ } │
- │ } │
- └────────────────────────────────────────────────────────────┘
-
- É¿ßπ¡«¬ 10.19. ǽú«α¿Γ¼ αÑú¿ßΓαᵿ¿
-
-
-
- E10.4 ÅÄÆÄèêF
-
- æσѼá αÑ὿ºáµ¿¿ ñαá⌐óÑα«ó πßΓα«⌐ßΓó, σ«Γ∩ ¿ «ΓóÑτáÑΓ ºá½«ªÑ¡¡δ¼ ΓαÑí«-
- óá¡¿∩¼, ßΓαáñáÑΓ ¡Ñ¬«Γ«α묨 ¡Ññ«ßΓáΓ¬á¼¿, ¬«Γ«αδÑ ß ú«ñἿ ßΓ὿ ºá¼ÑΓ¡ÑÑ.
- ÉạδÑ ñαá⌐óÑαδ ¿¼ÑεΓ ΓÑ¡ñÑ¡µ¿ε ñπí½¿α«óáΓ∞ ßó«¿ Σπ¡¬µ¿¿, ó τáßΓ¡«ßΓ¿ ñαá⌐-
- óÑαδ, ¬«Γ«αδÑ αÑ὿ºπεΓ ßÑΓÑóδÑ »α«Γ«¬«½δ ¿ ¬«Γ«αδÑ «íδτ¡« ó¬½ετáεΓ ó ßÑí∩
- ßѬµ¿ε π»αáó½Ñ¡¿∩ πßΓα«⌐ßΓó«¼ ¿ ßѬµ¿ε »α«Γ«¬«½á. ìÑß¼«Γα∩ ¡á Γ«, τΓ« ßѬµ¿∩
- »α«Γ«¬«½á ñ«½ª¡á íδΓ∞ «íΘÑ⌐ ñ½∩ óßÑσ ßÑΓÑóδσ πßΓα«⌐ßΓó, ¡á »αá¬Γ¿¬Ñ φΓ« ¡Ñ
- Γá¬, »«ß¬«½∞¬π ∩ñα« ¡Ñ ¿¼ÑÑΓ áñѬóáΓ¡δσ ¼Ñσá¡¿º¼«ó ñ½∩ «íΘÑú« ¿ß»«½∞º«óá¡¿∩.
- ìá»α¿¼Ñα, ß¿¼ó«½∞¡δÑ ß»¿ß¬¿ ¼«ú½¿ íδ íδΓ∞ »«½Ñº¡δ¼¿ í½áú«ñáα∩ ßó«¿¼ 󫺼«ª-
- ¡«ßΓ∩¼ ó íπΣÑα¿ºáµ¿¿, ¡« «¡¿ ΓαÑíπεΓ í«½∞Φ¿σ ºáΓαáΓ αÑßπαß«ó ¡á »«ß¿¼ó«½∞¡πε
- «íαáí«Γ¬π. Å«»δΓ¬¿ «í«⌐Γ¿ φëà ¼Ñσá¡¿º¼, τΓ«íδ »«óδß¿Γ∞ »α«¿ºó«ñ¿Γѽ∞¡«ßΓ∞
- ß¿ßΓѼδ, »α¿óѽ¿ ¬ ¡áαπΦÑ¡¿ε ¼«ñπ½∞¡«ßΓ¿ »«ñß¿ßΓѼδ π»αáó½Ñ¡¿∩ óó«ñ«¼-óδó«-
- ñ«¼. ÄΓßπΓßΓó¿Ñ «íΘ¡«ßΓ¿ ¡á πα«ó¡Ñ ñαá⌐óÑα«ó αáß»α«ßΓαá¡∩ÑΓß∩ 󻽫Γ∞ ñ«
-
- 320
-
- πα«ó¡∩ ¬«¼á¡ñ »«½∞º«óáΓѽ∩, ¡á ¬«Γ«α«¼ ¡Ñ߬«½∞¬« ¬«¼á¡ñ ¼«úπΓ óδ»«½¡∩Γ∞ «í-
- Θ¿Ñ ½«ú¿τÑ߬¿Ñ Σπ¡¬µ¿¿, ¡« αẽ¿τ¡δ¼¿ ßαÑñßΓóἿ. àΘÑ «ñ¿¡ ¡Ññ«ßΓáΓ«¬ »«ßΓ-
- α«Ñ¡¿∩ ñαá⌐óÑα«ó ºá¬½ετáÑΓß∩ ó Γ«¼, τΓ« ßÑΓÑóδÑ »α«Γ«¬«½δ ΓαÑíπεΓ ¿ß»«½∞º«-
- óá¡¿∩ ßαÑñßΓóá, »«ñ«í¡«ú« ßΓ᫬«ó«¼π ¿¡ΓÑαΣÑ⌐ßπ, ó ¬«Γ«α«¼ ¬áªñá∩ ñ¿ßµ¿»½¿¡á
- αÑ὿ºπÑΓ «ñ¡π ¿º τáßΓÑ⌐ »α«Γ«¬«½á ¿ ß«ßΓáó¡δÑ τáßΓ¿ ß«Ññ¿¡∩εΓß∩ ú¿í¬¿¼ «í-
- αẫ¼. Äñ¡á¬«, ß«Ññ¿¡¿Γ∞ Γαáñ¿µ¿«¡¡δÑ ßΓ᫬«óδÑ ¿¡ΓÑαΣÑ⌐ßδ ñ«ó«½∞¡« Γαπñ¡«.
- É¿τ¿ ¡Ññáó¡« αáºαáí«Γá½ ßσѼπ, »«½πτ¿óΦπε ¡áºóá¡¿Ñ "»«Γ«¬¿" (streams),
- ñ½∩ »«óδΦÑ¡¿∩ ¼«ñπ½∞¡«ßΓ¿ ¿ ú¿í¬«ßΓ¿ »«ñß¿ßΓѼδ π»αáó½Ñ¡¿∩ óó«ñ«¼-óδó«ñ«¼.
- 쿪Ñß½ÑñπεΘÑÑ «»¿ßá¡¿Ñ «ß¡«óδóáÑΓß∩ ¡á Ñú« αáí«ΓÑ [Ritchie 84b], σ«Γ∩ αÑ὿-
- ºáµ¿∩ φΓ«⌐ ßσѼδ ó óÑαß¿¿ V ß½Ñú¬á «Γ½¿τáÑΓß∩. Å«Γ«¬ »αÑñßΓáó½∩ÑΓ ß«í«⌐ »«½-
- ¡«ñπ»½Ñ¬ß¡πε ßó∩º∞ ¼Ñªñπ »α«µÑßß«¼ ¿ ñαá⌐óÑα«¼ πßΓα«⌐ßΓóá. Ä¡ ß«ßΓ«¿Γ ¿º ß«-
- ó«¬π»¡«ßΓ¿ ½¿¡Ñ⌐¡« ßó∩ºá¡¡δσ ¼Ñªñπ ß«í«⌐ »áα «τÑαÑñÑ⌐, ¬áªñá∩ ¿º ¬«Γ«αδσ
- (»áαá) ó¬½ετáÑΓ «ñ¡π «τÑαÑñ∞ ñ½∩ óó«ñá ¿ ñαπúπε - ñ½∩ óδó«ñá. è«úñá »α«µÑßß
- ºá»¿ßδóáÑΓ ñá¡¡δÑ ó »«Γ«¬, ∩ñα« »«ßδ½áÑΓ ñá¡¡δÑ ó «τÑαÑñ¿ ñ½∩ óδó«ñá; ¬«úñá
- ñαá⌐óÑα πßΓα«⌐ßΓóá »«½πτáÑΓ óσ«ñ¡δÑ ñá¡¡δÑ, «¡ »ÑαÑßδ½áÑΓ ¿σ ó «τÑαÑñ¿ ñ½∩
- óó«ñá ¬ »α«µÑßßπ, »α«¿ºó«ñ∩ΘѼπ τΓÑ¡¿Ñ. ÄτÑαÑñ¿ «í¼Ñ¡¿óáεΓß∩ ß««íΘÑ¡¿∩¼¿ ß
- ß«ßÑñ¡¿¼¿ «τÑαÑñ∩¼¿, ¿ß»«½∞ºπ∩ τÑΓ¬« «»αÑñѽѡ¡δ⌐ ¿¡ΓÑαΣÑ⌐ß. èáªñá∩ »áαá
- «τÑαÑñÑ⌐ ßó∩ºá¡á ß «ñ¡¿¼ ¿º ¼«ñπ½Ñ⌐ ∩ñαá, Γᬿ¼ ¬á¬ ñαá⌐óÑα, ßΓ᫬«óδ⌐ ¿¡-
- ΓÑαΣÑ⌐ß ¿½¿ »α«Γ«¬«½, ¿ ¼«ñ㫨 ∩ñαá αáí«ΓáεΓ ß ñá¡¡δ¼¿, »α«ΦÑñΦ¿¼¿ τÑαѺ ß«-
- «ΓóÑΓßΓóπεΘ¿Ñ «τÑαÑñ¿.
- èáªñá∩ «τÑαÑñ∞ »αÑñßΓáó½∩ÑΓ ß«í«⌐ ßΓαπ¬Γπαπ ñá¡¡δσ, ß«ßΓ«∩Θπε ¿º ß½Ññπε-
- Θ¿σ φ½Ñ¼Ñ¡Γ«ó:
- * »α«µÑñπαδ «Γ¬αδΓ¿∩, óδºδóáѼ«⌐ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿
- open
- * »α«µÑñπαδ ºá¬αδΓ¿∩, óδºδóáѼ«⌐ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿
- close
- * »α«µÑñπαδ "óδó«ñá", óδºδóáѼ«⌐ ñ½∩ »ÑαÑñáτ¿ ß««íΘÑ¡¿∩ ó «τÑαÑñ∞
- * »α«µÑñπαδ "«íß½πª¿óá¡¿∩", óδºδóáѼ«⌐, ¬«úñá «τÑαÑñ∞ ºá»½á¡¿α«óá¡á ¬ ¿ß-
- »«½¡Ñ¡¿ε
- * π¬áºáΓѽ∩ ¡á ß½ÑñπεΘπε «τÑαÑñ∞ ó »«Γ«¬Ñ
- * π¬áºáΓѽ∩ ¡á ß»¿ß«¬ ß««íΘÑ¡¿⌐, «ª¿ñáεΘ¿σ «íß½πª¿óá¡¿∩
- * π¬áºáΓѽ∩ ¡á ó¡πΓαÑ¡¡εε ßΓαπ¬Γπαπ ñá¡¡δσ, ß »«¼«Θ∞ε ¬«Γ«α«⌐ »«ññÑনóá-
- ÑΓß∩ αáí«τÑÑ ß«ßΓ«∩¡¿Ñ «τÑαÑñ¿
- * Σ½áú«ó, á Γá¬ªÑ óÑασ¡Ñ⌐ ¿ ¡¿ª¡Ñ⌐ «Γ¼ÑΓ«¬, ¿ß»«½∞ºπѼδσ ñ½∩ π»αáó½Ñ¡¿∩
- »«Γ«¬á¼¿ ñá¡¡δσ, ñ¿ß»ÑΓτÑα¿ºáµ¿¿ ¿ »«ññÑαªá¡¿∩ αáí«τÑú« ß«ßΓ«∩¡¿∩ «τÑαÑ-
- ñ¿.
- ƒñα« óδñѽ∩ÑΓ »áαδ «τÑαÑñÑ⌐, ß«ßÑñßΓóπεΘ¿Ñ ó »á¼∩Γ¿; ß½Ññ«óáΓѽ∞¡«, «τÑ-
- αÑñ∞ ½Ñú¬« ¼«ªÑΓ «Γδ߬áΓ∞ ßó«Ñú« »áαΓ¡Ñαá »« »áαÑ.
-
- ┌──────────┐
- │ ê¡ñÑ¬ß │
- ┌───────────────────────┤ Σá⌐½á │
- │ │πßΓα«⌐ßΓóá│
- v └──────────┘
- ┌────────────┬───────────┐
- çáú«½«ó«¬ │ ÄτÑαÑñ∞ │ ÄτÑαÑñ∞ │
- »«Γ«¬á │ ñ½∩ óδó«ñá │ ñ½∩ óó«ñá │
- └──────┬─────┴───────────┘
- │ ^
- v │
- ┌────────────┬─────┴─────┐
- äαá⌐óÑα │ ÄτÑαÑñ∞ │ ÄτÑαÑñ∞ │∙∙∙∙∙∙∙ »áαá «τÑαÑñÑ⌐
- │ ñ½∩ óδó«ñá │ ñ½∩ óó«ñá │
- └────────────┴───────────┘
-
- É¿ßπ¡«¬ 10.20. Å«Γ«¬ »«ß½Ñ «Γ¬αδΓ¿∩
-
-
- ôßΓα«⌐ßΓó« ß »«Γ«¬«óδ¼ ñαá⌐óÑα«¼ ∩ó½∩ÑΓß∩ πßΓα«⌐ßΓó«¼ »«ß¿¼ó«½∞¡«ú« óó«-
-
- 321
-
- ñá-óδó«ñá; «¡« ¿¼ÑÑΓ ó Γáí½¿µÑ ¬½ετÑ⌐ πßΓα«⌐ßΓó ß««ΓóÑΓßΓóπεΘÑú« Γ¿»á ߻ѵ¿-
- á½∞¡«Ñ »«½Ñ, ¬«Γ«α«Ñ π¬áºδóáÑΓ ¡á ßΓαπ¬Γπαπ ¿¡¿µ¿á½¿ºáµ¿¿ »«Γ«¬á, ß«ñÑαªáΘπε
- áñαÑßá »α«µÑñπα, á Γá¬ªÑ óÑασ¡εε ¿ ¡¿ª¡εε «Γ¼ÑΓ¬¿, π»«¼∩¡πΓδÑ óδΦÑ. è«úñá
- ∩ñα« óδ»«½¡∩ÑΓ ß¿ßΓѼ¡πε Σπ¡¬µ¿ε open ¿ «í¡áαπª¿óáÑΓ, τΓ« Σá⌐½ πßΓα«⌐ßΓóá
- ¿¼ÑÑΓ Γ¿» "߻ѵ¿á½∞¡δ⌐ ß¿¼ó«½∞¡δ⌐", «¡« »α«óÑα∩ÑΓ ¡á½¿τ¿Ñ ¡«ó«ú« »«½∩ ó Γáí-
- ½¿µÑ ¬½ετÑ⌐ πßΓα«⌐ßΓó »«ß¿¼ó«½∞¡«ú« óó«ñá-óδó«ñá. àß½¿ ó Γáí½¿µÑ «ΓßπΓßΓóπÑΓ
- ß««ΓóÑΓßΓóπεΘá∩ Γ«τ¬á óσ«ñá, Γ« ñαá⌐óÑα ¡Ñ ∩ó½∩ÑΓß∩ »«Γ«¬«óδ¼, ¿ ∩ñα« óδ»«½-
- ¡∩ÑΓ »α«µÑñπαπ, «íδτ¡πε ñ½∩ πßΓα«⌐ßΓó »«ß¿¼ó«½∞¡«ú« óó«ñá-óδó«ñá. Äñ¡á¬«,
- »α¿ »Ñαó«¼ ªÑ «Γ¬αδΓ¿¿ »«Γ«¬«ó«ú« ñαá⌐óÑαá ∩ñα« óδñѽ∩ÑΓ ñóÑ »áαδ «τÑαÑñÑ⌐ -
- «ñ¡π ñ½∩ ºáú«½«ó¬á »«Γ«¬á ¿ ñαπúπε ñ½∩ ñαá⌐óÑαá. ô óßÑσ «Γ¬αδΓδσ »«Γ«¬«ó ¼«-
- ñπ½∞ ºáú«½«ó¬á ¿¼ÑÑΓ ¿ñÑ¡Γ¿τ¡πε ßΓαπ¬Γπαπ: «¡ ß«ñÑαª¿Γ «íΘπε »α«µÑñπαπ "óδ-
- ó«ñá" ¿ «íΘπε »α«µÑñπαπ "«íß½πª¿óá¡¿∩" ¿ ¿¼ÑÑΓ ¿¡ΓÑαΣÑ⌐ß ß ¼«ñπ½∩¼¿ ∩ñαá í«-
- ½ÑÑ óδß«¬«ú« πα«ó¡∩, óδ»«½¡∩εΘ¿¼¿ Σπ¡¬µ¿¿ read, write ¿ ioctl. ƒñα« ¿¡¿µ¿á-
- ½¿º¿απÑΓ ßΓαπ¬Γπαπ «τÑαÑñÑ⌐ ñαá⌐óÑαá, ¡áº¡áτá∩ º¡áτÑ¡¿∩ π¬áºáΓѽ∩¼ ¬áªñ«⌐
- «τÑαÑñ¿ ¿ ¬«»¿απ∩ áñαÑßá »α«µÑñπα ñαá⌐óÑαá ¿º ßΓαπ¬Γπαδ ¿¡¿µ¿á½¿ºáµ¿¿ ñαá⌐-
- óÑαá, ¿ ºá»π߬áÑΓ »α«µÑñπαπ «Γ¬αδΓ¿∩. Åα«µÑñπαá «Γ¬αδΓ¿∩ ñαá⌐óÑαá óδ»«½¡∩ÑΓ
- «íδτ¡πε ¿¡¿µ¿á½¿ºáµ¿ε, ¡« »α¿ φΓ«¼ ß«σαá¡∩ÑΓ ¿¡Σ«α¼áµ¿ε, ¡Ñ«íσ«ñ¿¼πε ñ½∩
- »«óΓ«α¡«ú« «íαáΘÑ¡¿∩ ¬ áßß«µ¿¿α«óá¡¡«⌐ ß φΓ«⌐ »α«µÑñπα«⌐ «τÑαÑñ¿. ìᬫ¡Ñµ,
- ∩ñα« «Γó«ñ¿Γ ߻ѵ¿á½∞¡δ⌐ π¬áºáΓѽ∞ ó ¬«»¿¿ ¿¡ñѬßá ó »á¼∩Γ¿ ñ½∩ ßß佬¿ ¡á
- ºáú«½«ó«¬ »«Γ«¬á (É¿ßπ¡«¬ 10.20). è«úñá ÑΘÑ «ñ¿¡ »α«µÑßß «Γ¬αδóáÑΓ πßΓα«⌐ßΓ-
- ó«, ∩ñα« «í¡áαπª¿óáÑΓ ¡áº¡áτÑ¡¡δ⌐ αá¡ÑÑ »«Γ«¬ ß »«¼«Θ∞ε φΓ«ú« π¬áºáΓѽ∩ ¿
- ºá»π߬áÑΓ »α«µÑñπαπ «Γ¬αδΓ¿∩ ñ½∩ óßÑσ ¼«ñπ½Ñ⌐ »«Γ«¬á.
- î«ñ㫨 »«ññÑনóáεΓ ßó∩º∞ ß« ßó«¿¼¿ ß«ßÑñ∩¼¿ »« »«Γ«¬π »πΓѼ »ÑαÑñáτ¿
- ß««íΘÑ¡¿⌐. æ««íΘÑ¡¿Ñ ß«ßΓ«¿Γ ¿º ß»¿ß¬á ºáú«½«ó¬«ó í½«¬«ó, ß«ñÑαªáΘ¿σ ¿¡Σ«α-
- ¼áµ¿ε ß««íΘÑ¡¿∩; ¬áªñδ⌐ ºáú«½«ó«¬ í½«¬á ß«ñÑαª¿Γ ßß佬π ¡á ¼ÑßΓ« αáß»«½«ªÑ-
- ¡¿∩ ¡áτá½á ¿ ¬«¡µá ¿¡Σ«α¼áµ¿¿ í½«¬á. æπΘÑßΓóπÑΓ ñóá Γ¿»á ß««íΘÑ¡¿⌐ - π»αáó-
- ½∩εΘÑÑ ¿ ¿¡Σ«α¼áµ¿«¡¡«Ñ, ¬«Γ«αδÑ «»αÑñѽ∩εΓß∩ π¬áºáΓѽ∩¼¿ Γ¿»á ó ºáú«½«ó¬Ñ
- ß««íΘÑ¡¿∩. ô»αáó½∩εΘ¿Ñ ß««íΘÑ¡¿∩ ¼«úπΓ íδΓ∞ αѺπ½∞ΓáΓ«¼ óδ»«½¡Ñ¡¿∩ ß¿ßΓѼ¡«⌐
- Σπ¡¬µ¿¿ ioctl ¿½¿ αѺπ½∞ΓáΓ«¼ «ß«íδσ πß½«ó¿⌐, Γᬿσ ¬á¬ ºáó¿ßá¡¿Ñ ΓÑନ¡á½á,
- á ¿¡Σ«α¼áµ¿«¡¡δÑ ß««íΘÑ¡¿∩ ¼«úπΓ ó«º¡¿¬áΓ∞ ó αѺπ½∞ΓáΓÑ óδ»«½¡Ñ¡¿∩ ß¿ßΓѼ¡«⌐
- Σπ¡¬µ¿¿ write ¿½¿ ó αѺπ½∞ΓáΓÑ »«ßΓπ»½Ñ¡¿∩ ñá¡¡δσ «Γ πßΓα«⌐ßΓóá.
-
- æ««íΘÑ¡¿Ñ 1 æ««íΘÑ¡¿Ñ 2 æ««íΘÑ¡¿Ñ 3
- ┌─────────┐ ┌─────────┐ ┌─────────┐
- │ ü½«¬ ├─────────>│ ├────────>│ │
- └────┬────┘ └─────────┘ └────┬────┘
- v v
- ┌─────────┐ ┌─────────┐
- │ │ │ │
- └────┬────┘ └─────────┘
- v
- ┌─────────┐
- │ │
- └─────────┘
-
- É¿ßπ¡«¬ 10.21. æ««íΘÑ¡¿∩ ó »«Γ«¬áσ
-
-
- è«úñá »α«µÑßß »α«¿ºó«ñ¿Γ ºá»¿ß∞ ó »«Γ«¬, ∩ñα« ¬«»¿απÑΓ ñá¡¡δÑ ¿º áñαÑß-
- ¡«ú« »α«ßΓαá¡ßΓóá ºáñáτ¿ ó í½«¬¿ ß««íΘÑ¡¿∩, ¬«Γ«αδÑ óδñѽ∩εΓß∩ ¼«ñπ½Ñ¼ ºáú«-
- ½«ó¬á »«Γ«¬á. î«ñπ½∞ ºáú«½«ó¬á »«Γ«¬á ºá»π߬áÑΓ »α«µÑñπαπ "óδó«ñá" ñ½∩ ¼«ñπ-
- ½∩ ß½ÑñπεΘÑ⌐ «τÑαÑñ¿, ¬«Γ«αá∩ «íαáíáΓδóáÑΓ ß««íΘÑ¡¿Ñ, ¡Ñºá¼Ññ½¿Γѽ∞¡« »ÑαÑ-
- ñáÑΓ Ñú« ó ß½ÑñπεΘπε «τÑαÑñ∞ ¿½¿ ßΓáó¿Γ ó φΓπ ªÑ «τÑαÑñ∞ ñ½∩ »«ß½ÑñπεΘÑ⌐ «í-
- αáí«Γ¬¿. é »«ß½Ññ¡Ñ¼ ß½πτáÑ ¼«ñπ½∞ ßó∩ºδóáÑΓ ºáú«½«ó¬¿ í½«¬«ó ß««íΘÑ¡¿∩ ó
- ß»¿ß«¬ ß π¬áºáΓѽ∩¼¿, Σ«α¼¿απ∩ ñóπ¡á»αáó½Ñ¡¡δ⌐ ß»¿ß«¬ (É¿ßπ¡«¬ 10.21). çáΓѼ
- «¡ πßΓá¡áó½¿óáÑΓ ó ßΓαπ¬ΓπαÑ ñá¡¡δσ «τÑαÑñ¿ Σ½áú, »«¬áºδóá∩ ΓѼ ßá¼δ¼, τΓ«
- ¿¼ÑεΓß∩ ñá¡¡δÑ ñ½∩ «íαáí«Γ¬¿, ¿ »½á¡¿απÑΓ ß«íßΓóÑ¡¡«Ñ «íß½πª¿óá¡¿Ñ. î«ñπ½∞
- ó¬½ετáÑΓ «τÑαÑñ∞ ó ß»¿ß«¬ «τÑαÑñÑ⌐, ΓαÑíπεΘ¿σ «íß½πª¿óá¡¿∩ ¿ ºá»π߬áÑΓ ¼Ñσá-
- ¡¿º¼ ñ¿ß»ÑΓτÑα¿ºáµ¿¿; »½á¡¿α«óΘ¿¬ (ñ¿ß»ÑΓτÑα) óδºδóáÑΓ »α«µÑñπαδ «íß½πª¿óá-
-
- 322
-
- ¡¿∩ ñ½∩ ¬áªñ«⌐ «τÑαÑñ¿ ó ß»¿ß¬Ñ. ƒñα« ¼«ªÑΓ »½á¡¿α«óáΓ∞ «íß½πª¿óá¡¿Ñ ¼«ñπ½Ñ⌐
- »« »α«úαá¼¼¡«¼π »αÑαδóá¡¿ε, »«ñ«í¡« Γ«¼π, ¬á¬ «¡« óδºδóáÑΓ Σπ¡¬µ¿¿ ó Γáí½¿µÑ
- «ΓóÑΓ¡δσ ß¿ú¡á½«ó (ß¼. ú½áóπ 8); «íαáí«Γτ¿¬ »α«úαá¼¼¡δσ »αÑαδóá¡¿⌐ óδºδóáÑΓ
- ¿¡ñ¿ó¿ñπá½∞¡δÑ »α«µÑñπαδ «íß½πª¿óá¡¿∩.
- ┌──────────┐
- │ ê¡ñÑ¬ß │
- ┌───────────────────────┤ Σá⌐½á │
- │ │πßΓα«⌐ßΓóá│
- v └──────────┘
- ┌────────────┬───────────┐
- çáú«½«ó«¬ │ ÄτÑαÑñ∞ │ ÄτÑαÑñ∞ │
- »«Γ«¬á │ ñ½∩ óδó«ñá │ ñ½∩ óó«ñá │
- └──────┬─────┴───────────┘
- │ ^
- │ │
- v │
- ┌────────────┬───────────┐
- æΓ᫬«óδ⌐ │ ÄτÑαÑñ∞ │ ÄτÑαÑñ∞ │
- ¿¡ΓÑαΣÑ⌐ß │ ñ½∩ óδó«ñá │ ñ½∩ óó«ñá │
- └──────┬─────┴───────────┘
- │ ^
- │ │
- v │
- ┌────────────┬─────┴─────┐
- ÆÑନ¡á½∞¡δ⌐ │ ÄτÑαÑñ∞ │ ÄτÑαÑñ∞ │
- ñαá⌐óÑα │ ñ½∩ óδó«ñá │ ñ½∩ óó«ñá │
- └────────────┴───────────┘
-
- É¿ßπ¡«¬ 10.22. Åα«ñó¿ªÑ¡¿Ñ ¼«ñπ½∩ ¬ »«Γ«¬π
-
-
- Åα«µÑßßδ ¼«úπΓ "»α«ñó¿úáΓ∞" ¼«ñ㫨 ¬ «Γ¬αδΓ«¼π »«Γ«¬π, ¿ß»«½∞ºπ∩ ó맮ó
- ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ ioctl. ƒñα« »«¼ÑΘáÑΓ óδñó¿¡πΓδ⌐ ¼«ñπ½∞ ßαáºπ »«ñ ºáú«½«ó-
- ¬«¼ »«Γ«¬á ¿ ßó∩ºδóáÑΓ π¬áºáΓѽ¿ «τÑαÑñ¿ Γᬿ¼ «íαẫ¼, τΓ«íδ ß«σαá¡¿Γ∞ ñóπ-
- ¡á»αáó½Ñ¡¡πε ßΓαπ¬Γπαπ ß»¿ß¬á. î«ñπ½¿, αáß»«½«ªÑ¡¡δÑ ó »«Γ«¬Ñ ¡¿ªÑ, ¡Ñ íÑß-
- »«¬«∩Γß∩ « Γ«¼, ßó∩ºá¡δ ½¿ «¡¿ ß ºáú«½«ó¬«¼ »«Γ«¬á ¿½¿ ªÑ ß óδñó¿¡πΓδ¼ ¼«ñπ-
- ½Ñ¼: ¿¡ΓÑαΣÑ⌐ß«¼ óδßΓπ»áÑΓ »α«µÑñπαá "óδó«ñá" ß½ÑñπεΘÑ⌐ «τÑαÑñ¿ ó »«Γ«¬Ñ; á
- ß½ÑñπεΘá∩ «τÑαÑñ∞ »α¿¡áñ½Ñª¿Γ Γ«½∞¬« τΓ« óδñó¿¡πΓ«¼π ¼«ñπ½ε. ìá»α¿¼Ñα, »α«-
- µÑßß ¼«ªÑΓ óδñó¿¡πΓ∞ ¼«ñπ½∞ ßΓ᫬«ó«ú« ¿¡ΓÑαΣÑ⌐ßá ó »«Γ«¬ ΓÑନ¡á½∞¡«ú«
- ñαá⌐óÑαá ß µÑ½∞ε «íαáí«Γ¬¿ ß¿¼ó«½«ó ßΓ¿αá¡¿∩ ¿ πñá½Ñ¡¿∩ (É¿ßπ¡«¬ 10.22); ¼«-
- ñπ½∞ ßΓ᫬«ó«ú« ¿¡ΓÑαΣÑ⌐ßá ¡Ñ ¿¼ÑÑΓ ΓÑσ ªÑ ß«ßΓáó½∩εΘ¿σ, τΓ« ¿ ßΓ᫬«óδÑ ¿¡-
- ΓÑαΣÑ⌐ßδ, αáßß¼«ΓαÑ¡¡δÑ ó αáºñÑ½Ñ 10.3, ¡« óδ»«½¡∩ÑΓ ΓÑ ªÑ Σπ¡¬µ¿¿. üѺ ¼«-
- ñπ½∩ ßΓ᫬«ó«ú« ¿¡ΓÑαΣÑ⌐ßá ΓÑନ¡á½∞¡δ⌐ ñαá⌐óÑα ¡Ñ «íαáí«ΓáÑΓ óó«ñ¡δÑ ß¿¼ó«-
- ½δ ¿ «¡¿ »«ßΓπ»∩Γ ó ºáú«½«ó«¬ »«Γ«¬á ó ¡Ñ¿º¼Ñ¡Ñ¡¡«¼ ó¿ñÑ. æÑú¼Ñ¡Γ »α«úαá¼¼δ,
- «Γ¬αδóáεΘ¿⌐ ΓÑନ¡á½ ¿ óδñó¿úáεΘ¿⌐ ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß, ¼«ªÑΓ óδú½∩ñÑΓ∞ ß½Ñ-
- ñπεΘ¿¼ «íαẫ¼:
-
- fd = open("/dev/ttyxy",O_RDWR);
- ioctl(fd,PUSH,TTYLD);
-
- úñÑ PUSH - ¿¼∩ ¬«¼á¡ñδ, á TTYLD - τ¿ß½«, ¿ñÑ¡Γ¿Σ¿µ¿απεΘÑÑ ¼«ñπ½∞ ßΓ᫬«ó«ú«
- ¿¡ΓÑαΣÑ⌐ßá. ìÑ ßπΘÑßΓóπÑΓ «úαá¡¿τÑ¡¿∩ ¡á ¬«½¿τÑßΓó« ¼«ñπ½Ñ⌐, ¼«úπΘ¿σ íδΓ∞
- óδñó¿¡πΓ묨 ó »«Γ«¬. Åα«µÑßß ¼«ªÑΓ óδΓὬ¿óáΓ∞ ¼«ñ㫨 ¿º »«Γ«¬á ó »«α∩ñ¬Ñ
- »«ßΓπ»½Ñ¡¿∩, "»Ñαóδ¼ »α¿Φѽ - »Ñαóδ¼ óδΦѽ", ¿ß»«½∞ºπ∩ ÑΘÑ «ñ¿¡ ó맮ó ß¿ß-
- ΓѼ¡«⌐ Σπ¡¬µ¿¿ ioctl
-
- ioctl(fd,POP,0);
-
- Åα¿ Γ«¼, τΓ« ¼«ñπ½∞ ßΓ᫬«ó«ú« ¿¡ΓÑαΣÑ⌐ßá óδ»«½¡∩ÑΓ «íδτ¡δÑ Σπ¡¬µ¿¿ »«
-
- 323
-
- π»αáó½Ñ¡¿ε ΓÑନ¡á½«¼, ß««ΓóÑΓßΓóπεΘÑÑ Ñ¼π πßΓα«⌐ßΓó« ¼«ªÑΓ íδΓ∞ ßαÑñßΓó«¼
- ßÑΓÑó«⌐ ßó∩º¿ ó¼ÑßΓ« Γ«ú«, τΓ«íδ «íÑß»Ñτ¿óáΓ∞ ßó∩º∞ ß «ñ¡¿¼-Ññ¿¡ßΓóÑ¡¡δ¼
- ΓÑନ¡á½«¼. î«ñπ½∞ ßΓ᫬«ó«ú« ¿¡ΓÑαΣÑ⌐ßá αáí«ΓáÑΓ «ñ¿¡á¬«ó«, ¡Ñºáó¿ß¿¼« «Γ
- Γ«ú«, ¬á¬«ú« Γ¿»á ¼«ñπ½∞ αáß»«½«ªÑ¡ ¡¿ªÑ ¡Ñú«. ¥Γ«Γ »α¿¼Ñα ¡áú½∩ñ¡« ñѼ«¡ßΓ-
- α¿απÑΓ »«óδΦÑ¡¿Ñ ú¿í¬«ßΓ¿ óß½ÑñßΓó¿Ñ ß«Ññ¿¡Ñ¡¿∩ ¼«ñπ½Ñ⌐ ∩ñαá.
-
-
- E10.4.1 ü«½ÑÑ ñÑΓá½∞¡«Ñ αáßß¼«ΓαÑ¡¿Ñ »«Γ«¬«óF
-
- Åá⌐¬ «»¿ßδóáÑΓ αÑ὿ºáµ¿ε ¼π½∞Γ¿»½Ñ¬ß¡δσ ó¿αΓπá½∞¡δσ ΓÑନ¡á½«ó, ¿ß»«½∞-
- ºπεΘπε »«Γ«¬¿ (ß¼. [Pike 84]). Å«½∞º«óáΓѽ∞ ó¿ñ¿Γ ¡Ñ߬«½∞¬« ó¿αΓπá½∞¡δσ ΓÑα-
- ¼¿¡á½«ó, ¬áªñδ⌐ ¿º ¬«Γ«αδσ ºá¡¿¼áÑΓ «Γñѽ∞¡«Ñ «¬¡« ¡á φ¬αá¡Ñ Σ¿º¿τÑ߬«ú«
- ΓÑନ¡á½á. ò«Γ∩ ó ßΓáΓ∞Ñ Åá⌐¬á αáßß¼áΓα¿óáÑΓß∩ ßσѼá ñ½∩ ¿¡Γѽ½Ñ¬Γπá½∞¡δσ
- úαáΣ¿τÑ߬¿σ ΓÑନ¡á½«ó, «¡á αáí«Γá½á íδ ¿ ñ½∩ ΓÑନ¡á½«ó óó«ñá-óδó«ñá Γ«ªÑ;
- ¬áªñ«Ñ «¬¡« ºá¡¿¼á½« íδ µÑ½δ⌐ φ¬αá¡ ¿ »«½∞º«óáΓѽ∞ ñ½∩ »ÑαѬ½ετÑ¡¿∩ ó¿αΓπ-
- á½∞¡δσ «¬«¡ ¡áí¿αá½ íδ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ π»αáó½∩εΘ¿σ ¬½áó¿Φ.
-
- ┌─────────┐ ┌─────────┐ ┌─────────────────┐
- ôα«óÑ¡∞ │ shell 1 │ │ shell 2 │ │ mpx │
- »«½∞º«óáΓѽ∩ └─────────┘ └─────────┘ └─────────────────┘
- ───────────────┬───────────────┬───────────┬───┬───────┬────
- ôα«óÑ¡∞ ∩ñαá │ ^ │ ^ ┌──┘ ^ │ ^ │ ^
- │ │ │ │ │ ┌──┘ │ │ │ │
- │ │ │ │ │ │ │ │ │ │
- v │ v │ ß«- v │ v │ ß«- │ │
- ΓÑନ- ┌─┬┴┐ ΓÑନ- ┌─┬┴┐ «í-┌─┬┴┐ ┌─┬┴┐«í- │ │
- ¡á½∞¡á∩ │ │ │ ¡á½∞¡á∩ │ │ │ ΘÑ-│ │ │ │ │ │ΘÑ- │ │
- ½¿¡¿∩ └┬┴─┘ ½¿¡¿∩ └┬┴─┘ ¡¿∩└┬┴─┘ └┬┴─┘¡¿∩ │ │
- │ ^ ┌───────────┼─^──────┘ ^ │ ^ │ │
- │ │ │ ┌─────────┼─┼────────┘ │ │ │ │
- │ │ │ │ │ │ ┌───────────┘ │ │ │
- v │ v │ v │ v ┌───────────┘ v │
- ┌─┬┴┬─┬┴┐ ┌─┬┴┬─┬┴┐ ┌─┬┴┐
- »ßÑóñ«- │ │ │ │ │ │ │ │ │ │ »ßÑóñ«- │ │ │
- ΓÑନ- └┼┴─┴┼┴─┘ └┼┴─┴┼┴─┘ ΓÑନ- └─┴─┘
- ¡á½∞¡á∩ │ ^ │ ^ │ ^ │ ^ ¡á½∞¡á∩ ΓÑନ-
- »áαá 1 │ └─┘ │ │ └─┘ │ »áαá 2 ¡á½∞¡δ⌐
- └─────┘ └─────┘ ñαá⌐óÑα
-
- É¿ßπ¡«¬ 10.23. ÄΓ«íαáªÑ¡¿Ñ ó¿αΓπá½∞¡δσ «¬«¡ ¡á φ¬αá¡Ñ Σ¿º¿-
- τÑ߬«ú« ΓÑନ¡á½á
-
-
- ìá É¿ßπ¡¬Ñ 10.23 »«¬áºá¡á ßσѼá αáß»«½«ªÑ¡¿∩ »α«µÑßß«ó ¿ ¼«ñπ½Ñ⌐ ∩ñαá.
- Å«½∞º«óáΓѽ∞ óδºδóáÑΓ »α«µÑßß mpx, ¬«¡Γα«½¿απεΘ¿⌐ αáí«Γπ Σ¿º¿τÑ߬«ú« ΓÑନ-
- ¡á½á. Mpx τ¿ΓáÑΓ ñá¡¡δÑ ¿º ½¿¡¿¿ Σ¿º¿τÑ߬«ú« ΓÑନ¡á½á ¿ ªñÑΓ «íΩ∩ó½Ñ¡¿∩ «í
- π»αáó½∩εΘ¿σ ß«íδΓ¿∩σ, Γᬿσ ¬á¬ ß«ºñá¡¿Ñ ¡«ó«ú« «¬¡á, »ÑαѬ½ετÑ¡¿Ñ π»αáó½Ñ-
- ¡¿∩ ¡á ñαπú«Ñ «¬¡«, πñá½Ñ¡¿Ñ «¬¡á ¿ Γ.».
- è«úñá mpx »«½πτáÑΓ πóÑñ«¼½Ñ¡¿Ñ « Γ«¼, τΓ« »«½∞º«óáΓÑ½ε ¡πª¡« ß«ºñáΓ∞ ¡«-
- ó«Ñ «¬¡«, «¡ ß«ºñáÑΓ »α«µÑßß, π»αáó½∩εΘ¿⌐ ¡«óδ¼ «¬¡«¼, ¿ »«ññÑনóáÑΓ ßó∩º∞
- ß ¡¿¼ τÑαѺ »ßÑóñ«ΓÑନ¡á½. ÅßÑóñ«ΓÑନ¡á½ - φΓ« »α«úαá¼¼¡«Ñ πßΓα«⌐ßΓó«, αá-
- í«ΓáεΘÑÑ »« »α¿¡µ¿»π »áαδ: óδσ«ñ¡δÑ ñá¡¡δÑ, ¡á»αáó½∩ѼδÑ ¬ «ñ¡«⌐ ß«ßΓáó½∩ε-
- ΘÑ⌐ »áαδ, »«ßδ½áεΓß∩ ¡á óσ«ñ ñαπú«⌐ ß«ßΓáó½∩εΘÑ⌐; óσ«ñ¡δÑ ñá¡¡δÑ »«ßδ½áεΓß∩
- Γ«¼π ¼«ñπ½ε »«Γ«¬á, ¬«Γ«αδ⌐ αáß»«½«ªÑ¡ óδΦÑ »« ΓÑτÑ¡¿ε. ä½∩ Γ«ú«, τΓ«íδ «Γ¬-
- αδΓ∞ «¬¡« (É¿ßπ¡«¬ 10.24), mpx ¡áº¡áτáÑΓ »ßÑóñ«ΓÑନ¡á½∞¡πε »áαπ ¿ «Γ¬αδóáÑΓ
- «ñ¡π ¿º ß«ßΓáó½∩εΘ¿σ »áαδ, ¡á»αáó½∩∩ »«Γ«¬ ¬ ¡Ñ⌐ («Γ¬αδΓ¿Ñ ñαá⌐óÑαá ß½πª¿Γ
- úáαá¡Γ¿Ñ⌐ Γ«ú«, τΓ« »ßÑóñ«ΓÑନ¡á½∞¡á∩ »áαá ¡Ñ íδ½á óδíαá¡á αá¡∞ΦÑ). Mpx
- óÑΓó¿Γß∩ ¿ ¡«óδ⌐ »α«µÑßß «Γ¬αδóáÑΓ ñαπúπε ß«ßΓáó½∩εΘπε »ßÑóñ«ΓÑନ¡á½∞¡«⌐
-
-
- 324
-
- ┌────────────────────────────────────────────────────────────────┐
- │ /* »αÑñ»«½«ª¿¼, τΓ« ñÑß¬α¿»Γ«αδ Σá⌐½«ó 0 ¿ 1 πªÑ «Γ¡«ß∩Γß∩ ¬ │
- │ Σ¿º¿τÑ߬«¼π ΓÑନ¡á½π */ │
- │ ñ½∩(;;) /* µ¿¬½ */ │
- │ { │
- │ óδíαáΓ∞(óó«ñ); /* ªñáΓ∞ óó«ñá ¿º ¬á¬«⌐-½¿í« ½¿¡¿¿ */ │
- │ »α«τ¿ΓáΓ∞ ñá¡¡δÑ, óóÑñÑ¡¡δÑ ¿º ½¿¡¿¿; │
- │ »ÑαѬ½ετ¿Γ∞(½¿¡¿ε ß óó«ñ¿¼δ¼¿ ñá¡¡δ¼¿) │
- │ { │
- │ Ñß½¿ óδíαá¡ Σ¿º¿τÑ߬¿⌐ ΓÑନ¡á½: /* ñá¡¡δÑ óó«ñ∩Γß∩ »« ½¿- │
- │ ¡¿¿ Σ¿º¿τÑ߬«ú« ΓÑନ- │
- │ ¡á½á */ │
- │ Ñß½¿(ßτ¿Γá¡á π»αáó½∩εΘá∩ ¬«¼á¡ñá) /* ¡á»α¿¼Ñα, ß«ºñá¡¿Ñ │
- │ ¡«ó«ú« «¬¡á */ │
- │ { │
- │ «Γ¬αδΓ∞ ßó«í«ñ¡δ⌐ »ßÑóñ«ΓÑନ¡á½; │
- │ »«⌐Γ¿ »« óÑΓó¿ ¡«ó«ú« »α«µÑßßá: │
- │ Ñß½¿(»α«µÑßß α«ñ¿Γѽ∞߬¿⌐) │
- │ { │
- │ óδñó¿¡πΓ∞ ¿¡ΓÑαΣÑ⌐ß ß««íΘÑ¡¿⌐ ó ßΓ«α«¡π mpx; │
- │ »α«ñ«½ª¿Γ∞; /* ó«ºóαáΓ ó µ¿¬½ "ñ½∩" */ │
- │ } │
- │ /* »α«µÑßß-»«Γ«¼«¬ */ │
- │ ºá¬αδΓ∞ ¡Ñ¡πª¡δÑ ñÑß¬α¿»Γ«αδ Σá⌐½«ó; │
- │ «Γ¬αδΓ∞ ñαπú«⌐ »ßÑóñ«ΓÑନ¡á½ ¿º »áαδ, óδíαáΓ∞ stdin, │
- │ stdout, stderr; │
- │ óδñó¿¡πΓ∞ ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß ΓÑନ¡á½á; │
- │ ºá»πßΓ¿Γ∞ shell; /* »«ñ«í¡« ó¿αΓπá½∞¡«¼π ΓÑନ¡á½π */│
- │ } │
- │ /* "«íδτ¡δÑ" ñá¡¡δÑ, »«∩ó¿óΦ¿Ñß∩ τÑαѺ ó¿αΓπá½∞¡δ⌐ ΓÑନ¡á½ */ │
- │ ñѼπ½∞Γ¿»½Ñ¬ß¿α«óáΓ∞ ßτ¿Γδóá¡¿Ñ ñá¡¡δσ ß Σ¿º¿τÑ߬«ú« ΓÑα-│
- │ ¼¿¡á½á, ß¡∩Γ∞ ºáú«½«ó¬¿ ¿ óÑßΓ¿ ºá»¿ß∞ ¡á ß««ΓóÑΓßΓóπε- │
- │ Θ¿⌐ »ßÑóñ«ΓÑନ¡á½; │
- │ »α«ñ«½ª¿Γ∞; /* ó«ºóαáΓ ó µ¿¬½ "ñ½∩" */ │
- │ │
- │ Ñß½¿ óδíαá¡ ½«ú¿τÑ߬¿⌐ ΓÑନ¡á½: /* ó¿αΓπá½∞¡δ⌐ ΓÑନ¡á½ │
- │ ßó∩ºá¡ ß «¬¡«¼ */ │
- │ ºá¬«ñ¿α«óáΓ∞ ºáú«½«ó«¬, π¬áºδóáεΘ¿⌐ ¡áº¡áτÑ¡¿Ñ ¿¡Σ«α¼áµ¿¿│
- │ «¬¡á; │
- │ »ÑαÑ»¿ßáΓ∞ ºáú«½«ó«¬ ¿ ¿¡Σ«α¼áµ¿ε ¡á Σ¿º¿τÑ߬¿⌐ ΓÑନ¡á½;│
- │ »α«ñ«½ª¿Γ∞; /* ó«ºóαáΓ ó µ¿¬½ "ñ½∩" */ │
- │ } │
- │ } │
- └────────────────────────────────────────────────────────────────┘
-
- É¿ßπ¡«¬ 10.24. ÅßÑóñ«»α«úαá¼¼á ¼π½∞Γ¿»½Ñ¬ß¿α«óá¡¿∩ «¬«¡
-
-
- »áαδ. Mpx óδñó¿úáÑΓ ¼«ñπ½∞ π»αáó½Ñ¡¿∩ ß««íΘÑ¡¿∩¼¿ ó »ßÑóñ«ΓÑନ¡á½∞¡δ⌐ »«-
- Γ«¬, τΓ«íδ »αÑ«íαẫóδóáΓ∞ π»αáó½∩εΘ¿Ñ ß««íΘÑ¡¿∩ ó ¿¡Σ«α¼áµ¿«¡¡δÑ («í φΓ«¼ ó
- ß½ÑñπεΘѼ »áαáúαáΣÑ), á »«α«ªñÑ¡¡δ⌐ »α«µÑßß »«¼ÑΘáÑΓ ó »ßÑóñ«ΓÑନ¡á½∞¡δ⌐
- »«Γ«¬ ¼«ñπ½∞ ßΓ᫬«ó«ú« ¿¡ΓÑαΣÑ⌐ßá »ÑαÑñ ºá»π߬«¼ shell'á. ¥Γ«Γ shell ΓÑ»Ñα∞
- óδ»«½¡∩ÑΓß∩ ¡á ó¿αΓπá½∞¡«¼ ΓÑନ¡á½Ñ; ñ½∩ »«½∞º«óáΓѽ∩ ó¿αΓπá½∞¡δ⌐ ΓÑନ¡á½
- ¡Ñ«Γ½¿τ¿¼ «Γ Σ¿º¿τÑ߬«ú«.
- Åα«µÑßß mpx ∩ó½∩ÑΓß∩ ¼π½∞Γ¿»½Ñ¬ß«α«¼, ¡á»αáó½∩εΘ¿¼ óδó«ñ ñá¡¡δσ ß ó¿αΓπ-
- á½∞¡δσ ΓÑନ¡á½«ó ¡á Σ¿º¿τÑ߬¿⌐ ΓÑନ¡á½ ¿ ñѼπ½∞Γ¿»½Ñ¬ß¿απεΘ¿¼ óó«ñ ñá¡¡δσ
- ß Σ¿º¿τÑ߬«ú« ΓÑନ¡á½á ¡á »«ñσ«ñ∩Θ¿⌐ ó¿αΓπá½∞¡δ⌐. Mpx ªñÑΓ »«ßΓπ»½Ñ¡¿∩ ñá¡-
- ¡δσ »« ½εí«⌐ ¿º ½¿¡¿⌐, ¿ß»«½∞ºπ∩ ß¿ßΓѼ¡πε Σπ¡¬µ¿ε select. è«úñá ñá¡¡δÑ »«ß-
- Γπ»áεΓ «Γ Σ¿º¿τÑ߬«ú« ΓÑନ¡á½á, mpx αÑΦáÑΓ ó«»α«ß, ∩ó½∩εΓß∩ ½¿ »«ßΓπ»¿óΦ¿Ñ
-
- 325
-
- ñá¡¡δÑ π»αáó½∩εΘ¿¼ ß««íΘÑ¡¿Ñ¼, ¿ºóÑΘáεΘ¿¼ « ¡Ñ«íσ«ñ¿¼«ßΓ¿ ß«ºñá¡¿∩ ¡«ó«ú«
- «¬¡á ¿½¿ πñá½Ñ¡¿∩ ßΓáα«ú«, ¿½¿ ªÑ φΓ« ¿¡Σ«α¼áµ¿«¡¡«Ñ ß««íΘÑ¡¿Ñ, ¬«Γ«α«Ñ ¡Ñ-
- «íσ«ñ¿¼« αẫ߽áΓ∞ »α«µÑßßá¼, ßτ¿ΓδóáεΘ¿¼ ¿¡Σ«α¼áµ¿ε ß ó¿αΓπá½∞¡«ú« ΓÑନ¡á-
- ½á. é »«ß½Ññ¡Ñ¼ ß½πτáÑ ñá¡¡δÑ ¿¼ÑεΓ ºáú«½«ó«¬, ¿ñÑ¡Γ¿Σ¿µ¿απεΘ¿⌐ ëà ó¿αΓπ-
- á½∞¡δ⌐ ΓÑନ¡á½, ¬ ¬«Γ«α«¼π «¡¿ «Γ¡«ß∩Γß∩; mpx ßΓ¿αáÑΓ ºáú«½«ó«¬ ß ß««íΘÑ¡¿∩
- ¿ »ÑαÑ»¿ßδóáÑΓ ñá¡¡δÑ ó ß««ΓóÑΓßΓóπεΘ¿⌐ »ßÑóñ«ΓÑନ¡á½∞¡δ⌐ »«Γ«¬. äαá⌐óÑα
- »ßÑóñ«ΓÑନ¡á½á «Γ»αáó½∩ÑΓ ñá¡¡δÑ τÑαѺ ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß ΓÑନ¡á½á »α«-
- µÑßßá¼, «ßπΘÑßΓó½∩εΘ¿¼ τΓÑ¡¿Ñ. ÄíαáΓ¡á∩ »α«µÑñπαá ¿¼ÑÑΓ ¼ÑßΓ«, ¬«úñá »α«µÑßß
- óÑñÑΓ ºá»¿ß∞ ¡á ó¿αΓπá½∞¡δ⌐ ΓÑନ¡á½; mpx »α¿ß«Ññ¿¡∩ÑΓ ºáú«½«ó«¬ ¬ ñá¡¡δ¼,
- ¿¡Σ«α¼¿απ∩ Σ¿º¿τÑ߬¿⌐ ΓÑନ¡á½, ñ½∩ óδó«ñá ó ¬á¬«Ñ ¿º «¬«¡ »αÑñ¡áº¡áτÑ¡δ φΓ¿
- ñá¡¡δÑ.
- àß½¿ »α«µÑßß óδºδóáÑΓ Σπ¡¬µ¿ε ioctl ß ó¿αΓπá½∞¡«ú« ΓÑନ¡á½á, ßΓ᫬«óδ⌐
- ¿¡ΓÑαΣÑ⌐ß ΓÑନ¡á½á ºáñáÑΓ ¡Ñ«íσ«ñ¿¼δÑ πßΓá¡«ó¬¿ ΓÑନ¡á½á ñ½∩ Ñú« ó¿αΓπá½∞-
- ¡«⌐ ½¿¡¿¿; ñ½∩ ¬áªñ«ú« ¿º ó¿αΓπá½∞¡δσ ΓÑନ¡á½«ó πßΓá¡«ó¬¿ ¼«úπΓ íδΓ∞ αáº-
- ½¿τ¡δ¼¿. Äñ¡á¬«, ¡á Σ¿º¿τÑ߬¿⌐ ΓÑନ¡á½ ñ«½ª¡á íδΓ∞ »«ß½á¡á ¿ ¬«Ñ-¬á¬á∩ ¿¡-
- Σ«α¼áµ¿∩, ºáó¿ß∩Θá∩ «Γ Γ¿»á πßΓα«⌐ßΓóá. î«ñπ½∞ π»αáó½Ñ¡¿∩ ß««íΘÑ¡¿∩¼¿ »αÑ«í-
- αáºπÑΓ π»αáó½∩εΘ¿Ñ ß««íΘÑ¡¿∩, úÑ¡Ñα¿απѼδÑ Σπ¡¬µ¿Ñ⌐ ioctl, ó ¿¡Σ«α¼áµ¿«¡¡δÑ
- ß««íΘÑ¡¿∩, »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿ ¿σ »α«µÑßß«¼ mpx, ¿ φΓ¿ ß««í-
- ΘÑ¡¿∩ »ÑαÑñáεΓß∩ ¡á Σ¿º¿τÑ߬«Ñ πßΓα«⌐ßΓó«.
-
-
- E10.4.2 ǡ὿º »«Γ«¬«óF
-
- É¿τ¿ π»«¼¿¡áÑΓ « Γ«¼, τΓ« ¿¼ íδ½á »αÑñ»α¿¡∩Γá »«»δΓ¬á ß«ºñá¡¿∩ »«Γ«¬«ó
- Γ«½∞¬« ß »α«µÑñπαἿ "óδó«ñá" ¿½¿ Γ«½∞¬« ß »α«µÑñπαἿ «íß½πª¿óá¡¿∩. Äñ¡á¬«,
- »α«µÑñπαá «íß½πª¿óá¡¿∩ ¡Ñ«íσ«ñ¿¼á ñ½∩ π»αáó½Ñ¡¿∩ »«Γ«¬á¼¿ ñá¡¡δσ, Γᬠ¬á¬
- ¼«ñ㫨 ñ«½ª¡δ ¿¡«úñá ßΓáó¿Γ∞ ñá¡¡δÑ ó «τÑαÑñ∞, Ñß½¿ ß«ßÑñ¡¿Ñ ¼«ñ㫨 ¡á óαѼ∩
- ºá¬αδΓδ ñ½∩ »α¿Ñ¼á ñá¡¡δσ. Åα«µÑñπαá "óδó«ñá" ΓᬠªÑ ¡Ñ«íσ«ñ¿¼á, »«ß¬«½∞¬π
- ñá¡¡δÑ ñ«½ª¡δ ¿¡«úñá ñ«ßΓáó½∩Γ∞ß∩ ó ß«ßÑñ¡¿Ñ ¼«ñ㫨 ¡Ñºá¼Ññ½¿Γѽ∞¡«. ìá»α¿-
- ¼Ñα, ßΓ᫬«ó«¼π ¿¡ΓÑαΣÑ⌐ßπ ΓÑନ¡á½á ¡πª¡« óÑßΓ¿ φσ«-ß«»α«ó«ªñÑ¡¿Ñ óó«ñá
- ñá¡¡δσ ¡á ΓÑନ¡á½Ñ ó ΓѼ»Ñ ß »α«µÑßß«¼. æ¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ write ¼«ú½á íδ
- ºá»π߬áΓ∞ »α«µÑñπαπ "óδó«ñá" ñ½∩ ß½ÑñπεΘÑ⌐ «τÑαÑñ¿ ¡Ñ»«ßαÑñßΓóÑ¡¡«, Γá, ó
- ßó«ε «τÑαÑñ∞, óδºδóá½á íδ »α«µÑñπαπ "óδó«ñá" ñ½∩ ß½ÑñπεΘÑ⌐ «τÑαÑñ¿ ¿ Γᬠñá-
- ½ÑÑ, ¡Ñ ¡πªñá∩ß∞ ó ¼Ñσá¡¿º¼Ñ ñ¿ß»ÑΓτÑα¿ºáµ¿¿. Åα«µÑßß »α¿«ßΓá¡«ó¿½ß∩ íδ ó
- ß½πτáÑ »ÑαÑ»«½¡Ñ¡¿∩ «τÑαÑñÑ⌐ ñ½∩ óδó«ñá. Äñ¡á¬«, ß« ßΓ«α«¡δ óó«ñá ¼«ñ㫨 ¡Ñ
- ¼«úπΓ »α¿«ßΓá¡áó½¿óáΓ∞ß∩, »«ß¬«½∞¬π ¿σ óδ»«½¡Ñ¡¿Ñ óδºδóáÑΓß∩ »α«úαá¼¼«⌐ «í-
- αáí«Γ¬¿ »αÑαδóá¡¿⌐, ¿¡áτÑ íδ½ íδ »α¿«ßΓá¡«ó½Ñ¡ ß«óÑαΦÑ¡¡« íѺ«í¿ñ¡δ⌐ »α«-
- µÑßß. æó∩º∞ ¼Ñªñπ ¼«ñπ½∩¼¿ ¡Ñ ñ«½ª¡á íδΓ∞ ß¿¼¼ÑΓα¿τ¡«⌐ ó ¡á»αáó½Ñ¡¿∩σ óó«ñá
- ¿ óδó«ñá, σ«Γ∩ φΓ« ¿ ñѽáÑΓ ßσѼπ ¼Ñ¡ÑÑ ¿º∩Θ¡«⌐.
- Æá¬ªÑ í佫 íδ ªÑ½áΓѽ∞¡« αÑ὿º«óáΓ∞ ¬áªñδ⌐ ¼«ñπ½∞ ó ó¿ñÑ «Γñѽ∞¡«ú«
- »α«µÑßßá, ¡« ¿ß»«½∞º«óá¡¿Ñ í«½∞Φ«ú« ¬«½¿τÑßΓóá ¼«ñπ½Ñ⌐ »α¿óѽ« íδ ¬ »ÑαÑ»«½-
- ¡Ñ¡¿ε Γáí½¿µδ »α«µÑßß«ó. î«ñ㫨 ¡áñѽ∩εΓß∩ ߻ѵ¿á½∞¡δ¼ ¼Ñσá¡¿º¼«¼ ñ¿ß»ÑΓτÑ-
- α¿ºáµ¿¿ - »α«úαá¼¼¡δ¼ »αÑαδó᡿Ѽ, ¡Ñºáó¿ß¿¼δ¼ «Γ «íδτ¡«ú« »½á¡¿α«óΘ¿¬á »α«-
- µÑßß«ó. Å« φΓ«⌐ »α¿τ¿¡Ñ ¼«ñ㫨 ¡Ñ ¼«úπΓ »α¿«ßΓá¡áó½¿óáΓ∞ ßó«Ñ óδ»«½¡Ñ¡¿Ñ,
- Γᬠ¬á¬ «¡¿ »α¿«ßΓá¡áó½¿ó὿ íδ ΓѼ ßá¼δ¼ »α«¿ºó«½∞¡δ⌐ »α«µÑßß (Γ«Γ, ¬«Γ«αδ⌐
- »αÑαóá¡). î«ñ㫨 ñ«½ª¡δ σαá¡¿Γ∞ ó¡πΓα¿ ßÑí∩ ¿¡Σ«α¼áµ¿ε « ßó«Ñ¼ ß«ßΓ«∩¡¿¿,
- τΓ« ñѽáÑΓ ½ÑªáΘ¿Ñ ó ¿σ «ß¡«óÑ »α«úαá¼¼δ í«½ÑÑ úα«¼«ºñ¬¿¼¿, τѼ Ñß½¿ íδ »α¿-
- «ßΓá¡«ó¬á óδ»«½¡Ñ¡¿∩ íδ½á αáºαÑΦÑ¡á.
- é αÑ὿ºáµ¿¿ »«Γ«¬«ó ¼«ª¡« óδñѽ¿Γ∞ ¡Ñ߬«½∞¬« «Γ¬½«¡Ñ¡¿⌐ ¿½¿ ¡Ñß««ΓóÑΓß-
- Γó¿⌐:
- * ôτÑΓ αÑßπαß«ó »α«µÑßßá ó »«Γ«¬áσ ºáΓαπñ¡∩ÑΓß∩, »«ß¬«½∞¬π ¼«ñπ½∩¼ ¡Ñ«í∩-
- ºáΓѽ∞¡« óδ»«½¡∩Γ∞ß∩ ó ¬«¡ΓѬßΓÑ »α«µÑßßá, ¿ß»«½∞ºπεΘÑú« »«Γ«¬. ÄΦ¿í«τ¡«
- »αÑñ»«½áúáΓ∞, τΓ« óßÑ »α«µÑßßδ «ñ¿¡á¬«ó« ¿ß»«½∞ºπεΓ ¼«ñ㫨 »«Γ«¬«ó, »«ß-
- ¬«½∞¬π «ñ¡¿¼ »α«µÑßßá¼ ¼«ªÑΓ »«ΓαÑí«óáΓ∞ß∩ ¿ß»«½∞º«óá¡¿Ñ ß½«ª¡δσ ßÑΓÑóδσ
- »α«Γ«¬«½«ó, Γ«úñá ¬á¬ ñαπú¿Ñ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ »α«ßΓδÑ ßΓ᫬«óδÑ ¿¡ΓÑα-
- ΣÑ⌐ßδ.
- * Å«½∞º«óáΓѽ¿ ¿¼ÑεΓ ó«º¼«ª¡«ßΓ∞ »ÑαÑó«ñ¿Γ∞ ΓÑନ¡á½∞¡δ⌐ ñαá⌐óÑα ó αѪ¿¼
- íѺ «íαáí«Γ¬¿, ó ¬«Γ«α«¼ Σπ¡¬µ¿∩ read ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ τÑαѺ ¬«α«Γ-
- ¬¿⌐ »α«¼ÑªπΓ«¬ óαѼѡ¿ ó ß½πτáÑ «ΓßπΓßΓó¿∩ ñá¡¡δσ (¡á»α¿¼Ñα, Ñß½¿
-
- 326
-
- newtty.c_cc[VMIN] = 0 ¡á É¿ßπ¡¬Ñ 10.17). ¥Γπ «ß«íÑ¡¡«ßΓ∞ ß½«ª¡« αÑ὿º«-
- óáΓ∞ ó »«Γ«¬«ó«⌐ ßαÑñÑ íѺ »«ñ¬½ετÑ¡¿∩ ߻ѵ¿á½∞¡«⌐ »α«úαá¼¼δ ¡á πα«ó¡Ñ
- ºáú«½«ó¬á »«Γ«¬á.
- * Å«Γ«¬¿ óδßΓπ»áεΓ ßαÑñßΓóἿ ½¿¡Ñ⌐¡«⌐ ßó∩º¿ ¿ ¡Ñ ¼«úπΓ »«ºó«½¿Γ∞ »α«¿ºó«-
- ñ¿Γ∞ ß ½Ñú¬«ßΓ∞ε ¼π½∞Γ¿»½Ñ¬ß¿α«óá¡¿Ñ ¡á πα«ó¡Ñ ∩ñαá. é »α¿¼ÑαÑ ¿ß»«½∞º«-
- óá¡¿∩ «¬«¡, αáßß¼«ΓαÑ¡¡«¼ ó »αÑñδñπΘѼ αáºñѽÑ, óδ»«½¡∩½«ß∞ ¼π½∞Γ¿»½Ñ¬-
- ß¿α«óá¡¿Ñ ¡á πα«ó¡Ñ »«½∞º«óáΓѽ∞߬«ú« »α«µÑßßá.
- ìÑß¼«Γα∩ ¡á φΓ¿ ¡Ñß««ΓóÑΓßΓó¿∩, ß »«Γ«¬á¼¿ ßó∩ºδóáεΓß∩ í«½∞Φ¿Ñ ¡áñѪñδ ó
- ß«óÑαΦÑ¡ßΓó«óá¡¿¿ αáºαáí«Γ¬¿ ¼«ñπ½Ñ⌐ ñαá⌐óÑαá.
-
-
- .te1 E10.5 é¢éÄä¢F
-
- äá¡¡á∩ ú½áóá »αÑñßΓáó½∩ÑΓ ß«í«⌐ «íº«α ñαá⌐óÑα«ó πßΓα«⌐ßΓó ó ß¿ßΓѼÑ
- UNIX. ôßΓα«⌐ßΓóá ¼«úπΓ íδΓ∞ ½¿í« í½«τ¡«ú«, ½¿í« ß¿¼ó«½∞¡«ú« Γ¿»á; ¿¡ΓÑαΣÑ⌐ß
- ¼Ñªñπ πßΓα«⌐ßΓóἿ ¿ «ßΓá½∞¡«⌐ τáßΓ∞ε ∩ñαá «»αÑñѽ∩ÑΓß∩ Γ¿»«¼ πßΓα«⌐ßΓó. ê¡-
- ΓÑαΣÑ⌐ß«¼ ñ½∩ πßΓα«⌐ßΓó í½«τ¡«ú« Γ¿»á óδßΓπ»áÑΓ Γáí½¿µá ¬½ετÑ⌐ πßΓα«⌐ßΓó
- óó«ñá-óδó«ñá í½«¬á¼¿, ß«ßΓ«∩Θá∩ ¿º Γ«τѬ óσ«ñá, ß««ΓóÑΓßΓóπεΘ¿σ »α«µÑñπαá¼
- «Γ¬αδΓ¿∩ ¿ ºá¬αδΓ¿∩ πßΓα«⌐ßΓó ¿ ßΓαáΓÑú¿τÑ߬«⌐ »α«µÑñπαÑ. æΓαáΓÑú¿τÑ߬á∩
- »α«µÑñπαá π»αáó½∩ÑΓ »ÑαÑñáτÑ⌐ ñá¡¡δσ «Γ ¿ ¬ πßΓα«⌐ßΓóπ í½«τ¡«ú« Γ¿»á. ê¡ΓÑα-
- ΣÑ⌐ß«¼ ñ½∩ πßΓα«⌐ßΓó ß¿¼ó«½∞¡«ú« Γ¿»á óδßΓπ»áÑΓ Γáí½¿µá ¬½ετÑ⌐ πßΓα«⌐ßΓó »«-
- ß¿¼ó«½∞¡«ú« óó«ñá-óδó«ñá, ¬«Γ«αá∩ ß«ßΓ«¿Γ ¿º Γ«τѬ óσ«ñá, ß««ΓóÑΓßΓóπεΘ¿σ
- »α«µÑñπαá¼ «Γ¬αδΓ¿∩ ¿ ºá¬αδΓ¿∩ πßΓα«⌐ßΓóá, τΓÑ¡¿∩, ºá»¿ß¿ ¿ »α«µÑñπαÑ ioctl.
- æ¿ßΓѼ¡á∩ Σπ¡¬µ¿∩ ioctl ¿ß»«½∞ºπÑΓ »α¿ «íαáΘÑ¡¿¿ ¬ πßΓα«⌐ßΓóá¼ ß¿¼ó«½∞¡«ú«
- Γ¿»á ßó«⌐ ß«íßΓóÑ¡¡δ⌐ ¿¡ΓÑαΣÑ⌐ß, ¬«Γ«αδ⌐ »«ºó«½∩ÑΓ «ßπΘÑßΓó½∩Γ∞ »ÑαÑñáτπ π»-
- αáó½∩εΘÑ⌐ ¿¡Σ«α¼áµ¿¿ ¼Ñªñπ »α«µÑßßἿ ¿ πßΓα«⌐ßΓóἿ. Å« »«½πτÑ¡¿¿ »αÑαδóá-
- ¡¿∩ «Γ πßΓα«⌐ßΓóá ∩ñα« óδºδóáÑΓ »α«úαá¼¼π «íαáí«Γ¬¿ ß««ΓóÑΓßΓóπεΘÑú« »αÑαδ-
- óá¡¿∩, «»¿αá∩ß∞ ¡á ¿¡Σ«α¼áµ¿ε, σαá¡∩Θπεß∩ ó Γáí½¿µÑ óÑ¬Γ«α«ó »αÑαδóá¡¿⌐, ¿
- ¡á »áαá¼ÑΓαδ, ß««íΘÑ¡¡δÑ πßΓα«⌐ßΓó«¼, «Γ ¬«Γ«α«ú« »«ßΓπ»¿½« »αÑαδóá¡¿Ñ.
- ä¿ß¬«óδÑ ñαá⌐óÑαδ »αÑóαáΘáεΓ ¡«¼Ñαá ½«ú¿τÑ߬¿σ í½«¬«ó, ¿ß»«½∞ºπѼδÑ Σá⌐-
- ½«ó«⌐ ß¿ßΓѼ«⌐, ó Σ¿º¿τÑ߬¿Ñ áñαÑßá ¡á ñ¿ß¬Ñ. ü½«τ¡δ⌐ ¿¡ΓÑαΣÑ⌐ß ñáÑΓ ó«º¼«ª-
- ¡«ßΓ∞ ∩ñαπ íπΣÑਧ«óáΓ∞ ñá¡¡δÑ. éºá¿¼«ñÑ⌐ßΓó¿Ñ íѺ «íαáí«Γ¬¿ π߬«α∩ÑΓ
- óó«ñ-óδó«ñ ¡á ñ¿ß¬, ¡« ¿ú¡«α¿απÑΓ íπΣÑα¡δ⌐ ¬ÑΦ, πóѽ¿τ¿óá∩ ΓѼ ßá¼δ¼ Φá¡ßδ
- αáºαπΦ¿Γ∞ Σá⌐½«óπε ß¿ßΓѼπ.
- ÆÑନ¡á½∞¡δÑ ñαá⌐óÑαδ «ßπΘÑßΓó½∩εΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ óºá¿¼«ñÑ⌐ßΓó¿Ñ ß
- »«½∞º«óáΓѽ∩¼¿. ƒñα« ßó∩ºδóáÑΓ ß ¬áªñδ¼ ΓÑନ¡á½«¼ Γα¿ ß¿¼ó«½∞¡δσ ß»¿ß¬á,
- «ñ¿¡ ñ½∩ ¡ÑßΓαπ¬Γπα¿α«óá¡¡«ú« óó«ñá ß ¬½áó¿áΓπαδ, «ñ¿¡ ñ½∩ óó«ñá ß «íαáí«Γ-
- ¬«⌐ ß¿¼ó«½«ó ßΓ¿αá¡¿∩, πñá½Ñ¡¿∩ ¿ ó«ºóαáΓá ¬áαÑΓ¬¿ ¿ «ñ¿¡ ñ½∩ óδó«ñá. æ¿ß-
- ΓѼ¡á∩ Σπ¡¬µ¿∩ ioctl ñáÑΓ »α«µÑßßἠ󫺼«ª¡«ßΓ∞ ß½Ññ¿Γ∞ ºá ΓѼ, ¬á¬ ∩ñα« «í-
- αáíáΓδóáÑΓ óó«ñ¿¼δÑ ñá¡¡δÑ, »ÑαÑó«ñ∩ ΓÑନ¡á½ ó ¬á¡«¡¿τÑ߬¿⌐ αѪ¿¼ ¿½¿ πßΓá-
- ¡áó½¿óá∩ º¡áτÑ¡¿∩ αẽ¿τ¡δσ »áαá¼ÑΓα«ó ñ½∩ αѪ¿¼á íѺ «íαáí«Γ¬¿ ß¿¼ó«½«ó.
- Getty-»α«µÑßß «Γ¬αδóáÑΓ ΓÑନ¡á½∞¡δÑ ½¿¡¿¿ ¿ ªñÑΓ ßó∩º¿: «¡ Σ«α¼¿απÑΓ úαπ»»π
- »α«µÑßß«ó ó« ú½áóÑ ß αÑú¿ßΓαᵿ«¡¡δ¼ shell'«¼, ¿¡¿µ¿á½¿º¿απÑΓ ß »«¼«Θ∞ε Σπ¡-
- ¬µ¿¿ ioctl »áαá¼ÑΓαδ ΓÑନ¡á½á ¿ «íαáΘáÑΓß∩ ¬ »«½∞º«óáΓѽε ß »αÑñ½«ªÑ¡¿Ñ¼
- ºáαÑú¿ßΓα¿α«óáΓ∞ß∩. ôßΓá¡«ó½Ñ¡¡δ⌐ Γᬿ¼ «íαẫ¼ «»ÑαáΓ«α߬¿⌐ ΓÑନ¡á½ »«ßδ-
- ½áÑΓ »α«µÑßßá¼ ó úαπ»»Ñ ß¿ú¡á½δ ó «ΓóÑΓ ¡á 󫺡¿¬¡«óÑ¡¿Ñ Γᬿσ ß«íδΓ¿⌐, ¬á¬
- "ºáó¿ßá¡¿Ñ" »«½∞º«óáΓѽ∩ ¿½¿ ¡áªáΓ¿Ñ ¿¼ ¬½áó¿Φ¿ »αÑαδóá¡¿∩.
- Å«Γ«¬¿ óδßΓπ»áεΓ ßαÑñßΓó«¼ »«óδΦÑ¡¿∩ ¼«ñπ½∞¡«ßΓ¿ »«ßΓα«Ñ¡¿∩ ñαá⌐óÑα«ó
- πßΓα«⌐ßΓó ¿ »α«Γ«¬«½«ó. Å«Γ«¬ - φΓ« »«½¡«ñπ»½Ñ¬ß¡á∩ ßó∩º∞ ¼Ñªñπ »α«µÑßßἿ ¿
- ñαá⌐óÑαἿ πßΓα«⌐ßΓó, ¬«Γ«αá∩ ¼«ªÑΓ ó¬½ετáΓ∞ ó ßÑí∩ ßΓ᫬«óδÑ ¿¡ΓÑαΣÑ⌐ßδ ¿
- »α«Γ«¬«½δ ñ½∩ »α«¼ÑªπΓ«τ¡«⌐ «íαáí«Γ¬¿ ñá¡¡δσ. î«ñ㫨 »«Γ«¬«ó σáαá¬ΓÑਧπεΓß∩
- τÑΓ¬« «»αÑñѽѡ¡δ¼ óºá¿¼«ñÑ⌐ßΓó¿Ñ¼ ¿ ú¿í¬«ßΓ∞ε, »«ºó«½∩εΘÑ⌐ ¿ß»«½∞º«óáΓ∞ ¿σ
- ó ß«τÑΓá¡¿¿ ß ñαπú¿¼¿ ¼«ñπ½∩¼¿. ¥Γá ú¿í¬«ßΓ∞ ¿¼ÑÑΓ «ß«í«Ñ º¡áτÑ¡¿Ñ ñ½∩ ßÑΓÑ-
- óδσ »α«Γ«¬«½«ó ¿ ñαá⌐óÑα«ó.
-
- .te1 E10.6 ôÅÉÇåìàìêƒF
-
- *1. ÅαÑñ»«½«ª¿¼, τΓ« ó ß¿ßΓÑ¼Ñ ¿¼ÑεΓß∩ ñóá Σá⌐½á πßΓα«⌐ßΓó ß «ñ¡¿¼¿ ¿ ΓѼ¿
- ªÑ ßΓáαΦ¿¼ ¿ ¼½áñΦ¿¼ ¡«¼ÑαἿ, »α¿ Γ«¼, τΓ« «íá πßΓα«⌐ßΓóá - ß¿¼ó«½∞¡«-
-
- 327
-
- ú« Γ¿»á. àß½¿ ñóá »α«µÑßßá ªÑ½áεΓ «ñ¡«óαѼѡ¡« «Γ¬αδΓ∞ Σ¿º¿τÑ߬«Ñ πßΓ-
- α«⌐ßΓó«, ¡Ñ íπñÑΓ ¡¿¬á¬«⌐ αạ¿µδ, «Γ¬αδóáεΓ ½¿ «¡¿ «ñ¿¡ ¿ ëà ªÑ Σá⌐½
- πßΓα«⌐ßΓóá ¿½¿ ªÑ αạδÑ Σá⌐½δ. ùΓ« »α«¿º«⌐ñÑΓ, ¬«úñá «¡¿ ßΓá¡πΓ ºá¬αδ-
- óáΓ∞ πßΓα«⌐ßΓó« ?
- *2. éß»«¼¡¿¼ ¿º ú½áóδ 5, τΓ« ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ mknod ΓαÑíπÑΓß∩ αáºαÑΦÑ¡¿Ñ
- ßπ»Ñα»«½∞º«óáΓѽ∩ ¡á ß«ºñá¡¿Ñ ¡«ó«ú« ߻ѵ¿á½∞¡«ú« Σá⌐½á πßΓα«⌐ßΓóá. àß-
- ½¿ ñ«ßΓπ» ¬ πßΓα«⌐ßΓóπ π»αáó½∩ÑΓß∩ »αáóἿ ñ«ßΓπ»á ¬ Σá⌐½π, »«τѼπ Σπ¡-
- ¬µ¿¿ mknod ¡πª¡« αáºαÑΦÑ¡¿Ñ ßπ»Ñα»«½∞º«óáΓѽ∩ ?
- 3. ìá»¿Φ¿ΓÑ »α«úαá¼¼π, ¬«Γ«αá∩ »α«óÑα∩ÑΓ, τΓ« Σá⌐½«óδÑ ß¿ßΓÑ¼δ ¡á ñ¿ß¬Ñ ¡Ñ
- »ÑαѬαδóáεΓß∩. ¥Γ«⌐ »α«úαá¼¼Ñ »«ΓαÑí«ó὿ß∞ íδ ñóá áαúπ¼Ñ¡Γá: Σá⌐½ πßΓ-
- α«⌐ßΓóá, »αÑñßΓáó½∩εΘ¿⌐ ñ¿ß¬«óδ⌐ Γ«¼, ¿ ñÑß¬α¿»Γ«α Σá⌐½á, «Γ¬πñá íÑαπΓ-
- ß∩ ¡«¼Ñαá ßÑ¬Γ«α«ó ¿ ¿σ αẼÑα ñ½∩ ñ¿ß¬á ñá¡¡«ú« Γ¿»á. ä½∩ »α«óÑન «Γ-
- ßπΓßΓó¿∩ »ÑαѬαδΓ¿⌐ φΓ«⌐ »α«úαá¼¼Ñ »«¡áñ«í¿½áß∞ íδ ¿¡Σ«α¼áµ¿∩ ¿º ßπ»Ñα-
- í½«¬«ó. üπñÑΓ ½¿ Γá¬á∩ »α«úαá¼¼á óßÑúñá »αáó¿½∞¡«⌐ ?
- 4. Åα«úαá¼¼á mkfs ¿¡¿µ¿á½¿º¿απÑΓ Σá⌐½«óπε ß¿ßΓѼπ ¡á ñ¿ß¬Ñ »πΓѼ ß«ºñá¡¿∩
- ßπ»Ñαí½«¬á, óδñѽѡ¿∩ ¼ÑßΓá ñ½∩ ß»¿ß¬á ¿¡ñѬ߫ó, ó¬½ετÑ¡¿∩ óßÑσ ¿¡Σ«α-
- ¼áµ¿«¡¡δσ í½«¬«ó ó ßó∩ºá¡¡δ⌐ ß»¿ß«¬ ¿ ß«ºñá¡¿∩ ¬«α¡Ñó«ú« ¬áΓὫúá. èá¬
- íδ óδ ¡á»¿ß὿ »α«úαá¼¼π mkfs ? èᬠ¿º¼Ñ¡¿Γß∩ φΓá »α«úαá¼¼á »α¿ ¡á½¿τ¿¿
- Γáí½¿µδ ß«ñÑন¼«ú« Γ«¼á ? èᬿ¼ «íαẫ¼ ß½ÑñπÑΓ ¿¡¿µ¿á½¿º¿α«óáΓ∞ Γáí-
- ½¿µπ ß«ñÑন¼«ú« Γ«¼á ?
- 5. Åα«úαá¼¼δ mkfs ¿ fsck (ú½áóá 5) ∩ó½∩εΓß∩ »α«úαἼἿ »«½∞º«óáΓѽ∞߬«ú«
- πα«ó¡∩, á ¡Ñ τáßΓ∞ε ∩ñαá. Å᫬«¼¼Ñ¡Γ¿απ⌐ΓÑ φΓ«.
- 6. ÅαÑñ»«½«ª¿¼, τΓ« »α«úαá¼¼¿ßΓπ ¡πª¡« αáºαáí«ΓáΓ∞ íáºπ ñá¡¡δσ, αáí«ΓáεΘπε
- ó ßαÑñÑ Äæ UNIX. Åα«úαá¼¼δ íáºδ ñá¡¡δσ óδ»«½¡∩εΓß∩ ¡á »«½∞º«óáΓѽ∞߬«¼
- πα«ó¡Ñ, á ¡Ñ ó ß«ßΓáóÑ ∩ñαá. èᬠ߿ßΓѼá π»αáó½Ñ¡¿∩ íẫ⌐ ñá¡¡δσ íπñÑΓ
- óºá¿¼«ñÑ⌐ßΓó«óáΓ∞ ß ñ¿ß¬«¼ ? Å«ñπ¼á⌐ΓÑ ¡áñ ß½ÑñπεΘ¿¼¿ ó«»α«ßἿ:
- * êß»«½∞º«óá¡¿Ñ ßΓá¡ñáαΓ¡«ú« ¿¡ΓÑαΣÑ⌐ßá Σá⌐½«ó«⌐ ß¿ßΓѼδ ó¼ÑßΓ« ¡Ñ»«ß-
- αÑñßΓóÑ¡¡«⌐ αáí«Γδ ß ¡ÑßΓαπ¬Γπα¿α«óá¡¡δ¼¿ ñá¡¡δ¼¿ ¡á ñ¿ß¬Ñ,
- * Å«ΓαÑí¡«ßΓ∞ ó íδßΓα«ñÑ⌐ßΓó¿¿,
- * ìÑ«íσ«ñ¿¼«ßΓ∞ º¡áΓ∞, ¬«úñá Σá¬Γ¿τÑ߬¿ ñá¡¡δÑ αáß»«½áúáεΓß∩ ¡á ñ¿ß¬Ñ,
- * ÉẼÑα íáºδ ñá¡¡δσ: ñ«½ª¡á ½¿ «¡á »«¼ÑΘáΓ∞ß∩ ó «ñ¡«⌐ Σá⌐½«ó«⌐ ß¿ßΓÑ-
- ¼Ñ, ºá¡¿¼áΓ∞ ß«í«⌐ óÑß∞ ñ¿ß¬«óδ⌐ Γ«¼ ¿½¿ ªÑ αáß»«½áúáΓ∞ß∩ ¡á ¡Ñ߬«½∞-
- ¬¿σ ñ¿ß¬«óδσ Γ«¼áσ ?
- 7. ƒñα« ß¿ßΓѼδ UNIX »« π¼«½τá¡¿ε »αÑñ»«½áúáÑΓ, τΓ« Σá⌐½«óá∩ ß¿ßΓѼá αáß-
- »«½áúáÑΓß∩ ¡á ¿ñÑá½∞¡δσ ñ¿ß¬áσ. Äñ¡á¬«, ñ¿ß¬¿ ¼«úπΓ ß«ñÑαªáΓ∞ «Φ¿í¬¿,
- ¬«Γ«αδÑ ñѽáεΓ ¡Ñ»α¿ú«ñ¡δ¼¿ ¿ óδó«ñ∩Γ ¿º ßΓα«∩ «»αÑñѽѡ¡δÑ ßÑ¬Γ«αá,
- ¡Ñß¼«Γα∩ ¡á Γ«, τΓ« «ßΓá½∞¡á∩ τáßΓ∞ ñ¿ß¬á «ßΓá½áß∞ "»α¿ú«ñ¡«⌐". èá¬
- ñ¿ß¬«ó«¼π ñαá⌐óÑαπ (¿½¿ ¿¡Γѽ½Ñ¬Γπá½∞¡«¼π ¬«¡Γα«½½Ñαπ ñ¿ß¬á) ß½ÑñπÑΓ
- πτ¿ΓδóáΓ∞ ¡Ñí«½∞Φ«Ñ ¬«½¿τÑßΓó« »½«σ¿σ ßÑ¬Γ«α«ó. èᬠφΓ« «Γαế½«ß∞ íδ
- ¡á »α«¿ºó«ñ¿Γѽ∞¡«ßΓ¿ ß¿ßΓѼδ ?
- 8. Åα¿ ¼«¡Γ¿α«óá¡¿¿ Σá⌐½«ó«⌐ ß¿ßΓѼδ ∩ñα« ºá»π߬áÑΓ »α«µÑñπαπ «Γ¬αδΓ¿∩ ñ½∩
- ñá¡¡«ú« ñαá⌐óÑαá, ¡« »«ºªÑ «ßó«í«ªñáÑΓ ¿¡ñÑ¬ß ß»Ñµ¿á½∞¡«ú« Σá⌐½á πßΓ-
- α«⌐ßΓóá »« ºáóÑαΦÑ¡¿¿ óδ»«½¡Ñ¡¿∩ ó맮óá ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿ mount. Åα¿
- ñѼ«¡Γ¿α«óá¡¿¿ Σá⌐½«ó«⌐ ß¿ßΓѼδ ∩ñα« «íαáΘáÑΓß∩ ¬ ¿¡ñѬßπ ߻ѵ¿á½∞¡«ú«
- Σá⌐½á πßΓα«⌐ßΓóá, ºá»π߬áÑΓ »α«µÑñπαπ ºá¬αδΓ¿∩ ñ½∩ ñá¡¡«ú« ñαá⌐óÑαá ¿
- ó¡«ó∞ «ßó«í«ªñáÑΓ ¿¡ñѬß. æαáó¡¿ΓÑ φΓπ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ «»Ñαᵿ⌐ ¡áñ
- ¿¡ñѬ߫¼, á Γá¬ªÑ «íαáΘÑ¡¿⌐ ¬ »α«µÑñπαá¼ «Γ¬αδΓ¿∩ ¿ ºá¬αδΓ¿∩ ñαá⌐óÑαá,
- ß »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ε ñÑ⌐ßΓó¿⌐, ß«óÑαΦáѼδσ »α¿ «Γ¬αδóá¡¿¿ ¿ ºá¬αδóá¡¿¿
- πßΓα«⌐ßΓóá í½«τ¡«ú« Γ¿»á. Å᫬«¼¼Ñ¡Γ¿απ⌐ΓÑ αѺπ½∞ΓáΓδ ßαáó¡Ñ¡¿∩.
- 9. éδ»«½¡¿ΓÑ »α«úαá¼¼π, »α¿óÑñÑ¡¡πε ¡á É¿ßπ¡¬Ñ 10.14, ¡« ¡á»αáó∞ΓÑ óδó«ñ
- ñá¡¡δσ ó Σá⌐½. æαáó¡¿ΓÑ ß«ñÑন¼«Ñ Σá⌐½á ß ß«ñÑন¼δ¼ óδó«ñ¡«ú« »«Γ«¬á,
- ¬«úñá óδó«ñ ¿ñÑΓ ¡á ΓÑନ¡á½. éá¼ »α¿ñÑΓß∩ »αÑαóáΓ∞ »α«µÑßßδ, τΓ«íδ «ß-
- Γá¡«ó¿Γ∞ ¿σ; Γ«½∞¬« »αѪñÑ »πßΓ∞ «¡¿ »«½πτáΓ ñ«ßΓáΓ«τ¡« í«½∞Φ«Ñ ¬«½¿-
- τÑßΓó« ñá¡¡δσ. ùΓ« »α«¿º«⌐ñÑΓ, Ñß½¿ ó맮ó Σπ¡¬µ¿¿ write ó »α«úαá¼¼Ñ ºá-
- ¼Ñ¡¿Γ∞ ¡á printf(output);
- 10. ùΓ« »α«¿º«⌐ñÑΓ, Ñß½¿ »«½∞º«óáΓѽ∞ »«»δΓáÑΓß∩ óδ»«½¡¿Γ∞ αÑñá¬Γ¿α«óá¡¿Ñ
- ΓѬßΓá ¡á Σ«¡Ñ »α«úαá¼¼δ:
- ed file &
- Äí«ß¡π⌐ΓÑ «ΓóÑΓ.
-
- 328
-
- 11. è Σá⌐½á¼ ΓÑନ¡á½«ó «íδτ¡« πßΓá¡áó½¿óáεΓß∩ ß½ÑñπεΘ¿Ñ »αáóá ñ«ßΓπ»á
-
- crw--w--w- 2 mjb lus 33,11 Oct 25 20:27 tty61
-
- »α¿ óσ«ñÑ »«½∞º«óáΓѽ∩ ó ß¿ßΓѼπ. Æ« ÑßΓ∞, τΓÑ¡¿Ñ ¿ ºá»¿ß∞ αáºαÑΦáεΓß∩
- »«½∞º«óáΓѽε ß ¿¼Ñ¡Ñ¼ "mjb", á «ßΓá½∞¡δ¼ »«½∞º«óáΓѽ∩¼ αáºαÑΦÑ¡á Γ«½∞¬«
- ºá»¿ß∞. Å«τѼπ ?
- 12. ÅαÑñ»«½«ª¿¼, τΓ« óá¼ ¿ºóÑßΓ¡« ¿¼∩ Σá⌐½á ΓÑନ¡á½á óáΦÑú« Γ«óáα¿Θá. ìá-
- »¿Φ¿ΓÑ »α«úαá¼¼π ºá»¿ß¿ ß««íΘÑ¡¿⌐ ß óáΦÑú« ΓÑନ¡á½á ¡á ΓÑନ¡á½ óáΦÑú«
- Γ«óáα¿Θá. èá¬á∩ ÑΘÑ ¿¡Σ«α¼áµ¿∩ óá¼ ¡πª¡á, τΓ«íδ ºá¬«ñ¿α«óáΓ∞ »α¿Ñ¼½Ñ¼«Ñ
- ó«ß»α«¿ºóÑñÑ¡¿Ñ «íδτ¡«⌐ ¬«¼á¡ñδ write ?
- 13. éδ»«½¡¿ΓÑ ¬«¼á¡ñπ stty: Ñß½¿ »áαá¼ÑΓαδ ¡Ñ π¬áºá¡δ, «¡á óδí¿αáÑΓ º¡áτÑ-
- ¡¿∩ πßΓá¡«ó«¬ ΓÑନ¡á½á ¿ ß««íΘáÑΓ ¿σ »«½∞º«óáΓѽε. é »α«Γ¿ó¡«¼ ß½πτáÑ
- »«½∞º«óáΓѽ∞ ¼«ªÑΓ ó ¿¡ΓÑαá¬Γ¿ó¡«¼ αѪ¿¼Ñ ßñѽáΓ∞ αẽ¿τ¡δÑ πßΓá¡«ó¬¿
- ßá¼.
- 14. ìá»¿Φ¿ΓÑ φ½Ñ¼Ñ¡Γáα¡δ⌐ ßΓ᫬«óδ⌐ ¿¡ΓÑαΣÑ⌐ß, ºá»¿ßδóáεΘ¿⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α
- ¼áΦ¿¡δ ó ¡áτá½Ñ ¬áªñ«⌐ ßΓ᫬¿ óδó«ñ¡«ú« »«Γ«¬á.
- 15. é ¬á¡«¡¿τÑ߬«¼ αѪ¿¼Ñ »«½∞º«óáΓѽ∞ ¼«ªÑΓ ¡á óαѼ∩ »α¿«ßΓá¡«ó¿Γ∞ óδó«ñ
- ñá¡¡δσ ¡á ΓÑନ¡á½, ¡áªáó »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ¬½áó¿Φ <Ctrl-s>, ¿ »α«ñ«½-
- ª¿Γ∞ óδó«ñ, ¡áªáó <Ctrl-q>. èᬠó ßΓá¡ñáαΓ¡«¼ ßΓ᫬«ó«¼ ¿¡ΓÑαΣÑ⌐ßÑ αÑá-
- ½¿ºπÑΓß∩ φΓá «ß«íÑ¡¡«ßΓ∞ ?
- *16. Åα«µÑßß ¡áτá½∞¡«⌐ ºáúαπº¬¿ »«α«ªñáÑΓ getty-»α«µÑßß ñ½∩ ¬áªñ«⌐ ΓÑନ-
- ¡á½∞¡«⌐ ½¿¡¿¿ ó ß¿ßΓѼÑ. ùΓ« »α«¿º«Φ½« íδ, Ñß½¿ íδ ñ½∩ «ñ¡«ú« ¿ Γ«ú« ªÑ
- ΓÑନ¡á½á ßπΘÑßΓó«ó὿ íδ «ñ¡«óαѼѡ¡« ñóá getty-»α«µÑßßá, «ª¿ñáεΘ¿Ñ
- αÑú¿ßΓαᵿ¿ »«½∞º«óáΓѽ∩ ? ÑΓ ½¿ ∩ñα« »«¼ÑΦáΓ∞ φΓ«¼π ?
- 17. ÅπßΓ∞ ¬«¼á¡ñ¡δ⌐ »α«µÑßß«α shell αÑ὿º«óá¡ Γᬿ¼ «íαẫ¼, τΓ« «¡ "¿ú¡«-
- α¿απÑΓ" ¬«¡Ñµ Σá⌐½á ¿ »α«ñ«½ªáÑΓ ßτ¿ΓδóáΓ∞ ñá¡¡δÑ ¿º ßΓá¡ñáαΓ¡«ú« óó«-
- ñá. ùΓ« »α«¿º«Φ½« íδ, Ñß½¿ íδ »«½∞º«óáΓѽ∞ (ó αÑú¿ßΓαᵿ«¡¡«¼ shell'Ñ)
- πúáñá½ ¬«¡Ñµ Σá⌐½á ¿ »α«ñ«½ª¿½ óó«ñ ß ¬½áó¿áΓπαδ ?
- *18. ÅαÑñ»«½«ª¿¼, τΓ« »α«µÑßß ßτ¿ΓδóáÑΓ ñá¡¡δÑ ß «»ÑαáΓ«α߬«ú« ΓÑନ¡á½á, ¡«
- ¿ú¡«α¿απÑΓ ¿½¿ π½áó½¿óáÑΓ ß¿ú¡á½δ « "ºáó¿ßá¡¿¿". ùΓ« »α«¿º«⌐ñÑΓ, ¬«úñá
- »α«µÑßß »α«ñ«½ª¿Γ ßτ¿ΓδóáΓ∞ ñá¡¡δÑ ß «»ÑαáΓ«α߬«ú« ΓÑନ¡á½á »«ß½Ñ ºá-
- ó¿ßá¡¿∩ ?
- 19. Åα«úαá¼¼á getty-»α«µÑßßá ¡ÑßÑΓ «ΓóÑΓßΓóÑ¡¡«ßΓ∞ ºá «Γ¬αδΓ¿Ñ ΓÑନ¡á½∞¡«⌐
- ½¿¡¿¿, á »α«úαá¼¼á login - ºá »α«óÑα¬π αÑú¿ßΓαᵿ«¡¡δσ ¿¼Ñ¡ ¿ »áα«½Ñ⌐.
- èá¬¿Ñ »αÑ¿¼πΘÑßΓóá ó Γ«¼, τΓ« φΓ¿ Σπ¡¬µ¿¿ óδ»«½¡∩εΓß∩ «Γñѽ∞¡δ¼¿ »α«ú-
- αἼἿ ?
- 20. Éáßß¼«Γα¿¼ ñóá ¼ÑΓ«ñá αÑ὿ºáµ¿¿ ñαá⌐óÑαá ¬«ßóÑ¡¡«ú« ΓÑନ¡á½á ("/dev
- /tty"), «»¿ßá¡¡δÑ ó αáºñÑ½Ñ 10.3.6. èá¬¿Ñ αẽ¿τ¿∩ ¼Ñªñπ ¡¿¼¿ τπóßΓóπÑΓ
- »«½∞º«óáΓѽ∞ ? (æ«óÑΓ: »«ñπ¼á⌐ΓÑ « ß¿ßΓѼ¡δσ Σπ¡¬µ¿∩σ stat ¿ fstat).
- 21. Éáºαáí«Γá⌐ΓÑ ¼ÑΓ«ñ »½á¡¿α«óá¡¿∩ óδ»«½¡Ñ¡¿∩ ¼«ñπ½Ñ⌐ »«Γ«¬á, ó ß««ΓóÑΓßΓ-
- ó¿¿ ß ¬«Γ«αδ¼ ∩ñα« ¿¼ÑÑΓ ó ßó«Ñ¼ ß«ßΓáóÑ ß»Ñµ¿á½∞¡δ⌐ »α«µÑßß, óδ»«½¡∩ε-
- Θ¿⌐ »α«µÑñπαδ «íß½πª¿óá¡¿∩ ¼«ñπ½Ñ⌐ Γ«úñá, ¬«úñá óδ»«½¡Ñ¡¿Ñ φΓ¿σ »α«µÑ-
- ñπα ºá»½á¡¿α«óá¡«.
- *22. Éáºαáí«Γá⌐ΓÑ ßσÑ¼π »«ßΓα«Ñ¡¿∩ ó¿αΓπá½∞¡δσ ΓÑନ¡á½«ó («¬«¡) ß ¿ß»«½∞º«-
- ó᡿Ѽ Γαáñ¿µ¿«¡¡δσ (¡Ñ »«Γ«¬«óδσ) ñαá⌐óÑα«ó.
- *23. Éáºαáí«Γá⌐ΓÑ ¼ÑΓ«ñ αÑ὿ºáµ¿¿ ó¿αΓπá½∞¡δσ ΓÑନ¡á½«ó ß ¿ß»«½∞º«ó᡿Ѽ
- »«Γ«¬«ó, ó ¬«Γ«α«¼ ¼π½∞Γ¿»½Ñ¬ß¿α«ó᡿Ѽ óó«ñá-óδó«ñá ¼Ñªñπ ó¿αΓπá½∞¡δ¼
- ¿ Σ¿º¿τÑ߬¿¼ ΓÑନ¡á½á¼¿ ºá¡¿¼á½ß∩ íδ «ñ¿¡ ¿º ¼«ñπ½Ñ⌐ ∩ñαá, á ¡Ñ »«½∞-
- º«óáΓѽ∞߬¿⌐ »α«µÑßß. Ä»¿Φ¿ΓÑ ¼Ñσá¡¿º¼ ß«Ññ¿¡Ñ¡¿∩ »«Γ«¬«ó ß« ßóÑαΓ¬«⌐ ¿
- αáºóÑαΓ¬«⌐. ùΓ« ½πτΦÑ: ó¬½ετ¿Γ∞ ¼«ñπ½∞, «ßπΘÑßΓó½∩εΘ¿⌐ ¼π½∞Γ¿»½Ñ¬ß¿α«-
- óá¡¿Ñ, ó ß«ßΓáó ∩ñαá ¿½¿ »«ßΓα«¿Γ∞ Ñú« ¬á¬ »«½∞º«óáΓѽ∞߬¿⌐ »α«µÑßß ?
- 24. 諼á¡ñá ps ß««íΘáÑΓ ¿¡ΓÑαÑß¡πε ¿¡Σ«α¼áµ¿ε «í á¬Γ¿ó¡«ßΓ¿ »α«µÑßß«ó ó αá-
- í«ΓáεΘÑ⌐ ß¿ßΓѼÑ. é Γαáñ¿µ¿«¡¡δσ αÑ὿ºáµ¿∩σ ps ßτ¿ΓδóáÑΓ ¿¡Σ«α¼áµ¿ε ¿º
- Γáí½¿µδ »α«µÑßß«ó, »α∩¼« ¿º »á¼∩Γ¿ ∩ñαá. Æá¬«⌐ ¼ÑΓ«ñ ¡Ñ ß«óßѼ πñ«íÑ¡ ó
- ßαÑñÑ αáºαáí«Γ¬¿, ¬«úñá αẼÑα ºá»¿ßÑ⌐ Γáí½¿µδ »α«µÑßß«ó ¼Ñ¡∩ÑΓß∩ ¿ ¬«-
- ¼á¡ñÑ ps ßΓá¡«ó¿Γß∩ ¡Ñ½Ñú¬« «í¡áαπª¿Γ∞ ó Γáí½¿µÑ ß««ΓóÑΓßΓóπεΘ¿Ñ »«½∩.
- Éáºαáí«Γá⌐ΓÑ ñαá⌐óÑα, ¡ÑτπóßΓó¿Γѽ∞¡δ⌐ ¬ ¿º¼Ñ¡Ñ¡¿∩¼ ßαÑñδ.
-
-
- 329