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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π² LinuxΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 321

Автор ΠœΡΡ‚ΡŒΡŽ НСйл

β–‘Β 

-Wformat
β€” провСряСт ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ сСмСйства
printf
.

β–‘Β 

-Wparentheses
β€” провСряСт Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ скобок, Π΄Π°ΠΆΠ΅ Ρ‚Π°ΠΌ, Π³Π΄Π΅ ΠΎΠ½ΠΈ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹. Π­Ρ‚Π° опция ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ слоТныС структуры ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π·Π°Π΄ΡƒΠΌΠ°Π½ΠΎ.

β–‘Β 

-Wswitch-default
β€” провСряСт Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°
default
Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ…
switch
, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ считаСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ стилСм программирования.

β–‘Β 

-Wunused
β€” провСряСт Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ случаи, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, статичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅, Π½ΠΎ Π½Π΅ описанныС, Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΎΡ‚Π±Ρ€ΠΎΡˆΠ΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

β–‘Β 

-Wall
β€” Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ gcc, Π² Ρ‚ΠΎΠΌ числС всС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΈ -
W
(Π½Π΅ охватываСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ
-pedantic
). Π‘ Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ чистоты ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

БущСствуСт Π΅Ρ‰Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ, всС подробности см. Π½Π° Web-страницах gcc. Π’ основном ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ

-Wall
; это ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΉ компромисс ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ высокого качСства, ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π²Ρ‹Π²ΠΎΠ΄Π° компилятором массы Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ становится Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ свСсти ΠΊ Π½ΡƒΠ»ΡŽ.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ Linux Standards Base

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

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π² этой области для ОБ Linux β€” Linux Standards Base (LSB, стандарты ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Π½Π° Π±Π°Π·Π΅ Linux), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° Web-сайтах http://mvw.linuxbase.org ΠΈΠ»ΠΈ http://www.linux-foundation.org/en/LSB. Π£ΠΆΠ΅ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ΠΎ нСсколько вСрсий стандартов, ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° продолТаСтся.

Бписок дистрибутивов, ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… ΡΠ΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎ адрСсу http://www.linux-foundation.org/en/Products. Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Ρ€Π°Π·Π½Ρ‹Π΅ вСрсии Red Hat, SUSE ΠΈ Ubuntu, Π½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ послС выпуска дистрибутива Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° сСртификации Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя. На Web-сайтС Π΅ΡΡ‚ΡŒ список дистрибутивов, проходящих тСстированиС ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… обновлСниях для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ сСртификационныС испытания.

Π’ стандартС Linux Standards Base (Ρ‡Ρ‚ΠΎ касаСтся вСрсии 3.1) ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Ρ‚Ρ€ΠΈ области для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° соотвСтствиС:

░ ядро β€” основныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΈ мСстонахоТдСниС ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы;

β–‘Β Π‘++ β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π‘++;

β–‘Β Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол β€” Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ для установок Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола, Π² основном Ρ€Π°Π·Π½Ρ‹Π΅ графичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Π’ спСцификации нас интСрСсуСт большС всСго ядро.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ LSB ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ряд областСй Π² собствСнной Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Π½ΠΎ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… интСрфСйсов Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ссылки Π½Π° внСшниС стандарты. Π’ стандартС описаны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ области:

β–‘Β Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² для Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ совмСстимости;

░ стандарты динамичСского связывания;

░ стандартныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠ°ΠΊ Π±Π°Π·ΠΎΠ²Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ X Window System;

░ командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки;

░ срСда исполнСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹;

░ инициализация систСмы ΠΈ ΡƒΡ€ΠΎΠ²Π½ΠΈ запуска (run levels).

Π’ этой Π³Π»Π°Π²Π΅ ΠΌΡ‹ обсудим Ρ‚ΠΎΠ»ΡŒΠΊΠΎ стандартныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ систСмы.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ LSB

ДокумСнтация Linux Standard Base опрСдСляСт двумя способами интСрфСйсы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ. Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π² основном Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Π‘ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° GNU ΠΈΠ»ΠΈ склонных Π±Ρ‹Ρ‚ΡŒ стандартами Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Linux, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΈ интСрфСйс, ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. Для Π΄Ρ€ΡƒΠ³ΠΈΡ… интСрфСйсов, Π² особСнности с UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ основой, стандарт просто констатируСт, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ интСрфСйс Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ вСсти сСбя, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ стандартом, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Common Application Environment (CAE, общая прикладная срСда) ΠΈΠ»ΠΈ Π΅Ρ‰Π΅ Ρ‡Π°Ρ‰Π΅ Single UNIX Specification (Сдиная спСцификация UNIX), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅ΡΡ‚ΡŒ Π½Π° Web-сайтС Open Group http://www.opengroup.org. НСкоторыС части ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ (Π² настоящСС врСмя трСбуСтся рСгистрация) ΠΏΠΎ адрСсу http://www.unix.org/online.html.

К соТалСнию, Ρƒ Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… Π² основС стандартов для ОБ Linux ΠΈ UNIX-стандартов довольно Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅, ΠΈ сущСствуСт слишком ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€, хотя Π² основном Ρ€Π°Π·Π½Ρ‹Π΅ вСрсии ΠΏΠΎΡ‡Ρ‚ΠΈ совмСстимы.

ΠšΡ€Π°Ρ‚ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠΊ истории

ОБ UNIX Ρ€ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Π² ΠΊΠΎΠ½Ρ†Π΅ 1960 Π³Π³. Π² ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ Bell Laboratories ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ AT&T, ΠΊΠΎΠ³Π΄Π° КСн Вомпсон (Ken Thompson) ΠΈ ДСннис Π ΠΈΡ‚Ρ‡ΠΈ (Dennis Ritchie) написали ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΡƒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ пользования, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π·Π²Π°Π»ΠΈ Unics. Каким-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ имя измСнилось Π½Π° UNIX. AT&T Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠ»Π° унивСрситСтам Π±Ρ€Π°Ρ‚ΡŒ исходный ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ для собствСнных Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ, ΠΈ систСма UNIX быстро стала нСвСроятно популярной благодаря ΠΎΡ‡Π΅Π½ΡŒ Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ логичСской структурС ΠΈ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ идСям. НаличиС исходного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΡ‚Π°Ρ‚ΡŒ сущСствСнным стимулом, Ρ‚. ΠΊ. позволяло программистам Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния ΠΈ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма BSD Π±Ρ‹Π»Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ появился благодаря Ρ€Π°Π±ΠΎΡ‚Π΅, ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ Π² УнивСрситСтС ΠšΠ°Π»ΠΈΡ„ΠΎΡ€Π½ΠΈΠΈ Π² Π‘Π΅Ρ€ΠΊΠ»ΠΈ, ΠΈ ΡƒΠ΄Π΅Π»ΠΈΠ²ΡˆΠ΅ΠΉ ΠΌΠ½ΠΎΠ³ΠΎ внимания ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ сСти.

Когда компания AT&T Π½Π°Ρ‡Π°Π»Π° ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ UNIX Π² ΠΊΠΎΠΌΠΌΠ΅Ρ€Ρ‡Π΅ΡΠΊΡƒΡŽ систСму, Ρ‡Ρ‚ΠΎ происходило Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π² сСрСдинС 1980 Π³Π³., ΠΎΠ½Π° Π½Π°Π·Ρ‹Π²Π°Π»Π° выпуски систСмы UNIX System, ΠΈ самым популярным Π±Ρ‹Π» UNIX System V.

Появилось ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², слишком ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΈΡ… здСсь, всС ΠΎΠ½ΠΈ ΠΈΠΌΠ΅Π»ΠΈ нСбольшиС отличия ΠΎΡ‚ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… стандартов ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ дополнСния, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, создавая собствСнныС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ.

ВсС ΠΏΠΎ-настоящСму ΡƒΡΠ»ΠΎΠΆΠ½ΠΈΠ»ΠΎΡΡŒ, ΠΊΠΎΠ³Π΄Π° AT&T ΠΏΡ€ΠΎΠ΄Π°Π»Π° UNIX-бизнСс ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Novell, которая Π² 1994 Π³. Ρ€Π΅ΡˆΠΈΠ»Π° Π΅Π³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ, ΠΈ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΈ Ρ‚ΠΎΡ€Π³ΠΎΠ²Ρ‹ΠΌΠΈ ΠΌΠ°Ρ€ΠΊΠ°ΠΌΠΈ стало Ρ‡Π΅ΠΌ-Ρ‚ΠΎ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ, ΠΏΠΎΡΠ»ΡƒΠΆΠΈΠ²ΡˆΠΈΠΌ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠΌ Ρ€Π°Π·Π½Ρ‹Ρ… судСбных Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π².

Π’ 1988 Π³. IEEE (Institute of Electrical and Electronic Engineers, Π˜Π½ΡΡ‚ΠΈΡ‚ΡƒΡ‚ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΏΠΎ элСктротСхникС ΠΈ радиоэлСктроникС, http://www.ieee.org) выпустил ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ стандартов: POSIX ΠΈΠ»ΠΈ IEEE 1003 β€” стандартов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈΡΡŒ ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ спСцификация пСрСносимого интСрфСйса ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΈ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ стандарт, POSIX β€” Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ лишь спСцификация ядра с ΠΎΡ‡Π΅Π½ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ примСнСния.

Π’ 1994 Π³. X/Open Company, Π½Π΅ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π² поставках организация, выпустила Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ спСцификаций, X/Open CAE ΠΈΠ»ΠΈ Common Applications Environment (общая прикладная срСда), ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ собой Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ стандартов IEEE POSIX ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ ΠΈΠΌ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… областях. Компания X/Open ΠΏΠΎΠ·ΠΆΠ΅ объСдинилась с OSF (Free Software Foundation, Ρ„ΠΎΠ½Π΄ свободного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния) для учрСТдСния Open Group; Π΅Π΅ исходная Web-страница находится ΠΏΠΎ адрСсу http://www.opengroup.org/. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ CAE Π±Ρ‹Π» исправлСн ΠΈ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Π² 2002 Π³. ΠΊΠ°ΠΊ Single UNIX Specification, Version 3 (Сдиная спСцификация UNIX, вСрсия 3), Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Open Group.

ИмСнно Π½Π° эту ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Ρ‡Π°Ρ‰Π΅ всСго ссылаСтся Π±Π°Π·Π° стандартов Linux.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ "Linux" β€” это торговая ΠΌΠ°Ρ€ΠΊΠ°, принадлСТащая Линусу Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΡƒ (Linus Torvalds). Π‘ΠΌ. http://www.linuxmark.org/.