Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования для UnixΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 28

Автор Π­Ρ€ΠΈΠΊ Π Π΅ΠΉΠΌΠΎΠ½Π΄

ΠšΡ€ΠΎΠΌΠ΅ наличия собствСнных Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… прСимущСств сСрвСрной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Unix всСгда скСптичСски ΠΎΡ‚Π½ΠΎΡΠΈΠ»Π°ΡΡŒ ΠΊ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ создатСли Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ допускали, Ρ‡Ρ‚ΠΎ Π·Π½Π°ΡŽΡ‚ всС ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ способы примСнСния систСмы.

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, конструкция ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Unix проявила Π³ΠΎΡ€Π°Π·Π΄ΠΎ большиС возмоТности ΠΏΠΎ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² качСствС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Ρ‡Π΅ΠΌ любая ΠΈΠ· клиСнтских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм-ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠ² продСмонстрировала возмоТности ΠΏΠΎ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² качСствС сСрвСра. Π₯отя Π²ΠΎΠ·Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ Unix Π² 90-Ρ… Π³ΠΎΠ΄Π°Ρ… ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π²Π΅ΠΊΠ° способствовало ΠΈ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², ΠΊΠ°ΠΊ тСхнологичСских, Ρ‚Π°ΠΊ ΠΈ экономичСских, Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Π΅ возмоТности выходят Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ»Π°Π½ ΠΏΡ€ΠΈ обсуТдСнии стиля проСктирования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм.

Π§Π°ΡΡ‚ΡŒ II

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

4

ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ: Ρ‡Π΅Ρ‚ΠΊΠΎΡΡ‚ΡŒ ΠΈ простота

Π•ΡΡ‚ΡŒ Π΄Π²Π° способа конструирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Один ΠΈΠ· Π½ΠΈΡ… Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ простыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ нСдостатков; Π΄Ρ€ΡƒΠ³ΠΎΠΉ β€” Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ слоТныС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Π½ΠΈΡ… Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Ρ… нСдостатков. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅.

The Emperor's Old Clothes, CACM, Ρ„Π΅Π²Ρ€Π°Π»ΡŒ 1981 -Π§. А. Π . Π₯ΠΎΠ°Ρ€ (Π‘. A. R. Hoare)

БущСствуСт СстСствСнная иСрархия ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² раздСлСния ΠΊΠΎΠ΄Π° Π½Π° Π±Π»ΠΎΠΊΠΈ, которая Ρ€Π°Π·Π²ΠΈΠ²Π°Π»Π°ΡΡŒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ программистам ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ уровнями слоТности. Π’Π½Π°Ρ‡Π°Π»Π΅ всС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставляли собой ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ Π³Π»Ρ‹Π±Ρƒ машинного ΠΊΠΎΠ΄Π°. Π Π°Π½Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ языки внСсли понятиС раздСлСния Π½Π° ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π—Π°Ρ‚Π΅ΠΌ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Ρ‹ слуТСбныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для совмСстного использования ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ мноТСством ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ПослС этого Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ адрСсныС пространства ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ процСссы. Π’ настоящСС врСмя Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ удивлСния Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ систСмы Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ срСди мноТСства ΡƒΠ·Π»ΠΎΠ², Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… тысячами миль сСтСвого кабСля.

Π Π°Π½Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Unix Π±Ρ‹Π»ΠΈ Π² числС ΠΏΠ΅Ρ€Π²ΠΎΠΏΡ€ΠΎΡ…ΠΎΠ΄Ρ†Π΅Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π”ΠΎ ΠΈΡ… ΠΏΡ€ΠΈΡ…ΠΎΠ΄Π° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Ρ‹Π»ΠΎ Ρ‚Π΅ΠΎΡ€ΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π½Π°ΡƒΠΊΠΈ, Π½ΠΎ Π½Π΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ. Π’ ΠΊΠ½ΠΈΠ³Π΅ "Design Rules" [2], Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌ ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΎΠ± экономичСских основах ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅, Π°Π²Ρ‚ΠΎΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ индустрии Π² качСствС ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΈ Π΄ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ сообщСство Unix фактичСски Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² систСматичСском ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² производствС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния. ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния, нСсомнСнно, Π±Ρ‹Π»Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· основ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° принятия стандартной Π²ΠΈΠ½Ρ‚ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π·ΡŒΠ±Ρ‹ Π² ΠΊΠΎΠ½Ρ†Π΅ 19-Π³ΠΎ столСтия.

Π—Π΄Π΅ΡΡŒ слСдуСт Π°ΠΊΡ†Π΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ: СдинствСнным способом создания слоТного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, являСтся Π΅Π³ΠΎ построСниС ΠΈΠ· простых ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, соСдинСнных Ρ‡Π΅Ρ‚ΠΊΠΈΠΌΠΈ интСрфСйсами, с Ρ‚Π΅ΠΌ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π±Ρ‹Π»ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»Π° большая Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π½Π°Π»Π°Π΄ΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π΅Π³ΠΎ части Π±Π΅Π· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ конструкции Π² Ρ†Π΅Π»ΠΎΠΌ.

