Π”ΠΈΠΏΠ»ΠΎΠΌΡ‹, курсовыС, Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚Ρ‹, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅...
Брочная ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅

Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ индСксныС дСскрипторы ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ прямой доступ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ Π±Π΅Π· ΡƒΡ‰Π΅Ρ€Π±Π° ΠΎΡ‚ Π²Π½Π΅ΡˆΠ½Π΅ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСно ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΡΠΌΠΎΠΉ доступ ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ примСняСтся комбинация ΠΎΠ΄Π½ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… индСксов. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ нСсколько адрСсов Π±Π»ΠΎΠΊΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ² хранятся нСпосрСдствСнно Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΠΎΠΌ дСскрипторС. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ индСксныС дСскрипторы ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ образования ΠΈ Π½Π°ΡƒΠΊΠΈ Π Π€ Π€Π΅Π΄Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ государствСнноС Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π½ΠΎΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΡ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ образования

" Уфимский государствСнный Π°Π²ΠΈΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСхничСский унивСрситСт"

ΠšΠ°Ρ„Π΅Π΄Ρ€Π° АБУ РасчСтно-графичСская Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Ρ‚Π΅ΠΌΡƒ:

" Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ индСксныС дСскрипторы ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы"

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»Π°: студСнтка Π³Ρ€. Π˜Π’Π’-301

Π’Π°Π»Π΅Π΅Π²Π° Π›.Π’.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»: ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒ ЛянцСв О.Π”.

Π£Ρ„Π° 2014

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • Ѐайловая систСма ОБ UNIX
  • ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ
  • ОписаниС индСксного дСскриптора Π² POSIX
  • Этимология inode
  • Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
  • ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
  • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
  • Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

Π’ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ inode (произносится Π°ΠΌΠΉΠ½ΠΎΠ΄ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌΠ΄) ΠΈΠ»ΠΈ индСксным дСскриптором Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΡ… структуру Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ для ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π² Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСмах (Π€Π‘) UNIX, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ UFS.

НаиболСС распространСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ выдСлСния Ρ„Π°ΠΉΠ»Π°, Π±Π»ΠΎΠΊΠΎΠ² диска — это ΡΠ²ΡΠ·Π°Ρ‚ΡŒ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ индСксом дСскриптора ΠΈΠ»ΠΈ индСксным ΡƒΠ·Π»ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСрСчисляСт Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ½Ρ‹Π΅ адрСса Π±Π»ΠΎΠΊΠΎΠ² Ρ„Π°ΠΉΠ»Π°. Π—Π°ΠΏΠΈΡΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, относящСйся ΠΊ Ρ„Π°ΠΉΠ»Ρƒ содСрТит адрСс индСксного дСскриптора.

Ѐайловая систСма ΠžΠ‘ UNIX

НачнСм с ΡΠ°ΠΌΠΎΠ³ΠΎ понятия Ρ„Π°ΠΉΠ»Π° ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы.

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

Ѐамйловая систСмма (Π°Π½Π³Π». file system) — порядок, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ способ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, хранСния ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π½ΠΎΡΠΈΡ‚Слях ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ элСктронном ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ: Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Ρ„ΠΎΡ‚ΠΎΠ°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π°Ρ…, ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°Ρ… ΠΈ Ρ‚. ΠΏ. Ѐайловая систСма опрСдСляСт Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ содСрТимого ΠΈ ΡΠΏΠΎΡΠΎΠ± физичСского хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ принято Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ². ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π°Ρ файловая систСма опрСдСляСт Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ (ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²), ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π°, Π½Π°Π±ΠΎΡ€ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Ρ„Π°ΠΉΠ»Π°. НСкоторыС Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ сСрвисныС

Π’ ΠΌΠΈΡ€Π΅ UNIX сущСствуСт нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм со ΡΠ²ΠΎΠ΅ΠΉ структурой внСшнСй памяти. НаиболСС извСстны традиционная файловая систСма UNIX System V (s5) ΠΈ Ρ„айловая систСма сСмСйства UNIX BSD (ufs).

Π€Π°ΠΉΠ» Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ UNIX прСдставляСт собой мноТСство символов с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ доступом. Π€Π°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΡƒΡŽ структуру, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π»Π°Π³Π°Π΅Ρ‚ Π½Π° Π½Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. Ѐайловая систСма Unix, это иСрархичСская, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ файловая систСма.

