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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма UNIXΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 31

Автор РобачСвский АндрСй ΠœΠΈΡ…Π°ΠΉΠ»ΠΎΠ²ΠΈΡ‡

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ любой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ начинаСтся с Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠ΄Π΅ΠΈ (Π½ΠΎ Π½Π΅ всСгда), Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΅Π΅ Π±Π»ΠΎΠΊ-схСмы (соврСмСнныС программисты часто ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ этот этап), интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (вСсьма отвСтствСнный процСсс) ΠΈ написания исходного тСкста. Π”Π°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ этапы компиляции ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ рассмотрСн процСсс создания прилоТСния, написанного Π½Π° языкС Π‘ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX. ΠŸΡ€Π΅Π΄Π²ΠΈΠ΄Ρ обвинСния Π² Π°Ρ€Ρ…Π°ΠΈΠ·ΠΌΠ΅, ΠΌΡ‹ всС-Ρ‚Π°ΠΊΠΈ остановимся Π½Π° Π΄ΠΎΠ±Ρ€ΠΎΡ‚Π½ΠΎΠΌ ANSI Π‘ ΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠΉ срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ UNIX, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, полагая, Ρ‡Ρ‚ΠΎ старый Π΄Ρ€ΡƒΠ³ Π»ΡƒΡ‡ΡˆΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Π΄Π²ΡƒΡ…, Π° Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ нашСго обсуТдСния всС ΠΆΠ΅ являСтся UNIX, Π° Π½Π΅ соврСмСнныС срСдства создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎ язык программирования Π‘ являСтся "Ρ€ΠΎΠ΄Π½Ρ‹ΠΌ" языком UNIX, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ядро ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы написано Π½Π° этом языкС [15]. Π­Ρ‚ΠΎ, бСзусловно, Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ возмоТности Π΄Ρ€ΡƒΠ³ΠΈΡ… языков ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сСгодня, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π°ΠΆΠ΅ Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ обсуТдаСмый Π½Π°ΠΌΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.

ΠžΠΏΡƒΡΡ‚ΠΈΠΌ Ρ‚Π°ΠΊΠΆΠ΅ процСсс роТдСния Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠ΄Π΅ΠΈ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π±Π»ΠΎΠΊ-схСм, полагая, Ρ‡Ρ‚ΠΎ всС это ΡƒΠΆΠ΅ сдСлано. Π˜Ρ‚Π°ΠΊ, Π½Π°Ρ‡Π½Π΅ΠΌ с исходного тСкста Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ тСкст

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ тСксты ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ для UNIX, ΠΏΠΎ Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ счСту ΠΌΠ°Π»ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ тСкстов ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, создаваСмых для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ, Ρ‡Ρ‚ΠΎ синтаксис языка опрСдСляСтся Π½Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой. ВсС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ потрСбуСтся, это Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ Π·Π½Π°Π½ΠΈΠ΅ самого языка ΠΈ особСнностСй систСмы UNIX, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ β€” Π΅Π΅ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² исходный тСкст Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ². Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚Π΅ синтаксис Π²Ρ‹Π·ΠΎΠ²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Ρ… ΠΈ систСмных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡ… ΠΏΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. Π’-Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹Ρ…, Π½Π΅ ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π°ΠΉΡ‚Π΅ коммСнтариями.

Π’ этом (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ³ΠΎ совСта) Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ элСктронный справочник man(1), ваш ΠΎΠΏΡ‹Ρ‚, ΠΈ, надСюсь, эта ΠΊΠ½ΠΈΠ³Π°.

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ

ИспользованиС систСмных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ„Π°ΠΉΠ»ΠΎΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², содСрТащих опрСдСлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ β€” число ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ‚ΠΈΠΏΡ‹ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ систСмных Ρ„Π°ΠΉΠ»ΠΎΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² располоТСны Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ… /usr/include ΠΈΠ»ΠΈ /usr/include/sys. Если Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Π»ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡƒΡŽ ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π±ΡƒΠ΄Π΅Ρ‚ нСлишним ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Π΄Π΅Π» элСктронного справочника man(1). Π’Π°ΠΌ ΠΆΠ΅, ΠΏΠΎΠΌΠΈΠΌΠΎ описания Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния ΠΈ особых ситуаций, Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² слСдуСт Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Π€Π°ΠΉΠ»Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ #include. ΠŸΡ€ΠΈ этом, Ссли имя Ρ„Π°ΠΉΠ»Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² ΡƒΠ³Π»ΠΎΠ²Ρ‹Π΅ скобки (<>), это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ поиск Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² общСпринятых ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ… хранСния Ρ„Π°ΠΉΠ»ΠΎΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ². Если ΠΆΠ΅ имя Ρ„Π°ΠΉΠ»Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ явно ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ имя Ρ„Π°ΠΉΠ»Π°.