Врадиция Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΡƒΠ΄Π΅Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ компактности Π΄ΠΎ сих ΠΏΠΎΡ€ срСди Unix-программистов проявляСтся Π³ΠΎΡ€Π°Π·Π΄ΠΎ ярчС, Ρ‡Π΅ΠΌ Π² любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ срСдС.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ Ρ€Π°Π½Π½Π΅ΠΉ Unix стали мастСрами ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±Ρ‹Π»ΠΈ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ слоТных Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°. Если ΠΎΠ½Π° Π½Π΅ структурирована Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‚ΠΎ ΠΎΠ½Π° развалится. Π‘Ρ‹Π»ΠΎ нСсколько Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ построСния Unix. МоТно Π±Ρ‹Π»ΠΎ Π±Ρ‹ отнСсти это Π½Π° счСт Ρ€Π°Π½Π½Π΅Π³ΠΎ (Π΅Ρ‰Π΅ Π±Π΅Π· структур) Π‘, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² основном это происходило Π²Π²ΠΈΠ΄Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ опСрационная систСма Π±Ρ‹Π»Π° слишком слоТна Π² написании. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ смогли "ΠΎΠ±ΡƒΠ·Π΄Π°Ρ‚ΡŒ" эту ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Π½Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ инструмСнтов (Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ структуры Π‘)ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΈΡ… примСнСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€Π°Π²ΠΈΠ»Π° Π ΠΎΠ±Π° Пайка для программирования).

КСн Вомпсон.

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Unix-Ρ…Π°ΠΊΠ΅Ρ€Ρ‹ Ρ€Π΅ΡˆΠ°Π»ΠΈ Π΄Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами. Π’ 1970 Π³ΠΎΠ΄Ρƒ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² языках программирования Π±Ρ‹Π»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π·Π°Ρ‚Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ Π»ΠΈΠ±ΠΎ Π²Π²ΠΈΠ΄Ρƒ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎΠΉ сСмантики Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² (PL/1, Algol), Π»ΠΈΠ±ΠΎ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ компилятор Π±Ρ‹Π» ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для увСличСния скорости Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Ρ†ΠΈΠΊΠ»ΠΎΠ² Π·Π° счСт Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Ρ‹Π·ΠΎΠ²Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠΎΠ΄ часто писали Π² Π²ΠΈΠ΄Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ². КСн ΠΈ нСсколько Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Unix-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π·Π½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΈΠ΄Π΅Π΅ΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠ½ΠΈΠ»ΠΈ ΠΎ PL/1 ΠΈ Π½Π΅ΠΎΡ…ΠΎΡ‚Π½ΠΎ писали нСбольшиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

ДСннис Π ΠΈΡ‚Ρ‡ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π» ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ, повторяя всСм Π±Π΅Π· ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Π‘ ΠΊΡ€Π°ΠΉΠ½Π΅, ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΌΠ°Π»ΠΎΠ·Π°Ρ‚Ρ€Π°Ρ‚Π½Ρ‹. ВсС Π½Π°Ρ‡Π°Π»ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ нСбольшиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Π§Π΅Ρ€Π΅Π· нСсколько Π»Π΅Ρ‚ Π²Ρ‹ΡΡΠ½ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΡΡ‚Π°Π²Π°Π»ΠΈΡΡŒ Π΄ΠΎΡ€ΠΎΠ³ΠΈΠΌΠΈ Π½Π° PDP-11, Π° ΠΊΠΎΠ΄ VAX часто Ρ‚Ρ€Π°Ρ‚ΠΈΠ» 50% Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ инструкции CALLS. ДСннис солгал Π½Π°ΠΌ! Однако Π±Ρ‹Π»ΠΎ слишком ΠΏΠΎΠ·Π΄Π½ΠΎ; всС ΠΌΡ‹ попались Π½Π° ΡƒΠ΄ΠΎΡ‡ΠΊΡƒ...

Π‘Ρ‚ΠΈΠ² ДТонсон.

ВсСх ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΡ… программистов, ΠΏΠΈΡˆΡƒΡ‰ΠΈΡ… для Unix ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, ΡƒΡ‡Π°Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. НСкоторыС учатся Π΄Π΅Π»Π°Ρ‚ΡŒ это Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈΠ»ΠΈ абстрактных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ это "Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ". Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠΊΠΈ использования ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ проСктирования ΠΏΡ€ΠΈΠ»Π°Π³Π°ΡŽΡ‚ Π±Π»Π°Π³ΠΎΡ€ΠΎΠ΄Π½Ρ‹Π΅ усилия для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ уровня Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ всС Π½ΠΎΠ²Ρ‹Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Π΅ абстрактныС ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΠΎΠΉ структуры ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π—Π΄Π΅ΡΡŒ Π°Π²Ρ‚ΠΎΡ€Ρ‹ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ слишком ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΡΠ²Π΅Ρ‚ΠΈΡ‚ΡŒ всС вопросы, связанныС с ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ: Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ данная Ρ‚Π΅ΠΌΠ° сама ΠΏΠΎ сСбС являСтся ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠΌ Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΎΠΌΠ° (ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚ΠΎΠΌΠΎΠ²), ΠΈ, Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π²Π²ΠΈΠ΄Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ настоящая ΠΊΠ½ΠΈΠ³Π° посвящСна искусству Unix-программирования.

Π—Π΄Π΅ΡΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡƒΡ€ΠΎΠΊΠΈ Unix-Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ, связанныС с ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’ Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ рассматриваСтся Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ процСсса. Π”Π°Π»Π΅Π΅, Π² Π³Π»Π°Π²Π΅ 7, Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ условия, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слСдуСт Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° мноТСство Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… процСссов, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ спСцифичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ для осущСствлСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ раздСлСния.

4.1. Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ модуля

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌ качСством ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° являСтся инкапсуляция. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ инкапсулированныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ своС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ устройство Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ. Они Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ части Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ бСспорядочно. Они ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ связь Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ посрСдством ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… интСрфСйсов ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (API) β€” ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Ρ…, Ρ‡Π΅Ρ‚ΠΊΠΈΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ…. ИмСнно ΠΎΠ± этом гласит ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

API-интСрфСйсам ΠΌΠ΅ΠΆΠ΄Ρƒ модулями ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π° двойная Ρ€ΠΎΠ»ΡŒ. На ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ заслонка ΠΌΠ΅ΠΆΠ΄Ρƒ модулями, которая ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ воздСйствиС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π° сосСдниС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. На ΡƒΡ€ΠΎΠ²Π½Π΅ проСктирования ΠΈΠΌΠ΅Π½Π½ΠΎ API-интСрфСйсы (Π° Π½Π΅ описаниС структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ) Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ структуру ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ способ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ проСктирования API-интСрфСйса β€” ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ ясСн смысл, Ссли ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ API ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ чСловСчСским языком (Π±Π΅Π· дСмонстрации Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² исходного ΠΊΠΎΠ΄Π°)? Π’Π΅ΡΡŒΠΌΠ° цСлСсообразно Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΡƒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ описания для API-интСрфСйсов Π΄ΠΎ ΠΈΡ… кодирования. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ способных Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ с опрСдСлСния интСрфСйсов ΠΈ написания ΠΊΡ€Π°Ρ‚ΠΊΠΈΡ… ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² для Π½ΠΈΡ…, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ ΠΊΠΎΠ΄, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ процСсс написания ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Ρ€Π°Π·ΡŠΡΡΠ½ΡΠ΅Ρ‚ Π·Π°Π΄Π°Ρ‡ΠΈ, Π²ΠΎΠ·Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ Π½Π° ΠΊΠΎΠ΄. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ описания ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ для ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΈ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² справочный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ для Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊΠΎΠ΄Π°.

Π§Π΅ΠΌ дальшС проводится дСкомпозиция ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Ρ‚Π΅ΠΌ мСньшС становятся Π±Π»ΠΎΠΊΠΈ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ опрСдСлСния API-интСрфСйсов, БокращаСтся глобальная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ, ΠΊΠ°ΠΊ слСдствиС, ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ошибок. Π‘ 70-Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π²Π΅ΠΊΠ° общСпринятым ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ (описанном Π² ΡΡ‚Π°Ρ‚ΡŒΡΡ…, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… [61]) стало ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… систСм Π² Π²ΠΈΠ΄Π΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, с сохранСниСм минимального Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ слишком строгим ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ появлСнию ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Π”ΠΎΠΊΠ°Π·Π°Π½ΠΎ [33], Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ построСнии Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ плотности Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° модуля, кривая становится U-ΠΎΠ±Ρ€Π°Π·Π½ΠΎΠΉ, Π° Π΅Π΅ Π»ΡƒΡ‡ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π²Π²Π΅Ρ€Ρ… (см. рис. 4.1). ΠžΡ‡Π΅Π½ΡŒ большиС ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ слуТат ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ возникновСния Π³ΠΎΡ€Π°Π·Π΄ΠΎ большСго количСства ошибок, Ρ‡Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ срСднСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Π”Ρ€ΡƒΠ³ΠΈΠΌ способом рассмотрСния Ρ‚Π΅Ρ… ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… являСтся построСниС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ количСства строк ΠΊΠΎΠ΄Π° Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ количСства ошибок. ΠšΡ€ΠΈΠ²Π°Ρ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΏΠΎΠ΄ΠΎΠ±Π½Π° логарифмичСской ΠΊΡ€ΠΈΠ²ΠΎΠΉ Π΄ΠΎ Π·ΠΎΠ½Ρ‹ "Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ восприятия", Π³Π΄Π΅ ΠΎΠ½Π° сглаТиваСтся (соотвСтствСнно с ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΎΠΌ ΠΊΡ€ΠΈΠ²ΠΎΠΉ плотности Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ²), ΠΈ послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½Π° направляСтся Π²Π²Π΅Ρ€Ρ… (ΠΊΠ°ΠΊ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ числа, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ количСству строк ΠΊΠΎΠ΄Π°, Ρ‚.Π΅. Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ, согласно Π·Π°ΠΊΠΎΠ½Ρƒ Брукса[40], ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ для всСй ΠΊΡ€ΠΈΠ²ΠΎΠΉ).