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

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

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

Π“Π΅Π½Ρ€ΠΈ БпСнсСр.

ΠŸΡƒΡΡ‚Ρ‹Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π±Ρ‹Π»ΠΈ созданы ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ стандартизации ΠΈ стали ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌΠΈ. Но Ρ‚ΠΎΡ‡ΠΊΡƒ зрСния Π“Π΅Π½Ρ€ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π΄ΠΎ сих ΠΏΠΎΡ€.

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

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ основа ANSI Π‘ Π±Ρ‹Π»Π° согласована достаточно Ρ€Π°Π½ΠΎ, споры ΠΎ содСрТимом стандартных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»ΠΈΡΡŒ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π»Π΅Ρ‚. Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ стандарт Π½Π΅ Π±Ρ‹Π» ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° 1989 Π³ΠΎΠ΄Π°, сразу послС этого Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ компиляторов Π±Ρ‹Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ 1985 Π³ΠΎΠ΄Π°. Π”Π°Π½Π½Ρ‹ΠΉ стандарт ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ назывался ANSI Π₯3.159, Π½ΠΎ Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π² ISO/IEC 9899:1990, ΠΊΠΎΠ³Π΄Π° ΠœΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Π°Ρ организация ΠΏΠΎ стандартизации (International Standards Organization β€” ISO) приняла Π½Π° сСбя спонсорскиС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°. ΠžΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π² стандартС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ языка ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ называСтся Π‘89 ΠΈΠ»ΠΈ Π‘90.

ΠŸΠ΅Ρ€Π²Π°Ρ ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎ Π‘ ΠΈ практичСской Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ пСрСносимости, "Portable Π‘ and Unix Systems Programming" [44], Π±Ρ‹Π»Π° ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π² 1987 Π³ΠΎΠ΄Ρƒ. (Π― написал Π΅Π΅ ΠΏΠΎΠ΄ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ псСвдонимом, навязанным ΠΌΠ½Π΅ ΠΌΠΎΠΈΠΌΠΈ Ρ‚ΠΎΠ³Π΄Π°ΡˆΠ½ΠΈΠΌΠΈ работодатСлями.) Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½Π° ΠΈ Π ΠΈΡ‚Ρ‡ΠΈ [42] Π²Ρ‹ΡˆΠ»ΠΎ Π² 1988 Π³ΠΎΠ΄Ρƒ.

ΠžΡ‡Π΅Π½ΡŒ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ модификация Π‘89, названная Amendment 1 (ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠ° 1), AMI, ΠΈΠ»ΠΈ Π‘93, появилась Π² 1993 Π³ΠΎΠ΄Ρƒ. Π’ Π½Π΅ΠΉ Π±Ρ‹Π»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ большС возмоТностСй ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… символов ΠΈ Unicode. Π”Π°Π½Π½Ρ‹ΠΉ стандарт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ISO/IEC 9899-1:1994.

ΠŸΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€ стандарта Π‘89 начался Π² 1993 Π³ΠΎΠ΄Ρƒ. Π’ 1999 Π³ΠΎΠ΄Ρƒ организация ISO приняла стандарт ISO/IEC 9899 (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π‘99). Он Π²ΠΊΠ»ΡŽΡ‡Π°Π» Π² сСбя Amendment 1 ΠΈ большоС количСство ΠΌΠ΅Π»ΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° программистов являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² любом мСстС Π±Π»ΠΎΠΊΠ°, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½Π°Ρ‡Π°Π»Π΅ (аналогичная языку Π‘++). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² стандартС Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ макросы с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ числом Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Рабочая Π³Ρ€ΡƒΠΏΠΏΠ° Π‘9Π₯ ΠΈΠΌΠ΅Π΅Ρ‚ Web-страницу chttp: //anubis . dkuug. dk/ JTC1/ SC2 2/WG14/www/pro j Π΅Π΅ ts>, Π½ΠΎ ΠΊ сСрСдинС 2003 Π³ΠΎΠ΄Π° ΠΏΠ»Π°Π½ΠΎΠ² Π½Π° Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ стандарта Π½Π΅ Π±Ρ‹Π»ΠΎ. Π§Π»Π΅Π½Ρ‹ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ дополнСния ΠΊ Π‘ для встроСнных систСм.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π‘ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ способствовал Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстимыС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ языка Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π½Π° мноТСствС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСм Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Π»Π°ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ стандартизации. Π­Ρ‚ΠΎ сильно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ»ΠΎ споры ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² стандартС.

17.2. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ Unix

Π’ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π² 1973 Π³ΠΎΠ΄Ρƒ Unix Π±Ρ‹Π»Π° пСрСписана Π½Π° Π‘, бСспрСцСдСнтно упростил ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ исходная Unix вскорС Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ»Π°ΡΡŒ Π½Π° сСмСйство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. Unix-стандарты ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈΡΡŒ Π² цСлях согласования API-интСрфСйсов Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π΅Ρ‚Π²Π΅ΠΉ Ρ„Π°ΠΌΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°.

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

Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Ρ… Unix-систСмах с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ (Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Linux) ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСна ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° проСктирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы с использованиСм ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… стандартов ΠΊΠ°ΠΊ спСцификации. Π­Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ рассматриваСтся Π² Ρ…ΠΎΠ΄Π΅ изучСния стандартов RFC Π΄Π°Π»Π΅Π΅ Π² настоящСй Π³Π»Π°Π²Π΅.

