|
Написание Файловой Системы, С использованием ООП |
|
|
|
Jan 24 2013, 04:15
|

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

|
В продолжение темыГоспода, а давайте порассуждаем на тему написания FAT16/32 с применением ООП  Как вы уже догадались, это моя идея фикс. Вообще подход ООП у меня уже удачно работает с сетью RS485, где есть родитель - драйвер устройства, где определены базовые методы, виртуальные методы, и общие переменные (например счетчики ошибок и т.п.). Какждый конкретный драйвер устройства получается простым наследованием базового и определением виртуальных функций по месту, новых, присущих только этому устройству, методов. Такой же подход работает и в GUI. А как с ФС? Скажу по секрету, я плохо себе представляю написание ФС, никогда этим не страдал  Но очень хочу. Готовую ФС (FaFS) использовал. Вижу следующие плюсы решения: 1. Можем для каждого "привода" завести объект ФС CODE TFATFS sdFS; TFATFS hddFS; 2. Упрощается реализация когда. Ну проще читать его, чтоли... При этом не нужно заморачиваться со структурами и указателями на них, трудно будет перепутать (фактически невозможно) файловую систему на паре SD-карт (а несколько MCI на МК уже и не редкость). Или не ошибемся, когда будем работать с файлами на NAND, DATA FLASH и SD-карте. Конечно, это уже косметические достоинства. 3. Драйвер конкретного накопителя можно просто унаследовать "файловой системой", тогда будет один объект для работы с файлами. Недостатки: 1. Новый код, который нужно будет долго и упорно тестировать. Кстати, люди пишут свои ФС, как идет тестирование? Может быть есть стандартные методики/инструменты/файлы? Как-то так.
--------------------
Выбор.
|
|
|
|
|
 |
Ответов
|
Jan 27 2013, 14:37
|

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

|
Цитата(kolobok0 @ Jan 27 2013, 01:50)  если речь идёт о проектировании Очень интересный ход мыслей! Собственно говоря, на оригинальность не претендую, какие-либо спец применения (типа БД) пока не планирую. Т.к. сказать "general FS". Впринципе FatFS от Чана - очень понравилась. Запустил за 2 часа на IBM PC, дав вместо диска массив. Но хочется попробывать свои силы в написании этой штуки) С применением ООП, которое мне по-душе. Спасибо! Цитата(AlexandrY @ Jan 27 2013, 04:36)  Если скачаете YFFS2, то там в комплекте идут тесты. Мало не покажется. Не выдерживает эта система на дешевых SD картах интенсивное использование. Ага, гляну  Спасибо! Цитата(kosyak© @ Jan 27 2013, 19:26)  А какие есть альтернативы? Другие виды памяти? Другие файловые систем? Да других-то полно. Вот только что выбрать, чтобы прийти с картой, вставить в первый попавшийся PC, и прочесть файл?)  Учитывая, что на большей части машин стоит окно, только FATx, NTFS... А так-то можно что-нить линуксовое или свое оригинальное
--------------------
Выбор.
|
|
|
|
|
Jan 30 2013, 03:46
|
Местный
  
Группа: Свой
Сообщений: 459
Регистрация: 30-03-06
Из: Москва
Пользователь №: 15 600

|
Цитата(haker_fox @ Jan 27 2013, 18:37)  Да других-то полно. Вот только что выбрать, чтобы прийти с картой, вставить в первый попавшийся PC, и прочесть файл?)  Ну если реально неймется и есть достаточно свободного времени... Тогда что тут думать, если вариант всего один - exFAT? Поддержка есть, начиная с WinXP. Но главное, что будущеее за этой FS, поскольку она принята, в качестве стандартной, спецификацией SDXC. На сегодняшний день, все прочее можно даже не рассматривать. Вопрос, собсно, только в одном, "хватит ли соплей" (с), что бы поднять такое в одиночку.
|
|
|
|
|
Jan 30 2013, 04:11
|
Знающий
   
Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858

|
Цитата(Tahoe @ Jan 30 2013, 07:46)  Но главное, что будущеее за этой FS, поскольку она принята, в качестве стандартной, спецификацией SDXC. Как всегда на это будет "всем пофиг" (с) Цитата Вопрос, собсно, только в одном, "хватит ли соплей" (с), что бы поднять такое в одиночку. если вопрос только в том чтобы "соплей пожевать" (переписать на C++) то вот реализация на С
|
|
|
|
|
Jan 30 2013, 05:02
|
Местный
  
Группа: Свой
Сообщений: 459
Регистрация: 30-03-06
Из: Москва
Пользователь №: 15 600

|
Цитата(sasamy @ Jan 30 2013, 08:11)  Как всегда на это будет "всем пофиг" (с) Цитата(haker_fox @ Jan 30 2013, 08:37)  Очень удивило, что у "dream future FS" нет прав доступа  Вы что-то недопоняли. Я не являюсь фанатом или адептом той или иной ф.с. Мне на на них, в сущности, "покласть с прибором"(с). Единственное, что меня интересует, это что бы если я деллаю наработки по какой теме, они не оказались через пару лет в мусоре. Потому, приходится смотреть на перспективу. Примерно так же вышло с флеш носителями. Когда одни мучались с CF, другие загладывались на всякие xD/MS, для меня было очевидно, что, победит MMC/SD. Насчет механизма, как это произойдет... Так уже произошло, собсно. Посмотрите, что интересует покупателей ( продвинутых чуть более, чем немного ) телевизоров - поддерживает ли встроенный плеер exFAT. Сами SD карты, с завода, тоже идут в exFAT, причем не только SDXC, но и емкие SDHC тоже. Так что дело, конечно, хозяйское, ссылаться на всякие Самсунги, но вообще-то, задают тон и диктуют правила совсем другие люди. Не надо путать Самсунг и Сони. Это Сони могла нагнуть весь мир, да и то, далеко не всегда. Все, что может Самсунг - поворчать на кухне, а потом встать по стойке смирно, взять под козырек и сказать "Йес, Сэр! Так точно, exFAT!". Для сомневающихся - назовите хоть что-нибудь, что пошло от Самсунг, хоть одну распространенную технологию/стандарт. Цитата(haker_fox @ Jan 30 2013, 08:37)  Очень удивило, что у "dream future FS" нет прав доступа  Нет, я конечно понимаю, что речь идет о сменных накопителях. Ну вот потерял я флешак с очень секретным логом температуры окружающей среды каждые 5 мс, а злобный дядя взял, да и воспользовался...  Вообще-то, подобные вещи давно уже вне компетенции ф.с. Приличные носители умеют лочиться по паролю. Даже мой HDD это умеет ( и на своем нетбуке я этим с удовольствием пользуюсь ). Причем во флеш карточках эта фича была заложена еще во времена ММС стандарта, ЕМНИМС.  Кстати, в IDE, насколько помню, тоже. Просто не надо путать, ф.с. для десктопа, за которым могут работать одновременно несколько пользователей и съемный накопитель, у которого совершенно иная специфика работы и, как следствие, другие требования к его свойствам.  Цитата(haker_fox @ Jan 30 2013, 08:37)  Да и лицензию покупать надо... Ха! Так в этом все и дело. "С лазером, каждый дурак сможет, а ты без лазера попробуй" (с). Цитата(sasamy @ Jan 30 2013, 08:11)  если вопрос только в том чтобы "соплей пожевать" (переписать на C++) то вот реализация на С Дело за малым - добавить туда поддержку прочих FAT, а главное, запустить это дело в embedded.
|
|
|
|
|
Jan 30 2013, 05:50
|
Знающий
   
Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858

|
Цитата(Tahoe @ Jan 30 2013, 09:02)  Не надо путать Самсунг и Сони. так, на всякий случай, SONY - крупнейший _покупатель_ технологий и патентов в мире. Цитата назовите хоть что-нибудь, что пошло от Самсунг, хоть одну распространенную технологию/стандарт.  да легко - iPhone (для них процессоры проектировали инженеры Samsung) Цитата Просто не надо путать, ф.с. для десктопа, за которым могут работать одновременно несколько пользователей и съемный накопитель, у которого совершенно иная специфика работы и, как следствие, другие требования к его свойствам.  это точно, для переносных носителей смысла делать права доступа для ФС нет никакого, а для защиты медиа контента используют DRM. И вообще будущее (а для многих уже настоящее) за облачными хранилищами данных. Интересно на каких носителях вы будете хранить видеоданные 8K UHD  Цитата Дело за малым - добавить туда поддержку прочих FAT, а главное, запустить это дело в embedded.  вы мультик про мужика который из одной шкурки хотел семь шапок сшить смотрели ?
Сообщение отредактировал sasamy - Jan 30 2013, 06:01
|
|
|
|
|
Jan 30 2013, 06:15
|
Местный
  
Группа: Свой
Сообщений: 459
Регистрация: 30-03-06
Из: Москва
Пользователь №: 15 600

|
Цитата(sasamy @ Jan 30 2013, 09:50)  так, на всякий случай, SONY - крупнейший _покупатель_ технологий и патентов в мире. Спор ради спора? Контекст же вполне ясный, Сони может сказать всему миру ( с той или иной степенью успешности ), "будете пользоваться Video8, будете пользоваться MiniDisc, будете использовать MemoryStick. Что похожего, на данный момент, смогла сделать Самсунг? Ввела новый формат флеш- или сим-карт? Нет. Придумала свой разъем, который стал стандартом де-факто для мобильных устройств? Так ведь нет. всех "поимел" microUSB, что Самсунг, что Сони, что прочих. Цитата(sasamy @ Jan 30 2013, 09:50)  да легко - iPhone (для них процессоры проектировали инженеры Samsung) Вообще-то, процессоры для них проектировали инженеры ARM. Но опять же, "не об этом спрашивал Крестный"(с). Разве Самсунг придумала iPhone? Нет, им просто поручили выполнить некоторую черновую работу. К самой iИстерии и иснятию сливок их и близко не подпускают. Думаю, не стоит напоминать, что основные бабки давно уже делаются не на продаже девайса, а на продаже контента. Цитата(sasamy @ Jan 30 2013, 09:50)  вы мультик про мужика который из одной шкурки хотел семь шапок сшить смотрели ?  Боюсь, что девайс с поддержкой только exFAT, но без поддержки остальных FAT, будет мало кому интересен. С другой стороны, пихать два стека ф.с. в одно устройство - кривее не придумать. Цитата(sasamy @ Jan 30 2013, 09:50)  И вообще будущее (а для многих уже настоящее) за облачными хранилищами данных. Вопрос весьма спорный. Примерно из серии, "появилось телевидение, радио теперь умрет". Однако ж радио до сих пор "живее всех живых"(с). Примерно так же будет с флеш-носителями. Говорю это, как активный пользователь и того, и другого.
|
|
|
|
|
Jan 30 2013, 06:24
|
Знающий
   
Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858

|
Цитата(Tahoe @ Jan 30 2013, 10:15)  Спор ради спора? Контекст же вполне ясный, Сони может сказать всему миру ( с той или иной степенью успешности ), "будете пользоваться Video8, будете пользоваться MiniDisc, будете использовать MemoryStick. Что похожего, на данный момент, смогла сделать Самсунг? Честно - ничем из того что вы перечислили не пользуюсь  хотя обе конторы недолюливаю одинаково. Цитата Вообще-то, процессоры для них проектировали инженеры ARM. вообще-то у многих процессоров (кроме каких-нибуть китайских) от ARM только ISA да и то - это же всего лишь ядро. Цитата Вопрос весьма спорный. Примерно из серии, "появилось телевидение, радио теперь умрет". Однако ж радио до сих пор "живее всех живых"(с). Примерно так же будет с флеш-носителями. Говорю это, как активный пользователь и того, и другого. я на велосипеде раз в пять лет тоже катаюсь
Сообщение отредактировал sasamy - Jan 30 2013, 06:41
|
|
|
|
|
Jan 30 2013, 06:53
|
Местный
  
Группа: Свой
Сообщений: 459
Регистрация: 30-03-06
Из: Москва
Пользователь №: 15 600

|
Цитата(sasamy @ Jan 30 2013, 10:24)  Честно - ничем из того что вы перечислили не пользуюсь  "И о чем нам это говорит?"(с) Я, например, не пользуюсь тушью для ресниц. Но это не значит, что не существует индустрии косметики, со своими порядками, объемами продукции и прибылями. Цитата(sasamy @ Jan 30 2013, 10:24)  вообще-то у многих процессоров (кроме каких-нибуть китайских) от ARM только ISA да и то - это же всего лишь ядро. Конечно, сущая мелочь... Хотя как раз отличный пример того, что могут, а чего не могут сделать "обезьянки".  Слабать нечто по готовым спекам - это одно. А грамотно сделать сами спеки - совсем другой уровень. Цитата(sasamy @ Jan 30 2013, 10:24)  я на велосипеде раз в пять лет тоже катаюсь  См. выше, "о чем нам это должно говорить?" (с). Осталось спросить тех, кто радио пользуется,сидя в офисах или в машинах. Возможно, услышав о том, что кто-то радио не слушает вообще, а на велосипеде катается раз в пять лет, они дружными рядами отправятся выносить на помойку свои радиоприемники и, раз уж пошла такая пьянка, велосипеды. Заодно, отличный повод вразумить дурачков, которые разрабатывают спеки DVB, мол, зачем же вы, неумные, туда вместе с ТВ еще и радио засунули? На дворе 21-й век, а вы в новые стандарты какое-то там радио пихаете... Как-то так, да?  Тем и отличается стратегический взгляд на вещи, от тактического.
|
|
|
|
|
Jan 30 2013, 07:08
|
Знающий
   
Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858

|
Цитата(Tahoe @ Jan 30 2013, 10:53)  Я, например, не пользуюсь тушью для ресниц. Но это не значит, что не существует индустрии косметики, со своими порядками, объемами продукции и прибылями.  То есть вы согласны что нормальные люди а не гомосеки не зависят от Sony ни коим образом - так о чем спор тогда, что вы мне пытаетесь доказать ? Что радио популярнее телевидения или то что вы на ядре ARM сможете декодоровать видеопоток 8k UHD ? Цитата(AlexandrY @ Jan 30 2013, 11:03)  Аккуратней, это не реализация, а симуляция какой-то обертки. Вы о чем ? какой обертки ? на главную страницу проекта зайдите чтоли по ссылке  Цитата This project aims to provide a full-featured exFAT file system implementation for GNU/Linux and other Unix-like systems as a FUSE module and a set of utilities.
|
|
|
|
|
Jan 30 2013, 07:29
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(sasamy @ Jan 30 2013, 09:08)  Вы о чем ? какой обертки ? на главную страницу проекта зайдите чтоли по ссылке  Ну скачайте для интереса и посмотрите. Там только обертка. А из переведенной фразы : Цитата This project aims to provide a full-featured exFAT file system implementation for GNU/Linux and other Unix-like systems as a FUSE module and a set of utilities. следует, что мужик только пытается что-то изобразить и совсем не утверждает что это оно само и есть exFAT.
|
|
|
|
|
Jan 30 2013, 07:45
|
Знающий
   
Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858

|
Цитата(AlexandrY @ Jan 30 2013, 11:29)  следует, что мужик только пытается что-то изобразить и совсем не утверждает что это оно само и есть exFAT. Мужик (в хорошем смыле слова) написал стабильную реализацию exFAT https://groups.google.com/forum/#!topic...m6YQ/discussionа утверждаете что это и есть exFAT (что не может быть по определению так как проект на гуглокоде а не сайте MS) вы.
|
|
|
|
|
Jan 31 2013, 10:32
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(AlexandrY @ Jan 30 2013, 12:06)  Так, еще раз по русски: по вашей ссылке нет исходников с полной реализацией exFAT (или даже на половину  ). Посмотрел на исходники - там есть полная реализация exFAT Вероятно вас ввел в заблуждение способ этой реализации. Драйвер exFAT запускается как пользовательская программа (точнее как демон), и предоставляет доступ к exFAT через драйвер FUSE, который в свою очередь является мостом между VFS в ядре Linux'а и демоном в User Space. Когда в linux'е пытаются примонтировать exFAT раздел и открыть любой файл на нем, FUSE перенаправляет запрос демону, который в свою очередь напрямую открывает блочное устройство, где лежит том exFAT (диск), и вычитывает оттуда необходимые данные. Которые в свою очередь перенаправляются тому, кто просил, опять же через FUSE
|
|
|
|
|
Feb 1 2013, 06:13
|
Знающий
   
Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858

|
Цитата(XVR @ Jan 31 2013, 14:32)  Драйвер exFAT запускается как пользовательская программа (точнее как демон), и предоставляет доступ к exFAT через драйвер FUSE, который в свою очередь является мостом между VFS в ядре Linux'а и демоном в User Space. Единственная причина почему до сих пор в ядре Linux нет поддержки exFAT - это оградить его от претензий со стороны MS, потому что на Linux завязан серьезный бизнес, а для накопителей в ядре есть куда более совершенные решения. Цитата Посмотрите, что интересует покупателей ( продвинутых чуть более, чем немного ) телевизоров - поддерживает ли встроенный плеер exFAT. По поводу "продвинутых" покупателей телевизоров с флешками - бегают с флешками по квартире только олени которым "продвинутые" советчики в магазине подсказали, те кто по-умней берут устройства с DLNA и плееры которые уже давно сами в Инет ходить умеют. Лично я на телевизоре дыркой с названием SD не пользовался за 5 лет ниразу.
|
|
|
|
|
Feb 1 2013, 11:29
|
Местный
  
Группа: Свой
Сообщений: 459
Регистрация: 30-03-06
Из: Москва
Пользователь №: 15 600

|
Цитата(sasamy @ Feb 1 2013, 10:13)  Единственная причина почему до сих пор в ядре Linux нет поддержки exFAT Вообще-то, если посмотреть внимательно, речь здесь не совсем о Линуксе. Понятие ф.с. для embedded применения несколько шире. Может я что-то упустил и реализацию по ссылке можно запросто задействовать в ближайшем проекте на STM32? Кроме того, учитывая, что Андроид тоже относится к Линукс, подобное заявление не соответствует действительности. Цитата(sasamy @ Feb 1 2013, 10:13)  По поводу "продвинутых" покупателей телевизоров с флешками - бегают с флешками по квартире только олени которым "продвинутые" советчики в магазине подсказали В таком случае, кол-во оленей может стать причиной сильного потрясения любого неокрепшего ума. Цитата(sasamy @ Feb 1 2013, 10:13)  те кто по-умней берут устройства с DLNA и плееры которые уже давно сами в Инет ходить умеют Любопытная теория. Т.е. любой. у кого дома нет "Дюны" или "Попкорна", автоматически попадает в категорию "оленей", независимо от того, нужен ему этот комбайн или нет? Открою страшную тайну. Существуют люди, число которых "чуть более, чем много"(с), желающих посмотреть кино на ТВ. В этом и заключается их продвинутость. Но они не умеют не то, что настроить порты/адреса, а даже с трудом отличающих разъем RCA от RJ-45. Называть их "оленями", может только реальный олень. Либо просто человек недалекий, не видящий дальше своего носа. В качестве примера, могу привести собственного ребенка. Они с подружкой в состоянии скачать торрент на ноутбуке. Они в состоянии перекинуть на флешку фильм. Но уже на этом этапе мне пришлось вмешаться, поскольку флешка, не отформатированная в exFAT, не позволяла закинуть 4,5Гб файл. Прочее их аболютно не интересует, т.к. кино они смотрят эпизодически, отнюдь не маньячат тотальным собиранием современного киношлака, причем сугубо в блю-рип качестве. Теперь доступно изложил? Цитата(sasamy @ Feb 1 2013, 10:13)  Лично я Ах да, пардон, я же забыл. Снова, все тот же критерий истины - если "лично он"(с) чем-то не пользуется, значит это шлак и никому не требуется.
|
|
|
|
|
Feb 1 2013, 12:10
|
Знающий
   
Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858

|
Цитата(Tahoe @ Feb 1 2013, 15:29)  Вообще-то, если посмотреть внимательно, речь здесь не совсем о Линуксе. Понятие ф.с. для embedded применения несколько шире. Может я что-то упустил и реализацию по ссылке можно запросто задействовать в ближайшем проекте на STM32? Вам - вряд ли, по объективным причинам заложенным у вас на генном уровне Цитата Кроме того, учитывая, что Андроид тоже относится к Линукс, подобное заявление не соответствует действительности. Для OEM производителей поддержка exFAT для Linux была уже очень давно, например http://www.tuxera.com/никакого отношения к ядру Linux которое вы можете скачать на www.kernel.org это не имеет. Так понятней ? Цитата Открою страшную тайну. Существуют люди, число которых "чуть более, чем много"(с) ну и пусть дальше существуют - только будущее от них не зависит. C'est La Vie.
|
|
|
|
Сообщений в этой теме
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 sasamy Цитата(haker_fox @ Jan 27 2013, 18:37) Да... Jan 30 2013, 02:31            sasamy Цитата(AlexandrY @ Jan 30 2013, 12:06) Та... Jan 30 2013, 08:12         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 Начал родную писть
Кстати, очень полезный сайт.
... Feb 4 2013, 03:14 XVR Цитата(haker_fox @ Feb 4 2013, 07:14) Кст... Feb 4 2013, 08:16  haker_fox QUOTE (XVR @ Feb 4 2013, 17:16) Primary -... Feb 4 2013, 13:38   aaarrr Цитата(haker_fox @ Feb 4 2013, 17:38) Сей... Feb 4 2013, 13:41    haker_fox QUOTE (aaarrr @ Feb 4 2013, 21:41) Так ра... Feb 5 2013, 00:18    haker_fox QUOTE (aaarrr @ Feb 4 2013, 21:41) Так ра... Feb 5 2013, 00:20     aaarrr Цитата(haker_fox @ Feb 5 2013, 04:20) Так... Feb 5 2013, 06:33   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
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|