Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Використання BOOT-сектору

DOS надає програмі можливість працювати з так званими логічними номерами секторів. Це номери секторів в середині логічного диску. Для адресації сектору при допомозі функцій BIOS необхідно вказувати номер доріжки, номер головки та номер сектора на доріжці. DOS організує „наскрізну” нумерацію секторів, при якій кожному сектору логічного диску присвоюється свій унікальний номер. Порядок нумерації вибраний таким, що при послідовному збільшенні номера сектора спочатку збільшується номер головки, потім номер доріжки. Це зроблено для скорочення переміщень блоку головок при звертанні до послідовних логічних номерів секторів.

Наприклад: Для дискети з 9-а секторами на доріжці. Сектор з логічним номер 1 розташований на нульовій доріжці і для звернення до нього використовується нульова головка. Це самий перший сектор на доріжці. В термінах BIOS він має номер 1. Наступний сектор на нульовій доріжці має логічний номер 2, останній сектор на нульовій доріжці має логічний номер 9. Сектор з логічним номером 10 розташований також на нульовій доріжці. Це також самий перший сектор на доріжці, а для доступу до нього використовується головка з номером 1. І так далі, при збільшенні логічного номеру сектора змінюються номера головки та доріжок.

Для роботи з логічним диском (або дискетою) на рівні логічних номерів секторів, DOS надає програмам два переривання: INT25h – читання сектору за його логічним номером, INT26h – запис сектору за його логічним номером.

Вміст BOOT-сектору може бути використаний для визначення загальної кількості секторів на логічному диску (наприклад, в програмах перевірки секторів диску на читання), для роботи з таблицею розміщення файлів FAT та інше.

Таблиця розміщення файлів

Одразу після сектору завантаження на логічному диску знаходяться сектори, що містять таблицю розміщення файлів FAT (File Allocation Table).

Згадаємо, як організовано зберігання інформації на диску. Доступ до цієї інформації може виконуватись як для послідовного, так і для прямого методом доступу. Прямий метод дозволяє встановлювати головки зразу потрібний файл (або на потрібний запис файлу). Наприклад, ми можемо задати номер сектору на певній доріжці та номер головки. (Є ще послідовний метод доступу).

Але метод доступу – це ще не все. Важливе значення має спосіб розподілу місця на диску для файлів.

В MS-DOS (UNIX, OS/2) при створенні файлу для нього не задається початковий розподіл пам’яті в доріжках або секторах. Із збільшенням розміру файлу ОС виділяє цьому файлу сектори з тих що є вільними (не використовуються іншими файлами). При цьому файл розміщується не обов’язково в суміжних областях диску, він може бути розкиданий по різним доріжкам та секторам. В такому випадку ОС повинна вести облік ділянок диску, що використовуються. Для кожного файла вона повинна зберігати інформацію якому файлові які ділянки диску виділені. В MS-DOS для цього використовується FAT.

Весь логічний диск розбивається ОС на ділянки однакового розміру, що називаються кластерами. Кластер може вміщувати декілька секторів. Для кожного кластера FAT має свою індивідуальну комірку, в якій зберігається інформація про використання даного кластеру. Іншими словами FAT – це масив, що містить інформацію про кластери. Розмір цього масиву визначається загальною кількістю кластерів на логічному диску (саме кластерів, а не секторів).

Усі вільні кластери помічені нулями. Якщо файл розташований в декількох кластерах, то ці кластери зв’язані у список. Для зв’язаних у список кластерів елементи таблиці FAT вміщують номери наступних кластерів, що використовуються даним файлом. Кінець списку відмічається в таблиці спеціальним значенням. Номер першого кластера, що належить файлу, зберігається в елементі каталогу, що описує цей файл.

Утиліти ОС та деякі спеціальні утиліти перевіряють диск на предмет наявності дефектних областей. Кластери, що знаходяться в цих дефектних областях, відмічаються в FAT як погані (bad) та не використовуються ОС.

Таким чином FAT – це масив інформації про використання кластерів диску – вміщує однозв’язні списки кластерів, що виділені файлам. Номера початкових кластерів файлів зберігаються в каталогах.

 

На цьому малюнку показані фрагменти кореневого каталога диску С: та елементи FAT для файлів AUTOEXEC.BAT та CONFIG.SYS. FAT в комірці 11 вміщує число 12 – номер наступного кластера, що виділений файлу AUTOEXEC.BAT, комірка з номером 12 вміщує число 13 і т.д. Остання комірка, що відповідає останньому кластеру цього файлу, вміщує значення FF. Кластери можуть і не розташовуватись один за одним, наприклад ланцюжок кластерів, що виділений для файлу CONFIG.SYS.

Існує два формати FAT – 12-бітовий та 16-бітовий. 12-бітовий – зручний для дискет з невеликою кількістю секторів. В цьому випадку вся FAT розміщується цілком в одному секторі. Якщо диск такий, що для представлення всіх секторів 12 розрядів недостатньо, можна збільшити розмір кластера, наприклад до 8 секторів. Але більший розмір кластера приводить до неефективного використання дискового простору. Це тому, що мінімальний елемент, який виділяється файлу – кластер, має занадто великий розмір. Навіть для файлу, що має довжину 1 байт виділяється повний кластер. Таким чином, якщо розмір кластера 8 секторів, то для зберігання 1 байта буде використано 4 Кбайти дискової пам’яті.

При використанні 16-бітного FAT ОС може працювати з логічним диском, який має розмір більший 32 Мбайти. DOS при 16-бітному FAT, та кластером на 4 сектори може працювати з розділами, що досягають 134 Мбайтів.

<== предыдущая лекция | следующая лекция ==>
Логічна структура диску в MS-DOS | Файли та каталоги
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 595; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.057 сек.