17.2.1. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ ΠΈ Unix-Π²ΠΎΠΉΠ½Ρ‹

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠΎΡ‚ΠΈΠ²ΠΎΠΌ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Unix-стандартов Π±Ρ‹Π»ΠΎ расхоТдСниС Π»ΠΈΠ½ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ AT&T ΠΈ УнивСрситСта Π‘Π΅Ρ€ΠΊΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»ΠΎΡΡŒ Π² Π³Π»Π°Π²Π΅ 7.

Unix-систСмы 4.x BSD происходили ΠΎΡ‚ Version 7, Π²Ρ‹ΡˆΠ΅Π΄ΡˆΠ΅ΠΉ Π² 1979 Π³ΠΎΠ΄Ρƒ. ПослС Π²Ρ‹Ρ…ΠΎΠ΄Π° 4.1 BSD Π² 1980 Π³ΠΎΠ΄Ρƒ BSD-линия быстро ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Π»Π° Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ†ΠΈΡŽ Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ Unix-систСмы. Π’ число Π²Π°ΠΆΠ½Ρ‹Ρ… Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ Π²Ρ…ΠΎΠ΄ΠΈΠ»ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vi, срСдства контроля Π·Π°Π΄Π°Π½ΠΈΠΉ для управлСния с ΠΎΠ΄Π½ΠΎΠΉ консоли многочислСнными высокоприоритСтными ΠΈ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ сигналов (см. Π³Π»Π°Π²Ρƒ 7). НСсравнСнно Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π±Ρ‹Π»Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° TCP/IP-сСтСй, Π½ΠΎ хотя УнивСрситСт Π‘Π΅Ρ€ΠΊΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ Π½Π° ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π² 1980 Π³ΠΎΠ΄Ρƒ, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» TCP/IP Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Ρ… Π»Π΅Ρ‚ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π»ΡΡ Π² состав Π²Π½Π΅ΡˆΠ½ΠΈΡ… вСрсий.

Однако другая вСрсия, System III, появившаяся Π² 1981 Π³ΠΎΠ΄Ρƒ, стала основой дальнСйшСй Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ AT&T. Π’ System III интСрфСйс Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ² вСрсии 7 Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅Ρ‚ΠΊΡƒΡŽ ΠΈ ΠΈΠ·ΡΡ‰Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, которая Π±Ρ‹Π»Π° Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ нСсовмСстимой с ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ Π‘Π΅Ρ€ΠΊΠ»ΠΈ. Π’ Π½Π΅ΠΉ ΡΠΎΡ…Ρ€Π°Π½ΡΠ»Π°ΡΡŒ (нСобратимая) сСмантика сигналов (см. Π³Π»Π°Π²Ρƒ 7). Π’ состав январской вСрсии System V Release 1 Π² 1983 Π³ΠΎΠ΄Ρƒ вошли Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ BSD-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ vi( 1)).

ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Ρ‹Π² Π±Ρ‹Π»Π° прСдпринята Π² Ρ„Π΅Π²Ρ€Π°Π»Π΅ 1983 Π³ΠΎΠ΄Π° Π²Π»ΠΈΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ Unix-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, UniForum. Π’Ρ‹ΡˆΠ΅Π΄ΡˆΠΈΠΉ Π² 1983 Π³ΠΎΠ΄Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ стандарта Uniforum (Uniforum 1983 Draft Standard β€” UDS 83) описывал "ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Unix систСму", ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· подмноТСства ядра System III ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ плюс ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ² Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². AT&T объявила ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ UDS 83, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ стандарт прСдставлял собой Π½Π΅Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… практичСских ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² 4.1BSD. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠ±ΠΎΡΡ‚Ρ€ΠΈΠ»Π°ΡΡŒ с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Π² июлС 1983 Π³ΠΎΠ΄Π° 4.2BSD, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ мноТСство Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ TCP/IP-сСти) ΠΈ Π²Π²Π΅Π΄Π΅Π½Π° нСкоторая нСочСвидная Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с исходной вСрсиСй 7.

Π›ΠΈΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Bell Π² 1984 Π³ΠΎΠ΄Ρƒ ΠΈ Π½Π°Ρ‡Π°Π»ΠΎ Unix-Π²ΠΎΠΉΠ½ (см. Π³Π»Π°Π²Ρƒ 2) Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ услоТнило ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Sun Microsystems Π»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Π»Π° Π² индустрии Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… станций Π² BSD-Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ; AT&T ΠΏΡ‹Ρ‚Π°Π»Π°ΡΡŒ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒΡΡ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΉ бизнСс ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Unix ΠΊΠ°ΠΊ стратСгичСскоС ΠΎΡ€ΡƒΠΆΠΈΠ΅, Π΄Π°ΠΆΠ΅ продолТая Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π°ΠΌ, ΠΊΠ°ΠΊ Sun. ВсС поставщики ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π»ΠΈ бизнСс-Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои вСрсии Unix для получСния ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΠ³ΠΎ прСимущСства.

