#include βΉfcntl.hβΊ
main() {
Β int i, j;
Β char buf1[512], buf2[512];
Β i = open("/etc/passwd", O_RDONLY);
Β j = dup(i);
Β read(i, buf1, sizeof(buf1));
Β read(j, buf2, sizeof(buf2));
Β close(i);
Β read(j, buf2, sizeof(buf2));
}
Π ΠΈΡΡΠ½ΠΎΠΊ 5.21. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ, ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ dup
5.14 ΠΠΠΠ’ΠΠ ΠΠΠΠΠΠ Π ΠΠΠΠΠΠ’ΠΠ ΠΠΠΠΠΠ Π€ΠΠΠΠΠΠ«Π₯ Π‘ΠΠ‘Π’ΠΠ
Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΈΡΠΊ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ ΡΠ°Π·Π±ΠΈΡ Π΄ΠΈΡΠΊΠΎΠ²ΡΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ, ΠΏΡΠΈΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ°Π·Π΄Π΅Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΉΠ» ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ. ΠΡΠΎΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π΄Π°Π½Π½ΡΠΌ ΡΠ°Π·Π΄Π΅Π»Π°, ΠΎΡΠΊΡΡΠ²Π°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ Π·Π°ΡΠ΅ΠΌ Π²Π΅Π΄Ρ Π·Π°ΠΏΠΈΡΡ ΠΈ ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΡΠΎΠ³ΠΎ Β«ΡΠ°ΠΉΠ»Π°Β», ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡ Π΅Π³ΠΎ ΡΠ΅Π±Π΅ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΡΡ Π±Π»ΠΎΠΊΠΎΠ². ΠΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅Ρ Π΄Π΅ΡΠ°Π»ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π² Π³Π»Π°Π²Π΅ 10. Π Π°Π·Π΄Π΅Π» Π΄ΠΈΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· Π±Π»ΠΎΠΊΠ° Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ, ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊΠ°, ΡΠΏΠΈΡΠΊΠ° ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² (ΡΠΌ. Π³Π»Π°Π²Ρ 2). Π‘ΠΈΡΡΠ΅ΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ mount (ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ) ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° Π½Π° Π΄ΠΈΡΠΊΠ΅ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠ΅ΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π° ΡΡΠ½ΠΊΡΠΈΡ umount (Π΄Π΅ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ) Π²ΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ· ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ. Π€ΡΠ½ΠΊΡΠΈΡ mount, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π΄Π°Π½Π½ΡΠΌ Π² Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΊΠ°ΠΊ ΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π° Π½Π΅ ΠΊΠ°ΠΊ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΡΡ Π±Π»ΠΎΠΊΠΎΠ².
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ mount:
mount(special pathname, directory pathname, options);
Π³Π΄Π΅ special pathname β ΠΈΠΌΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠΌΡ ΡΠ°Π·Π΄Π΅Π»Ρ Ρ ΠΌΠΎΠ½ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, directory pathname β ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° (Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΠΎΡΠΊΠ° ΠΈΠ»ΠΈ ΠΌΠ΅ΡΡΠΎ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ), Π° options ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π»ΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Β«ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡΒ» (ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ write ΠΈ creat, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ mount ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
mount("/dev/dsk1", "/usr', 0);
ΡΠ΄ΡΠΎ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π°Ρ ΠΎΠ΄ΡΡΡΡΡΡ Π² Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«/dev/dsk1Β», ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ Β«/usrΒ» Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌ Π΄Π΅ΡΠ΅Π²Π΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ (ΡΠΌ. Π ΠΈΡΡΠ½ΠΎΠΊ 5.22). Π€Π°ΠΉΠ» Β«/dev/dsk1Β» ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π»ΠΎΡΠ½ΡΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ, Ρ.Β Π΅. ΠΎΠ½ Π½ΠΎΡΠΈΡ ΠΈΠΌΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΡ ΡΠ°Π·Π΄Π΅Π»Π° Π½Π° Π΄ΠΈΡΠΊΠ΅. Π―Π΄ΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ ΡΠ°Π·Π΄Π΅Π» Π½Π° Π΄ΠΈΡΠΊΠ΅ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊΠΎΠΌ, ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΈ ΠΊΠΎΡΠ½Π΅Π²ΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ. ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ mount ΠΊ ΠΊΠΎΡΠ½Ρ ΡΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Β«/usrΒ». ΠΡΠΎΡΠ΅ΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ Π² ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ. Π’ΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ link ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² Π²Π΅ΡΡΠΈΠΈ V Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡΡΡ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΌΠΈ ΡΠ°Π·Π½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 5.15).

Π ΠΈΡΡΠ½ΠΎΠΊ 5.22. ΠΠ΅ΡΠ΅Π²ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π΄ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ mount
Π―Π΄ΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ Π·Π°ΠΏΠΈΡΡΠΌΠΈ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ:
β’ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΠΈΠΉ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ (ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ Π²ΡΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ);
β’ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π±ΡΡΠ΅Ρ, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ;
β’ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ (Β«/Β» Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«/dev/dsk1Β» Π½Π° Π ΠΈΡΡΠ½ΠΊΠ΅ 5.22);
β’ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΡΡΠ°Π²ΡΠ΅Π³ΠΎ ΡΠΎΡΠΊΠΎΠΉ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π½Π° Π ΠΈΡΡΠ½ΠΊΠ΅ 5.22 ΡΡΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Β«usrΒ», ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΉ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅).
Π‘Π²ΡΠ·Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΠΎΡΠΊΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΊΠΎΡΠ½Π΅Π²ΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π²ΠΎΠ·Π½ΠΈΠΊΡΠ°Ρ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ mount, Π΄Π°Π΅Ρ ΡΠ΄ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π»Π΅Π³ΠΊΠΎ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ ΠΏΠΎ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π±Π΅Π· ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ.
Π°Π»Π³ΠΎΡΠΈΡΠΌ mountΠ²Ρ
ΠΎΠ΄Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ:Β ΠΈΠΌΡ Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°Β ΠΈΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠΎΡΠΊΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ ΠΎΠΏΡΠΈΠΈ (Β«ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡΒ»)Π²ΡΡ
ΠΎΠ΄Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ: ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ {Β if (ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ)Β return (ΠΎΡΠΈΠ±ΠΊΡ);Β ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (Π°Π»Π³ΠΎΡΠΈΡΠΌ namei);Β ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²;Β ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, Π³Π΄Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (Π°Π»Π³ΠΎΡΠΈΡΠΌ namei);Β if (ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈΠ»ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ ΡΡΡΠ»ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ βΊ 1)Β {Β ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ (Π°Π»Π³ΠΎΡΠΈΡΠΌ iput);Β Β return (ΠΎΡΠΈΠ±ΠΊΡ);Β }Β Π½Π°ΠΉΡΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ;Β Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΎΡΠΊΡΡΡΠΈΡ Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°;Β ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ Π±ΡΡΠ΅Ρ ΠΈΠ· Π±ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ΅ΡΠ°;Β ΡΡΠΈΡΠ°ΡΡ ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊ Π² ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ Π±ΡΡΠ΅Ρ;Β ΠΏΡΠΎΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»Ρ ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊΠ°;Β ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠΎΠ½ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ (Π°Π»Π³ΠΎΡΠΈΡΠΌ iget), ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ;Β ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΠΌΠ΅ΡΠΊΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠΊΠΎΠΉ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ;Β ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (Π°Π»Π³ΠΎΡΠΈΡΠΌ iput);Β ΡΠ½ΡΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠΎΡΠΊΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ;}Π ΠΈΡΡΠ½ΠΎΠΊ 5.23. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
ΠΠ° Π ΠΈΡΡΠ½ΠΊΠ΅ 5.23 ΠΏΠΎΠΊΠ°Π·Π°Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π―Π΄ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ, Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ ΠΊΠΎΡΠΎΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ mount ΠΈ umount Π²ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΡΠΈΠ²Π΅Π»ΠΎ Π±Ρ ΠΊ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ Ρ ΠΈΡ ΡΡΠΎΡΠΎΠ½Ρ Ρ Π°ΠΎΡΠ° Π² ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ ΡΠΌΡΡΠ»Π΅Π½Π½ΠΎΠΌΡ, ΡΠ°ΠΊ ΠΈ ΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π½Π΅ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΠΈ. Π‘ΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ°Π·ΡΡΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ.
Π―Π΄ΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΡΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΡΡΠ°ΡΡΠΈΠΉ ΠΈ ΠΌΠ»Π°Π΄ΡΠΈΠΉ Π½ΠΎΠΌΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π΄ΠΈΡΠΊΠΎΠ²ΡΠΉ ΡΠ°Π·Π΄Π΅Π», ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π±ΡΠ΄Π΅Ρ ΡΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π°. Π‘ΡΠ΅ΡΡΠΈΠΊ ΡΡΡΠ»ΠΎΠΊ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡΠ΅Π΅ 1 (ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ 1 ΠΎΠ½ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ β ΠΏΠΎΡΠ΅ΠΌΡ?), Π² ΡΠ²ΡΠ·ΠΈ Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ΠΌ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² (ΡΠΌ. ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 5.27). ΠΠ°ΡΠ΅ΠΌ ΡΠ΄ΡΠΎ Π½Π°Π·Π½Π°ΡΠ°Π΅Ρ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π΅Π³ΠΎ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² ΡΠ°Π±Π»ΠΈΡΠ΅. ΠΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ, ΡΠ»Π΅Π΄ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΠΎΡΠΊΡΡΡΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈΠ»ΠΈ ΡΡΠΈΡΡΠ²Π°Ρ ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ Π±Ρ ΡΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΎΠΌΠ΅ΡΠΈΠ² Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ΄ΡΠΎ Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² Π΄Π²ΡΡ Π²ΡΠ·ΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ mount ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠ°ΠΏΠΎΠΌΠΈΠ½Π°Ρ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΠΌΠΎΠ½ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΡΠ΄ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΡΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅, Π±ΡΠ΄Ρ ΠΎΠ½ΠΎ Π΄ΠΎΠΏΡΡΠ΅Π½ΠΎ, ΠΌΠΎΠ³Π»ΠΎ Π±Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡΠΌ (ΡΠΌ. ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 5.26).