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

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

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

Π­Ρ‚ΠΎΡ‚ нСдостаток Π±Ρ‹Π» ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ возмоТности Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π±Π»ΠΎΠΊΠ°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π±ΠΈΡ‚ Π½Π° Π΄Π²Π°, Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΈΠ»ΠΈ восСмь Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ². Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π±Π»ΠΎΠΊ являСтся Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² опСрациях Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ опрСдСляСт Π°Π΄Ρ€Π΅ΡΡƒΠ΅ΠΌΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° дискС. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π±Ρ‹Π» Π½Π°ΠΉΠ΄Π΅Π½ компромисс ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ хранСния Π΄Π°Π½Π½Ρ‹Ρ…. Π Π°Π·ΠΌΠ΅Ρ€ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° задаСтся ΠΏΡ€ΠΈ создании Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, Π΅Π³ΠΎ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ опрСдСляСтся Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π±Π»ΠΎΠΊΠ° (0,5 Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±Π»ΠΎΠΊΠ°), Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ β€” физичСскими ограничСниями дискового устройства, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: минимальной Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ адрСсации диска β€” сСктором.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ свободном пространствС Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ хранится Π½Π΅ Π² Π²ΠΈΠ΄Π΅ списка свободных Π±Π»ΠΎΠΊΠΎΠ², Π° Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Ρ‹ Π±Π»ΠΎΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚Π° Π±Π»ΠΎΠΊΠΎΠ², связанная с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€ΠΎΠ², описываСт свободноС пространство Π² Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ…, для опрСдСлСния Ρ‚ΠΎΠ³ΠΎ, свободСн Π΄Π°Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΈΠ»ΠΈ Π½Π΅Ρ‚, ядро Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π±ΠΈΡ‚Ρ‹ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ², ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π±Π»ΠΎΠΊ. На рис. 4.5 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ°Ρ€Ρ‚Ρ‹ свободных Π±Π»ΠΎΠΊΠΎΠ² ΠΈ соотвСтствия ΠΌΠ΅ΠΆΠ΄Ρƒ Π±ΠΈΡ‚Π°ΠΌΠΈ ΠΊΠ°Ρ€Ρ‚Ρ‹, Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€ΠΎΠ².

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

Рис. 4.5. ΠšΠ°Ρ€Ρ‚Π° свободных Π±Π»ΠΎΠΊΠΎΠ²

БущСствСнныС измСнСния Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ размСщСния свободных Π±Π»ΠΎΠΊΠΎΠ² ΠΈ inode, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° располоТСниС Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° дискС. Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС s5fs ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ вСсьма ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° размСщСния. Π‘Π²ΠΎΠ±ΠΎΠ΄Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ ΠΈ inode просто Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΈΠ· ΠΊΠΎΠ½Ρ†Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ списка, Ρ‡Ρ‚ΠΎ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π»ΠΎΡΡŒ, ΠΊ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ разбросу Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π° ΠΏΠΎ Ρ€Π°Π·Π΄Π΅Π»Ρƒ диска.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ s5fs, файловая систСма FFS ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π±Π»ΠΎΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π½Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. НСкоторыС ΠΈΠ· ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½ΠΈΠΆΠ΅:

β–‘Β Π€Π°ΠΉΠ» ΠΏΠΎ возмоТности размСщаСтся Π² Π±Π»ΠΎΠΊΠ°Ρ… хранСния Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΠΎΠ΄Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€ΠΎΠ², Π³Π΄Π΅ располоТСны Π΅Π³ΠΎ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΈ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°, это ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ врСмя ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

░ ВсС Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΏΠΎ возмоТности Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€ΠΎΠ². ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с нСсколькими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ доступа ΠΊ этим Ρ„Π°ΠΉΠ»Π°ΠΌ.

β–‘Β ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΠΎ возмоТности помСщаСтся Π² Π³Ρ€ΡƒΠΏΠΏΡƒ Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€ΠΎΠ², ΠΎΡ‚Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΎΡ‚ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ достигаСтся Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ΅ распрСдСлСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ диску.

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

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€Π°Π²ΠΈΠ»Π° размСщСния свободных Π±Π»ΠΎΠΊΠΎΠ², с ΠΎΠ΄Π½ΠΎΠΉ стороны, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π½Π° ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ пСрСмСщСния Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ диска, Ρ‚.Π΅. Π½Π° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€ΠΎΠ², Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ β€” Π½Π° Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ΅ распрСдСлСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ диску. ΠžΡ‚ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ³ΠΎ баланса ΠΌΠ΅ΠΆΠ΄Ρƒ этими двумя ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ зависит, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. НапримСр Π² ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅, ΠΊΠΎΠ³Π΄Π° всС Π΄Π°Π½Π½Ρ‹Π΅ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΉ большой Π³Ρ€ΡƒΠΏΠΏΠ΅ Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€ΠΎΠ², ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΡƒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму s5fs.

