Управление файловой системой
Автор: Виноградов Андрей • Февраль 5, 2024 • Лабораторная работа • 6,704 Слов (27 Страниц) • 123 Просмотры
МИНОБРНАУКИ РОССИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра вычислительной техники
ОТЧЕТ
по лабораторной работе №1
«Управление файловой системой»
по дисциплине «Операционные системы»
Студент гр. 1307 | Виноградов А.С. | |
Преподаватель | Тимофеев А.В. |
Санкт-Петербург
2023
Цель работы: исследовать управление файловой системой с помощью Win32 API.
Задание 1.1. Управление дисками, каталогами и файлами.
На рисунке 1 представлено главное меню, при помощи которого происходит управление функциями программы
[pic 1]
Рис.1. Меню программы
- Вывод списка дисков
При помощи функции Win32 API GetLogicalDrives выводятся все доступные диски. Выполнение функции представлено на рисунке 2.
[pic 2]
Рис.2. Вывод списка доступных дисков
- Информация о диске и размер свободного пространства
Требуется получить информацию о заданном диске. Используются функция GetDriveType, GetVolumeInformation и GetDiskFreeSpace. Выполнение функции представлено на рисунке 3.
[pic 3]
Рис.3. Вывод информации о диске
- Создание и удаление каталогов
Используются команды CreateDirectory и RemoveDirectory. Произведем создание каталога и успешное удаление каталога. Результаты выполнения пункта представлены на рисунках 4-7
[pic 4]
Рис.4. Создание нового каталога
[pic 5]
Рис.5. Проверка создания нового каталога
[pic 6]
Рис.6. Удаление каталога
[pic 7]
Рис.7. Проверка удаления каталога
- Создание файлов в новых каталогах
Используя каталог из предыдущего пункта, создадим файл при помощи функции CreateFile. Результат выполнения программы представлен на рисунке 8.
[pic 8]
Рис.8. Создание файла в новом каталоге
- Копирование и перемещение файлов
Выполним копирование файла test.txt, созданном в предыдущем пункте при помощи команды CopyFile. Результат выполнения на рисунке 9-10.
[pic 9]
Рис.9. Копирование файла в другой каталог
[pic 10]
Рис.10. Проверка правильности копирования файла
Файл был успешно скопирован, теперь файл из New2 переместим в New3 при помощи команды MoveFile. Результат выполнения представлен на рисунке 11-12.
[pic 11]
Рис.11. Перемещение файла
[pic 12]
Рис.12. Проверка правильности выполнения программы
Проконтролировать правильность выполнения программы позволяет время создания файла, это означает что новый файл не создавался, а производились действия с уже имеющимся файлом.
6. Анализ и изменение атрибутов файлов:
Данный пункт требует применение ряда функций Win32API. GetFileAttributes – для получения атрибутов файла, SetFileAttributes – для задание атрибутов файла, GetFileTime – для получения времени создания файла, SetFileTime – для задания нового времени создания файла. Выполнение этих функций представлено на рисунках 13-15.
[pic 13]
Рис.13. Файл до изменения атрибутов
[pic 14]
Рис.14. Получение атрибутов файла и изменения атрибутов файла
[pic 15]
Рис.15. Атрибуты файла после их изменения
[pic 16]
[pic 17]
[pic 18]
Рис.16. Изменение времени файла
[pic 19]
Задание 1.2. Копирование файла с помощью операций перекрывающегося ввода-вывода
Приложение должно копировать существующий файл в новый файл, выполняя n перекрывающихся операций ввода-вывода блоками данных кратными размеру кластера.
Требуется вывести закономерность скорости работы копирования от:
Размера файла
Размера блока
Количества перекрывающих операций
Определим оптимальный размер блока, построив график зависимости времени от блока.
Тестирование проводим на файлах размером: 500 мб, 1 гб, 3 гб, 5 гб.
...