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

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

Автор РобачСвский АндрСй ΠœΠΈΡ…Π°ΠΉΠ»ΠΎΠ²ΠΈΡ‡

Π˜Π½Π΄Π΅ΠΊΡΠ½Ρ‹ΠΉ дСскриптор Π½Π΅ содСрТит:

β–‘Β ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТится Π² Π±Π»ΠΎΠΊΠ°Ρ… хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°;

░ содСрТимого Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΎ Π² Π±Π»ΠΎΠΊΠ°Ρ… хранСния Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° ядро ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ копию дискового inode Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ in-core inode, которая содСрТит нСсколько Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° дискового inode (

struct dinode
) ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° рис. 4.2. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ поля дискового inode ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

di_mode
Π’ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ выполнСния ΠΈ ΠΏΡ€Π°Π²Π° доступа.
di_nlinks
Число ссылок Π½Π° Ρ„Π°ΠΉΠ», Ρ‚.Π΅. количСство ΠΈΠΌΠ΅Π½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„Π°ΠΉΠ» Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС.
di_uid
,
di_gid
Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°- Π³Ρ€ΡƒΠΏΠΏΡ‹.
di_size
Π Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° Π² Π±Π°ΠΉΡ‚Π°Ρ…. Для ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² это ΠΏΠΎΠ»Π΅ содСрТит ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ ΠΈ младший Π½ΠΎΠΌΠ΅Ρ€Π° устройства.
di_atime
ВрСмя послСднСго доступа ΠΊ Ρ„Π°ΠΉΠ»Ρƒ.
di_mtime
ВрСмя послСднСй ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.
di_ctime
ВрСмя послСднСй ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ inode (ΠΊΡ€ΠΎΠΌΠ΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ di_atime, di_mtime).
di_addr[13]
Массив адрСсов дисковых Π±Π»ΠΎΠΊΠΎΠ² хранСния Π΄Π°Π½Π½Ρ‹Ρ….
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма UNIX - img_50.jpeg

Рис. 4.2. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° дискового inode

ПолС

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.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма UNIX - img_51.jpeg

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

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

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

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

$ <b>hd .</b>

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