НапримСр, систСмный Π²Ρ‹Π·ΠΎΠ² creat(2) слуТащий для создания ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, объявлСн Π² Ρ„Π°ΠΉΠ»Π΅ <fcntl.h> ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

#include &lt;sys/types.h&gt;

#include &lt;sys/stat.h&gt;

#include &lt;fcntl.h&gt;

int creat(const char *path, mode_t mode);

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² исходный тСкст ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° систСмного Π²Ρ‹Π·ΠΎΠ²Π° creat(2) позволяСт компилятору произвСсти Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ использования этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ β€” числа Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ². МоТно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ наряду со стандартными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ языка Π‘, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ char, для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° creat(2) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ β€” mode_t. Π’ Ρ€Π°Π½Π½ΠΈΡ… вСрсиях UNIX Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² использовали стандартныС Ρ‚ΠΈΠΏΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, creat(2) для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΎΡ…ΠΎΡ‚Π½ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π»Π° Ρ‚ΠΈΠΏ int. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ _t, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π² большом количСствС встрСтитС ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π² UNIX, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² систСмных Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ этих Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² Ρ„Π°ΠΉΠ»Π΅ <sys/types.h>, Π° ΠΈΡ… Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΈ пСрСносимости написанных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ВмСсто ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ int, char ΠΈ Ρ‚.ΠΏ., ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ прСдлагаСтся Π½Π°Π±ΠΎΡ€ систСмных Ρ‚ΠΈΠΏΠΎΠ², Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² контСкстС систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π²ΠΎ всСх вСрсиях UNIX сСгодня ΠΈ спустя Π΄Π΅ΡΡΡ‚ΡŒ Π»Π΅Ρ‚, систСмный Π²Ρ‹Π·ΠΎΠ² creat(2) Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° mode_t. ЀактичСский Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… этого Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… вСрсий систСмы, Π½ΠΎ это отразится Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ пСрСкомпиляции вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π‘Ρ€Π΅Π΄Π° программирования UNIX опрСдСляСтся нСсколькими стандартами, ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π²ΡˆΠΈΠΌΠΈΡΡ Π²ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΈΠΈ, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ для Ρ€Π°Π·Π½Ρ‹Ρ… вСрсий систСмы. Π’ частности, стандарты ANSI Π‘, POSIX. 1 ΠΈ XPG4, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ названия ΠΈ назначСния Ρ„Π°ΠΉΠ»ΠΎΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π». 2.2.

Π’Π°Π±Π»ΠΈΡ†Π° 2.2. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ²

Π€Π°ΠΉΠ» Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° НазначСниС
<assert.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ assert(3C), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ для диагностики
<cpio.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² cpio(1)
<ctype.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ опрСдСлСния классов символов (ASCII, ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Π΅, Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ ΠΈ Ρ‚.Π΄.) β€” isascii(3C), isprint(3C), isdigit(3C) ΠΈ Ρ‚.Π΄.
<dirent.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ opendir(3C), readdir(3C) ΠΈ Ρ‚.Π΄.
<errno.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния ΠΊΠΎΠ΄ΠΎΠ² ошибок (см. Ρ€Π°Π·Π΄Π΅Π» "ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок" Π² Π½Π°Ρ‡Π°Π»Π΅ Π³Π»Π°Π²Ρ‹)
<fcntl.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² fcntl(2), open(2) ΠΈ creat(2), Π° Ρ‚Π°ΠΊΠΆΠ΅ опрСдСлСния констант ΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ
<float.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния констант, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ
<ftw.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для сканирования Π΄Π΅Ρ€Π΅Π²Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы (file tree walk) ftw(3C) ΠΈ nftw(3C), a Ρ‚Π°ΠΊΠΆΠ΅ опрСдСлСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… констант
<grp.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ опрСдСлСния структур Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ: getgrnam(3C), getgrent(3C), getgrgid(3C) ΠΈ Ρ‚.Π΄.
<langinfo.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния языковых констант: Π΄Π½ΠΈ Π½Π΅Π΄Π΅Π»ΠΈ, названия мСсяцСв ΠΈ Ρ‚.Π΄., Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ langinfo(3C)
<limits.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния констант, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… значСния ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ для Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ: ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния основных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… связСй, максимальная Π΄Π»ΠΈΠ½Π° ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° ΠΈ Ρ‚.Π΄.
<locale.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния констант, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для создания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ срСды, зависящСй ΠΎΡ‚ языковых ΠΈ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π½Ρ‹Ρ… Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΉ (Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π΄Π°Ρ‚, Π΄Π΅Π½Π΅ΠΆΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΈ Ρ‚.Π΄.), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ setlocale(3C)
<math.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния матСматичСских констант (Ο€, Π΅, √2 ΠΈ Ρ‚.Π΄.)
<nl_types.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния для ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² сообщСний (message catalog), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ catopen(3C) ΠΈ catclose(3C)
<pwd.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ структуры Ρ„Π°ΠΉΠ»Π° ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ /etc/passwd, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ: getpwnam(3C), getpwent(3C), getpwuid(3C) ΠΈ Ρ‚.Π΄.
<regex.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния констант ΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² рСгулярных выраТСниях, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ: regcomp(3C), regexec(3C) ΠΈ Ρ‚.Π΄.
<search.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния констант ΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для поиска: hsearch(3C), hcreate(3C), hdestroy(3C)
<setjmp.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° setjmp(3C), sigsetjmp(3C), longjmp(3C), siglongjmp(3C), Π° Ρ‚Π°ΠΊΠΆΠ΅ опрСдСлСния связанных с Π½ΠΈΠΌΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ…
<signal.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния констант ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сигналами: sigsetops(3C), sigemptyset(3C), sigaddset(3C) ΠΈ Ρ‚.Π΄. (см. Ρ€Π°Π·Π΄Π΅Π» "Π‘ΠΈΠ³Π½Π°Π»Ρ‹" Π΄Π°Π»Π΅Π΅ Π² этой Π³Π»Π°Π²Π΅)
<stdarg.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ списков Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹
<stddef.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ стандартныС опрСдСлСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ size_t)
<stdio.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°
<stdlib.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ
<string.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками string(3C), strcasecmp(3C), strcat(3C), strcpy(3C) ΠΈ Ρ‚.Π΄.
<tar.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² tar(1)
<termios.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния констант, структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°
<time.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния Ρ‚ΠΈΠΏΠΎΠ², констант ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈ Π΄Π°Ρ‚Π°ΠΌΠΈ: time(2), ctime(3C), localtime(3C), tzset(3C), Π° Ρ‚Π°ΠΊΠΆΠ΅ опрСдСлСния, относящиСся ΠΊ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°ΠΌ getitimer(2), setitimer(2). Π’Π°ΠΉΠΌΠ΅Ρ€Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π² Π³Π»Π°Π²Π΅ 3
<ulimit.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния констант ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ систСмного Π²Ρ‹Π·ΠΎΠ²Π° ulimit(2) для управлСния ограничСниями, Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ Π½Π° процСсс. Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π΄Π΅Π» "ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ" Π΄Π°Π»Π΅Π΅ Π² этой Π³Π»Π°Π²Π΅
<unistd.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния систСмных ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… констант, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²
<utime.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ систСмного Π²Ρ‹Π·ΠΎΠ²Π° utime(2) для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ характСристиками Ρ„Π°ΠΉΠ»Π° (Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ доступа ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ)
<sys/ipc.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния, относящиСся ΠΊ систСмС мСТпроцСссного взаимодСйствия (IPC), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π³Π»Π°Π²Π΅ 3
<sys/msg.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния, относящиСся ΠΊ (сообщСниям) подсистСмС IPC. Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π΄Π΅Π» "БообщСния" Π³Π»Π°Π²Ρ‹ 3
<sys/resource.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния констант ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² управлСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ рСсурсов, доступных процСссу: getrlimit(2) ΠΈ setrlimit(2). Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ограничСния Π½Π° рСсурсы ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ "ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ" Π΄Π°Π»Π΅Π΅ Π² этой Π³Π»Π°Π²Π΅
<sys/sem.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния, относящиСся ΠΊ (сСмафорам) подсистСмС IPC. Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π΄Π΅Π» "Π‘Π΅ΠΌΠ°Ρ„ΠΎΡ€Ρ‹" Π³Π»Π°Π²Ρ‹ 3
<sys/shm.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния, относящиСся ΠΊ (раздСляСмой памяти) подсистСмС IPC. Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π΄Π΅Π» "РаздСляСмая ΠΏΠ°ΠΌΡΡ‚ΡŒ" Π³Π»Π°Π²Ρ‹ 3
<sys/stat.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ„Π°ΠΉΠ»Π΅: stat(2), lstat(2), fstat(2). ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ эти систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ рассмотрСны Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ "ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Π°" Π΄Π°Π»Π΅Π΅ Π² этой Π³Π»Π°Π²Π΅
<sys/times.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° систСмного Π²Ρ‹Π·ΠΎΠ²Π° times(2), слуТащСго для получСния статистики выполнСния процСсса (Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра, Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Ρ‚.Π΄.)
<sys/types.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² систСмных Π΄Π°Π½Π½Ρ‹Ρ…
<sys/utsname.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ систСмного Π²Ρ‹Π·ΠΎΠ²Π° uname(2), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для получСния ΠΈΠΌΠ΅Π½ систСмы (ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, вСрсии ΠΈ Ρ‚.Π΄.)
<sys/wait.h> Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ опрСдСлСния констант ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² wait(2), waitpid(2), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для синхронизации выполнСния родствСнных процСссов