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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «АрхитСктура ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIXΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 21

Автор ΠœΠΎΡ€ΠΈΡ Π‘Π°Ρ…

Рисунок 4.9. Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² Π² Ρ„Π°ΠΉΠ»Π΅ ΠΈ Π΅Π³ΠΎ индСксС


ΠŸΡ€ΠΈ блиТайшСм рассмотрСнии Рисунка 4.9 обнаруТиваСтся, Ρ‡Ρ‚ΠΎ нСсколько Π²Ρ…ΠΎΠ΄ΠΎΠ² для Π±Π»ΠΎΠΊΠ° Π² индСксС ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 ΠΈ это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π² Π΄Π°Π½Π½Ρ‹Ρ… записях информация ΠΎ логичСских Π±Π»ΠΎΠΊΠ°Ρ… отсутствуСт. Π’Π°ΠΊΠΎΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ мСсто, Ссли Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ Ρ„Π°ΠΉΠ»Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π»Π°ΡΡŒ информация ΠΈ ΠΏΠΎ этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Ρƒ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² Π±Π»ΠΎΠΊΠΎΠ² ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ ΠΈΡ… ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ значСния. Для Ρ‚Π°ΠΊΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² пространство Π½Π° дискС Π½Π΅ выдСляСтся. ПодобноС располоТСниС Π±Π»ΠΎΠΊΠΎΠ² Π² Ρ„Π°ΠΉΠ»Π΅ вызываСтся процСссами, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠΌΠΈ систСмныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ lseek ΠΈ write (см. ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π³Π»Π°Π²Ρƒ). Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ядро ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ read, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ производится ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π±Π»ΠΎΠΊΠ°ΠΌ.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ адрСсов с большими смСщСниями, Π² частности с использованиСм Π±Π»ΠΎΠΊΠΎΠ² Ρ‚Ρ€ΠΎΠΉΠ½ΠΎΠΉ косвСнной адрСсации, являСтся слоТной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΡ‚ ядра обращСния ΡƒΠΆΠ΅ ΠΊ Ρ‚Ρ€Π΅ΠΌ дисковым Π±Π»ΠΎΠΊΠ°ΠΌ Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ индСксу ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌΡƒ Π±Π»ΠΎΠΊΡƒ. Π”Π°ΠΆΠ΅ Ссли ядро ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ Π±Π»ΠΎΠΊΠΈ Π² Π±ΡƒΡ„Π΅Ρ€Π½ΠΎΠΌ кСшС, опСрация останСтся дорогостоящСй, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ядру придСтся ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π±ΡƒΡ„Π΅Ρ€Π½ΠΎΠΌΡƒ ΠΊΠ΅ΡˆΡƒ ΠΈ ΠΏΡ€ΠΈΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ снятия Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ с Π±ΡƒΡ„Π΅Ρ€ΠΎΠ². Насколько эффСктивСн этот Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅? Π­Ρ‚ΠΎ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ систСма, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ являСтся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ ΠΊΠ°ΠΊΠΎΠ² состав Π·Π°Π΄Π°Ρ‡, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² Π±ΠΎΠ»Π΅Π΅ частом ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ большим ΠΈΠ»ΠΈ, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, малСньким Ρ„Π°ΠΉΠ»Π°ΠΌ. Однако, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ Π·Π°ΠΌΠ΅Ρ‡Π΅Π½ΠΎ [Mullender 84], Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² систСмС UNIX ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€, Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΠΉ 10 ΠšΠ±Π°ΠΉΡ‚ ΠΈ Π΄Π°ΠΆΠ΅ 1 ΠšΠ±Π°ΠΉΡ‚Π°![11] ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ 10 ΠšΠ±Π°ΠΉΡ‚ Ρ„Π°ΠΉΠ»Π° Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² Π±Π»ΠΎΠΊΠ°Ρ… прямой адрСсации, ΠΊ большСй части Π΄Π°Π½Π½Ρ‹Ρ…, хранящихся Π² Ρ„Π°ΠΉΠ»Π°Ρ…, доступ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π·Π° ΠΎΠ΄Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ диску. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ обращСния ΠΊ большим Ρ„Π°ΠΉΠ»Π°ΠΌ, Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ стандартного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΎΡ‚Π΅ΠΊΠ°Π΅Ρ‚ быстро.

