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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Linux для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 126

Автор Π’ΠΈΠΊΡ‚ΠΎΡ€ ΠšΠΎΡΡ‚Ρ€ΠΎΠΌΠΈΠ½

Рис.16.1. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° дискового Ρ€Π°Π·Π΄Π΅Π»Π° Π² ext2fs

КаТдая Π³Ρ€ΡƒΠΏΠΏΠ° Π±Π»ΠΎΠΊΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ строСниС:

Π‘ΡƒΠΏΠ΅Ρ€Π±Π»ΠΎΠΊ ОписаниС Π³Ρ€ΡƒΠΏΠΏΡ‹ Π±Π»ΠΎΠΊΠΎΠ² (Group Descriptors) Битовая ΠΊΠ°Ρ€Ρ‚Π° Π±Π»ΠΎΠΊΠΎΠ² (Block Bitmap) Битовая ΠΊΠ°Ρ€Ρ‚Π° индСксных дСскрипторов (Inode Bitmap) Π’Π°Π±Π»ΠΈΡ†Π° индСксных дСскрипторов(Inode Table) ΠžΠ±Π»Π°ΡΡ‚ΡŒ Π±Π»ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

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

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π±Π»ΠΎΠΊΠΎΠ² (супСрблок) ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ² для всСх Π³Ρ€ΡƒΠΏΠΏ, Π° всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ - ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹. Π‘ΡƒΠΏΠ΅Ρ€Π±Π»ΠΎΠΊ хранится Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π±Π»ΠΎΠΊΠΎΠ². Π‘ΡƒΠΏΠ΅Ρ€Π±Π»ΠΎΠΊ являСтся Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. Он ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 1024 Π±Π°ΠΉΡ‚Π° ΠΈ всСгда располагаСтся ΠΏΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ 1024 Π±Π°ΠΉΡ‚Π° ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. НаличиС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΏΠΈΠΉ супСрблока ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ этого элСмСнта Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. Π”ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹ супСрблока ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ восстановлСнии Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы послС сбоСв.

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

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° супСрблока ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π² Ρ‚Π°Π±Π». 16.2.

Π’Π°Π±Π»ΠΈΡ†Π° 16.4. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° супСрблока

НазваниС поля Π’ΠΈΠΏ ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ s_inodes_count ULONG Число индСксных дСскрипторов Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС s_blocks_count ULONG Число Π±Π»ΠΎΠΊΠΎΠ² Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС s_r_blocks_count ULONG Число Π±Π»ΠΎΠΊΠΎΠ², Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… для ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ s_free_blocks_count ULONG Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ числа свободных Π±Π»ΠΎΠΊΠΎΠ² s_free_inodes_count ULONG Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ числа свободных индСксных дСскрипторов s_first_data_block ULONG ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π»ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Π΄Π°Π½Π½Ρ‹Π΅. Π’ зависимости ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±Π»ΠΎΠΊΠ°, это ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎ 0 ΠΈΠ»ΠΈ 1 s_log_block_size ULONG Π˜Π½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° логичСского Π±Π»ΠΎΠΊΠ°: 0 = 1 Кб; 1 = 2 Кб; 2 = 4 Кб s_log_frag_size LONG Π˜Π½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² (каТСтся, понятиС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° Π² настоящСС врСмя Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ) s_blocks_per_group ULONG Число Π±Π»ΠΎΠΊΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ Π±Π»ΠΎΠΊΠΎΠ² s_frags_per_group ULONG Число Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ Π±Π»ΠΎΠΊΠΎΠ² s_inodes_per_group ULONG Число индСксных дСскрипторов (inodes) Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ Π±Π»ΠΎΠΊΠΎΠ² s_mtime ULONG ВрСмя, ΠΊΠΎΠ³Π΄Π° Π² послСдний Ρ€Π°Π· Π±Ρ‹Π»Π° смонтирована файловая систСма. s_wtime ULONG ВрСмя, ΠΊΠΎΠ³Π΄Π° Π² послСдний Ρ€Π°Π· ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ запись Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму s_mnt_count USHORT Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ числа ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. Если этот счСтчик достигаСт значСния, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΠΎΠ»Π΅ (s_max_mnt_count), файловая систСма Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π° (это дСлаСтся ΠΏΡ€ΠΈ пСрСзапускС), Π° счСтчик обнуляСтся. s_max_mnt_count SHORT Число, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅, сколько Ρ€Π°Π· ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ смонтирована файловая систСма s_magic USHORT "ΠœΠ°Π³ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ число" (0xEF53), ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎ файловая систСма ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΊ Ρ‚ΠΈΠΏΡƒ ex2fs s_state USHORT Π€Π»Π°Π³ΠΈ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы (являСтся Π»ΠΈ ΠΎΠ½Π° чистой (clean) ΠΈ Ρ‚.ΠΏ.) s_errors USHORT Π€Π»Π°Π³ΠΈ, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… (Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ ошибки). s_pad USHORT Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ s_lastcheck ULONG ВрСмя послСднСй ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы s_checkinterval ULONG ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы s_creator_os ULONG Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΈΠΏ ОБ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ создана файловая систСма s_rev_level ULONG ВСрсия (revision level) Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. s_reserved ULONG[235] Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎ 1024 Π±Π°ΠΉΡ‚

ВслСд Π·Π° супСрблоком располоТСно описаниС Π³Ρ€ΡƒΠΏΠΏΡ‹ Π±Π»ΠΎΠΊΠΎΠ² (Group Descriptors). Π­Ρ‚ΠΎ описаниС прСдставляСт собой массив, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ структуру, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ Π² Ρ‚Π°Π±Π». 16.3.

Π’Π°Π±Π»ΠΈΡ†Π° 16.3. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° описания Π³Ρ€ΡƒΠΏΠΏΡ‹ Π±Π»ΠΎΠΊΠΎΠ²

НазваниС поля Π’ΠΈΠΏ НазначСниС bg_block_bitmap ULONG АдрСс Π±Π»ΠΎΠΊΠ°, содСрТащСго Π±ΠΈΡ‚ΠΎΠ²ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ Π±Π»ΠΎΠΊΠΎΠ² (block bitmap) Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ bg_inode_bitmap ULONG АдрСс Π±Π»ΠΎΠΊΠ°, содСрТащСго Π±ΠΈΡ‚ΠΎΠ²ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ индСксных дСскрипторов (inode bitmap) Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ bg_inode_table ULONG АдрСс Π±Π»ΠΎΠΊΠ°, содСрТащСго Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ индСксных дСскрипторов (inode table) Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ bg_free_blocks_count USHORT Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ числа свободных Π±Π»ΠΎΠΊΠΎΠ² Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ bg_free_inodes_count USHORT Число свободных индСксных дСскрипторов Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ bg_used_dirs_count USHORT Число индСксных дСскрипторов Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ bg_pad USHORT Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ bg_reserved ULONG[3] Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

Π Π°Π·ΠΌΠ΅Ρ€ описания Π³Ρ€ΡƒΠΏΠΏΡ‹ Π±Π»ΠΎΠΊΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ

(Ρ€Π°Π·ΠΌΠ΅Ρ€_Π³Ρ€ΡƒΠΏΠΏΡ‹_Π±Π»ΠΎΠΊΠΎΠ²_Π²_ext2* число_Π³Ρ€ΡƒΠΏΠΏ) / Ρ€Π°Π·ΠΌΠ΅Ρ€_Π±Π»ΠΎΠΊΠ°,

ΠΏΡ€ΠΈ нСобходимости округляСм.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ, которая хранится Π² описании Π³Ρ€ΡƒΠΏΠΏΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ Π±Π»ΠΎΠΊΠΎΠ² ΠΈ индСксных дСскрипторов, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ индСксных дСскрипторов. НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π±Π»ΠΎΠΊΠΈ ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π±Π»ΠΎΠΊΠΎΠ² Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ, начиная с 1.

Битовая ΠΊΠ°Ρ€Ρ‚Π° Π±Π»ΠΎΠΊΠΎΠ² (block bitmap) - это структура, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±ΠΈΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΎΡ‚Π²Π΅Π΄Π΅Π½ Π»ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π΅ΠΌΡƒ Π±Π»ΠΎΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ Ρ„Π°ΠΉΠ»Ρƒ. Если Π±ΠΈΡ‚ Ρ€Π°Π²Π΅Π½ 1, Ρ‚ΠΎ Π±Π»ΠΎΠΊ занят. Π­Ρ‚Π° ΠΊΠ°Ρ€Ρ‚Π° слуТит для поиска свободных Π±Π»ΠΎΠΊΠΎΠ² Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ мСсто ΠΏΠΎΠ΄ Ρ„Π°ΠΉΠ», Битовая ΠΊΠ°Ρ€Ρ‚Π° Π±Π»ΠΎΠΊΠΎΠ² Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ число Π±Π»ΠΎΠΊΠΎΠ², Ρ€Π°Π²Π½ΠΎΠ΅ (число_Π±Π»ΠΎΠΊΠΎΠ²_Π²_Π³Ρ€ΡƒΠΏΠΏΠ΅ / 8) / Ρ€Π°Π·ΠΌΠ΅Ρ€_Π±Π»ΠΎΠΊΠ° (ΠΏΡ€ΠΈ нСобходимости округляСм).

Битовая ΠΊΠ°Ρ€Ρ‚Π° индСксных дСскрипторов выполняСт Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ индСксных дСскрипторов: ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ дСскрипторы заняты.