101
ΠΡ, ΠΌΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌ ΠΌΡΡΠ»Ρ, ΡΡΠΎ Π΄Π²Π° ΡΡΠΏΡΡΠ³Π° ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Ρ ΠΎΡΠ΅ΡΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΠΈ Π½Π°ΡΠ»Π°Π΄ΠΈΡΡΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
102
Π ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠΎΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ 'read -p' ΠΈ 'print -p'). Π‘ΡΠ΅Π½Π°ΡΠΈΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ exec ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² ΡΠ°ΠΉΠ»Π° ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΎΠΏΡΠΎΡΠ΅ΡΡ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
103
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡ Π·Π°ΠΊΡΡΡΡ. ΠΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΎΡΠΊΡΡΡΡ, ΠΎΠ½ΠΈ ΡΠ΅ΡΡΡΡΡΡ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΡΡΠΏΠ΅Ρ ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈ ΠΏΠ°ΠΌΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ΅ΡΠΊΡ ΠΏΠ°ΠΌΡΡΠΈ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
104
ΠΠ³ΡΠ° ΡΠ»ΠΎΠ² kill-overkill (ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎ β overkill) β ΠΡΠΈΠΌΠ΅Ρ. ΠΏΠ΅ΡΠ΅Π².
105
ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² GNU/Linux ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΎΠ·Π½Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² core Β«Ρ ΠΈΠ³ΠΎΠ»ΠΎΡΠΊΠΈΒ». ΠΠ»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π² ΡΠ²ΠΎΠΉ ΡΠ°ΠΉΠ» ~/.profile ΡΡΡΠΎΠΊΡ 'ulimit -S -Ρ unlimited' β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
106
Handler (Π°Π½Π³Π».) β ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ β ΠΡΠΈΠΌΠ΅Ρ. ΠΏΠ΅ΡΠ΅Π².
107
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π±ΡΠ»ΠΎ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΌΡΡΠ»ΡΡ, ΡΠΈΠ»ΡΠ½ΠΎ ΠΊΡΠΈΡΠΈΠΊΠΎΠ²Π°Π²ΡΠ΅ΠΉΡΡ Π² ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π½ΠΎ Π±ΡΠ»ΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΏΠΎΠ·Π΄Π½ΠΎ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π²ΡΠ΅Π³Π΄Π° Π²Π΅Π΄Π΅Ρ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅, ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅. Π₯ΠΎΡΡ ΡΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π»ΡΠ±ΠΎΠΉ, ΠΊΡΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΡΡΠΎΡ ΡΡΠΎΠΊ. β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
108
Π₯ΠΎΡΡ ΠΌΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ read(), ΡΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ Π²ΡΠ·ΠΎΠ²Π°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π·Π°Π²Π΅ΡΡΠΈΡΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ EINTR, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ wait() β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
109
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ API ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ, β ljobs β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
110
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΡ ΡΠΌΠΎΠ³Π»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΈΠΌΠ΅Π½Π° SA_NOMASK ΠΈ SA_ONESHOT ΡΠ²Π»ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π΄Π»Ρ GNU/Linux. ΠΡΠ»ΠΈ ΠΊΠΎΠΌΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΈΠ½ΠΎΠ΅, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΠΎΠΎΠ±ΡΠΈΡΠ΅ Π½Π°ΠΌ!
111
ΠΠ°ΡΠ° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ Π£Π»ΡΡΠΈΡ Ρ ΠΡΠ΅ΠΏΠΏΠ΅ΡΡ (Ulrich Drepper) Π·Π° ΠΏΠΎΠΌΠΎΡΡ Π² ΡΠ°Π·ΡΡΡΠ½Π΅Π½ΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΡΠΈΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
112
ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ BSD ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΈΠΌΡ SIGCHLD, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈ POSIX. Π System V Π΅ΡΡΡ ΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠΈΠ³Π½Π°Π» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ SIGCLD. GNU/Linux ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ΅ΡΠ΅Π· #define ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ²ΡΠΉ β ΡΠΌ. ΡΠ°Π±Π». 10.1 β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
113
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡΡΡΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ»ΠΎ Π±Ρ child_at_school() [ΡΠ΅Π±Π΅Π½ΠΎΠΊ_Π²_ΡΠΊΠΎΠ»Π΅] β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
114
MacOS X ΠΈ Windows XP ΠΎΠ±Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, Π½ΠΎ ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
115
Π₯ΠΎΡΡ Π² Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ Π¨ΡΠ°ΡΠ°Ρ Π½Π΅Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠΉ Π»ΠΈΡΠ½ΠΎΡΡΠΈ, Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΡΡΠ°Π½Π°Ρ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡΡΡ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
116
ΠΠ΅Π½ΠΈΡ Π ΠΈΡΠΈ (Dennis Ritchie), ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ Π‘ ΠΈ ΡΠΎΠ°Π²ΡΠΎΡ Unix, ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΏΠ°ΡΠ΅Π½Ρ Π΄Π»Ρ Π±ΠΈΡΠ° setuid: Protection of Data File Contents (ΠΠ°ΡΠΈΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π΄Π°Π½Π½ΡΡ ), Π½ΠΎΠΌΠ΅Ρ ΠΏΠ°ΡΠ΅Π½ΡΠ° Π‘Π¨Π 4135240. Π‘ΠΌ. http://www.delphion.com/details?pn=US04135240__, Π° ΡΠ°ΠΊΠΆΠ΅ http://www.uspco.gov. AT&T ΠΏΠ΅ΡΠ΅Π΄Π°Π»Π° ΠΏΠ°ΡΠ΅Π½Ρ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ, ΡΠ°Π·ΡΠ΅ΡΠΈΠ² Π²ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
117
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌ GNU/Linux ΠΈ Unix ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»ΡΠ±ΠΎΠΊΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ ΡΠ°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ. ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 11.9 Β«Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠ°Ρ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ°Β» β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
118
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ GNU userv (ftp://ftp.gnu.org/gnu/userv/) β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
119
ΠΠ° ΡΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ ΠΎΠ±ΡΠ°Π·Ρ ΡΡΠ°ΡΡΠ»ΠΈΠ²ΡΡ ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈΡ Π»ΠΈΡΠ° ΠΈ ΡΡΠΊΠΈ, Π·Π°ΠΏΠ°ΡΠΊΠ°Π½Π½ΡΠ΅ ΡΠΎΠΊΠΎΠ»Π°Π΄ΠΎΠΌ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
120
E (Effective) ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ID, R (Real) Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ID ΠΈ S (Saved) ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠΉ ID β ΠΡΠΈΠΌΠ΅Ρ. Π½Π°ΡΡ. ΡΠ΅Π΄.
121
ΠΠ΄Π½Π°ΠΊΠΎ, Π² ΡΠ²ΠΎΠ΅ΠΉ Π»Π΅ΠΊΡΠΈΠΈ Π² ΡΠ΅ΡΡΡ ΠΏΡΠΈΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠ΅ΠΌΠΈΠΈ Π’ΡΡΡΠΈΠ½Π³Π° ΠΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ ΠΏΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠ΅ Π² 1981 Π³. Π΄-Ρ Π₯ΠΎΠ°Ρ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ, ΡΡΠΎ ΡΡΡ ΠΈΠ΄Π΅Ρ Π²ΡΠ΄Π²ΠΈΠ½ΡΠ» ΡΠ°ΠΌ ΠΠ»Π°Π½ Π’ΡΡΡΠΈΠ½Π³ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
122
ΠΠ°ΠΊ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 10.2 Β«ΠΠ΅ΠΉΡΡΠ²ΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ²Β», Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ GNU/Linux Π·Π°ΠΏΡΠ΅ΡΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² core. Π§ΡΠΎΠ±Ρ ΡΠ½ΠΎΠ²Π° ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΈΡ , ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π² ΡΠ²ΠΎΠΉ ΡΠ°ΠΉΠ» ~/.profile ΡΡΡΠΎΠΊΡ 'ulimit -S -Ρ unlimited' β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
123
Hints On Programming Language Design, C.A.R. Hoare Stanford University Computer Science Technical Report CS-73-403 (ftp://reports.stanford.edu/pub/cstr/reports/cs/tr/73/403/CS-TR-73-403.pdf). December, 1973 β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
124
Π‘ΠΌ. wΡ(1). wc ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΡΡΠΎΠΊΠΈ, ΡΠ»ΠΎΠ²Π° ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
125
Π’Π°ΠΊΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ /dev/shm Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ,, ΠΎΠ½ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π° Π½Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΈ Π½Π°ΡΠ΅ΠΉ ΠΌΡΡΠ»ΠΈ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
126
ΠΠ° Π½Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ 512 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠΎ Π΄Π»Ρ ΡΡΠ°ΡΡΡ ΡΡΠ΄Π°ΠΊΠΎΠ² Π²ΡΠΎΠ΄Π΅ Π°Π²ΡΠΎΡΠ° ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΏΠΎΡΡΠ΄ΠΎΡΠ½ΡΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ΅Π½Ρ Π½Π° ΠΏΠ°ΠΌΡΡΡ ΡΠΏΠ°Π»ΠΈ, ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠ±ΡΡΠ½Ρ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠ°ΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
127
ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ°ΡΡΠΊΠΎΠ² Π΄ΠΈΡΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡΠ΅Π³ΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π² ΠΏΠ°ΠΌΡΡΠΈ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
128
Π’Π°ΠΊΠ°Ρ ΡΡΠ΅ΡΠΊΠ° Π±ΡΠ»Π° Ρ Π½Π°Ρ Π² gawk Π ΡΡΠ°ΡΡΡΡ, ΠΎΠ½Π° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
129
Numerical Recipes in Π‘. The Art of Scientific Computing,, 2nd edition, by William H. Press, Brian P. Plannery, Saul A. Teukolsky, and William T. Vetterling. Cambridge University Press, USA, 1993, ISBN 0-521-43108-5 β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
130
Π‘ΠΌ /usr/source/s1/glob.c Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ V6
131
http://www.cs.bell-labs.com/cm/cs/pearls/ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
132
Π ΡΡΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄: ΠΠΎΠ½Π°Π»ΡΠ΄ E. ΠΠ½ΡΡ. ΠΡΠΊΡΡΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π’ΠΎΠΌ 2. ΠΠΎΠ»ΡΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ (3-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅). ΠΠΎΡΠΊΠ²Π° - Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³ - ΠΠΈΠ΅Π². ΠΠΈΠ»ΡΡΠΌΡ. 2000 β ΠΡΠΈΠΌΠ΅Ρ. Π½Π°ΡΡ. ΡΠ΅Π΄.
133
http://www-cs-faculty.stanford.edu/~knuth/taocp.html β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
134
Π ΡΡΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ β ΠΠΆ. Π€ΡΠΈΠ΄Π». Π Π΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (2-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅). C.-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, ΠΠΈΡΠ΅Ρ, 2003 β ΠΡΠΈΠΌ. Π½Π°ΡΡ. ΡΠ΅Π΄.
135
http://www.gnu.org/software/grep/doc/grep.html β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
136
ΠΡ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΡ ΡΠ»ΠΎΠ² i(nternationalizatio)n ΠΈ l(ocalizatio)n βΠΡΠΈΠΌΠ΅Ρ. ΠΏΠ΅ΡΠ΅Π².
137
NLS β native language support β ΠΡΠΈΠΌΠ΅Ρ. ΠΏΠ΅ΡΠ΅Π².
138
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠ°ΠΊ catgets(). Π₯ΠΎΡΡ ΠΎΠ½ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΎΠ²Π°Π½ POSIX, Π΅Π³ΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΈ ΠΌΡ Π΅Π³ΠΎ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
139
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π²ΡΠΈΠ΅ Π½Π° Π‘ ΠΈ Unix, ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»Ρ 'Π‘', Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΈΡ ΡΠΎΠ΄Π½ΠΎΠΉ ΡΠ·ΡΠΊ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ, Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΠΈ Π΄Π°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΡΡΠΈ ΡΠ΅Π΄ΡΠ΅, ΠΏΠΎΠ½ΡΡ Π°Π²ΡΠΈΠ΅ ΠΏΠΎΡΠΎΡ Ρ Π²Π΅ΡΠ΅ΡΠ°Π½Ρ Unix β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
140
ΠΡ ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠ°ΡΡΠ»ΠΈΠ²Ρ, ΠΊΠ°ΠΊ ΠΈ Π²Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
141
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΡΠΌΠΈΠ½ radix point (ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ), ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΈΡΠ»Π° Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ°ΡΡΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΄Π»Ρ Π΄Π΅Π½Π΅ΠΆΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠΌΠΈΠ½ 'decimal point' (Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠΉ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ) β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
142
ΠΠ°ΠΌ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΡΡΡΡ ii ΠΈ jj, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΠΈΡ ΠΊΠΎΠ΄ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ, ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Ρ Π½Π°Ρ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.
143
ΠΡΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Autoconf ΠΈ Automake. Autoconf ΠΈ Automake ΡΠ²Π»ΡΡΡΡΡ ΠΌΠΎΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌΠΈ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ, Π΄Π°ΡΡΠΈΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΠΊΡΡΠ³Π° Unix-ΡΠΈΡΡΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ β ΠΡΠΈΠΌΠ΅Ρ. Π°Π²ΡΠΎΡΠ°.