Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПО / ЛАБ_FS_1.doc
Скачиваний:
26
Добавлен:
03.03.2016
Размер:
558 Кб
Скачать

2.Алгоритм іменування дисків

Алгоритм іменування логічних дисків в ОС Windows9х, з файловою системою FAT, складається із трьох основних етапів. Перший етап - пошук та іменування завантажувальних і потенційно завантажувальних логічних дисків. У якості потенційно завантажувального розділу розглядаємо перший з знайдений FAT розділів у таблиці Partition Table , припускаємо що він може містити операційну систему. Другий етап - пошук і іменування логічних дисків, які розташовуються в розширеному розділі. Останній етап алгоритму іменування - пошук і іменування логічних дисків, які залишилися в основних розділах. Узагальнена схема алгоритму наведена на рис 1.1

Рис 1.1 Узагальнена схема алгоритму іменування логічних дисків

2.1 Пошук завантажувальних або потенційно завантажувальних дисків

Алгоритм іменування дисків починається з пошуку завантажувальних або потенційно завантажувальних розділів, граф схема цього участку алгоритму приведена на рис 1.2. Після читання MBR яке було описано вище, потрібно організувати цикл по перегляду елементів PT, на предмет пошуку елемента у першому байті якого код 80h. Знайдений завантажувальний розділ з обліком того, що завантаження відбулося в середовищі Windows 98, буде мати у своєму розпорядженні логічний диск ім'я якого С. На граф схемі алгоритму ці операції виконуються у блоках 1-7.

рис 1.2 Граф схема алгоритму пошуку та іменування завантажувальних або потенційно завантажувальних дисків

Далі по алгоритму йдемо до наступного жорсткого диска й починаючи із цього диска й для всіх наступних виконуємо такі дії:читаємо перший сектор жорсткого диска.Організовуємо цикл по PT для пошуку завантажувального розділу.Якщо завантажувальний розділ знайдений перевіряємо параметр «код системи» на приналежність до FAT розділу.Якщо знайдений завантажувальний є FAT розділом, то логічному диску в цьому розділі привласнюємо чергову букву як ім'я. На граф схемі алгоритму ця частина алгоритму реалізована у блоках 8-13,19. Якщо логічний диск у знайденому завантажувальному розділі має тип файлової системи відмінної від FAT то шукаємо основний розділ з файловою системою FAT, і якщо такий знайдений то даний розділ розглядаємо як потенційно завантажувальний, а логічному диску привласнюємо черговий символ як ім'я. Пошук потенційно завантажувального розділу здійснюється й у тому випадку якщо серед елементів PT відсутній елемент із ознакою завантажувального розділу. На граф схемі алгоритму ці операції виконуються у блоках 14-17. Програмний код реалізуючий цю частину алгоритму наведений нижче

//Пошук та іменування завантажувальних дисків

for(int i=0;i<4;i++) //цикл по чотирьом елементам Partition Table

if(MBR.table[i].boot==0x80)

{

DRIVE[drive-0x80].num_table=i;// запам’ятовуємо проіменований елемент

//Іменуємо диск та виводимо потрібну інформацію

...

//Перехід до наступного жорсткого диску

...

}

//Пошук та іменування потенційно завантажувальних дисків

for(i=0;i<4;i++)

if(FAT(MBR.table[i].sys)) //Перевіряємо-файлова система FAT

{

DRIVE[drive-0x80].num_table=i;//запам’ятовуємо проіменований

//елемент у масиві.

//Іменуємо диск та виводимо потрібну інформацію

...

//Перехід до наступного жорсткого диску

...

}

Соседние файлы в папке СПО