Трохи про фізичну організації, Носії інформації, Залізо, статті

Жорсткий диск складається з декількох металевих пластин, головок читання-запису й механізму їх позиціонування, поміщених в герметичну коробку (банку). До нього прикріплена друкована плата з контролером і буферною пам’яттю (кешем), яка за допомогою шлейфа (40 або 80 жив) з’єднується з материнською платою або окремим контроллером. Так от, металеві пластини умовно розбиті на концентричні доріжки, а доріжки розділені на сектори. Доріжки на рівній відстані від центру на всіх поверхнях пластин об’єднуються в циліндри. Таким чином, для читання певного сектора даних (його ємність прийнята рівною 512 байт) потрібно: 1) відвести головки на потрібну відстань від центру, тобто позиціонувати на певний циліндр, 2) почати перегляд доріжки на потрібної пластині, активувавши відповідну головку; 3) проводити читання всієї інформації до появи заголовка сектора, номер якого (Міститься в цьому заголовку) збігається з потрібним нам для операції читання або запису. Відповідно до такої схемою метод знаходження необхідної інформації на жорсткому диску називається CHS-адресацією
(Cylinder-Head-Sector).


BIOS (базова система вводу-виводу) є набором системних підпрограм (функцій), серед яких є і програма читання-запису даних на жорсткому диску. Для отримання вмісту одного сектора потрібно вказати його CHS-адреса. Число секторів, циліндрів і головок BIOS’у повинно бути відомо, для цього й існує автодетект в Setup. Втім, інформація про геометрію, яка використовується для роботи функцій доступу до диска, навіть близько не відповідає реальної геометрії сучасного жорсткого диска. У нього 1-3 пластини, одна з яких може використовуватися тільки з одного боку, і 1-6 головок. Тому контролер жорсткого диска виробляє трансляцію вступників адрес, таку ж трансляцію виробляє і BIOS, працюючи за механізмом LBA (Logical Block Addressing). Але це вже інша історія.


У відповідності з ідеологією MS-DOS жорсткий диск може складатися з так званих “розділів” – незалежних областей диска, які можуть бути побудовані по схемі будь-якої операційної системи, тобто використовувати будь-яку файлову систему. Таких розділів має бути два – основний (Primary), з якого зазвичай здійснюється завантаження, і розширений (Extended), який може бути розділений на кілька частин-підрозділів (логічних дисків). Таким чином, перший розділ диска самостійний, інші об’єднуються в групу. Кожен розділ має приналежність до тієї чи іншої файлової системі.


В рамках DOS (і заснованих на цій же операційній системі Windows3.x/95/98/ME) існують три файлових системи – FAT12, FAT16 і FAT32. Про їх відмінностях я згадаю нижче.

Системні сектори


Найперший сектор будь-якого жорсткого диска має назву Master Boot Record, MBR. Він складається з двох частин – програми початкового завантажувача і таблиці розділів (Disk Partition Table, DPT). DPT складається з чотирьох записів, що позначають адресу початку розділу, його розмір у секторах, адреса кінця і тип файлової системи. Звичайно, використовуються тільки два записи – для основного і додаткового розділу, тому що кожен підрозділ (Логічний диск) має таку ж DPT із зазначенням адреси наступного підрозділу. Завдання завантажувача в MBR – дати можливість завантаження з потрібного розділу (тобто використовувати декілька операційних систем). Стандартний завантажувач DOS надає вельми обмежений механізм вибору – завантаження можлива з того розділу, у якого встановлений прапор активності таблиці
DPT.


Найперший сектор розділу називається Boot Sector. У його складі також є завантажувальна програма і таблиця BIOS Parameter Block, BPB. У цій таблиці міститься інформація про місцезнаходження та розмір іншої важливої області – таблиці розміщення файлів, FAT. За своєю суттю FAT – це великий масив елементів, кожен елемент відповідає кожному кластеру. Кластер – блок секторів (від 8 до 128), елемент розподілу всього дискового простору розділу. Кожному файлу при його створенні виділяється потрібне число кластерів. Номер першого кластера заноситься в каталог (директорій, папку), а відповідний цьому кластеру елемент FAT містить номер другого кластера. Елемент FAT, відповідний другий кластер, містить номери третього кластера і т.д. Весь FAT складається з таких ланцюжків
(Chains).


Якщо елемент FAT не пов’язаний ні в один ланцюжок і при цьому не дорівнює 0, він називається “втраченим” (Lost Cluster). “Втрата” кластерів відбувається при перезавантаженні в момент запису ланцюжка в FAT, наприклад, при створення / редагування файлу, коли операція запису переривається. Звичайно, це не найстрашніші наслідки несподіваної перезавантаження, але все ж втрачати місце на диску не дуже хочеться. Програмісти з Microsoft добре знали про “Стабільності” своєї Windows, тому й запускається Scandisk автоматично.


Якщо файл згодом збільшується в розмірах, йому призначаються нові кластери з числа вільних, причому найчастіше вони знаходяться в іншому місці диска. Ланцюжок “перестрибує” інші ланцюжки – ось вам і фрагментація, яку усувають програми-дефрагментатори, що переносять файли так, щоб їх кластери йшли один за одним по черзі.


Хоча система ланцюжків і є досить ефективною і простою, у неї є недоліки. По-перше, низька надійність – при зникненні одного елемента весь файл буде нечитабельним, а псування FAT означає втрату великого кількості (якщо не всіх) файлів. Для усунення цього недоліку існують дві однакових копії FAT. Друге – якщо розмір файла не кратний розміром кластера, утворюється Слек (Slack) – частина кластера, не зайнята корисною інформацією. Чим більше розмір кластера, тим більша частина диска зайнята Слек. Для файлу довжиною 1 байт ви втрачаєте весь кластер, а якщо він має великий розмір (32 Кбайта, наприклад), то втрати на Слек можуть становити 30-50% від загальної ємності диска (до речі, перевірити їх можна програмою Sandra – модуль Drive Information).


Розмір елемента FAT дає назву самій файловій системі. FAT12 має 12-бітові елементи, які дозволяють організувати на диску близько 4-х тисяч кластерів. FAT16 має 16-бітові елементи, число кластерів – 65530. FAT32 – 32-бітові елементи, близько 4 млрд. кластерів. Чим більше на диску буде кластерів, тим менше можна зробити розмір самого кластера і тим самим менше втратити місця. Тому FAT12 використовується тільки для гнучких дисків, FAT16 – для дисків ємністю до 500 Мб (в принципі, можна і до 2 Гб).

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


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

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

Ваш отзыв

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

*

*