реклама на сайте
подробности

 
 
> Написание Файловой Системы, С использованием ООП
haker_fox
сообщение Jan 24 2013, 04:15
Сообщение #1


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



В продолжение темы

Господа, а давайте порассуждаем на тему написания FAT16/32 с применением ООП sm.gif Как вы уже догадались, это моя идея фикс.

Вообще подход ООП у меня уже удачно работает с сетью RS485, где есть родитель - драйвер устройства, где определены базовые методы, виртуальные методы, и общие переменные (например счетчики ошибок и т.п.). Какждый конкретный драйвер устройства получается простым наследованием базового и определением виртуальных функций по месту, новых, присущих только этому устройству, методов.

Такой же подход работает и в GUI.

А как с ФС? Скажу по секрету, я плохо себе представляю написание ФС, никогда этим не страдал sm.gif Но очень хочу. Готовую ФС (FaFS) использовал.

Вижу следующие плюсы решения:
1. Можем для каждого "привода" завести объект ФС
CODE
TFATFS sdFS;
TFATFS hddFS;

2. Упрощается реализация когда. Ну проще читать его, чтоли...

При этом не нужно заморачиваться со структурами и указателями на них, трудно будет перепутать (фактически невозможно) файловую систему на паре SD-карт (а несколько MCI на МК уже и не редкость). Или не ошибемся, когда будем работать с файлами на NAND, DATA FLASH и SD-карте. Конечно, это уже косметические достоинства.

3. Драйвер конкретного накопителя можно просто унаследовать "файловой системой", тогда будет один объект для работы с файлами.

Недостатки:
1. Новый код, который нужно будет долго и упорно тестировать. Кстати, люди пишут свои ФС, как идет тестирование? Может быть есть стандартные методики/инструменты/файлы?

Как-то так.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
haker_fox
сообщение Feb 4 2013, 03:14
Сообщение #2


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Начал родную писть sm.gif
Кстати, очень полезный сайт.

Я MBR по wikipedia полдня раскапывал, пока не набрел на него, и сюда

Кстати, как я понимаю, иметь более, чем 4 партиции на диске - экслюзив? Я рассматриваю в MBR по умолчанию 4 вхождения.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
XVR
сообщение Feb 4 2013, 08:16
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(haker_fox @ Feb 4 2013, 07:14) *
Кстати, как я понимаю, иметь более, чем 4 партиции на диске - экслюзив? Я рассматриваю в MBR по умолчанию 4 вхождения.
Primary - не более 4х (реально бывает вообще одна), а вот Extended - гораздо больше. И что самое противное - они действительно есть (и много) rolleyes.gif
Так что читайте дальше ...
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Feb 4 2013, 13:38
Сообщение #4


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (XVR @ Feb 4 2013, 17:16) *
Primary - не более 4х (реально бывает вообще одна), а вот Extended - гораздо больше. И что самое противное - они действительно есть (и много) rolleyes.gif
Так что читайте дальше ...

Ага, точно! Но для флешек и MMC/SD-карт мне кажется, что это уже черезчур... Многие флешки вообще одну партицию имеют, вернее я еще не разу не видел больше одной... А на винты я и не замахиваюсь. Хотя, учитывая, что алгоритм более-менее простой по отлавливанию расширенных партиций, то можно и включить.

Не подскажете инструмент по созданию образов в разных ФС (FAT12, FAT16 и FAT32)? sm.gif Я тестирую все на компьютере. Сейчас работаю с образом реальной SD-карты, полученным WinHEX'ом.

Но хотелосьбы из произвольных "папок" на компьютере создавать тестовые образы (с разным типом ФС), чтобы натравливая на них тестовую программку, откатать драйвер ФС?

Хотя, похоже, такой проги нет... Одно дело получить образ с диска, другое дело все это создавать...

Спасибо sm.gif

Все-таки проще накачать образов из сети, их полно. И играться с ними, читая их своим драйвером...


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 4 2013, 13:41
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(haker_fox @ Feb 4 2013, 17:38) *
Сейчас работаю с образом реальной SD-карты, полученным WinHEX'ом.

Так работайте с реальным диском, а не образом. Заодно сможете пользоваться нормальным инструментарием для форматирования/проверки.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Feb 5 2013, 00:20
Сообщение #6


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (aaarrr @ Feb 4 2013, 21:41) *
Так работайте с реальным диском, а не образом. Заодно сможете пользоваться нормальным инструментарием для форматирования/проверки.

Так я драйвер-то на компьютере обкатываю, а windows не позволяет к секторам диска обращаться...

QUOTE (aaarrr @ Feb 4 2013, 21:41) *
Так работайте с реальным диском, а не образом. Заодно сможете пользоваться нормальным инструментарием для форматирования/проверки.

Так я драйвер-то на компьютере обкатываю, а windows не позволяет к секторам диска обращаться...


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 5 2013, 06:33
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(haker_fox @ Feb 5 2013, 04:20) *
Так я драйвер-то на компьютере обкатываю, а windows не позволяет к секторам диска обращаться...

Под администраторскими правами очень даже позволяет:
Код
int dbg_read(unsigned int sec, unsigned char *buff)
{
    FILE *f = fopen("\\\\.\\PHYSICALDRIVE0", "r");
    if(f)
    {
        fseek(f, sec * 512, SEEK_SET);
        fread(buff, 1, 512, f);
        fclose(f);
        return 0;
    }
    return -1;
}
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- haker_fox   Написание Файловой Системы   Jan 24 2013, 04:15
- - andrewlekar   Вот, полистайте: http://lwn.net/Articles/444910/ Е...   Jan 24 2013, 04:37
|- - haker_fox   QUOTE (andrewlekar @ Jan 24 2013, 12:37) ...   Jan 24 2013, 05:25
- - kolobok0   Цитата(haker_fox @ Jan 24 2013, 08:15) .....   Jan 26 2013, 16:50
- - AlexandrY   Цитата(haker_fox @ Jan 24 2013, 06:15) Кс...   Jan 26 2013, 19:36
- - kosyak©   Цитата(AlexandrY @ Jan 26 2013, 23:36) .....   Jan 27 2013, 10:26
|- - AlexandrY   Цитата(kosyak© @ Jan 27 2013, 12:26) А ка...   Feb 6 2013, 20:55
- - haker_fox   Цитата(kolobok0 @ Jan 27 2013, 01:50) есл...   Jan 27 2013, 14:37
|- - sasamy   Цитата(haker_fox @ Jan 27 2013, 18:37) Да...   Jan 30 2013, 02:31
|- - Tahoe   Цитата(haker_fox @ Jan 27 2013, 18:37) Да...   Jan 30 2013, 03:46
|- - sasamy   Цитата(Tahoe @ Jan 30 2013, 07:46) Но гла...   Jan 30 2013, 04:11
|- - Tahoe   Цитата(sasamy @ Jan 30 2013, 08:11) Как в...   Jan 30 2013, 05:02
||- - sasamy   Цитата(Tahoe @ Jan 30 2013, 09:02) Не над...   Jan 30 2013, 05:50
||- - Tahoe   Цитата(sasamy @ Jan 30 2013, 09:50) так, ...   Jan 30 2013, 06:15
||- - sasamy   Цитата(Tahoe @ Jan 30 2013, 10:15) Спор р...   Jan 30 2013, 06:24
||- - Tahoe   Цитата(sasamy @ Jan 30 2013, 10:24) Честн...   Jan 30 2013, 06:53
||- - sasamy   Цитата(Tahoe @ Jan 30 2013, 10:53) Я, нап...   Jan 30 2013, 07:08
||- - AlexandrY   Цитата(sasamy @ Jan 30 2013, 09:08) Вы о ...   Jan 30 2013, 07:29
|||- - sasamy   Цитата(AlexandrY @ Jan 30 2013, 11:29) сл...   Jan 30 2013, 07:45
|||- - AlexandrY   Цитата(sasamy @ Jan 30 2013, 09:45) Мужик...   Jan 30 2013, 08:06
|||- - sasamy   Цитата(AlexandrY @ Jan 30 2013, 12:06) Та...   Jan 30 2013, 08:12
|||- - XVR   Цитата(AlexandrY @ Jan 30 2013, 12:06) Та...   Jan 31 2013, 10:32
|||- - sasamy   Цитата(XVR @ Jan 31 2013, 14:32) Драйвер ...   Feb 1 2013, 06:13
|||- - Tahoe   Цитата(sasamy @ Feb 1 2013, 10:13) Единст...   Feb 1 2013, 11:29
|||- - sasamy   Цитата(Tahoe @ Feb 1 2013, 15:29) Вообще-...   Feb 1 2013, 12:10
||- - Tahoe   Цитата(sasamy @ Jan 30 2013, 11:08) То ес...   Jan 30 2013, 07:32
|- - AlexandrY   Цитата(sasamy @ Jan 30 2013, 06:11) если ...   Jan 30 2013, 07:03
- - kosyak©   Влезет ли реализация чего нибудь линуксового в, ск...   Jan 27 2013, 14:51
- - haker_fox   QUOTE (sasamy @ Jan 30 2013, 10:31) Что т...   Jan 30 2013, 04:37
- - kosyak©   да я не опечатался, я написал RAM транслитом..дума...   Jan 30 2013, 04:38
- - haker_fox   Господа, и не устали вы на друг друге комплексы не...   Feb 1 2013, 12:25
||- - haker_fox   QUOTE (aaarrr @ Feb 4 2013, 21:41) Так ра...   Feb 5 2013, 00:18
|- - yuri_d   Цитата(haker_fox @ Feb 4 2013, 17:38) Не ...   Feb 5 2013, 10:55
|- - haker_fox   QUOTE (yuri_d @ Feb 5 2013, 19:55) mkdosf...   Feb 5 2013, 15:02
- - haker_fox   Так и не могу решить, что делать с двумя копиями Ф...   Feb 8 2013, 01:15


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 08:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.0146 секунд с 7
ELECTRONIX ©2004-2016