Файловая система TiVo Media
Разработчик(и) | ТиВо Инк. |
---|---|
Полное имя | Файловая система мультимедиа |
MFS или файловая система мультимедиа — это собственная файловая система, используемая на жестких дисках TiVo для отказоустойчивой записи телетрансляций в реальном времени .
Хотя MFS до сих пор не очень хорошо изучена программистами, не связанными с корпорацией TiVo, о файловой системе известно достаточно, чтобы иметь возможность выполнять чтение и ограниченную запись. Существуют приложения для управления файловой системой и объектами внутри нее. Большинство этих приложений созданы на основе программного обеспечения, установленного на самом TiVo, поскольку многие из ранних программ TiVo представляли собой не более чем специализированные сценарии, которые манипулировали данными.
Файловая система MFS организована больше как база данных, включая возможности регистрации транзакций и отката. Он использует несколько разделов на диске для создания целостной системы. Разделы разделены парами: один из них — раздел «Приложение», а другой — раздел «Медиа». Медиа-регион всегда довольно большой и организован в длинные непрерывные блоки данных с переменным размером блока, который составляет минимум 1 мегабайт. Это связано с тем, что он предназначен для хранения больших фрагментов видео.
Каждому объекту в файловой системе TiVo присваивается идентификатор, который внутри называется «FSID» (предположительно, идентификатор файловой системы). Существует (как минимум) 4 типа объектов, которые поддерживает MFS: потоки (записи, аудио или видео), каталог, база данных и файлы. Все объекты Stream хранятся в регионах мультимедиа MFS, тогда как другие типы хранятся в регионах «приложения».
Сама файловая система полностью реализована в пользовательском пространстве Linux. Основная причина, по которой компания TiVo разработала такую систему, заключается в том, что им нужен был способ легкого хранения больших непрерывных фрагментов данных таким образом, который хорошо подходил бы для потоковой передачи этих данных непосредственно на медиадекодеры в устройствах TiVo, без зависимости от процессора. Таким образом, ЦП очень мало участвует в функциях воспроизведения и записи, просто направляя микросхемы кодера/декодера на потоковую передачу данных непосредственно на диски посредством прямого доступа к памяти, одновременно отображая разделы виртуальной памяти на диск. Затем главный процессор организует все дело. В результате данные, хранящиеся в области мультимедиа MFS, не форматируются в обычные файлы как таковые, а представляют собой прямой поток данных, индексируемый разделами базы данных в области приложения MFS.
Ссылки
[ редактировать ]- Крикорян, "TiVo Hacks" (O'Reilly Media, 2003)
- Киган, «Взлом TiVo» (Wiley, 2004).