Дефрагментація вільного місця. Файлова система FAT. Дефрагментація даних, що часто використовуються. Сортування за іменем. Алгоритм роботи першого візуального блоку MainWindows.cs. Опис роботи програми. Використані бібліотеки та структури даних.
Довгі дані записуються на диск в декількох кластерах. Якщо місця для запису певного файлу достатньо, то всі кластери розміщуються послідовно. У цьому випадку файл записується у вигляді декількох фрагментів. Більше того: у багатьох файлових системах (приклад FAT32) початок файлу записується в початок кластера, отже, якщо сам файл або його частина за обємом менше розміру кластера, то місце, що залишилося в кластері залишається невикористаним. Ефект, що виникає в процесі активної роботи з файлами (створення, видалення, переміщення, зміна розмірів) і виражається у відсутності на жорсткому диску достатньої кількості послідовних вільних блоків.Для порівняння ефективності виконання дефрагментації диску, запустимо на виконання вже існуючи програми: Defraggler Windows, IOBIT Smart, Auslogics Disk Defrag. Крім безпосередньо дефрагментації програма надає можливість пошуку помилок на дисках, аналіз їх стану, температурного режиму і т.д. Виконаємо аналіз та визначимо, чи необхідна дефрагментація заданого диску, тобто диску С: Рисунок 1.2 - результат аналізу диску С. Виконаємо дефрагментацію диску С за допомогою Defraggler Windows: Рисунок 1.3 - результат виконання дефрагментації. Виконаємо аналіз та визначимо, чи необхідна дефрагментація заданого диску, тобто диску С: Рисунок 1.5 - результат аналізу диску С.Крім того, таблиця розміщення файлів та кореневий каталог повинні розміщуватись по суворо фіксованим адресам, що файли, які необхідні для запуску системи, були розміщені коректно. Том, відформатований для використання файлової системи FAT, розмічається по кластерам. Розмір сектору завжди складає 512 байтів. 02h Доріжка, на якій починається розділ (біти 16 - 6), і сектор, на якому починається розділ (біти 5 - 0). 06h Доріжка, на якому закінчується розділ (біти 16 - 6)б і сектор, на якому закінчується розділ (біти 5 - 0).В даному курсовому проекті треба розробити програму, яка буде виконувати дефрагментацію диску (флешки), яка буде містити: Зручний інтерфейс;Проводиться сканування диска в пошуках всіх кластерів одного файлу. Після складання карти файлу його фрагменти переміщуються в вільне місце, в яке може поміститися файл повністю. На першому етапі задається файл, який необхідно дефрагментувати. Далі проводиться пошук всіх кластерів, які займає файл. Після успішного виконання попереднього кроку виконується переміщення кластерів файлу в нове місце на диску.Даний спосіб дефрагментує всі файли і поміщає їх у початку розділу, що дозволяє звільнити максимально можливу вільну область диска. Після проведення дефрагментації всі файли будуть розташовані в сусідніх областях, утворюючи, таким чином, безперервний ланцюжок. На першому етапі проводиться пошук фрагментованих файлів з подальшою дефрагментацією, але, на відміну від попереднього методу, переміщення фалів здійснюється не в будь-яке підходяще місце на диску, а в кінець розділу, таким чином, утворюється область даних без вільних кластерів. Після того як всі необхідні файли були дефрагментовані виконується переміщення цих даних у вільні кластери на початку тома. Такий метод розміщує файли на жорсткому диску згідно з частотою їх використання.Метод реорганізує файлову структуру таким чином, що файли будуть розташовуватися на диску відповідно до алфавіту. Сортування по імені дозволяє скоротити час доступу до файлу в каталогах. Спершу сортуються кореневі каталоги, потім файли і підкаталоги. Якщо відобразити структуру файлів, то вони будуть йти в такому ж порядку, як і відображаються в провіднику, при сортуванні «За алфавітом». Це пояснюється тим, що при завантаженні більшість необхідних бібліотек завантажуються з декількох каталогів «C: \ Windows \ System32 \», «C: \ Windows \ System32 \ drivers»).Для її реалізації спочатку створюємо змінні (максимальна кількість фрагментів, кількість фрагментів, кількість фрагментованих файлів, кількість, файлів що не переміщуються) та масив файлів. Отримуємо список фрагментів файлу (ця функція створена у класі DEFRAGCLASS). Далі перевіряємо файл, якщо він порожній, то перейти до іншого файлу. Якщо кількість екстент (знаходяться у класі DEFRAGCLASS) у файлі більше 3-х, то додаємо цей файл у список, якщо ж ні - заносимо в список але не виводимо на екран. Тобто, якщо після отримання списку фрагментованих файлі, вибираємо один за допомогою кліку мишки, то ми після натиснення «Дефрагментировать файл» автоматично переходимо до іншої форми.Після запуску програми користувач обирає том та одразу отримує карту фрагментації диску. Функція, яка виконує цю дію - DRVLETTERS_SELECTEDINDEXCHANGED(). Далі виконує аналіз, після якого надається інформація про носій, а саме, кількість екстентів, кількість файлів, кількість непереміщенних файлів, кількість фрагментованих файлів, кількість фрагментів, відсоток фрагментованих файлів, відсоток фрагментів для кожного файлу, максимальна кількість екстентів. Після натиснення на кнопку «Дефрагментировать файл» відкривається наступне вікно програми, в якому можна одразу дефрагментувати обраний файл на попередньому кроц
План
ЗМІСТ
ПЕРЕЛІК СКОРОЧЕНЬ
ВСТУП
1. АНАЛІЗ ТА ОГЛЯД ІСНУЮЧИХ РІШЕНЬ
1.2 Огляд існуючих рішень
1.2 Файлова система FAT
1.3 Постановка задачі
2. ПОБУДОВА АЛГОРИТМІВ ТА СТРУКТУР ДАНИХ
2.1 Опис існуючих алгоритмів дефрагментації
2.1.1 Проста дефрагментація
2.1.2 Дефрагментація вільного місця або цілковита дефрагментація
2.1.3 Дефрагментація часто даних, що використовуються
2.1.4 За датою останнього змінення
2.1.5 Сортування за іменем
2.2 Алгоритмізація
2.3 Опис роботи програми
3. КОДУВАННЯ
3.1 Використані бібліотеки та структури даних
3.2 Розробка візуального оформлення програми
4. ТЕСТУВАННЯ
4.1 Основна програма
4.2 Рекомендації
4.3 Тестування програми
ВИСНОВКИ
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы