Розмір блоку
3-мірна доріжка (однакова доріжка на всіх дисках) називається циліндром. Кожна доріжка розділена на 63 сектори. Кожен сектор містить 512 байт даних. Тому розмір блоку в таблиці розділів становить 64 голови * 63 сектори * 512 байт ер ... ділиться на 1024 ... :-)
Джерело: Розбиття з fdisk
У будь-який час, коли Linux посилається на розмір блоку, він майже завжди становить 1024 байти - Linux використовує 1024-байтові блоки як свої примітивні одиниці для кеш-пам'яті буфера і все. Єдиний раз, коли його немає, є у конкретних драйверах файлової системи, оскільки деякі файлові системи використовують інші деталізації (наприклад, для файлової системи ext3 звичайного розміру розмір блоку файлової системи зазвичай становить 4096 байт). Однак ви майже ніколи не бачите розмір блоку файлової системи; майже єдиний спосіб насправді це побачити - це хакер ядра або запускати такі програми, як dumpe2fs.
Проблема в цьому полягає в тому, що є чотири чіткі одиниці, про які потрібно пам’ятати. Щоб зробити ще гірше, два з цих підрозділів носять те саме ім'я. Це різні підрозділи:
- Розмір апаратного блоку, "розмір сектору"
- Розмір блоку файлової системи, "розмір блоку"
- Розмір блоку кеша буфера ядра, "розмір блоку"
- Розмір блоку таблиці розділів, "розмір циліндра"
Для розмежування розміру блоку файлової системи та розміру блоку кеш-пам'яті буфера я дотримуюся термінології FAT і буду використовувати розмір кластера для розміру блоку файлової системи.
Розмір сектора - це одиниці, якими займається обладнання. Це діапазон між різними типами обладнання, але більшість апаратних засобів у стилі ПК (дискети, IDE-диски тощо) використовують 512 байтові сектори.
Розмір кластера - це одиниця розподілу, яку використовує файлова система, і є причиною фрагментації - я впевнений, що ви знаєте про це. Для файлової системи ext3 середнього розміру зазвичай це 4096 байт, але ви можете це перевірити dumpe2fs
. Пам'ятайте, що їх також називають " блоками ", тільки я тут їх називаю кластерами . Розмір кластера - це те, що повертається в st_blksize
статичний буфер, щоб програми могли обчислити фактичне використання диска файлу.
Розмір блоку - це розмір буферів, які ядро використовує внутрішньо, коли кешує сектори, прочитані з пристроїв зберігання (звідси назва "блок пристрою"). Оскільки це найбільш примітивна форма зберігання в ядрі, всі розміри кластерів файлової системи повинні бути кратними цьому. Цей розмір блоку - це також те, про що майже завжди посилаються програми користувальницького простору. Наприклад, коли ви запускаєте
du
без параметрів -h або -H, він повертає, скільки цих блоків займає файл. df
також буде повідомляти розміри в цих блоках, стовпець "Блоки" у fdisk -l
висновку цього типу тощо. Це те, що найчастіше називають «блоком». Два дискових сектора вміщуються в кожен блок.
Розмір циліндрів використовується тільки в таблиці розділів і в BIOS (а BIOS не використовується Linux).
Джерело: Розмір блоку диска Linux ... допоможіть, будь ласка
Сектори 0-31
Щоб відповісти на ваше запитання про перші 32 сектори, оскільки флешка - це пристрій, відформатований FAT, і, дивлячись на визначення файлової системи FAT, можна побачити, що файлова система FAT складається з чотирьох різних розділів:
а) Зарезервовані сектори;
b) область таблиці розподілу файлів (FAT);
c) область кореневих каталогів;
г) Регіон даних.
Зарезервовані сектори , розташовані на самому початку, - це (у даному випадку) сектори 0-31:
Перший зарезервований сектор (логічний сектор 0) - це завантажувальний сектор (він же
запис запису обсягу (VBR) ). Він включає область, що називається Блок параметрів BIOS (з деякою базовою інформацією файлової системи, зокрема її типом, та вказівниками на розташування інших розділів) і зазвичай містить код завантажувача операційної системи.
Важлива інформація із завантажувального сектора доступна через структуру операційної системи, що називається Блок параметрів приводу (DPB) в DOS та OS / 2.
Загальна кількість зарезервованих секторів вказується полем у завантажувальному секторі і зазвичай становить 32 у файлових системах FAT32 .
Для файлових систем FAT32 зарезервовані сектори включають сектор інформації про файлову систему в логічному секторі 1 та сектор резервного завантаження в логічному секторі 6.
У той час як багато інших постачальників продовжують використовувати односекторну настройку (лише логічний сектор 0) для завантажувача завантажувального завантажувача, з початку впровадження FAT32 код завантажувального сектора Майкрософт виріс на нерегулярність секторів 0 і 2, з логічним сектором 0 залежно від цього підпрограми в логічному секторі 2. Область резервного завантажувального сектора складається з трьох логічних секторів 6, 7 та 8. В деяких випадках Microsoft також використовує сектор 12 зарезервованої області для розширеного завантажувача.
Просто додаткова інформація, не стосується питання щодо ОП
Регіон FAT буде в секторі 32:
Зазвичай він містить дві копії (можуть відрізнятися) таблиці розподілу файлів для перевірки надмірності, хоча і рідко використовується, навіть утилітами відновлення диска.
Це карти регіону даних, які вказують, які кластери використовуються файлами та каталогами. У FAT12 та FAT16 вони негайно слідують за зарезервованими секторами.
Зазвичай додаткові копії зберігаються в тісній синхронізації під час запису, а під час читання вони використовуються лише у випадку помилок у першій FAT. У FAT32 можна переключитися від поведінки за замовчуванням і вибрати один FAT з доступних, які будуть використовуватися для діагностики.
Перші два кластери (кластер 0 і 1) на карті містять спеціальні значення.
Регіон кореневого каталогу :
Це Таблиця каталогів, яка зберігає інформацію про файли та каталоги, що знаходяться в кореневому каталозі. Він використовується лише з FAT12 і FAT16 і накладає на кореневу директорію фіксований максимальний розмір, який попередньо виділяється при створенні цього тома. FAT32 зберігає кореневий каталог у регіоні даних разом з файлами та іншими каталогами, що дозволяє йому рости без таких обмежень. Таким чином, для FAT32 тут починається область даних.
Регіон даних :
Тут зберігаються фактичні дані про файли та каталоги та займають більшу частину розділу. Традиційно невикористані частини області даних ініціалізуються зі значенням заповнення 0xF6 відповідно до таблиці параметрів диска INT 1Eh (DPT) під час форматування на сумісних з IBM машинах, але також використовуються в портфоліо Atari. 8-дюймові дискети CP / M зазвичай поставляються заздалегідь відформатованими зі значенням 0xE5; за допомогою цифрових досліджень це значення також використовувалося на дискетах формату Atari ST. Амстрад замість цього застосував 0xF4. Деякі сучасні форматори стирають жорсткі диски зі значенням 0x00, тоді як значення 0xFF, значення за замовчуванням непрограмованого блоку спалаху, використовується на флеш-дисках для зменшення зносу. Останнє значення зазвичай використовується також на дисках ROM. (Деякі вдосконалені засоби форматування дозволяють налаштувати байт наповнювача формату.)
Розмір файлів і підкаталогів можна збільшити довільно (доки є вільні кластери), просто додавши більше посилань на ланцюжок файлів у FAT. Зауважте, що файли розподіляються в одиницях кластерів, тому, якщо файл 1 KiB знаходиться в кластері 32 KiB, витрачається 31 KiB.
FAT32 зазвичай починає Таблицю кореневих каталогів у кластері №2: перший кластер регіону даних.
Джерело: Вікіпедія - Таблиця розподілу файлів