Архітектура ЕОМ
•Прочитати 16-бітове слово з FAT, використовуючи в якості зсуву значення, отримане після ділення на 2.
•Якщо номер початкового кластера парний, на вибране з FAT слово треба накласти маску 0fffh, залишивши молодші 12 бітів. Якщо номер початкового кластера не парний, вибране з FAT значення необхідно зсунути вправо на 4 біта, залишивши старші 12 біт.
•Отриманий результат – номер такого кластера в ланцюгу, значення 0fffh відповідає кінцю ланцюга кластерів.
Файлова система {DOS} має деревоподібну структуру. У кореневому каталозі розташовуються 32-байтові елементи, що містять інформацію про файли й інші каталоги. Для читання кореневого каталога необхідно визначити його розташування і розмір.Кореневий каталог знаходиться відразу за останньою копією FAT. Кількість секторів, що займаються однією копією FAT, знаходиться в блоці параметрів BIOS у BOOT-секторі в полі fatsize, кількість копій FAT - у полі fatcnt блока BPB. Отже, перед кореневим каталогом знаходиться один BOOT-сектор і (fatcnt_*_fatsize) секторів таблиці розміщення файлів FAT.
Розмір кореневого каталога можна визначити виходячи із значення поля rootsize. У цьому полі при форматуванні диска записується максимальна кількість файлів і каталогів, що можуть знаходитися в кореневому каталозі. Для кожного елемента в каталозі виділяється 32 байта, тому кореневий каталог має довжину (32_*_rootsize) байтів.
Після кореневого каталога на логічному диску знаходиться область файлів і підкаталогів кореневого каталога. На малюнку зображені всі області логічного диска. Таку структуру мають логічні диски, розташовані в розділах жорстких дисків, а також дискети.
Області логічного диска Номер початкового сектора на логічному диску
+----------------------+
: : 0
: BOOT-сектор і :
: зарезервовані :
: сектори :
: :
+------------------- :
: : ressecs - кількість резервних
: Перша копія FAT : секторів
:
+------------------- :
: : ressecs+fatsize
: Друга копія FAT :
: :