Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Rink
0 / 0 / 0
Регистрация: 27.08.2015
Сообщений: 5
#1

Реализовать контейнер данных наподобие файловой системы - C++

07.12.2016, 15:24. Просмотров 187. Ответов 3
Метки нет (Все метки)

Требуется реализовать контейнер данных наподобие файловой системы с возможностью создавать и
уничтожать файлы и читать/записывать в них байтовые массивы некоторой длины. Для работы захватывается большой кусок памяти (виртуальный диск), в котором выделяются служебные области модельной
файловой системы в соответствии с тем или иным методом ее реализации.

По аналогии с файловой системой FAT (WIN), т.е. на основе односвязных списков файловых блоков с хранением ссылок между блоками в отдельной таблице.

Как работает система FAT я понял, память разбивается на три блока: таблица fat, dir, и само содержимое файлов. Мне понятно каким образом это нужно сделать на c++, т.е. какого типа, например, будет третий блок, как записывать файлы, что значит открыть файл. Помогите, пожалуйста, разобраться.

Добавлено через 19 часов 32 минуты
* Мне НЕ понятно каким образом это нужно сделать....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2016, 15:24
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Реализовать контейнер данных наподобие файловой системы (C++):

Моделирование файловой системы
Разработать программу моделирующую файловую систему. Данная программа должна ...

Мониториг файловой системы
Хотелость бы организовать листинг файловой системы. В плане отслеживания...

Организация сортировки файловой системы
Нужно сделать сортировку, как это можно реализовать. Буду рад за любую помощь!...

Организации виртуальной файловой системы
Задали вот такую лабораторную. Условие в файле ибо оно слишком большое....

Создать модель файловой системы
нужно создать абстрактный класс, у меня: введите сюда код class...

Моделирование файловой системы FAT
Разработать программу моделирующую файловую систему. При моделировании считать,...

3
nmcf
6240 / 5552 / 2527
Регистрация: 14.04.2014
Сообщений: 23,345
07.12.2016, 15:31 #2
Как работает FAT понял, а сделать не можешь? Массивы, структуры используй.
0
Rink
0 / 0 / 0
Регистрация: 27.08.2015
Сообщений: 5
07.12.2016, 15:35  [ТС] #3
Не совсем понятно какие структуры использовать и какого типа массивы?
Изначально нужно создать структуру в которой три элемента (fat, dir, data), но какого они типа должны быть, вот, например, какого типа data? Это же область памяти разбитая на кластеры.
0
hoggy
Заблокирован
07.12.2016, 16:48 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// --- хранилище, в котором располагаются каталоги и файлы
class filestorage;
 
// --- отвечает за расположение нового объекта в хранилище
class allocator;
 
// --- интерфейс файлового объекта
class fobject;
 
// --- контейнер файловых объектов
class dir: public fobject;
 
// --- контейнер байтовых последовательностей
class file: public fobject;
при создании нового объекта, аллокатор запрашивает у файлового хранилища адрес его размещения.
хранилище выполняет поиск свободной области нужного размера, и возвращает адрес.
аллокатор размещает объект, скармливая его адрес родительскому файловому объекту.

по сути - обычное дерево иерархии каталогов,
и обычный менеджер свободных/занятых блоков памяти.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2016, 16:48
Привет! Вот еще темы с решениями:

Обход файловой системы и мультипоточность
Работаю над программой индексирования файловой системы. Все диски...

Программа, реализующая отображение файловой системы
Одногруппнику нужно написать программу, реализующую отображение файловой...

Обход всех каталогов файловой системы
какой цикл надо организовать чтобы программа прошлась по всем каталогам...

Создание виртуальной файловой системы для explorer
В линуксовом (юниксовом) mc есть такое понятие "виртуальная файловая система"...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru