Unix Π±ΡΠ»Π° ΠΏΠ΅ΡΠ²ΠΎΠΉ Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π°ΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² (Version 6 Unix, 1976 - 1977). Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Unix ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡΡ Π½Π° Π²ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ, ΠΌΠΎΡΠ½ΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½Π° Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π±Π»ΠΎΠΊΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ. Unix-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Unix-ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠΌ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ; ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, Π½Π΅ΡΠ΄Π°ΡΠ½ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ.
ΠΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»Π° ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² Unix. Unix-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΠΊΠ»ΠΎΠ½Π½Ρ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΡΠΎ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠΈΠ²ΠΎ, Π° ΡΡΠ°Π±ΠΈΠ»Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Unix API, ΠΈ Π΄Π΅Π»Π°Ρ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°Ρ ΠΌΠ°ΡΠΈΠ½, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π΄Π»ΠΈΠ½Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°, ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π±Π°ΠΉΡΠΎΠ² ΠΈΠ»ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΠ°ΠΌΡΡΠΈ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠ΄, ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ Π·Π°Π²ΠΈΡΡΡΠΈΠΉ ΠΎΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ·ΡΠΊΠ° Π‘, ΡΡΠΈΡΠ°Π΅ΡΡΡ Π² Unix-ΠΊΡΡΠ³Π°Ρ ΠΏΠ»ΠΎΡ ΠΈΠΌ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΡΠ΅Π½Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ , ΡΠ°ΠΊΠΈΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΡΠ΄ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
Unix-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π·Π½Π°ΡΡ ΠΏΠΎ ΠΎΠΏΡΡΡ, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΎΡΠΈΠ±ΠΈΡΡΡΡ, ΠΏΡΠ΅Π΄ΡΠ΅ΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΊΡΡ ΠΆΠΈΠ·Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ[136]. ΠΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ ΡΠΊΠ»ΠΎΠ½Π½Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠ³ΠΎ ΠΎΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ Π½Π΅Π΄ΠΎΠ»Π³ΠΎΠ²Π΅ΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΈ Π² Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° ΠΎΡΠΊΡΡΡΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΡ. ΠΡΠΈΠ²ΡΡΠΊΠ° ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ ΡΠΆΠ΅ ΡΡΠ°Π»Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΠ°Π΄ΠΈΡΠΈΠΉ Unix, ΡΠ°ΠΊ ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½Π° ΠΎΡΠ½ΠΎΡΠΈΡΡΡ Π΄Π°ΠΆΠ΅ ΠΊ ΠΌΠ΅Π»ΠΊΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π΄ΡΠΌΡΠ²Π°Π»ΠΈΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ΄. ΠΠ½Π° ΠΎΠΊΠ°Π·Π°Π»Π° Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° Π²ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Unix-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π° ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Perl, Python ΠΈ Tcl, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈΡΡ Π² Unix-ΡΡΠ΅Π΄Π΅.
ΠΠ΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΠΉ Π²ΡΠΈΠ³ΡΡΡ ΠΎΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΄Π»Ρ Unix-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΎΡΠΌΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΆΠΈΡΡ ΡΠ²ΠΎΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ Π·Π°Π½ΠΎΠ²ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π΄Π»Ρ Version 7 Unix (1979), ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Unix-ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , "Π³Π΅Π½Π΅ΡΠΈΡΠ΅ΡΠΊΠΈ" ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠΈΡ ΠΎΡ V7, Π½ΠΎ ΠΈ Π½Π° ΡΠ°ΠΊΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ Linux, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Unix-ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ΄Π°, Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ Bell Labs.
ΠΠΎΡΠ²Π΅Π½Π½Π°Ρ Π²ΡΠ³ΠΎΠ΄Π° ΠΌΠ΅Π½Π΅Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½Π°, Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Π°. ΠΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π° ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ ΡΠΊΠ»ΠΎΠ½Π½Π° ΡΠΏΡΠΎΡΠ°ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ Π·Π°ΡΡΠ°ΡΡ Π½Π° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
Π Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈ ΠΈΡΡΠΎΡΠΈΡ Unix-ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ². ΠΠΈΠΆΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΡ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π°ΠΊΡΡΠ°Π»ΡΠ½Ρ, ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΡΠ°ΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π² Unix API. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π·Π΄Π΅ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Unix-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡΠΌΡΠ»ΠΈΡΡΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ.
17.1. ΠΠ²ΠΎΠ»ΡΡΠΈΡ Π‘
ΠΠ»Π°Π²Π½ΡΠΌ ΡΠ°ΠΊΡΠΎΠΌ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Unix-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΠ·ΡΠΊΠ° Π‘ ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ»ΡΠΆΠ΅Π±Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΅Π³Π΄Π° Π΅ΠΌΡ ΡΠΎΠΏΡΡΡΡΠ²ΠΎΠ²Π°Π»ΠΈ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ I/O-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π΅ΠΉ). Π’ΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΡΠ·ΡΠΊ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π² 1973 Π³ΠΎΠ΄Ρ, Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΈΠ΄ΡΠ°ΡΠΈ Π»Π΅Ρ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π» Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ, Π² ΡΡΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΡΠ·ΡΠΊ Π‘ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ² Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ Π½Π°ΡΠΊΠ΅.
Π Π³Π»Π°Π²Π΅ 4 ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π² ΠΏΠΎΠ»ΡΠ·Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π‘ Π΄ΠΎΡΡΠΈΠ³ ΡΡΠΏΠ΅Ρ Π°, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠ»Ρ ΡΠΎΠ½ΠΊΠΎΠ³ΠΎ ΡΠ²ΡΠ·ΡΡΡΠ΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ Π½Π°Π΄ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°ΡΡΠΈΠΌΡΡ ΠΊ "ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅" [4]. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΠΊΡΠΎΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΡΠ°ΡΠΊΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°.
17.1.1. Π Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠΈΡ Π‘
Π―Π·ΡΠΊ Π‘ ΡΠΎΠ΄ΠΈΠ»ΡΡ Π² 1971 Π³ΠΎΠ΄Ρ ΠΊΠ°ΠΊ ΡΠ·ΡΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ PDP-11-Π²Π°ΡΠΈΠ°Π½ΡΠ° Unix ΠΈ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π»ΡΡ Π½Π° ΡΠ°Π½Π½Π΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ΅ ΡΠ·ΡΠΊΠ° Π, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΠ΅Π½ΠΎΠΌ Π’ΠΎΠΌΠΏΡΠΎΠ½ΠΎΠΌ. Π―Π·ΡΠΊ Π, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π±ΡΠ» ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Basic Common Programming Language β BCPL), ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ Π² ΠΠ΅ΠΌΠ±ΡΠΈΠ΄ΠΆΡΠΊΠΎΠΌ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ΅ Π² 1966β1967 Π³ΠΎΠ΄Π°Ρ [137].
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΉ C-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΠ΅Π½Π½ΠΈΡΠ° Π ΠΈΡΡΠΈ (ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π»ΠΈ "DMR" ΠΏΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»Π°ΠΌ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ) ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π» ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ, Π±ΡΡΡΡΠΎ ΡΠ°Π·ΡΠ°ΡΡΠ°ΡΡΠ΅Π΅ΡΡ Π²ΠΎΠΊΡΡΠ³ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Unix Π²Π΅ΡΡΠΈΠΉ 5, 6 ΠΈ 7. ΠΡ ΡΠ΅ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π‘ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° Π²Π΅ΡΡΠΈΡ Π‘ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Whitesmiths, ΠΏΠΎΠ²ΡΠΎΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ°Π»Π° ΠΏΠ΅ΡΠ²ΡΠΌ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠΌ C-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΈ ΡΠ΄ΡΠΎΠΌ IDRIS, ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΠΎΠ½Π° Unix. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΌΡΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π‘ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ "ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΠ³ΠΎ C-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°" (Portable Π‘ Compiler β PCC) Π‘ΡΠΈΠ²Π΅Π½Π° ΠΠΆΠΎΠ½ΡΠΎΠ½Π° (Steven Π‘. Johnson), ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅Π±ΡΡΠΈΡΠΎΠ²Π°Π» Π² ΡΠ΅Π΄ΡΠΌΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΠ» ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ DMR ΠΊΠ°ΠΊ Π² Π²Π΅ΡΠ²ΠΈ System V, ΡΠ°ΠΊ ΠΈ Π² BSD-Π²Π΅ΡΡΠΈΡΡ ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ.
Π 1976 Π³ΠΎΠ΄Ρ Π² ΡΠ΅ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π‘ Π±ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ typedef, union ΠΈ unsigned int. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠ°Π²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ.
ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΠ·ΡΠΊΠ° Π‘ Π±ΡΠ»Π° ΠΊΠ½ΠΈΠ³Π° ΠΡΠ°ΠΉΠ°Π½Π° ΠΠ΅ΡΠ½ΠΈΠ³Π°Π½Π° ΠΈ ΠΠ΅Π½Π½ΠΈΡΠ° Π ΠΈΡΡΠΈ "The Π‘ Programming Language", ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π»ΠΈ "ΠΠ΅Π»ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΎΠΉ" [42]. ΠΠ½Π° Π±ΡΠ»Π° ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π² 1978 Π³ΠΎΠ΄Ρ, Π² ΡΠΎΠΌ ΠΆΠ΅ Π³ΠΎΠ΄Ρ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ C-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Whitemiths.
ΠΠ΅Π»Π°Ρ ΠΊΠ½ΠΈΠ³Π° ΠΎΠΏΠΈΡΡΠ²Π°Π»Π° ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΡΡΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ·ΡΠΊΠ° Π‘ Ρ ΠΎΠ΄Π½ΠΈΠΌ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ Π ΠΈΡΡΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π²Π°Π»ΡΡ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π‘ Ρ COMMON- ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ ΡΠ·ΡΠΊΠ° FORTRAN, ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ, ΡΡΠΎ Π»ΡΠ±Π°Ρ ΠΌΠ°ΡΠΈΠ½Π°, ΡΠΏΠΎΡΠΎΠ±Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ FORTRAN, Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠΎΠ²Π° ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π‘. Π ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ ΠΎΠ±ΡΠΈΠΌ Π±Π»ΠΎΠΊΠΎΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·; ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠΎΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π²Π° ΡΠ°Π½Π½ΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π‘ (Π΄Π»Ρ ΠΌΡΠΉΠ½ΡΡΠ΅ΠΉΠΌΠΎΠ² Honeywell ΠΈ IBM 360) ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π½Π° ΠΌΠ°ΡΠΈΠ½Π°Ρ Ρ ΠΎΡΠ΅Π½Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠΎΠΌ, ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π»ΠΈ ΠΎΠ±Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Version 6 Π‘ Π±ΡΠ» ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½ Π² Π±ΠΎΠ»Π΅ ΡΡΡΠΎΠ³ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ (ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π»Π° ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠΉ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° extern, Π·Π°Π΄Π°ΡΡΠ΅Π³ΠΎ Π½Π° Π½Π΅Π΅ ΡΡΡΠ»ΠΊΠΈ), ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π² [42].
ΠΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΎΡΠΌΠ΅Π½Π΅Π½ΠΎ Π² C-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ»ΡΡ Ρ Version 7, ΠΏΠΎΡΠ»Π΅ Π²ΡΡΡΠ½Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π·Π°Π²ΠΈΡΠ΅Π»ΠΎ ΠΎΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΠΏΡΠ°Π²ΠΈΠ». ΠΠΎΠ΄ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»Π°ΡΡ Π½Π΅ΡΠ΄Π°ΡΠ΅ΠΉ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΠΏΠΎΠΏΡΡΠΊΠ° ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΈΡΡΡΡ (Π² Π²Π΅ΡΡΠΈΠΈ System V Release 1 1983 Π³ΠΎΠ΄Π°), ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π² 1988 Π³ΠΎΠ΄Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ANSI (ANSI Draft Standard) ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ. ΠΠ±ΡΠΈΠΉ Π±Π»ΠΎΠΊ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ·Π½Π°Π½Π½ΡΠΌ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ°.
Π ΡΠ΅Π΄ΡΠΌΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π‘ Π±ΡΠ»Π° Π²Π²Π΅Π΄Π΅Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ enum, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ struct ΠΈ union ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°ΡΠ°ΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ (Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ).
ΠΡΡΠ³ΠΈΠΌ Π³Π»Π°Π²Π½ΡΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π² V7 Π±ΡΠ»ΠΎ ΡΠΎ, ΡΡΠΎ Unix-ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ Π² ΡΠ°ΠΉΠ»Π°Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π»ΠΈΡΡ. Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π²Π΅ΡΡΠΈΡΡ Unix ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ²) ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ°ΡΠ°Π»ΠΈΡΡ Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈΡ Π² ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄. ΠΠ·Π»ΠΈΡΠ½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡΡ, ΡΡΠΎ ΡΡΠΎ Π±ΡΠ»ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ.
Π‘ΡΠΈΠ² ΠΠΆΠΎΠ½ΡΠΎΠ½.ΠΠ΅ΡΡΠΈΡ System III Π‘ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° PCC (ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ»Π°ΡΡ Ρ BSD 4.1Ρ) ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ struct ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΠ»Π΅Π½Ρ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΠ°Ρ Π½Π΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²Π°Π»ΠΈ. Π’Π°ΠΊΠΆΠ΅ Π±ΡΠ»ΠΈ Π²Π½Π΅ΡΠ΅Π½Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ void ΠΈ unsigned char. ΠΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ extern-ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ Π±ΡΠ»Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π»Π° Π²ΡΠ΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π·Π° Π½Π΅ΠΉ ΠΊΠΎΠ΄Π°.
Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ANSI Π‘ (ANSI Π‘ Draft Proposed Standard) Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ const (Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ) ΠΈ volatile (Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΡΡΠ΅Π΅ΠΊ, ΠΊΠ°ΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠ΅ Π½Π° ΠΏΠ°ΠΌΡΡΡ ΡΠ΅Π³ΠΈΡΡΡΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ). Π ΡΠ΅Π»ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊ Π»ΡΠ±ΠΎΠΌΡ ΡΠΈΠΏΡ Π±ΡΠ» ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΈΠΏΠ° unsigned, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ signed. ΠΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ auto-ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ² ΡΡΡΡΠΊΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΏΠΎΠ² union. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ ΡΠΎ, ΡΡΠΎ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΏΡΠΎΡΠΎΡΠΈΠΏΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
Π‘Π°ΠΌΡΠΌΠΈ Π²Π°ΠΆΠ½ΡΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² ΡΠ°Π½Π½Π΅ΠΌ Π‘ Π±ΡΠ» ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ANSI Π‘. Π―Π·ΡΠΊ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²Ρ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΌ Ρ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΊΠ°ΠΊ Π² 1985 - 1986 Π³ΠΎΠ΄Π°Ρ ΠΊΠΎΠΏΠΈΠΈ ΡΠ°Π±ΠΎΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠΈΡΠ΅ΡΠ° X3J11 ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ° Π΄ΠΎΠ²Π΅Π»ΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠ° Π΄ΠΎ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ².
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΈΡΡΠΎΡΠΈΡ ΡΠ°Π½Π½Π΅Π³ΠΎ Π‘ ΠΎΠΏΠΈΡΠ°Π½Π° ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ·ΡΠΊΠ° Π² ΡΡΠ°ΡΡΠ΅ [70].
17.1.2. Π‘ΡΠ°Π½Π΄Π°ΡΡΡ Π‘
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² Π‘ Π±ΡΠ»Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ²Π°ΡΠΈΠ²Π½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΡΠ»ΠΎΡΡ "ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄ΡΡ Π°" ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π‘, Π° Π°ΠΊΡΠ΅Π½Ρ Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ ΡΠΊΠΎΡΠ΅Π΅ Π½Π° ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°Ρ , ΡΠ΅ΠΌ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠΎΠΊΡΠΌΠ΅Π½Ρ-Ρ Π°ΡΡΠΈΡ C9X (C9X charter)[138] ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠΈΡΡΠΈΠΈ.