48889 (588618)

Файл №588618 48889 (Розробка програмного забезпечення файлового менеджера)48889 (588618)2016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

ЗМІСТ

ВСТУП

1 СТРУКТУРА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ФАЙЛОВОГО МЕНЕДЖЕРУ

2 СТРУКТУРА ДАНИХ

2.1 Стуктури завантажувального запису

2.2 Структура службової області FAT

2.3 Структура елемента каталогу

2.4 Програмні структури

3 ОПИС АЛГОРИТМІВ ПЗ ФМ

3.1 Алгоритм пошуку дисків й іменування дисків

3.2 Алгоритм доступу к об'єктам файлової системи

3.3Алгоритм визначення зайнятого місця на розділі

3.4 Алгоритм зрівняння директорій

4 ОПИС ПРОГРАМНИХ МОДУЛІВ.

5 МЕТОДИКА РОБОТИ

6 ДОСЛІДЖЕННЯ РЕЗУЛЬТАТІВ

ВИСНОВОК

ДОДАТОК А - Код програми файлового менеджеру

ВСТУП

Метою даного проекту є практичне дослідження та засвоєння прийомів роботи з дисковими накопичувачами у середовищі ОС Windows та роботи на низькому рівні з файловими системами FAT16/FAT32. Також підтримується робота з NTFS. Програма розроблена як WINDOWS програма, написана мовою С++. Інтерфейс програми був розроблений схожий до існуючих файлових менеджерів середовища Microsoft Windows.

1. СТРУКТУРА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ФАЙЛОВОГО МЕНЕДЖЕРУ

Файловий менеджер – програма, яка виконує візуалізацію вмісту каталогу, дозволяє виконувати різноманітні операції з об’єктами каталогу, наприклад, копіювання, видалення, правка та інші.

Файловий менеджер, який був розроблений згідно з завданням до проекту виконує наступні функції:

  • пошук і найменування всіх логічних дисків у межах даної конфігурації технічних засобів;

  • визначення характеристик логічних дисків;

  • порівняння директорій за кількісним фактом.

Також була реалізована підтримка довгих імен та кирилиці для об’єктів директорій.

Структура файлового менеджеру на рис. 1.1.

Згідно зі структурою файловий менеджер має інтерфейс, в якому можна обрати наступну дію.

Список дій показаний в структурі ФМ.

Програма багатомодульну структуру. Кожний модуль виконує свої функції. Кожна дія, яку можна виконати, реалізована в окремій функції. Виключення із загального правил являє собою модуль manager.cpp, який реалізує як інтерфейс (за правилами створення VCL) так і роботу з NTFS та порівняння директорії. Тому на структурній схемі проекту він зустрічається двічі.

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

Після цього обирається завантажувальний диск та зчитується кореневий каталог цього диску. Вміст каталогу показується на екрані. Далі програма очікує наступних вказівок користувача щодо подальшої діяльності.

Рисунок 1.1 – Структура ФМ

2 СТРУКТУРА ДАНИХ

У програмі використовуються декілька структур даних. Структури завантажувального запису, службової частини ФС та елементу каталогу – це системні структури. Також програма містить і власні структури – інформація про логічні диски та інші.

    1. Структури завантажувального запису

Інформація про розділи жорсткого диску зберігається у першому секторі пристрою. Це – головний завантажувальний запис MBR (Master Boot Record). Структура MBR наведена у табл. 2.1.

Таблиця 2.1 - Структура MBR

Зсув

Розмір, байт

Опис

Ім’я

0

1BE h

Код завантажника MBR

reserved

1BE h

40 h

Масив з 4х елементів Partition Table

Partition Table

1FE h

2

Сигнатура MBR (0х55АА)

sign

Один елемент Partition Table може визначати логічний диск або розширений розділ. У межах одного жорсткого диска може бути лише один розширений розділ. Заповнення полів Partition Table виконується на етапі розбивання диска на розділи. В табл. 2.2 наведена структура елементу Partition Table.

Таблиця 2.2 - Структура елементу Partition Table

Зсув

Розмір, байт

Опис

Ім’я

0

1

Ознака активного розділу (80h - активний / 0 - неактивний)

priznak

1

1

Початкова голівка розділу

starthead

2

2

Початкова доріжка та сектор розділу. 6-бітний номер сектору визначається як 6 молодших бітів молодшого байту, а 10-бітний номер циліндру, як 2 старші біти молодшого байту та розташовані за ним 8 бітів старшого байту

starttrack

4

1

Код системи

syscode

5

1

Кінцева голівка розділу

endhead

6

2

Кінцева доріжка та сектор розділу

endtrack

8

4

Початковий сектор розділу

startsector

12

4

Розмір розділу у секторах

size

Поле код системи містить інформацію про тип ФС (основний розділ) або про ознаку розширеного розділу (05h, 0Fh).

Основний розділ описує логічний диск, адресу початку якого можна взяти зі структури елементу Partition Table – поле startsector. Це ж поле у елементі Partition Table при ознаці розширеного розділу вказує на вторинну MBR. Ця MBR може містити максимум два елементи Partition Table з чотирьох. Перший елемент буде вказувати на черговий логічний диск, а другий – на наступну вторинну MBR. Для отримання абсолютної адреси початку логічного диска необхідно до значення поля startsector додати адресу MBR, у якій описується даний диск.

    1. Структура службової області FAT

Після отримання абсолютної адреси початку логічного диска в програмі виконується зчитування першого сектора диска. В системі FAT це – завантажувальна область (BOOT – область). BOOT – область містить параметри та характеристики логічного диска. Її структура для ФС FAT12 та FAT16 наведена у табл. 2.3, а для системи FAT32 – у табл. 2.4.

Таблиця 2.3 – Структура BOOT – сектору для FAT12 та FAT16

Зсув

Розмір, байт

Опис

Ім’я

0

3

Команда JMP на код завантажника

jmpcode

3

8

Назва операційної системи, у якій виконано форматування диску

os

11

2

Кількість байт у секторі

BytePerSector

13

1

Кількість секторів у кластері

SectorPerCluster

14

2

Кількість резервних секторів

SizeReserv

16

1

Кількість копій FAT

NumberCopiesFAT

17

2

Кількість елементів кореневого каталогу

MaxDirElem

19

2

Розмір диску в секторах для дисків <32MB, інакше 0

Smallsize

21

1

Описувач середовища

MediaDescriptor

22

2

Кількість секторів таблиці FAT

SizeFAT16inSectors

24

2

Секторів на доріжці

SectorPerTrack

26

2

Кількість голівок

Heads

28

4

Кількість схованих секторів

NumberHiddenSectors

32

4

Розмір в секторах для дисків > 32MB

BigSize

36

1

Тип пристрою(для першого диску в системі 80h, для інших 0)

--

37

1

Резерв

--

38

1

Сигнатура 29h.

Code

39

4

Серійний номер

SerialNumber

43

11

Метка диску

Label

54

8

Ідентифікатор FAT (‘FAT12’ або ‘FAT16’)

FATID

62

2

Код завантажника

--

Таблиця 2.4 – Структура BOOT – сектору для FAT32

Зсув

Розмір, байт

Опис

Ім’я

0

3

Команда JMP на код завантажника

jmpcode

3

8

Назва операційної системи, у якій виконано форматування диску

os

11

2

Кількість байт у секторі

BytePerSector

13

1

Кількість секторів у кластері

SectorPerCluster

14

2

Кількість резервних секторів

SizeReserv

16

1

Кількість копій FAT

NumberCopiesFAT

17

4

Резерв

---

21

1

Описувач середовища

MediaDescriptor

22

2

Резерв

---

24

2

Секторів на доріжці

SectorPerTrack

26

2

Кількість голівок

Heads

28

4

Кількість схованих секторів

NumberHiddenSectors

32

4

Резерв

---

38

6

Резерв

reserv1

44

4

Початковий кластер кореневого каталогу

StartCluster

48

2

Початковий сектор структури FS INFO

BegFS

50

2

Номер сектору з копією BOOT-розділу

BootCopy

52

12

Резерв

reserv2

64

1

Фізичний номер пристрою

PhysNum

65

1

Резерв

reserv3

66

1

Розширена сігнатура

ExtSign

67

4

Серійний номер пристрою

SerialNumber

71

11

Метка диску

Label

82

8

Ідентифікатор (‘FAT32’)

FATID

90

2

55AA

---

Дана структура дозволяє отримати доступ до інформаційних полів BOOT-сектора необхідного логічного диска.

BOOT-область в файлових системах FAT12,16 займає 1 сектор, а в ФС FAT32 – 3 сектори. Другий сектор містить додаткові параметри та сигнатури, а третій – продовження програми завантаження. За завантажувальною областю розташовані таблиці FAT – таблиці кластерів. Їх кількість визначається у BOOT-секторі. У файлових системах FAT12,16 за таблицями кластерів знаходиться кореневий каталог. Його розмір обмежений кількістю елементів, вказаних в BOOT-секторі. Кореневий каталог FAT32 може не розміщатися відразу ж за таблицями кластерів та не має меж щодо свого розміру. За всіма цими службовими областями знаходиться область даних.

Таблиця FAT містить інформацію про розподілення дискового простору під об’єкти ФС. Ця таблиця – масив елементів із розмірністю 12, 16 або 32 біти в залежності від версії ФС. Номер елементу таблиці FAT відповідає номеру кластера в області даних. У таблиці 2.5 наведені можливі значення одного елементу FAT.

Таблиця 2.5 – Значення елементу FAT

FAT12

FAT16

FAT32

Пояснення

0

0

0

Вільний кластер

FF0-FF6

FFF0-FFF6

0FFFFFF0-0FFFFFF6

Зарезервований кластер

FF7

FFF7

0FFFFFF7

BAD-кластер

FF8-FFF

FFF8-FFFF

0FFFFFF8-0FFFFFFF

Останній кластер об’єкту

Усі інші значення вказують на наступний кластер.

Характеристики

Тип файла
Документ
Размер
10,43 Mb
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов ВКР

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6525
Авторов
на СтудИзбе
301
Средний доход
с одного платного файла
Обучение Подробнее