ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

АрхитСктура Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ VFS ΠΈΠΌΠ΅ΡŽΡ‚ большой Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для манипулирования ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, особСнно для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ?-ΡƒΠ·Π»Π°ΠΌΠΈ ΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. НапримСр, интСрфСйс I ΡƒΠ·Π»ΠΎΠ² содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ чтСния. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, входящиС Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, процСсс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΅Π³ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° всСх Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π½Π΅ΠΌ находятся… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

АрхитСктура Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Рассмотрим Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π£Π•8, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π½Π° Ρ€ΠΈΡ. 4.1.

АрхитСктура Π£Π•5 ΠΈ Π΅Π΅ связь с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ подсистСмами.

Рис. 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 ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вся ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ информация Π±Ρ‹Π»Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ.
  • [1] Finkei R. An Operating Systems Vade ΠœΠ΅ΡΠΈΡ‚.
  • [2] Бтоллингс Π’. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы М.: Π’ΠΈΠ»ΡŒΡΠΌΡ, 2001.
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