OSDev

для всех
Текущее время: 26 апр 2018, 10:22

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Разработка собственной ФС
СообщениеДобавлено: 17 апр 2018, 22:51 

Зарегистрирован: 04 мар 2018, 21:34
Сообщения: 29
На osdev.org крайне мало информации об этом, есть лишь реализация готовых файловых систем.
Есть ли книги/статьи/мануалы собственно о построении фс?

Правильно ли понимаю что для начала надо получить доступ к хранилищу, а после задача укладывается в распределении места под "файлы" + фрагментация и прочее? И почему не все существующие фс поддерживают файлы более 4 гб? Связано ли это с типом хранилища?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка собственной ФС
СообщениеДобавлено: 18 апр 2018, 03:21 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1337
Откуда: Зеленоград
Большая часть современных ФС появилась эдак 100500 лет назад, когда никто особо не заморачивался с максимальными размерами файлов -- ибо диски всё равно были мелкие. Так что ограничения имеют исторический характер, и отбросить их не всегда можно из-за необходимости сохранения совместимости.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка собственной ФС
СообщениеДобавлено: 18 апр 2018, 13:31 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 943
Откуда: Дагоба
Бо́льшую часть информации, необходимой для создания ФС, можно почерпнуть из сравнительной статьи википедии: https://en.wikipedia.org/wiki/Comparison_of_file_systems. Там имеются количественные ограничения, список поддерживаемых фич со ссылками на описание этих фич и ссылки на статьи по каждой конкретной ФС.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка собственной ФС
СообщениеДобавлено: 18 апр 2018, 22:48 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1084
Для начало не плохо понять, что такое файловая система.
С одной стороны это структура на диске.
С другой стороны это набор прикладных программ для создания и перемещения файлов (ls, cp, mkdir, chekfs, format ...)
С третий это набор API для осуществления работы над файлами к примеру часть стандарта POSIX или как класс TFileSysDriver в ОС ultibo.

Во первых предлагаю ознакомится с устройством UNIX это минимально возможная ФС.
http://bitsavers.trailing-edge.com/pdf/ ... _Jun72.pdf
Про более современный подход можно почитать в
Бах Морис-Архитектура операционной системы UNIX-Prentice-Hall (1996)

Но он не является современным. Есть теория СУБД современные файловые системы построены на их принципах. Начиная к примеру с Б+ деревьев которые как известно оптимизированы по числу обращений к связке диск+кэш с её не равномерной скоростью доступа.

Заканчивая теорией транзакций и снепшотов, time machine и версионных СУБД.

Правда как говорит голос разума теория СУБД не может быть применена к теории ФС напрямую. В СУБД за её работу отвечает 1 человек один архитектор и он знает что у него творится в подчинение. Когда как ФС такого нет тут неизвестно какую программу кто поставил и как она будет работать. Приходится делать защиту.

Плюс куча других вопросов. К примеру как учесть в ФС экспоненциальный рост объемов жёстких дисков и данных. Как подменить корень (fackroot), как сделать безопасную запись для дисков с горячим отключением, как сделать кооректное закрытие хэнделов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка собственной ФС
СообщениеДобавлено: 19 апр 2018, 10:22 
Аватара пользователя

Зарегистрирован: 14 май 2012, 22:17
Сообщения: 99
Вхождение в тему можно начать отсюда:
http://www.nobius.org/dbg/practical-fil ... design.pdf
Книга старая, но хорошо объясняет базовые детели с точки зрения разработчика ФС. Находил куски из этой книги на русском но не самые интересные (из начала, где объясняют совсем базовую базу).

Когда коговорят, что надо "делать ФС на СУБД" имеют в виду не то, что надо брать СУБД, все механизмы СУБД а файлы хранить в BLOB-ах. Речь о том, что отттуда нужны базовые механизмы для управление метаданными - журналы, снапшоты, оптимизированный поиск, оптимизированное чтение\запись. ФС в отличии от СУБД не требуется оперировать большим количеством разношёрстных данных - для ФС идеально это хорошее key-value хранилище от годной nosql СУБД. Это моё мнение, которое подтверждается дизайном относительно новых ФС: ReFS, ZFS.

Самое лучшее - взять готовое, разобратся и адаптировать себе. Совместимость штука очень важная. Лучший кандидат - ext4.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB