ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ VFS ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ?-ΡΠ·Π»Π°ΠΌΠΈ ΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ I ΡΠ·Π»ΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ: ΠΡΠΊΡΡΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ, Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΅Π³ΠΎ ΠΎΡΠΊΡΡΡΡ ΠΈ ΡΡΠΈΡΠ°ΡΡ ΠΈΠΌΠ΅Π½Π° Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π½Π΅ΠΌ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π£Π8, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π½Π° ΡΠΈΡ. 4.1.
Π ΠΈΡ. 4.1. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π£Π5 ΠΈ Π΅Π΅ ΡΠ²ΡΠ·Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ:
— ΠΏΠΎΡΠΎΠΊΠΈ Π΄Π°Π½Π½ΡΡ ; — Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ;
— ΠΏΠΎΡΠΎΠΊΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ (ΠΊΠ°ΠΊ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ ΡΠ΄ΡΠ°) Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΠ‘ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΄ΡΠΎ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ, Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π°Π³ΡΡΠΆΠ°Π»ΠΈΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΈΡ Π²ΡΠ·ΠΎΠ²Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ Π² UNIX ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΡ ΠΏΡΠΈΠ½ΡΠ΅ΡΠ°. ΠΡΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ²Π΅ΡΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° ΠΏΠ΅ΡΠ°ΡΡ. ΠΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ°ΡΠΈ ΠΎΠ½ Π²ΡΠ³ΡΡΠΆΠ°Π΅ΡΡΡ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΠΏΠ°ΠΌΡΡΡ.
Π ΡΠΎΡΡΠ°Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π²Ρ ΠΎΠ΄ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ:
- β’ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ² (Device Drivers), ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΡΡΠΎΠΉΡΡΠ², ΡΠΎ Π΅ΡΡΡ ΠΈ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΊ Π½ΠΈΠΌ;
- β’ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ-Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ² (Device Independent Interface), ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅;
- β’ ΠΌΠΎΠ΄ΡΠ»Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ (Logical System) ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π²ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΠΈΡΡΠ΅ΠΌΡ Π² Π΅Π΄ΠΈΠ½ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ;
- β’ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ-Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ² (System Independent Interface), ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΅Π΄ΠΈΠ½ΡΠΉ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΠ‘, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π»ΠΈΠ±ΠΎ Π±ΠΈΡ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ, Π»ΠΈΠ±ΠΎ Π±Π°ΠΉΡ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ;
- β’ ΠΌΠΎΠ΄ΡΠ»Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (System Call Interface) ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
Π’Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΄ΡΠ°, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄Π²Π° Π²ΠΈΠ΄Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²: Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ. ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌ. Π ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌ ΠΠ‘ ΠΈΠ¨Π₯[1] ΠΎΡΠ½ΠΎΡΡΡΡΡ:
- β’ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°, Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ Π΄Π°Π½Π½ΡΡ ;
- β’ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΠΌ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°;
- β’ ΠΎΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π°. Π¦Π΅Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° — ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΡΠΈΠ±ΡΡΡ ΡΠ°ΠΉΠ»Π°, ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½Π΅ΠΌΡ ΠΈ Π²Π΅ΡΠ½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ°ΠΉΠ»Ρ (Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ ΠΊΠ°Π½Π°Π»Π°);
- β’ Π·Π°ΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠ° Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ;
- β’ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠ°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΡΠΎ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»Π°, ΠΎΡΠΊΡΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡΡ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ (ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡ) Π΄Π°Π½Π½ΡΡ , Ρ. Π΅. ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ;
- β’ ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΌ ΡΡΠΈΡΡΠ²Π°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΄Π»Ρ Π½ΠΈΡ Π±ΡΡΠ΅Ρ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ;
- β’ Π·Π°ΠΏΠΈΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ» Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ. ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠ°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Π°, ΡΠΎ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π°ΠΏΠΈΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° ΠΌΠ΅ΡΡΠΎ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ΅ΡΡΡΡΡΡ.
ΠΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ — Π²Π½Π΅ΡΠ½ΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΡΠ°ΠΉΠ»Π° ΠΈ Ρ. ΠΏ.
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΠΈΠΏΠ° open/close/read/write/seek/tell ΠΈ Π½Π°Π΄ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌΠΈ ΡΠΈΠΏΠ° readdir/create/unlink/chmod/stat ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΡ POSIX ΡΠΈΡΡΠ΅ΠΌ. ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ[2]:
- β’ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. ΠΠ½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π·Π°ΠΏΠΈΡΠΈ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ «.» ΠΈ «.», ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΡΡΡΠΎΠΉ;
- β’ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π΄ ΠΏΡΡΡΡΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ;
- β’ ΠΎΡΠΊΡΡΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ, Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΅Π³ΠΎ ΠΎΡΠΊΡΡΡΡ ΠΈ ΡΡΠΈΡΠ°ΡΡ ΠΈΠΌΠ΅Π½Π° Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π½Π΅ΠΌ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ;
- β’ Π·Π°ΠΊΡΡΡΠΈΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΏΠΎΡΠ»Π΅ Π΅Π΅ ΡΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠ° Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ ;
- β’ ΠΏΠΎΠΈΡΠΊ. ΠΠ°Π½Π½ΡΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΎΡΠΊΡΡΡΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. ΠΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, Π΄Π»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² read, Π½ΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π½Π°Π½ΠΈΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ;
- β’ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅;
- β’ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠΌΠ΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡ, ΠΊΠ°ΠΊ ΠΈ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²;
- β’ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°. ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ;
- β’ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° — ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΡΠ»ΠΈ ΡΠ΄Π°Π»ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΡΠΎ ΠΎΠ½ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ VFS ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ?-ΡΠ·Π»Π°ΠΌΠΈ ΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ I ΡΠ·Π»ΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
- β’ chdir () — ΡΠΌΠ΅Π½ΠΈΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ;
- β’ chrootQ — ΡΠΌΠ΅Π½ΠΈΡΡ root-Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ;
- β’ dir () — ΠΊΠ»Π°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ;
- β’ closedir () — Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ;
- β’ getcwdQ — ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ;
- β’ opendir () — ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ;
- β’ readdir () — ΡΠΈΡΠ°Π΅Ρ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ· Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ;
- β’ rewinddir () — ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π² Π½Π°ΡΠ°Π»ΠΎ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ;
- β’ link() / symlink () / unlinkQ / readlink () / follow linkO — ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ²ΡΠ·ΡΠΌΠΈ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅;
- β’ mkdir () / rmdir () — ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ²;
- β’ mknod () — ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (regular);
- β’ readpage() / writepage () — ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ;
- β’ smapQ — ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π±Π»ΠΎΠΊ ΡΠ°ΠΉΠ»Π° Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅;
- β’ Π³Π΅ΠΏΠ°ΡΠ΅ () — ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ:
- β’ ΠΎΡΠ΅ΠΏ () / releaseQ — ΠΎΡΠΊΡΡΡΡ/Π·Π°ΠΊΡΡΡΡ ΡΠ°ΠΉΠ»;
- β’ readQ / writeQ — ΡΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΡ ΡΠ°ΠΉΠ»Π°;
- β’ create() — ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅;
- β’ lookupi) — ΠΏΠΎΠΈΡΠΊ ΡΠ°ΠΉΠ»Π° Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅;
- β’ select () ~ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ° ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ°ΠΉΠ»Π° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡ (Ρ.Π΅. ΡΠ°ΠΉΠ» ΡΡΠ°Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡ);
- β’ heek() / fseek() — ΠΏΠΎΠΈΡΠΊ Π² ΡΠ°ΠΉΠ»Π΅ ΠΏΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ;
- β’ ΡΡΠ°ΡΠ — ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΠ΅Π³ΠΈΠΎΠ½ ΡΠ°ΠΉΠ»Π° Π²Π½ΡΡΡΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°;
- β’ fsyncO / fasyncO — ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ;
- β’ truncate() — ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π»ΠΈΠ½Ρ ΡΠ°ΠΉΠ»Π° ΡΠ°Π²Π½ΠΎΠΉ Π½ΡΠ»Ρ;
- β’ permissionO — ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΡΠ²ΠΎΠΉΡΡΠ² ΡΠ°ΠΉΠ»Π° Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅;
- β’ ioctlO — ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡΡ ΡΠ°ΠΉΠ»Π°;
- β’ revalidateO — ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎΠ±Ρ Π²ΡΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π±ΡΠ»Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ.