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

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

Автор АндрСй РобачСвский

ПолС di_mode Ρ…Ρ€Π°Π½ΠΈΡ‚ нСсколько Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Ρ„Π°ΠΉΠ»Π°: Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ»Π° (IFREG для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², IFDIR для ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², IFBLK ΠΈΠ»ΠΈ IFCHR для ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… устройств соотвСтствСнно); ΠΏΡ€Π°Π²Π° доступа ΠΊ Ρ„Π°ΠΉΠ»Ρƒ для Ρ‚Ρ€Π΅Ρ… классов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ выполнСния (SUID, SGID ΠΈ sticky bit), значСния этих Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрСны Π² Π³Π»Π°Π²Π΅ 1.

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² индСксном дСскрипторС отсутствуСт информация ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ создания Ρ„Π°ΠΉΠ»Π°. ВмСсто этого inode Ρ…Ρ€Π°Π½ΠΈΡ‚ Ρ‚Ρ€ΠΈ значСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ: врСмя послСднСго доступа (di_atime), врСмя послСднСй ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ содСрТимого Ρ„Π°ΠΉΠ»Π° (di_mtime) ΠΈ врСмя послСднСй ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π° (di_ctime). Π’ послСднСм случаС Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ di_atime ΠΈ di_mtime. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, di_ctime измСняСтся, ΠΊΠΎΠ³Π΄Π° измСняСтся Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π°, Π²Π»Π°Π΄Π΅Π»Π΅Ρ†, Π³Ρ€ΡƒΠΏΠΏΠ°, ΠΈΠ»ΠΈ число связСй.

Π˜Π½Π΄Π΅ΠΊΡΠ½Ρ‹ΠΉ дСскриптор содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ располоТСнии Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ дисковыС Π±Π»ΠΎΠΊΠΈ хранСния Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π° Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, inode Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ физичСскиС адрСса всСх Π±Π»ΠΎΠΊΠΎΠ², ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… Π΄Π°Π½Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ.[46] Π’ индСксном дСскрипторС эта информация хранится Π² Π²ΠΈΠ΄Π΅ массива, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ содСрТит физичСский адрСс дискового Π±Π»ΠΎΠΊΠ°, Π° индСксом массива являСтся Π½ΠΎΠΌΠ΅Ρ€ логичСского Π±Π»ΠΎΠΊΠ° Ρ„Π°ΠΉΠ»Π°. Массив ΠΈΠΌΠ΅Π΅Ρ‚ фиксированный Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ состоит ΠΈΠ· 13 элСмСнтов. ΠŸΡ€ΠΈ этом ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 10 элСмСнтов Π°Π΄Ρ€Π΅ΡΡƒΡŽΡ‚ нСпосрСдствСнно Π±Π»ΠΎΠΊΠΈ хранСния Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°. ΠžΠ΄ΠΈΠ½Π½Π°Π΄Ρ†Π°Ρ‚Ρ‹ΠΉ элСмСнт адрСсуСт Π±Π»ΠΎΠΊ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ содСрТащий адрСса Π±Π»ΠΎΠΊΠΎΠ² хранСния Π΄Π°Π½Π½Ρ‹Ρ…. Π”Π²Π΅Π½Π°Π΄Ρ†Π°Ρ‚Ρ‹ΠΉ элСмСнт ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° дисковый Π±Π»ΠΎΠΊ, Ρ‚Π°ΠΊΠΆΠ΅ хранящий адрСса Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ адрСсуСт Π±Π»ΠΎΠΊ хранСния Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°. И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Ρ‚Ρ€ΠΈΠ½Π°Π΄Ρ†Π°Ρ‚Ρ‹ΠΉ элСмСнт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ‚Ρ€ΠΎΠΉΠ½ΠΎΠΉ косвСнной адрСсации, ΠΊΠΎΠ³Π΄Π° для нахоТдСния адрСса Π±Π»ΠΎΠΊΠ° хранСния Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠ°.

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт ΠΏΡ€ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшом фиксированном Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ индСксного дСскриптора ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±Π°ΠΉΡ‚ΠΎΠ² Π΄ΠΎ дСсятка ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ΠΎΠ². Для ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² (Π΄ΠΎ 10 ΠšΠ±Π°ΠΉΡ‚ ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ Π±Π»ΠΎΠΊΠ° 1024 Π±Π°ΠΉΡ‚ΠΎΠ²) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ прямая индСксация, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Для Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 266 ΠšΠ±Π°ΠΉΡ‚ (10 ΠšΠ±Π°ΠΉΡ‚ + 256Γ—1024), достаточно простой косвСнной адрСсации. НаконСц, ΠΏΡ€ΠΈ использовании Ρ‚Ρ€ΠΎΠΉΠ½ΠΎΠΉ косвСнной адрСсации ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ доступ ΠΊ 16777216 Π±Π»ΠΎΠΊΠ°ΠΌ (256Γ—256Γ—256).

Π€Π°ΠΉΠ»Ρ‹ Π² UNIX ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π΄Ρ‹Ρ€Ρ‹. НапримСр, процСсс ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой Ρ„Π°ΠΉΠ», с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСмного Π²Ρ‹Π·ΠΎΠ²Π° lseek(2) ΡΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Π»Π° Ρ„Π°ΠΉΠ»Π° ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΡ€ΠΈ этом ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ„Π°ΠΉΠ»Π° ΠΈ Π½Π°Ρ‡Π°Π»ΠΎΠΌ записанных Π΄Π°Π½Π½Ρ‹Ρ… образуСтся Π΄Ρ‹Ρ€Π° β€” нСзаполнСнная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ. ΠŸΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ этой области процСсс ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΎΠ±Π½ΡƒΠ»Π΅Π½Π½Ρ‹Π΅ Π±Π°ΠΉΡ‚Ρ‹. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ логичСскиС Π±Π»ΠΎΠΊΠΈ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Ρ‹Ρ€Π΅, Π½Π΅ содСрТат Π΄Π°Π½Π½Ρ‹Π΅, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ для Π½ΠΈΡ… дисковыС Π±Π»ΠΎΠΊΠΈ. Π’ этом случаС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты массива адрСсов inode содСрТат Π½ΡƒΠ»Π΅Π²ΠΎΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ. Когда процСсс ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, ядро Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½ΡƒΠ»Π΅ΠΉ. ДисковыС Π±Π»ΠΎΠΊΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ записи Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ логичСскиС Π±Π»ΠΎΠΊΠΈ Ρ„Π°ΠΉΠ»Π°.[47]

ИмСна Ρ„Π°ΠΉΠ»ΠΎΠ²

Как ΠΌΡ‹ ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, Π½ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅, Π½ΠΈ Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Π±Π»ΠΎΠΊΠΈ хранСния Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ содСрТат ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°. Имя Ρ„Π°ΠΉΠ»Π° хранится Π² Ρ„Π°ΠΉΠ»Π°Ρ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° β€” ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт Π»ΡŽΠ±ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ, Ρ‚. Π΅. фактичСским Π΄Π°Π½Π½Ρ‹ΠΌ, ΠΈΠΌΠ΅Ρ‚ΡŒ тСорСтичСски Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ число ΠΈΠΌΠ΅Π½ (Π½Π°Π·Π²Π°Π½ΠΈΠΉ), Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС. ΠŸΡ€ΠΈ этом нСсколько ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ТСсткими связями.

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы s5fs прСдставляСт собой Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ фиксированный Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² 16 Π±Π°ΠΉΡ‚ΠΎΠ²: 2 Π±Π°ΠΉΡ‚Π° хранят Π½ΠΎΠΌΠ΅Ρ€ индСксного дСскриптора Ρ„Π°ΠΉΠ»Π°, Π° 14 Π±Π°ΠΉΡ‚ΠΎΠ² β€” Π΅Π³ΠΎ имя. Π­Ρ‚ΠΎ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° число inode, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 65 535. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° ΠΈ Π΄Π»ΠΈΠ½Π° ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°: Π΅Π³ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ β€” 14 символов. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° рис. 4.3.

Рис. 4.3. ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы s5fs

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° элСмСнта ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π°Π΄Ρ€Π΅ΡΡƒΡŽΡ‚ сам ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³) ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ "." ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ "..".

ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ rm(1)), Π½ΠΎΠΌΠ΅Ρ€ inode ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ элСмСнта устанавливаСтся Ρ€Π°Π²Π½Ρ‹ΠΌ 0. Π―Π΄Ρ€ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ удаляСт Ρ‚Π°ΠΊΠΈΠ΅ свободныС элСмСнты, поэтому Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². Π­Ρ‚ΠΎ являСтся ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ для ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΎ большоС количСство Ρ„Π°ΠΉΠ»ΠΎΠ². ПослС удалСния Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΈΠ· Π½ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° останСтся достаточно большим, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ записи ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ.

Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ этого явлСния Π² SCO UNIX ΠΌΠΎΠΆΠ½ΠΎ привСсти, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ hd(1M), ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ содСрТимого Ρ„Π°ΠΉΠ»Π° (ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ Π΄Π°ΠΌΠΏ).

$ hd .

0000 fc 0a 2e 00 00 00 00 00 00 00 00 00 00 00 00 00

0010 02 00 2Π΅ 2Π΅ 00 00 00 00 00 00 00 00 00 00 00 00

0020 33 72 6d 61 69 6с 00 00 00 00 00 00 00 00 00 00 3rmail

0030 0а 2с 4С 65 77 73 00 00 00 00 00 00 00 00 00 00 .,News

0040 33 7d 2Π΅ 6e 65 77 73 72 63 00 00 00 00 00 00 00 3}.newsrc

0050 00 40 62 69 6e 00 00 00 00 00 00 00 00 00 00 00 [email protected]

0060 da 91 64 65 61 64 2С 6с 65 74 74 65 72 00 00 00 ..dead.letter...

0290 00 00 70 69 6e 65 72 63 30 30 30 37 36 39 00 00 ..pinerc000769..

02a0 00 00 30 35 6e 61 64 75 76 61 2Π΅ 6Π° 70 67 00 00 ..05naduva.jpg..

02b0 00 00 30 36 73 70 75 73 74 69 2Π΅ 6Π° 70 67 00 00 ..06spusti.jpg..

02с0 00 00 30 37 67 75 69 74 61 72 2С 6а 70 67 00 00 ..07guitar.jpg..

02d0 00 00 30 38 73 75 6e 73 65 74 2Π΅ 6Π° 70 67 00 00 ..08sunset.jpg..

02Π΅0 00 00 37 31 72 6f 70 65 73 31 2Π΅ 6Π° 70 67 00 00 ..71ropes1.jpg..

МоТно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ², располоТСнных Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ части Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ hd(1M) Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ сущСствуСт β€” ΠΎΠ± этом ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΡŽΡ‚ Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ значСния Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² inode, это ΠΆΠ΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ls(1):

$ ls -Π°

.newsrc

bin

dead.letter

News

mail

НСдостатки ΠΈ ограничСния

Ѐайловая систСм s5fs ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Π° благодаря своСй простотС. Однако ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ стороной ΠΌΠ΅Π΄Π°Π»ΠΈ являСтся низкая Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния надСТности слабым мСстом этой Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы являСтся супСрблок. Π‘ΡƒΠΏΠ΅Ρ€Π±Π»ΠΎΠΊ нСсСт ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС Π² Ρ†Π΅Π»ΠΎΠΌ, ΠΈ ΠΏΡ€ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΈ файловая систСма Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС s5fs супСрблок хранится Π² СдинствСнном Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅, Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ возникновСния ошибок достаточно Π²Π΅Π»ΠΈΠΊΠ°.

ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ низкая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ связана с Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Π½Π° дискС. ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, Π° Π΄Π°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π±Π»ΠΎΠΊΠΈ хранСния Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„Π°ΠΉΠ»ΠΎΠΌ, происходит ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΈ ΠΊ дисковым Π±Π»ΠΎΠΊΠ°ΠΌ, содСрТащим Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эти структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ разнСсСны Π² дисковом пространствС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ постоянного пСрСмСщСния Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ диска ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ врСмя доступа ΠΈ, ΠΊΠ°ΠΊ слСдствиС, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Π² Ρ†Π΅Π»ΠΎΠΌ. К этому ΠΆΠ΅ эффСкту ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ фрагмСнтация Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ Ρ„Π°ΠΉΠ»Π° ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ разбросанными ΠΏΠΎ всСму Ρ€Π°Π·Π΄Π΅Π»Ρƒ диска.

ИспользованиС дискового пространства Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ. Для увСличСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ являСтся использованиС Π±Π»ΠΎΠΊΠΎΠ² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ². Π­Ρ‚ΠΎ позволяСт ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ большСС количСство Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° ΠΎΠ΄Π½Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² UNIX SVR2 Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ° составлял 512 Π±Π°ΠΉΡ‚ΠΎΠ², Π° Π² SVR3 β€” ΡƒΠΆΠ΅ 1024 Π±Π°ΠΉΡ‚ΠΎΠ². Однако ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ, ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±Π»ΠΎΠΊΠ° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ дискового пространства Π·Π° счСт частичного заполнСния послСднСго Π±Π»ΠΎΠΊΠ° Ρ„Π°ΠΉΠ»Π°. Π’ срСднСм для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° тСряСтся ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π±Π»ΠΎΠΊΠ°.

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

НаконСц, ограничСния, Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π½Π° Π΄Π»ΠΈΠ½Ρƒ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° (14 символов) ΠΈ ΠΎΠ±Ρ‰Π΅Π΅ максимальноС число inode (65 535), Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ слишком ТСсткими.

ВсС эти нСдостатки ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, которая появилась Π² вСрсии 4.2BSD UNIX ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Berkeley Fast File System, ΠΈΠ»ΠΈ FSS.