Π’ Π΄Π²ΡƒΡ… модификациях Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ описанной структуры индСкса прСдпринимаСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½Ρ‹Π΅ характСристики Ρ„Π°ΠΉΠ»Π°. Основной ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы BSD 4.2 [McKusick 84] состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‡Π΅ΠΌ большС объСм Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ядро ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ Π·Π° ΠΎΠ΄Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ диску, Ρ‚Π΅ΠΌ быстрСС ΠΏΡ€ΠΎΡ‚Π΅ΠΊΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»ΠΎΠΌ. Π­Ρ‚ΠΎ ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ увСличСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° логичСского Π±Π»ΠΎΠΊΠ° Π½Π° дискС, поэтому Π² систСмС BSD Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΈΠΌΠ΅Ρ‚ΡŒ логичСскиС Π±Π»ΠΎΠΊΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 4 ΠΈΠ»ΠΈ 8 ΠšΠ±Π°ΠΉΡ‚. Однако, ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±Π»ΠΎΠΊΠΎΠ² Π½Π° дискС ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π±Π»ΠΎΠΊΠΎΠ², ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ участки дискового пространства ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ. НапримСр, Ссли Ρ€Π°Π·ΠΌΠ΅Ρ€ логичСского Π±Π»ΠΎΠΊΠ° 8 ΠšΠ±Π°ΠΉΡ‚, Ρ‚ΠΎΠ³Π΄Π° Ρ„Π°ΠΉΠ» Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 12 ΠšΠ±Π°ΠΉΡ‚ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 1 ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. Другая ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° (4 ΠšΠ±Π°ΠΉΡ‚Π°) фактичСски тСряСтся; Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ для хранСния Π΄Π°Π½Π½Ρ‹Ρ…. Если Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚Π°ΠΊΠΎΠ²Ρ‹, Ρ‡Ρ‚ΠΎ число Π±Π°ΠΉΡ‚, ΠΏΠΎΠΏΠ°Π²ΡˆΠΈΡ… Π² послСдний Π±Π»ΠΎΠΊ, являСтся Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ распрСдСлСнной Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ΠΎΠΉ, Ρ‚ΠΎ срСдниС ΠΏΠΎΡ‚Π΅Ρ€ΠΈ дискового пространства ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΠΎΠ»Π±Π»ΠΎΠΊΠ° Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ»; объСм тСряСмого дискового пространства достигаСт Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС с логичСскими Π±Π»ΠΎΠΊΠ°ΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 4 ΠšΠ±Π°ΠΉΡ‚Π° 45% [McKusick 84]. Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· этой ситуации Π² систСмС BSD состоит Π² Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ части Π±Π»ΠΎΠΊΠ° (Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°) для размСщСния ΠΎΡΡ‚Π°Π²ΡˆΠ΅ΠΉΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°. Один дисковый Π±Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ нСскольким Ρ„Π°ΠΉΠ»Π°ΠΌ. НСкоторыС подробности этой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ упраТнСния Π² Π³Π»Π°Π²Π΅ 5.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ рассмотрСнной классичСской структуры индСкса являСтся идСя хранСния Π² индСксС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° (см. [Mullender 84]). Если ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ индСкса Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ индСкс Π·Π°Π½ΠΈΠΌΠ°Π» вСсь дисковый Π±Π»ΠΎΠΊ, нСбольшая Ρ‡Π°ΡΡ‚ΡŒ Π±Π»ΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для собствСнно индСксных структур, Π° ΠΎΡΡ‚Π°Π²ΡˆΠ°ΡΡΡ Ρ‡Π°ΡΡ‚ΡŒ β€” для хранСния ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π° ΠΈ Π΄Π°ΠΆΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях для хранСния Ρ„Π°ΠΉΠ»Π° Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ. ОсновноС прСимущСство Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ диску для считывания индСкса ΠΈ всСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ссли Ρ„Π°ΠΉΠ» помСщаСтся Π² индСксном Π±Π»ΠΎΠΊΠ΅.

4.3 ΠšΠΠ’ΠΠ›ΠžΠ“Π˜

Из Π³Π»Π°Π²Ρ‹ 1 Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… строится иСрархичСская структура Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы; ΠΎΠ½ΠΈ ΠΈΠ³Ρ€Π°ΡŽΡ‚ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° Π² Π½ΠΎΠΌΠ΅Ρ€ индСкса. ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ β€” это Ρ„Π°ΠΉΠ», содСрТимым ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ являСтся Π½Π°Π±ΠΎΡ€ записСй, состоящих ΠΈΠ· Π½ΠΎΠΌΠ΅Ρ€Π° индСкса ΠΈ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. БоставноС имя β€” это строка символов, Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰Π°ΡΡΡ пустым символом ΠΈ раздСляСмая Π½Π°ΠΊΠ»ΠΎΠ½Π½ΠΎΠΉ Ρ‡Π΅Ρ€Ρ‚ΠΎΠΉ (Β«/Β») Π½Π° нСсколько ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. КаТдая ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, ΠΊΡ€ΠΎΠΌΠ΅ послСднСй, Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, Π½ΠΎ послСдняя ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π°, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ. Π’ вСрсии V систСмы UNIX Π΄Π»ΠΈΠ½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ограничиваСтся 14 символами; Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, вмСстС с 2 Π±Π°ΠΉΡ‚Π°ΠΌΠΈ, ΠΎΡ‚Π²ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Π½Π° Π½ΠΎΠΌΠ΅Ρ€ индСкса, Ρ€Π°Π·ΠΌΠ΅Ρ€ записи ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° составляСт 16 Π±Π°ΠΉΡ‚.


Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π² Π±Π°ΠΉΡ‚Π°Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° НомСр индСкса (2 Π±Π°ΠΉΡ‚Π°) Имя Ρ„Π°ΠΉΠ»Π°

0 83 . 16 2 .. 32 1798 init 48 1276 fsck 64 85 clri 80 1268 motd 96 1799 mount 112 88 mknod 128 2114 passwd 144 1717 umount 160 1851 checklist 176 92 fsdbld 192 84 config 208 1432 getty 224 0 crash 240 95 mkfs 256 188 inittab

Рисунок 4.10. Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° /etc


На РисункС 4.10 ΠΏΠΎΠΊΠ°Π·Π°Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Β«etcΒ». Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹, Π² качСствС ΠΈΠΌΠ΅Π½ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠ° ΠΈ Π΄Π²Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ("." ΠΈ Β«..Β») ΠΈ Π½ΠΎΠΌΠ΅Ρ€Π° индСксов Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ индСксов Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, соотвСтствСнно. НомСр индСкса для Ρ„Π°ΠΉΠ»Π° "." Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Β«/etcΒ» ΠΈΠΌΠ΅Π΅Ρ‚ адрСс со смСщСниСм 0 ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 83. НомСр индСкса для Ρ„Π°ΠΉΠ»Π° Β«..Β» ΠΈΠΌΠ΅Π΅Ρ‚ адрСс со смСщСниСм 16 ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2. Записи Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ пустыми, ΠΏΡ€ΠΈ этом Π½ΠΎΠΌΠ΅Ρ€ индСкса Ρ€Π°Π²Π΅Π½ 0. НапримСр, запись с адрСсом 224 Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Β«/etcΒ» пустая, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ содСрТала Ρ‚ΠΎΡ‡ΠΊΡƒ Π²Ρ…ΠΎΠ΄Π° для Ρ„Π°ΠΉΠ»Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«crashΒ». ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° mkfs ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½ΠΎΠΌΠ΅Ρ€Π° индСксов для Ρ„Π°ΠΉΠ»ΠΎΠ² "." ΠΈ Β«..Β» Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ индСкса Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы.

Π―Π΄Ρ€ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ это Π΄Π΅Π»Π°Π΅Ρ‚ Π² Ρ„Π°ΠΉΠ»Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡƒΡŽ структуру ΠΈ Π±Π»ΠΎΠΊΠΈ с уровнями прямой ΠΈ косвСнной адрСсации. ΠŸΡ€ΠΎΡ†Π΅ΡΡΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΎ записи Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ рСзСрвируСтся ядром, благодаря Ρ‡Π΅ΠΌΡƒ обСспСчиваСтся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ структуры ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. ΠŸΡ€Π°Π²Π° доступа ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ смысл: ΠΏΡ€Π°Π²ΠΎ чтСния Π΄Π°Π΅Ρ‚ процСссам Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°; ΠΏΡ€Π°Π²ΠΎ записи позволяСт процСссу ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ записи Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ старыС (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСмных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ creat, mknod, link ΠΈ unlink), Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ измСняСтся содСрТимоС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°; ΠΏΡ€Π°Π²ΠΎ исполнСния позволяСт процСссу ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ поиск Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Β«ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΒ» ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ бСссмыслСнно). На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ УпраТнСния 4.6 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ ΠΈ поиском Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

4.4 ΠŸΠ Π•Π’Π ΠΠ©Π•ΠΠ˜Π• Π‘ΠžΠ‘Π’ΠΠ’ΠΠžΠ“Πž Π˜ΠœΠ•ΠΠ˜ ЀАЙЛА (ПУВИ ПОИБКА) Π’ Π˜Π”Π•ΠΠ’Π˜Π€Π˜ΠšΠΠ’ΠžΠ  Π˜ΠΠ”Π•ΠšΠ‘Π

ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ производится ΠΏΠΎ Π΅Π³ΠΎ составному ΠΈΠΌΠ΅Π½ΠΈ (ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡƒΡ‚ΠΈ поиска), ΠΊΠ°ΠΊ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… open, chdir (ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³) ΠΈΠ»ΠΈ link. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ систСмы ядро Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с индСксами, Π° Π½Π΅ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΡƒΡ‚Π΅ΠΉ поиска, ΠΎΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΈΠΌΠ΅Π½Π° ΠΏΡƒΡ‚Π΅ΠΉ поиска Π² ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ индСксов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ доступ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ. Алгоритм namei ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ поэлСмСнтный Π°Π½Π°Π»ΠΈΠ· составного ΠΈΠΌΠ΅Π½ΠΈ, ставя Π² соотвСтствиС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ ΠΈΠΌΠ΅Π½ΠΈ индСкс ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² возвращая ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ индСкса для Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡƒΡ‚ΠΈ поиска (Рисунок 4.11).