Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Головний завантажувальний запис диску



Для того щоб можна було завантажити з магнітного диска власне саму ОС, авже з її допомогою й організувати роботу тієї чи іншої системи керуванняфайлами, були прийняті спеціальні системні угоди про структуру диска.Розташування структури даних, що несе інформацію про логічну організаціюдиска і найпростішу програму, за допомогою якої можна знаходити ізавантажувати програми завантаження тієї чи іншої ОС, очевидно — ценайперший сектор магнітного диска.

Як відомо, інформація на магнітних дисках розміщається і передаєтьсяблоками. Кожен такий блок називається сектором (sector), сектори розташовані наконцентричних доріжках поверхні диска. Кожна доріжка (track) утвориться приобертанні магнітного диска під зафіксованою в деякім визначеному положенніголівкою читання/запису. Накопичувач на жорстких магнітних дисках (НЖМД)містить один чи більше дисків (у сучасних розповсюджених НЖМД часто — двачи три). Однак звичайно під терміном «жорсткий диск» розуміють весь пакетмагнітних дисків. Групи доріжок (треків) одного радіуса, розташованих наповерхнях магнітних дисків, утворять так звані циліндри (cylinder). Сучасніжорсткі диски можуть мати кілька десятків тисяч циліндрів, у той час як наповерхні дискети число доріжок (число циліндрів) нині, як правило, складаєвсього вісімдесят.

Кожен сектор складається з поля даних і поля службової інформації, щообмежує й ідентифікує його. Розмір сектора (точніше — ємність поля даних)встановлюється контролером чи драйвером. Користувальницький інтерфейс DOSпідтримує єдиний розмір сектора — 512 байт. BIOS же безпосередньо надаєможливості роботи із секторами розміром 128, 256, 512 чи 1024 байт. Якщокерувати контролером безпосередньо, а не через програмний інтерфейс більшвисокого рівня (наприклад, рівень DOS), то можна обробляти сектори і з іншимирозмірами. Однак у більшості сучасних ОС розмір сектора вибирається рівним 512байт. Фізична адреса сектора на диску визначається за допомогою трьох«координат», тобто представляється тріадою [c-h-s], де c — номер циліндра(доріжки на поверхні диска, cylinder), h — помер робочої поверхні диска(магнітної голівки, head), а s — номер сектора на доріжці. Номер циліндра cлежить у діапазоні 0..C-1, де C — кількість циліндрів. Номер робочої поверхнідиска h належить діапазону 0..Н-1, де Н — число магнітних голівок унакопичувачі. Номер сектора на доріжці s вказується в діапазоні 1..S, де S —кількість секторів на доріжці. Наприклад, тріада [1-0-2] адресує сектор 2 надоріжці 0 (звичайно верхня робоча поверхня) циліндра 1. Надалі ми теж будемокористуватися саме цими позначеннями.Нагадаємо, що обмін інформацією між ОЗУ і дисками фізично здійснюєтьсятільки секторами. Уся сукупність фізичних секторів на вінчестері представляєйого неформатований об’єм.

Жорсткий диск може бути розбитий на кілька розділів (partition), які впринципі потім можуть використовуватися або однією ОС, або різними ОС.Причому самим головним є те, що на кожнім розділі може бути організована свояфайлова система. Однак для організації навіть одної файлової системи необхідновизначити, принаймні, один розділ.

Розділи диска можуть бути двох типів — primary (звичайно цей термінпереводять як первинний) і extended (розширений). Максимальне число primary розділів дорівнює чотирьом. При цьому на диску обов'язково повинний бутипринаймні один primary-розділ. Якщо primary-розділів декілька, то тільки один зних може бути активним. Саме завантажнику, розташованому в активному розділі,передається керування при включенні комп'ютера і завантаженню операційноїсистеми. Інші primary-розділи в цьому випадку вважаються «невидимими,схованими» (hidden).

Відповідно до специфікацій на одному жорсткому диску може бути тількиодин ex tended - розділ, що, у свою чергу, може бути розділений на великукількість підрозділів — логічних дисків (logical). У цьому змісті термін«первинний» варто визнати не зовсім вдалим перекладом слова primary; можна цеслово перевести і як «найпростіший, примітивний». У цьому випадку стаєзрозумілим і логічним термін extended.

Один з primary-розділів повинний бути активним, саме з його повинназавантажувати програма завантаження операційної системи, чи так званий менеджер завантаження, призначення якого — завантажити програмузавантаження ОС з якого-небудь іншого розділу, і вже з її допомогоюзавантажувати операційну систему. Оскільки до завантаження ОС системакерування файлами працювати не може, то варто використовувати для вказівкизгаданих завантажників винятково абсолютні адреси у форматі [c-h-s].

По фізичній адресі [0-0-1] на вінчестері розташовується головний завантажувальний запис (master hoot record, MBR), що містить позасистемнийзавантажник (non-system bootstrap — NSB), а також таблицю розділів (partitiontable, FT). Цей запис займає рівно один сектор, вона розміщується в пам'яті,починаючи з адреси 0:7C00h, після чого керування передається коду, що міститьсяв цьому найпершому секторі магнітного диска. Таким чином, у найпершому(стартовому) секторі фізичного жорсткого диска знаходиться не звичайний записboot record, як на дискеті, a master boot record.MBR є основним засобом завантаження з жорсткого диска, підтримуванимBIOS. У MBR знаходяться три важливих елементи:

 програма початкового завантаження (non-system bootstrap). Саме воназапускається BIOS після успішного завантаження в пам'ять першогосектора з MBR. Вона, мабуть, не перевищує 512 байт і її вистачаєтільки на те, щоб завантажити наступну, трохи більш складнупрограму, звичайно — стартовий сектор операційної системи — іпередати йому керування;

 таблиця опису розділів диска (partition table). Розташовується в MBRпо зсуві Ox1BE і займає 64 байта;

 сигнатура MBR. Останні два байти MBR повинні містити числоAA55h. По наявності цієї сигнатури BIOS перевіряє, що перший блокбув завантажений успішно. Сигнатура ця обрана не випадково. Їїуспішна перевірка дозволяє установити, що всі лінії передачі данихможуть передавати і нулі, і одиниці.

Таблиця partition table описує розміщення і характеристики наявних навінчестері розділів. Можна сказати, що ця таблиця розділів — одна з найбільшважливих структур даних на жорсткому диску. Якщо ця таблиця ушкоджена, то нетільки не буде завантажуватися операційна система (чи одна з операційнихсистем, встановлених на вінчестері), але перестануть бути доступними і дані,розташовані на вінчестері, особливо якщо жорсткий диск був розбитий на кількарозділів.

76 Таблиця розділів диску.

За байтом коду операційної системи розміщений байт номера головки кінцярозділу, за яким йдуть два байти – номер сектора і номер циліндра останньогосектора доного розділу. Нижче представлений формат елемента таблиці розділів.

Формат елемента таблиці розділів:

Назва запису елемента Partition Table Довжина, байт

Флаг активності розділу 1

Номер головки початку розділу 1

Номер сектора і номер циліндра завантажуючого

сектору розділу2

Кодовий ідентифікатор операційної системи 1

Номер головки кінця розділу 1

Номер сектора і циліндра останнього сектора

розділу2

Молодше і старше двухбайтове слово

відносного номера сектора4

Молодше і старше двухбайтове слово розміру

розділу в секторах4

Номера сектора і номер циліндра секторів у розділах займають по 6 і 10 бітвідповідно. Нижче представлений формат запису, що містить номера сектора іциліндра.

Як ми вже сказали, завантажник non-system bootstrap служить для пошуку задопомогою partition table активного розділу, копіювання в оперативну пам'ятькомп'ютера завантажника system bootstrap з обраного розділу і передачі йомукерування, що дозволяє здійснити завантаження ОС.

77 Розбиття диску на розділи.

Слідом за сектором MBR розмішаються власне самі розділи (рис.10.5). Упроцесі початкового завантаження сектора MBR, що містить таблицю partitiontable, працюють програмні модулі BIOS. Початкове завантаження вважаєтьсявиконано коректно тільки в тому випадку, коли таблиця розділів міститьприпустиму інформацію.

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

диска наскрізна.

Первинний розділ DOS включає тільки системний логічний диск без якихнебудь додаткових інформаційних структур.

Рис. 10.5. Розбивка диска на розділи

Однієї з найвідоміших і дотепер досить часто використовуваних утиліт задопомогою якої можна подивитися і відредагувати таблицю розділів а такожвиконати й інші дії, зв'язані з вивченням і виправленням даних як на дискеті, так іна вінчестері, є програма Disk editor з комплекту нортоновских утиліт. Потрібновідмітити, що Disk editor, з одного боку, дуже могутній засіб, і тому його вартовикористовувати з великою обережністю, а з іншого боку - ця утиліта працюєтільки в середовищі DOS. На сьогоднішній день головним недоліком цієї утиліти єобмеження на максимальний розмір диска в 8 Гбайт.

Треба визнати, що останнім часом з'явилася велика кількість утиліт якінадають можливість більш наочно представити розбивку диска на розділи,оскільки в них використовується графічний інтерфейс. Ці програми успішно ікоректно працюють з найбільш розповсюдженими типами розділів (розділи підFAT, FAT32, NTFS). Однак створені вони в основному для роботи в середовищіWin32API, що часто обмежує можливість їхнього використання. Однією знайвідоміших і могутніх програм для роботи з розділами жорсткого диска єPartition Magic фірми Power Quest





Дата публикования: 2015-09-18; Прочитано: 990 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...