ЀизичСски UFS состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… частСй:

Β· нСсколько Π±Π»ΠΎΠΊΠΎΠ² Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π°Π·Π΄Π΅Π»Π° отводится ΠΏΠΎΠ΄ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ (которая Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы)

дСскриптор опСрационная систСма индСксный

Β· супСрблок, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ магичСскоС число, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму, ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°ΠΆΠ½Ρ‹Π΅ числа, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы

Β· описаниС Π³Ρ€ΡƒΠΏΠΏ Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€ΠΎΠ². КаТдая Π³Ρ€ΡƒΠΏΠΏΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹:

Β· Π Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию супСрблока

Β· Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€ΠΎΠ², статистичСскиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Ρ‚. Π΄., ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ содСрТащСйся Π² ΡΡƒΠΏΠ΅Ρ€Π±Π»ΠΎΠΊΠ΅, Π½ΠΎ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹

Β· НСкотороС количСство индСксных дСскрипторов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТит Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²

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

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ

ΠŸΡ€ΠΈ создании Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, содСрТащиС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ„Π°ΠΉΠ»Π°Ρ…. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ‚ свой индСксный дСскриптор, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π½ΠΎΠΌΠ΅Ρ€Ρƒ (часто Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌΡƒ 'i-Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ' ΠΈΠ»ΠΈ 'ΠΈΠ½ΠΎΠ΄ΠΎΠΌ'), Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ располагаСтся сам Ρ„Π°ΠΉΠ».

Π˜Π½Π΄Π΅ΠΊΡΠ½Ρ‹Π΅ дСскрипторы хранят ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ„Π°ΠΉΠ»Π°Ρ…, Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρƒ (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΈ Π³Ρ€ΡƒΠΏΠΏΠ΅), Ρ€Π΅ΠΆΠΈΠΌ доступа (Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, запись, запуск Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅) ΠΈ Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°. БущСствуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ число индСксных дСскрипторов, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ максимальноС количСство Ρ„Π°ΠΉΠ»ΠΎΠ², допускаСмоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΏΡ€ΠΈ создании Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 1% Π΅Ρ‘ Π²Ρ‹Π΄Π΅Π»ΡΠ΅Ρ‚ся ΠΏΠΎΠ΄ индСксныС дСскрипторы.

Π’Π΅Ρ€ΠΌΠΈΠ½ индСксный дСскриптор ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΈΠ½ΠΎΠ΄Ρ‹ Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… устройств, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ постоянными Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ ΠΈ, ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ, ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ссылками. Подобная концСпция ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ ΠΏΡ€ΠΈ восстановлСнии ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм.

Β· НомСр индСксного дСскриптора заносится Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ индСксных дСскрипторов Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ мСстС устройства; ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ индСксного

Β· дСскриптора ядро систСмы ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ содСрТимоС ΠΈΠ½ΠΎΠ΄Π°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠΉ контСкст Ρ„Π°ΠΉΠ»Π°.

Β· НомСр индСксного дСскриптора Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ls — i, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ls — l ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ρ…Ρ€Π°Π½ΡΡ‰ΡƒΡŽΡΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΠΎΠΌ дСскрипторС.

Β· Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы, Π½Π΅ ΠΎΡ‚носящиСся ΠΊ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ Π€Π‘ UNIX, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ReiserFS, ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π±Π΅Π· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксных дСскрипторов, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ схоТим способом, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’Π°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ статистичСской ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ со stat — систСмным Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ, ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ.

ИмСна Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²:

Β· индСксныС дСскрипторы Π½Π΅ Ρ…ранят ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΡ… ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠΌ;

Β· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π² Unix ΡΠ²Π»ΡΡŽΡ‚ΡΡ списками 'ссылочных' структур, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТит ΠΎΠ΄Π½ΠΎ имя Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΎΠ΄ΠΈΠ½ Π½ΠΎΠΌΠ΅Ρ€ индСксного дСскриптора;

Β· ядро Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² ΠΏΠΎΠΈΡΠΊΠ°Ρ… ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°, Π·Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это имя Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ€ индСксного дСскриптора, Π² ΡΠ»ΡƒΡ‡Π°Π΅ успСха;

Β· содСрТимоС Ρ„Π°ΠΉΠ»ΠΎΠ² располагаСтся Π² Π±Π»ΠΎΠΊΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ индСксныС дСскрипторы.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ ядром этих Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ называСтся struct inode (структурным ΠΈΠ½ΠΎΠ΄ΠΎΠΌ) (Π² ΠžΠ‘ Linux). Π’ BSD систСмах ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ vnode, Π±ΡƒΠΊΠ²Π° v Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму уровня ядра.

Π‘Ρ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ индСксного дСскриптора Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² Ρ‚Π°Π±Π».1

Π’Π°Π±Π»ΠΈΡ†Π° 1. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° индСксного дСскриптора

НазваниС поля

Π’ΠΈΠΏ

ОписаниС

i_mode

USHORT

Π’ΠΈΠΏ ΠΈ ΠΏΡ€Π°Π²Π° доступа ΠΊ Π΄Π°Π½Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ

i_uid

USHORT

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° Ρ„Π°ΠΉΠ»Π° (Owner Uid)

i_size

ULONG

Π Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° Π² Π±Π°ΠΉΡ‚Π°Ρ…

i_atime

ULONG

ВрСмя послСднСго обращСния ΠΊ Ρ„Π°ΠΉΠ»Ρƒ (Access time)

i_ctime

ULONG

ВрСмя создания Ρ„Π°ΠΉΠ»Π°

i_mtime

ULONG

ВрСмя послСднСй ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°

i_dtime

ULONG

ВрСмя удалСния Ρ„Π°ΠΉΠ»Π°

i_gid

USHORT

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π³Ρ€ΡƒΠΏΠΏΡ‹ (GID)

i_links_count

USHORT

Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ числа связСй (Links count)

i_blocks

ULONG

Число Π±Π»ΠΎΠΊΠΎΠ², Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠΌ

i_flags

ULONG

Π€Π»Π°Π³ΠΈ Ρ„Π°ΠΉΠ»Π° (File flags)

i_reserved1

ULONG

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ для ОБ

i_block

ULONG [15]

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Π±Π»ΠΎΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… записаны Π΄Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Π° (это ΠΏΠΎΠ»Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описано Π² Ρ€Π°Π·Π΄.16.4)

i_version

ULONG

ВСрсия Ρ„Π°ΠΉΠ»Π° (для NFS)

i_file_acl

ULONG

ACL Ρ„Π°ΠΉΠ»Π°

i_dir_acl

ULONG

ACL ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°

i_faddr

ULONG

АдрСс Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° (Fragment address)

i_frag

UCHAR

НомСр Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° (Fragment number)

i_fsize

UCHAR

Π Π°Π·ΠΌΠ΅Ρ€ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° (Fragment size)

i_pad1

USHORT

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

i_reserved2

ULONG [2]

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ

ПолС Ρ‚ΠΈΠΏΠ° ΠΈ ΠΏΡ€Π°Π² доступа ΠΊ Ρ„Π°ΠΉΠ»Ρƒ прСдставляСт собой Π΄Π²ΡƒΡ…Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ΅ слово, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±ΠΈΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ слуТит Ρ„Π»Π°Π³ΠΎΠΌ, ΠΈΠ½Π΄ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ ΠΈΠ»ΠΈ установку ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²Π° Π½Π° Ρ„Π°ΠΉΠ».

Π’Π°Π±Π»ΠΈΡ†Π° 2. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° поля, Π·Π°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΈΠΏ ΠΈ ΠΏΡ€Π°Π²Π° доступа

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

НазначСниС Ρ„Π»Π°Π³Π° (поля)

S_IFMT

F000

Маска для Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»Π°

S_IFSOCK

A000

Π”ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ Π³Π½Π΅Π·Π΄ΠΎ (socket)

S_IFLNK

C000

БимволичСская ссылка

S_IFREG

ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ (regular) Ρ„Π°ΠΉΠ»

S_IFBLK

Π‘Π»ΠΎΠΊ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ устройство

S_IFDIR

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

S_IFCHR

Π‘Π°ΠΉΡ‚-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ (символьноС) устройство

S_IFIFO

Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» (fifo)

S_ISUID

SUID — Π±ΠΈΡ‚ смСны Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°

S_ISGID

SGID — Π±ΠΈΡ‚ смСны Π³Ρ€ΡƒΠΏΠΏΡ‹

S_ISVTX

Π‘ΠΈΡ‚ сохранСния Π·Π°Π΄Π°Ρ‡ΠΈ (sticky bit)

S_IRWXU

01C0

Маска ΠΏΡ€Π°Π² Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° Ρ„Π°ΠΉΠ»Π°

S_IRUSR

ΠŸΡ€Π°Π²ΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅

S_IWUSR

ΠŸΡ€Π°Π²ΠΎ Π½Π° Π·Π°ΠΏΠΈΡΡŒ

S_IXUSR

ΠŸΡ€Π°Π²ΠΎ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

S_IRWXG

Маска ΠΏΡ€Π°Π² Π³Ρ€ΡƒΠΏΠΏΡ‹

S_IRGRP

ΠŸΡ€Π°Π²ΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅

S_IWGRP

ΠŸΡ€Π°Π²ΠΎ Π½Π° Π·Π°ΠΏΠΈΡΡŒ

S_IXGRP

ΠŸΡ€Π°Π²ΠΎ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

S_IRWXO

Маска ΠΏΡ€Π°Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

S_IROTH

ΠŸΡ€Π°Π²ΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅

S_IWOTH

ΠŸΡ€Π°Π²ΠΎ Π½Π° Π·Π°ΠΏΠΈΡΡŒ

S_IXOTH

ΠŸΡ€Π°Π²ΠΎ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

Π‘Ρ€Π΅Π΄ΠΈ индСксных дСскрипторов имССтся нСсколько дСскрипторов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ ΠΈ ΠΈΠ³Ρ€Π°ΡŽΡ‚ ΠΎΡΠΎΠ±ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС (Ρ‚Π°Π±Π».16.6).

Π’Π°Π±Π»ΠΈΡ†Π° 3. ΠžΡΠΎΠ±Ρ‹Π΅ индСксныС дСскрипторы

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

ОписаниС

EXT2_BAD_INO

Π˜Π½Π΄Π΅ΠΊΡΠ½Ρ‹ΠΉ дСскриптор, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ пСрСчислСны адрСса Π΄Π΅Ρ„Π΅ΠΊΡ‚Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² Π½Π° Π΄ΠΈΡΠΊΠ΅ (Bad blocks inode)

EXT2_ROOT_INO

Π˜Π½Π΄Π΅ΠΊΡΠ½Ρ‹ΠΉ дСскриптор ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы (Root inode)

EXT2_ACL_IDX_INO

ACL inode

EXT2_ACL_DATA_INO

ACL inode

EXT2_BOOT_LOADER_INO

Π˜Π½Π΄Π΅ΠΊΡΠ½Ρ‹ΠΉ дСскриптор Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° (Boot loader inode)

EXT2_UNDEL_DIR_INO

Π˜Π½Π»Π΅ΠΊΡΠ½Ρ‹ΠΉ дСскриптор ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° для ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (Undelete directory inode)

EXT2_FIRST_INO

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π½Π΅Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ индСксный дСскриптор

Π‘Π°ΠΌΡ‹ΠΉ Π²Π°ΠΆΠ½Ρ‹ΠΉ дСскриптор Π² ΡΡ‚ΠΎΠΌ спискС — дСскриптор ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. Π­Ρ‚ΠΎΡ‚ дСскриптор ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ всСм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ, прСдставляСт собой связанный список, состоящий ΠΈΠ· Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹. КаТдая запись ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ структуру (Ρ‚Π°Π±Π».16.7):

Π’Π°Π±Π»ΠΈΡ†Π° 4. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° дСскриптора, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

НазваниС поля

Π’ΠΈΠΏ

ОписаниС

Inode

ULONG

НомСр индСксного дСскриптора (индСкс) Ρ„Π°ΠΉΠ»Π°

Rec_len

USHORT

Π”Π»ΠΈΠ½Π° этой записи

Name_len

USHORT

Π”Π»ΠΈΠ½Π° ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°

Name

CHAR [0]

Имя Ρ„Π°ΠΉΠ»Π°

ИспользованиС записСй ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π΅Π· пустой Ρ‚Ρ€Π°Ρ‚Ρ‹ дискового пространства. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ запись Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°Ρ‚ΡŒ Π³Ρ€Π°Π½ΠΈΡ†Ρƒ Π±Π»ΠΎΠΊΠ° (Ρ‚.Π΅. Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ располоТСна Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли очСрСдная запись Π½Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ся Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅, ΠΎΠ½Π° пСрСносится Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ, Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π°Ρ запись продолТаСтся Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ»Π° Π±Π»ΠΎΠΊ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°.

Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ эффСктивности ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ любого Ρ„Π°ΠΉΠ»Π° Π΅Π³ΠΎ индСксный дСскриптор считываСтся Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ индСксных дСскрипторов, которая Ρ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½Π° Π² RAM. Π Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· индСксного дСскриптора Ρ„Π°ΠΉΠ»Π° возвращаСтся Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ Π²ΠΎ Π²ΡΠ΅Ρ… процСссах.

Π§Ρ‚ΠΎΠ±Ρ‹ динамичСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ соотвСтствиС Ρ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ индСксных дСскрипторов с ΠΈΡ… ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π°ΠΌΠΈ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, содСрТаниС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксных дСскрипторов Ρ„Π°ΠΉΠ»ΠΎΠ² пСриодичСски копируСтся Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» слСдящим процСссом (Π΄Π΅ΠΌΠΎΠ½ΠΎΠΌ) update, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСтся ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ OS UNIX Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ. Указанная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° синхронизации позволяСт ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ коррСктности Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΏΡ€ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… сбоях, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ привСдСния Π² ΡΠΎΠΎΡ‚вСтствиС индСксного Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ индСксных дСскрипторов Π±ΡƒΠ΄Π΅Ρ‚ потСряна. Π₯отя Π² OS UNIX прСдусмотрСны административныС срСдства Ρ€Π΅ΠΌΠΎΠ½Ρ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, Π½ΠΎ ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сущСствСнных Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

ОписаниС индСксного дСскриптора Π² POSIX

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ POSIX ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΊΠ°ΠΊ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ° Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм UNIX — UFS. ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹:

Β· Π΄Π»ΠΈΠ½Π° Ρ„Π°ΠΉΠ»Π° Π² Π±Π°ΠΉΡ‚Π°Ρ…;

Β· ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (ID) устройства (это ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ устройство, содСрТащСС Ρ„Π°ΠΉΠ»);

Β· ID ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля, ΡΠ²Π»ΡΡŽΡ‰Π΅Π³ΠΎΡΡ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ Ρ„Π°ΠΉΠ»Π°;

Β· ID Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ„Π°ΠΉΠ»Π°;

Β· Ρ€Π΅ΠΆΠΈΠΌ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»;

Β· Timestamp ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Ρ‚Ρƒ послСднСго измСнСния ΠΈΠ½ΠΎΠ΄Π° (ctime, change time), послСднСй ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ содСрТимого Ρ„Π°ΠΉΠ»Π° (mtime,modification time), ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ доступа (atime, access time);

Β· счСтчик ссылок ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ количСство ТСстких ссылок, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ½Ρ‹ΠΉ дСскриптор;

Β· ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Π±Π»ΠΎΠΊΠΈ диска, хранящиС содСрТимоС Ρ„Π°ΠΉΠ»Π° (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.).

БистСмный Π²Ρ‹Π·ΠΎΠ² stat считываСт Π½ΠΎΠΌΠ΅Ρ€ индСксного дСскриптора Ρ„Π°ΠΉΠ»Π° ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Π½Π΅Π³ΠΎ.

Этимология inode

Вочная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° использования «ΠΈ» Π² ΡƒΠ·Π»Π°Ρ… (Π½ΠΎΠ΄Π°Ρ…) нСизвСстна. Π’ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Π²ΠΎΠΏΡ€ΠΎΡ ΠΎΠ± ΡΡ‚ΠΎΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΈΠΎΠ½Π΅Ρ€ΠΎΠ² Unix-систСм ДСннис Π ΠΈΡ‚Ρ‡ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ»:

" ЧСстно говоря, я ΠΌΠ°Π»ΠΎ ΠΎΠ± ΡΡ‚ΠΎΠΌ знаю. Π­Ρ‚ΠΎ Π±Ρ‹Π» всСго лишь Ρ‚Π΅Ρ€ΠΌΠΈΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π½Π°Ρ‡Π°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. 'ИндСкс', ΠΊΠ°ΠΊ я ΠΏΠΎΠ»Π°Π³Π°ΡŽ, использовался ΠΈΠ·-Π·Π° нСсколько Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ структуры Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, Ρ…Ρ€Π°Π½ΠΈΠ²ΡˆΠ°Ρ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π΄ΠΎΡΡ‚ΡƒΠΏΠ΅ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ Π² ΠΏΠ»ΠΎΡΠΊΠΎΠΌ (Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΌ) массивС Π½Π° Π΄ΠΈΡΠΊΠ΅, Π° Π²ΡΡ информация ΠΎΠ± ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Ρ…Ρ€Π°Π½ΠΈΠ»Π°ΡΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈ-Π½ΠΎΠΌΠ΅Ρ€ являлся индСксом Π² ΡΡ‚ΠΎΠΌ массивС, ΠΈ-Π½ΠΎΠ΄ — Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ элСмСнтом массива. (ΠŸΡ€ΠΈΡΡ‚Π°Π²ΠΊΠ° 'ΠΈ-' использовалась Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии руководства; со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ дСфис пСрСстали ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ). «

Π’ΠΎ Π΅ΡΡ‚ΡŒ index node (индСксный ΡƒΠ·Π΅Π», элСмСнт) > index-node > i-node > inode — постСпСнноС ΡƒΠΊΠΎΡ€ΠΎΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ словосочСтанияindex node. По Π΄Ρ€ΡƒΠ³ΠΎΠΉ вСрсии, Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Π±ΡƒΠΊΠ²Π° i Π² i-node происходит ΠΎΡ‚ ΡΠ»ΠΎΠ²Π° information (информация).

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приводят ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡŽ индСксных дСскрипторов, ΠΎΠ±Π΅ΡΠΊΡƒΡ€Π°ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹Ρ… с ΡΡ‚ΠΎΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ:

Β· Если нСсколько ΠΈΠΌΠ΅Π½ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ индСксный дСскриптор (ТСсткиС ссылки), Ρ‚ΠΎ Π²ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ эквивалСнтными. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ созданноС имя Π½ΠΈΠΊΠ°ΠΊΠΈΠΌ особым ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚. Π­Ρ‚ΠΎ отличаСтся ΠΎΡ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ссылок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависят ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.

Β· Π˜Π½Π΄Π΅ΠΊΡΠ½Ρ‹ΠΉ дСскриптор ΠΌΠΎΠΆΠ΅Ρ‚ совсСм Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ ссылок. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½ с Π΄ΠΈΡΠΊΠ° (ΠΈΠΌΠ΅Π½Π½ΠΎ поэтому ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚ΠΈΠΏΠ° undelete Π² Unix Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ имя ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°), Π° Π΅Π³ΠΎ рСсурсы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ (это Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ процСсс удалСния Ρ„Π°ΠΉΠ»Π°), Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ процСссы Π΄Π΅Ρ€ΠΆΠ°Ρ‚ Ρ„Π°ΠΉΠ» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ, Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ доступ ΠΊ Π½Π΅ΠΌΡƒ, Π° Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎ послСднСС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΌΡƒ. Π­Ρ‚ΠΎ относится ΠΈ ΠΊ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΌ копиям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ процСссами, ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΌΠΈ. По ΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ рСкомСндуСтся ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΡΡ‚Π°Ρ€ΡƒΡŽ копию ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ индСксный дСскриптор для ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ вСрсии, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ экзСмпляры старой вСрсии Π½Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ.

Β· ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅Ρ‚ возмоТности ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ Π΅Π³ΠΎ имя, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ½ Π±Ρ‹Π» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ имя Ρ„Π°ΠΉΠ»Π° Π² Π½ΠΎΠΌΠ΅Ρ€ индСксного дСскриптора ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΆΠ΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ случаС, Π° Π·Π°Ρ‚Π΅ΠΌ «Π·Π°Π±Ρ‹Π²Π°Π΅Ρ‚» ΠΏΡ€ΠΎ имя Ρ„Π°ΠΉΠ»Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ getcwd () ΠΈ getwd () Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Ρ„Π°ΠΉΠ» с ΠΈΠ½Π΄Π΅ΠΊΡΠ½Ρ‹ΠΌ дСскриптором, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ с Ρ„Π°ΠΉΠ»ΠΎΠΌ" ." ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°; Π·Π°Ρ‚Π΅ΠΌ ΠΈΡ‰ΡƒΡ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΡΡ‚ΠΈΠ³Π½ΡƒΡ‚ «/» ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. SVR4 ΠΈ Linux ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ (поля) Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ½Ρ‹Ρ… дСскрипторах для избСТания ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ нСудобства.

Β· Π Π°Π½Π΅Π΅ Π±Ρ‹Π»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ТСсткиС ссылки Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π»ΠΎ структуру ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π³Ρ€Π°Ρ„ΠΎΠΌ вмСсто Π΄Π΅Ρ€Π΅Π²Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ связного Π³Ρ€Π°Ρ„Π° с N-1 Ρ€Π΅Π±Ρ€Π°ΠΌΠΈ ΠΈ N ΡƒΠ·Π»Π°ΠΌΠΈ. НапримСр, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈΠΌΠ΅Π» Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±Ρ‹Ρ‚ΡŒ собствСнным Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ систСмы Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… двусмыслСнностСй, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ считаСтся собствСнным Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… систСмными администраторами Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС (ОБ) UNIX, часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½ΠΎΠΌΠ΅Ρ€Π° индСксных дСскрипторов для обозначСния Ρ„Π°ΠΉΠ»ΠΎΠ². ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Π°Ρ встроСнная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ТСстких дисков fsck ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° pfiles ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ СстСствСнным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° индСксных дСскрипторов Π² ΠΏΡƒΡ‚ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΎ использованиСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ поиска Ρ„Π°ΠΉΠ»ΠΎΠ² find с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ — inum ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ls Ρ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ являСтся — i).

Π˜Π½ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ 'Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒΡΡ'. Π’ ΡΡ‚ΠΎΠΌ случаС нСльзя Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° ΡƒΡΡ‚ройство, Π΄Π°ΠΆΠ΅ Ссли Ρ‚Π°ΠΌ достаточно свободного мСста.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ прямой доступ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ Π±Π΅Π· ΡƒΡ‰Π΅Ρ€Π±Π° ΠΎΡ‚ Π²Π½Π΅ΡˆΠ½Π΅ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСно ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΡΠΌΠΎΠΉ доступ ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ примСняСтся комбинация ΠΎΠ΄Π½ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… индСксов. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ нСсколько адрСсов Π±Π»ΠΎΠΊΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ² хранятся нСпосрСдствСнно Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΠΎΠΌ дСскрипторС. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² индСксный дСскриптор Ρ…Ρ€Π°Π½ΠΈΡ‚ всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± Π°Π΄Ρ€Π΅ΡΠ°Ρ… Π±Π»ΠΎΠΊΠΎΠ². Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π°Π΄Ρ€Π΅ΡΠΎΠ² индСкс. дСскриптора ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π±Π»ΠΎΠΊ косвСнной адрСсной. Π­Ρ‚ΠΎΡ‚ Π±Π»ΠΎΠΊ содСрТит адрСса Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² дисков, Ссли этого нСдостаточно, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся Π±Π»ΠΎΠΊ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ косвСнной адрСсации, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит адрСса Π±Π»ΠΎΠΊΠΎΠ² косвСнной адрСсации. Если этого Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся Ρ‚Ρ€Π΅Ρ‚ΡŒΡ косвСнная адрСсация. Π”Π°Π½Π½ΡƒΡŽ схСму ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Unix ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы HPFS, NTFS.

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт ΠΏΡ€ΠΈ фиксированном ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшом Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ индСксного дСскриптора, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… измСняСтся ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±Π°ΠΉΡ‚ΠΎΠ² Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π“Π±.

1. Inodes and Operations (11.1999). — Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Linux: Π˜Π½ΠΎΠ΄Ρ‹ ΠΈ Π”Сйствия — Π˜Π½ΠΎΠ΄Ρ‹ Π² Linux.

2. РобачСвский А.Н., НСмнюгин Π‘.А., БтСсик О.Π›. Π˜Π½Π΄Π΅ΠΊΡΠ½Ρ‹Π΅ дСскрипторы / Базовая файловая систСма System V / Π“Π»Π°Π²Π° 4. Ѐайловая систСма // ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма UNIX. — 2-Π΅ ΠΈΠ·Π΄. — Π‘Пб.: Π‘Π₯Π’-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³, 2008. — Π‘.334-. — 656 с. — ISBN 978−5-94 157−538−1

3. http://litrus.net/book/read/60 177? p=127 — ΠšΠΎΡΡ‚Ρ€ΠΎΠΌΠΈΠ½ Π’. А. «Linux для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ»

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