Описанная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° являСтся вСсьма эффСктивной с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния надСТности ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. К соТалСнию, эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы FSS Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡ…ΡƒΠ΄ΡˆΠ°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ свободного мСста. Π’ этом случаС систСмС Π½Π΅ удаСтся ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ. ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ FSS ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ характСристики ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ 10% свободного мСста.

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы FFS Π±Ρ‹Π»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² (Π΄ΠΎ 255 символов). ВмСсто записСй фиксированной Π΄Π»ΠΈΠ½Ρ‹ запись ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° FFS прСдставлСна структурой, ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ поля:

d_ino
НомСр inode (индСкс Π² массив ilist)
d_reclen
Π”Π»ΠΈΠ½Π° записи
d_namlen
Π”Π»ΠΈΠ½Π° ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°
d_name[]
Имя Ρ„Π°ΠΉΠ»Π°

Имя Ρ„Π°ΠΉΠ»Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΡƒΡŽ нулями Π΄ΠΎ 4-Π±Π°ΠΉΡ‚Π½ΠΎΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹. ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Π²ΡˆΠ°Ρ Π΅ΠΌΡƒ запись присоСдиняСтся ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ, ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля

d_reclen
увСличиваСтся Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ записи выраТаСтся Π² присвоСнии Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ значСния полю
d_ino
. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы FFS ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° рис. 4.6.

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

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

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

Как Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм сущСствСнно ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя соврСмСнныС вСрсии UNIX ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с нСсколькими Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм. Π‘Ρ€Π΅Π΄ΠΈ Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы UNIX, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ DOS. Π’Π°ΠΊΠΎΠ΅ сосущСствованиС обСспСчиваСтся ΠΏΡƒΡ‚Π΅ΠΌ раздСлСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Π½Π° зависимый ΠΈ нСзависимый ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡƒΡ€ΠΎΠ²Π½ΠΈ, послСдний ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся ΠΎΠ±Ρ‰ΠΈΠΌ ΠΈ прСдставляСт для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… подсистСм ядра Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½ΡƒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму. НСзависимый ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ называСтся Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой (рис. 4.7). ΠŸΡ€ΠΈ этом Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ встроСны Π² ядро UNIX ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ это происходит с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ устройств.

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

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

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ индСксныС дСскрипторы

Дисковый Ρ„Π°ΠΉΠ» ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с структуру Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ inode, Π³Π΄Π΅ хранятся основныС характСристики Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ обСспСчиваСтся доступ ΠΊ Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ. Одним ΠΈΠ· ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈΠ· этого ΠΏΡ€Π°Π²ΠΈΠ»Π° являСтся файловая систСма DOS, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ структуры Ρ„Π°ΠΉΠ»Π° ΠΈ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… сущСствСнно ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ принятых Π² UNIX. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ файловая систСма основана Π½Π° прСдставлСнии ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π° Π² Π²ΠΈΠ΄Π΅, сходном с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ сСмантикой UNIX. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ являСтся vnode (ΠΎΡ‚ virtual inode β€” Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ индСксный дСскриптор).

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ этот интСрфСйс Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² 1984 Π³ΠΎΠ΄Ρƒ Ρ„ΠΈΡ€ΠΌΠΎΠΉ Sun Microsystems для обСспСчСния Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌΠΈ систСмами Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Π² частности, с NFS ΠΈ ufs (FFS). БСгодня Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ файловая систСма являСтся стандартом Π² SVR4, хотя ряд Π΄Ρ€ΡƒΠ³ΠΈΡ… вСрсий UNIX Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, нСзависимая файловая систСма SCO UNIX).

ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ всСх Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ процСссов) прСдставлСны Π² памяти Π² Π²ΠΈΠ΄Π΅ in-core inode, Π² качСствС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ vnode. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… vnode ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π° для всСх Ρ„Π°ΠΉΠ»ΠΎΠ², нСзависимо ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, Π³Π΄Π΅ фактичСски располагаСтся Ρ„Π°ΠΉΠ». Π”Π°Π½Π½Ρ‹Π΅ vnode содСрТат ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹Π΅ характСристики Ρ„Π°ΠΉΠ»Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°.