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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Linux ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 88

Автор Роббинс ΠΡ€Π½ΠΎΠ»ΡŒΠ΄

НаконСц, пСрСмСнная

rflg
ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ
-r
, которая мСняСт порядок сортировки. Она инициализируСтся 1 (строка 30). Если
-r
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ,
rflg
устанавливаСтся Π² -1 (строки 89–91).

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ псСвдокод описываСт Π»ΠΎΠ³ΠΈΠΊΡƒ

compar()
; Π½ΠΎΠΌΠ΅Ρ€Π° строк Π½Π° Π»Π΅Π²ΠΎΠΉ Π³Ρ€Π°Π½ΠΈΡ†Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌ строк
ls.c
:

407 if <i>ls Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ</i> # dflg == 0

408Β  if <i>p1 Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈ p1 ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³</i>

409Β Β  if <i>p2 Π½Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈ Π½Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³</i>

410Β Β Β  return 1 # ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ΄Π΅Ρ‚ послС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ

Β Β Β Β Β  else

Β Β Β Β Β Β  <i>ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° тСст Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ</i>

411Β  else

Β Β Β Β Β  # p1 Π½Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

412Β Β  if <i>p2 Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³</i>

413Β Β Β Β return -1 # ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ

Β Β Β Β Β  else

Β Β Β Β Β Β  <i>ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° тСст Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ</i>

416 if <i>сортировка основана Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ</i> # tflg Ρ€Π°Π²Π½ΠΎ true

Β Β Β Β  # ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π°:

417Β  if <i>врСмя p2 Ρ€Π°Π²Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ p1</i>

418Β Β  return 0

419Β  if <i>врСмя p2 &gt; Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ p1</i>

420Β Β  return <i>Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ rflg (ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅)</i>

Β Β Β Β  # врСмя p2 &lt; Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ p1

421Β  return <i>ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ΅ rflg Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅)</i>

423 <i>Π£ΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ rflg Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ strcmp()</i>

424 <i>для Π΄Π²ΡƒΡ… ΠΈΠΌΠ΅Π½ ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚</i>

АргумСнты

strcmp()
Π² строках 423–424 выглядят ΡΠ±ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΠΈ с Ρ‚ΠΎΠ»ΠΊΡƒ. Π’ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π±Ρ‹Π»ΠΎ Π»ΠΈ имя Ρ„Π°ΠΉΠ»Π° ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΈΠ»ΠΈ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ΠΎ ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‡Π»Π΅Π½Ρ‹ объСдинСния
ln
Π²
struct lbuf
.

7.3. РСзюмС

β€’Β V7

ls
являСтся ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, хотя ΠΎΠ½Π° Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ аспСкты программирования Unix β€” Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄, Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ², содСрТаниС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹, значСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄Π°Ρ‚Ρ‹, сортировку ΠΈ динамичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ.

‒ НаиболСС ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ внСшним Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ V7

ls
ΠΈ соврСмСнной
ls
являСтся Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²ΠΊΠ° ΠΎΠΏΡ†ΠΈΠΉ
-Π°
ΠΈ
-l
. Π£ вСрсии V7 Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшС ΠΎΠΏΡ†ΠΈΠΉ, Ρ‡Π΅ΠΌ Ρƒ соврСмСнных вСрсий; Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌ нСдостатком являСтся отсутствиС рСкурсивной ΠΎΠΏΡ†ΠΈΠΈ
-R
.

β€’Β Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅

flist
являСтся чистым способом использования ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ памяти Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ PDP-11, прСдоставляя Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большС свСдСний,
struct lbuf
Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Π½ΡƒΠΆΠ½Ρ‹Π΅ свСдСния ΠΈΠ·
struct stat
; это Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄. Код для Π²Ρ‹Π²ΠΎΠ΄Π° дСвяти Π±ΠΈΡ‚ΠΎΠ² доступа ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π΅Π½ ΠΈ элСгантСн.

‒ НСкоторыС части

ls
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ малСнькиС Π»ΠΈΠΌΠΈΡ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ вСрхняя Π³Ρ€Π°Π½ΠΈΡ†Π° числа Ρ„Π°ΠΉΠ»ΠΎΠ² Π² 1024 ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΡ„Π΅Ρ€Π° Π²
makename()
Π² 100.

УпраТнСния

1. РассмотритС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ

getname()
. Π§Ρ‚ΠΎ случится, Ссли Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ ID Ρ€Π°Π²Π΅Π½ 256, Π° Π²
/etc/passwd
Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π΅ строки, Π² этом порядкС:

joe:xyzzy:2160:10:Joe User:/usr/joe:/bin/sh

jane:zzyxx:216:12:Jane User:/usr/jane:/bin/sh

2. РассмотритС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ

makename()
. ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
sprintf()
для составлСния ΠΈΠΌΠ΅Π½ΠΈ? ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ»ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅Ρ‚?

3.Β Π―Π²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈ строки 319–320 Π²

readdir()
Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ?

4.Β Π’ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ

stat
, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ написали Π² качСствС упраТнСния Π² «УпраТнСниях» ΠΊ Π³Π»Π°Π²Π΅ 6. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ
nblock()
ΠΈΠ· V7
ls
ΠΈ Π²Ρ‹Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ вмСстС с ΠΏΠΎΠ»Π΅ΠΌ
st_blocks
ΠΈΠ·
struct stat
. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹.

5. Как Π±Ρ‹ Π²Ρ‹ ΠΎΡ†Π΅Π½ΠΈΠ»ΠΈ V7

ls
по СС использованию
malloc()
? (Подсказка: ΠΊΠ°ΠΊ часто вызываСтся
free()
? Π“Π΄Π΅ Π΅Π΅ слСдовало Π±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ?)

6. Как Π²Ρ‹ ΠΎΡ†Π΅Π½ΠΈΠ»ΠΈ Π±Ρ‹ ΡΡΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° V7

ls
? (Подсказка: сколько Ρ‚Π°ΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²?)

7.Β ΠžΡ‡Π΅Ρ€Ρ‚ΠΈΡ‚Π΅ шаги, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ V7

ls
для соврСмСнных систСм.

Π“Π»Π°Π²Π° 8

Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Ρ‹ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²

Данная Π³Π»Π°Π²Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ обсуТдСниС Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Linux (ΠΈ Unix). Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ опишСм, ΠΊΠ°ΠΊ ΠΊ логичСскому пространству ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы добавляСтся (ΠΈ удаляСтся) Ρ€Π°Π·Π΄Π΅Π» диска, содСрТащий Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½ΠΈ Π·Π½Π°Ρ‚ΡŒ, Π½ΠΈ Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ мСстС физичСского размСщСния Ρ„Π°ΠΉΠ»Π°, вмСстС с API для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌΠΈ систСмами

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ опишСм, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ иСрархичСскому пространству ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈ ΠΊΠ°ΠΊ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ (Π΄Π΅Ρ€Π΅Π²ΡŒΡ) ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ

nftw()
. НаконСц, ΠΌΡ‹ опишСм спСциализированный, Π½ΠΎ Π²Π°ΠΆΠ½Ρ‹ΠΉ систСмный Π²Ρ‹Π·ΠΎΠ²
chroot()
.

8.1. ΠœΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π΄Π΅ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм

Π£Π½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ иСрархичСскоС пространство ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² являСтся большим достоинством Π΄ΠΈΠ·Π°ΠΉΠ½Π° Linux/Unix. Π”Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» рассматриваСт, ΠΊΠ°ΠΊ административныС Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ опСрационная систСма ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ для построСния пространства ΠΈΠΌΠ΅Π½ ΠΈΠ· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… физичСских устройств, содСрТащих Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ слуТСбныС Π΄Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ².

8.1.1. ΠžΠ±Π·ΠΎΡ€ основ

Π’ Π³Π»Π°Π²Π΅ 5 Β«ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΈ слуТСбныС Π΄Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Β», Π±Ρ‹Π»ΠΈ прСдставлСны индСксы для слуТСбных Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ описано, ΠΊΠ°ΠΊ элСмСнты ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² с индСксами Π’ Π½Π΅ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»ΠΈ описаны Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы, ΠΈ Π²Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎ прямыС ссылки ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΠ΄Π½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ содСрТат лишь Π½ΠΎΠΌΠ΅Ρ€Π° индСксов, Π° послСдниС Π½Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ срСди всСго Π½Π°Π±ΠΎΡ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ…ΡΡ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм.