Linux Kernel (Ядро линукса) (часть 2)


Хранение блоков в кэше страниц

виртуальная файловая система, слой отображения и разнообразные файловые системы группируют данные на диски в логические единицы, называемые блоками.

В ранних версиях ядра Linux существовало два основных кэша дисков: кэш страниц, который хранил целые страницы данных с диска, получавшиеся в результате обращения к файлам на диске, и кэш буферов, который использовался для хранения в памяти содержимого блоков, к которым обращалась виртуальная файловая система при управлении дисковыми файловыми системами.

Начиная с версии 2.4.10, кэш буферов фактически прекратил свое существование. По соображениям эффективности, буферы блоков больше не выделяются индивидуально. Вместо этого они сохраняются в специальных страницах, называемых страницами буферов”, которые хранятся в кэше страниц.
Формально страница буфера — это страница данных, ассоциированная с некими дополнительными дескрипторами, называемыми головами буферов”. Их главное предназначение — быстро находить адрес на диске для каждого блока страницы. Дело в том, что порции данных, хранящиеся в странице, принадлежащей кэшу, необязательно являются смежными на диске.

Предыдущая страница | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128




Возможно, Вас также заинтересует:

ОС Knoppix - это Linux без проблем

ВведениеЕсли вы цените свое время, умеете считать деньги и знаете стоимость информации, то эта книга для вас. А так как к книге прилагается компакт- диск с готовой к работе операционной системой Knoppix Live CD, то лишь достаточно вставить его в привод и перегрузить компьютер,...

Linux Kernel (Ядро линукса) (часть 1)

Спин-блокировкаСпин-блокировка необходима в многопроцессорной системе, потому что могут возникнуть другие прерывания того же типа, и другие процессоры могут приступить к их обработке. Без спин-блокировки к главному дескриптору прерывания могли бы обратиться сразу несколько процессоров. Как мы...

Linux Kernel (Ядро линукса) (часть 2)

Копирование при записи В системах Unix первых поколений создание процесса было реализовано довольно неуклюже: получив системный вызов fork о, ядро в буквальном смысле дублировало все адресное пространство родителя и присваивало копию процессу-потомку. Такая операция...

Linux Kernel (Ядро линукса) (часть 3)

Буферы блоков и головы буферовУ каждого буфера есть дескриптор голова буфера, имеющий тип buffer head. Этот дескриптор содержит всю информацию, необходимую ядру для работы с блоком, так что перед обработкой блока ядро обязательно проверяет голову...