Π’ Ρ…ΠΎΠ΄Π΅ Unix-Π²ΠΎΠΉΠ½ тСхничСская стандартизация стала Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ зрСния, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ отстаивали ΡΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠ΅ тСхничСскиС спСциалисты, Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ² ΠΏΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π»ΠΈ Π΅Π΅ Π½Π΅ΠΎΡ…ΠΎΡ‚Π½ΠΎ ΠΈΠ»ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΡΠΎΠΏΡ€ΠΎΡ‚ΠΈΠ²Π»ΡΠ»ΠΈΡΡŒ. Одним ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌ ΠΈ Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π±Ρ‹Π»Π° корпорация AT&T, которая, анонсируя Π² январС 1984 Π³ΠΎΠ΄Π° System V Release 2 (SVr2), объявила ΠΎ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΈ ΡΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‡Π°Ρ‚ΡŒ с Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ стандартов. Π’Ρ‚ΠΎΡ€ΠΎΠΉ пСрСсмотр ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° стандарта UniForum Π² 1984 Π³ΠΎΠ΄Ρƒ ΠΏΡ€ΠΎΠ»ΠΎΠΆΠΈΠ» ΠΏΡƒΡ‚ΡŒ ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ повлиял Π½Π° API SVr2. ПозднСС Unix-стандарты Ρ‚Π°ΠΊΠΆΠ΅ ΡΡ‚Ρ€Π΅ΠΌΠΈΠ»ΠΈΡΡŒ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ System V, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚Π΅Ρ… областСй, Π³Π΄Π΅ BSD-срСдства ΠΈΠΌΠ΅Π»ΠΈ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ прСвосходство (поэтому, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, соврСмСнныС стандарты Unix ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ срСдства управлСния Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°ΠΌΠΈ System V, вмСсто BSD-интСрфСйса ΠΊ Ρ‚Π΅ΠΌ ΠΆΠ΅ срСдствам).

Π’ 1985 Π³ΠΎΠ΄Ρƒ AT&T ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ System V Interface Definition (SVID), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π»ΠΎΡΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ описаниС SVr2 API, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ стандарт UDS 84. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ SVID2 ΠΈ SVID3 Π½Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ курс Π½Π° созданиС интСрфСйсов System V вСрсий 3 ΠΈ 4. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ SVID стал основой POSIX-стандартов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ склонили Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ спора Π‘Π΅Ρ€ΠΊΠ»ΠΈ/АВ&Π’ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ систСмных ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Ρ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π‘ Π² сторону ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° AT&T.

Однако это Π½Π΅ стало ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΅Ρ‰Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π»Π΅Ρ‚. Π’Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Unix-Π²ΠΎΠΉΠ½Ρ‹ Π±Ρ‹Π»ΠΈ Π² Ρ€Π°Π·Π³Π°Ρ€Π΅. НапримСр, Π² 1985 Π³ΠΎΠ΄Ρƒ Π²Ρ‹ΡˆΠ»ΠΈ Π΄Π²Π° ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… API-стандарта для Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы с совмСстным доступом ΠΏΠΎ сСти: Network File System (NFS) ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Sun ΠΈ АВ&Π’-систСма Remote File System (RFS). NFS-систСма Π²Ρ‹ΠΈΠ³Ρ€Π°Π»Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Sun Π±Ρ‹Π»Π° Π³ΠΎΡ‚ΠΎΠ²Π° Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ спСцификации, Π½ΠΎ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄.

Π­Ρ‚ΠΎ Π±Ρ‹Π» настоящий успСх, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠΎ своСму логичСскому ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡŽ систСма RFS Π±Ρ‹Π»Π° всС-Ρ‚Π°ΠΊΠΈ Π»ΡƒΡ‡ΡˆΠ΅ΠΉ модСлью. Она ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»Π° Π»ΡƒΡ‡ΡˆΡƒΡŽ сСмантику Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π»ΡƒΡ‡ΡˆΡƒΡŽ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСмах ΠΈ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ NFS, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π±Ρ‹Π»Π° Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π° Π½Π° Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΡ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ сСмантики Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Unix. Однако Π΄Π°Π½Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠΊ Π±Ρ‹Π» ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½, Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° Π² 1987 Π³ΠΎΠ΄Ρƒ Π΅Π³ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠ»Π° систСма X Window с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΠ±Π΅Π΄ΠΈΠ² Ρ‡Π°ΡΡ‚Π½ΡƒΡŽ систСму Sun Networked Window System (NeWS).