Анатомія блочного пристрою

Найменший адресованих елементів блочного пристрою називається сектором Розміри секторів – це числа, які є цілими ступенями двійки, однак найбільш часто зустрічається розмір – 512 байт Розмір сектора-це фізична характеристика пристрою, а сектор – фундаментальний елемент блочного пристрою Пристрої не можуть адресувати або іншим чином працювати з елементами даних, розмір яких менше, ніж один сектор, проте багато блокові пристрої можуть передавати кілька секторів за один раз Хоча більшість блокових пристроїв і має розмір сектора, рівний 512 байт, все ж існують і інші стандартні розміри сектора (наприклад, більшість компакт-дисків CD-ROM мають розмір сектора, рівний 2 Кбайт)

У програмного забезпечення дещо інші цілі, і тому там існує інша мінімально адресуемая одиниця, яка називається блок Блок-це абстракція файлової системи, тобто всі звернення до файлових систем можуть виконуватися тільки з даними, кратними розміру блоку Хоча фізичні пристрої самі по собі адресуються на рівні секторів, ядро ​​виконує всі дискові операції в термінах блоків Так як найменший можливий адресованих елементів-це сектор, то розмір блоку не може бути менше розміру одного сектора і повинен бути кратний розміру сектора Більше того, для ядра (так само як і для апаратного забезпечення у разі секторів) необхідно, щоб розмір блоку був цілою ступенем двійки Ядро також вимагає, щоб блок мав розмір, не більший, ніж розмір сторінки памяті (див главу 11, Управління памяттю і главу 12, Віртуальна файлова система) 1

1 Це ограничени е являетс я штучним і в майбутньому воно може побут ь скасовано Проте вимога, щоб розмі р блоку був менше або дорівнює розміру сторінок и памяті, позволяє т значно спростити ядро

Тому розмір блоку дорівнює розміру сектора, помноженому на число, яке є цілою ступенем двійки Найбільш часто зустрічаються розміри блоку-це

512 байт, один кілобайт і чотири кілобайт

Часто збиває з пантелику те, що деякі люди називають сектори та блоки порізному Сектори, найменші адресовані елементи пристрою, іноді називають апаратними секторами (Hardware sector) або блоками апаратного пристрою (Device block) У той час як блоки, найменші адресовані одиниці файлових систем, іноді називаються блоками файлової системи (Filesystem block) або блоками вводу-виводу (I / O block) У цій главі будуть використані терміни сектор (Sector) і блок (Block), однак слід памятати і про інші можливі назвах На рис 131 показана діаграма відповідності між секторами і блоками

Існує ще одна часто зустрічається термінологія Принаймні в отношеніік жорстким дискам, використовуються терміни кластери,(clusters),  циліндри (Cylinder, доріжка) іголовки(Head) Такі позначення є специфічними тільки для деяких типів блокових пристроїв, вони, в основному, невидимі для користувача програм і в цій главі розглядатися не будуть Причина, по якій сектори є важливими для ядра, полягає в тому, що всі операції введення-виведення повинні виконуватися в одиницях секторів Тому більш високорівневі концепції ядра, які засновані на блоках, є надбудовами над секторами

Жорсткий диск Блок

Сектор

Сектор

Відображення секторів на блоки

i

Рис 131 Звязок між секторами і відблисками

Джерело: Лав, Роберт Розробка ядра Linux, 2-е видання : Пер з англ – М: ТОВ «ІД Вільямс »2006 – 448 с : Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*