Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Теория создания файлов(форматы файлов)

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Windows] >> Теория создания файлов(форматы файлов)
Имя
Сообщение << Старые топики   Новые топики >>
Теория создания файлов(форматы файлов) - 2007-08-14 13:05:38.136666   
NewLine

Сообщений: 4
Оценки: 0
Присоединился: 2007-08-14 12:48:25.350000
Привет всем.
Честно говоря не знаю где спросить и у кого.
Я бы хотел узнать о теории создания файлов(форматов файлов).
Как создается формат, как и где он описывается, что нужно для создания файлов, где хранится вся информация  о нем.
Почитать о существующих фоматах, программы для открытия нового формата, как распознаются файлы по определенному формату.
Может кто подскажет где это можно посмотреть и почитать.
Спасибо.
Post #: 1
RE: Теория создания файлов(форматы файлов) - 2007-08-14 13:31:12.540000   
blacksun

Сообщений: 2360
Оценки: 0
Присоединился: 2006-09-27 03:05:59.350000
Ржал долго.
Post #: 2
RE: Теория создания файлов(форматы файлов) - 2007-08-14 13:46:25.900000   
NewLine

Сообщений: 4
Оценки: 0
Присоединился: 2007-08-14 12:48:25.350000
Очень лаконичный ответ.
Смотри пузо не надорви.
Post #: 3
RE: Теория создания файлов(форматы файлов) - 2007-08-14 13:48:36.356666   
blacksun

Сообщений: 2360
Оценки: 0
Присоединился: 2006-09-27 03:05:59.350000
Тыб моск купил вначале ..
Post #: 4
RE: Теория создания файлов(форматы файлов) - 2007-08-14 13:53:12.143333   
NewLine

Сообщений: 4
Оценки: 0
Присоединился: 2007-08-14 12:48:25.350000
Я смотрю ты себе купил, только он тебе не очень помогает. Может сервис пак нужно докупить.
Попробуй.
Post #: 5
RE: Теория создания файлов(форматы файлов) - 2007-08-14 13:55:27.333333   
blacksun

Сообщений: 2360
Оценки: 0
Присоединился: 2006-09-27 03:05:59.350000
На *NIX заплатки бесплатны, вот тебе бы он непомешал, но тока после того как купиш моск.
Post #: 6
RE: Теория создания файлов(форматы файлов) - 2007-08-14 13:57:30.163333   
NewLine

Сообщений: 4
Оценки: 0
Присоединился: 2007-08-14 12:48:25.350000
Ладно умник спасибо за помощь.
Надеюсь ты так не всем помогаешь.
Можешь не отвечать я не обижусь.
Post #: 7
RE: Теория создания файлов(форматы файлов) - 2007-08-14 14:06:35.220000   
MYSHY

Сообщений: 25
Оценки: 0
Присоединился: 2007-08-08 16:35:55.786666
Файл (англ) — имя в файловой системе для доступа к ресурсам. А ресурсами могут быть:
[ul]
  • область данных (не обязательно на диске - это может быть и ОЗУ)
  • устройство
  • вход или выход другого процесса
  • сетевой ресурс [/ul]
  • Хочешь узнать больше? Читай сдесь:


    Файл как объект файловой системы


    Основная статья: файловая система

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

    Файл как объект API операционной системы
    Операционная система предоставляет приложениям набор функций и структур для работы с файлами. Возможности операционной системы накладывают дополнительные ограничения на ограничения файловой системы. С точки зрения API файл — объект, по отношению к которому могут быть применены функции этого API. На уровне API уже не существенно, существует ли файл как объект файловой системы или является, например, устройством ввода/вывода.

    Свойства файла
    В зависимости от файловой системы, файл может обладать различным набором свойств.

    Имя файла
    В большинстве файловых систем имя файла используется для указания к какому именно файлу производится обращение. В различных файловых системах ограничения на имя файла сильно различаются:
    [ul]
  • В FAT16 и FAT12 размер имени файла ограничен 8 символами (3 символа расширения).
  • В VFAT ограничение 255 байт.
  • В FAT32, HPFS имя файла ограниченно 127 символами (255 байтами)
  • В NTFS имя ограничено 254 символами Unicode
  • В ext2/ext3 ограничение 255 байт. [/ul]
  • Помимо ограничений файловой системы, интерфейсы операционной системы дополнительно ограничивают набор символов, который допустим при работе с файлами.
    [ul]
  • Для MS-DOS в имени файла допустимы только заглавные буквы, цифры. Не допустим пробел, знак вопроса, звёздочка, символы больше/меньше, символ вертикальной черты.
  • Для Microsoft Windows в имени файла разрешены заглавные и строчные буквы, цифры, некоторые знаки препинания, пробел. Запрещены символы '&gt;', '&lt;', '?', '*', '/', '\'.
  • Для операционной системы Linux (с учётом возможности маскировки) разрешены все символы, кроме нулевого байта. [/ul]
  • Большинство операционных систем требуют уникальности имени файла в одном каталоге, хотя некоторые системы допускают файлы с одинаковыми именами (например, при работе с ленточными накопителями).

    Расширение файла


    Основная статья: расширение файла

    Расширение как самостоятельный атрибут файла существовал в файловых системах FAT16, FAT12, и использовался для определения типа файла. В остальных файловых системах расширение — условность, часть имени, отделённая самой правой точкой в имени.

    Атрибуты
    В большинстве файловых систем предусмотрены атрибуты (обычно это бинарное значение "да"/"нет", кодируемое одним битом).



    Название атрибута
    перевод
    значение
    файловые системы
    операционные системы

    READ ONLY
    только для чтения
    в файл запрещено писать
    FAT32, FAT12, FAT16, NTFS, HPFS, VFAT
    DOS, OS/2, Windows

    SYSTEM
    системный
    критический для работы операционной системы файл
    FAT32, FAT12, FAT16, NTFS, HPFS, VFAT
    DOS, OS/2, Windows

    HIDDEN
    скрытый
    файл скрывается от показа, пока явно не сказано обратное
    FAT32, FAT12, FAT16, NTFS, HPFS, VFAT
    DOS, OS/2, Windows

    Время
    Для файла могут быть определены следующие временные метки:
    [ul]
  • Время создания
  • Время модификации
  • Время последнего доступа [/ul]

  • Владелец и группа файла
    В некоторых файловых системах предусмотрено указание на владельца файла, и группу владельца.

    Права доступа
    В некоторых файловых системах предусмотрена возможность для ограничения доступа пользователей к содержимому файла
    Для UNIX-подобных операционных файлов обычно выделяют три типа прав:
    [ul]
  • Право на запись
  • Право на чтение
  • Право на выполнение [/ul]
  • Каждое право задаётся раздельно для владельца, для группы и для всех остальных.
    В операционных системах Windows при работе с файловой системой NTFS права доступа задаются явно для пользователей или групп (или наследуются от вышестоящих объектов). Права в себя включают:
    [ul]
  • Право на чтение
  • Право на запись
  • Право на исполнение
  • Право на удаление
  • Право на смену атрибутов и владельца
  • Право на создание, удаление подпапок (для папок)
  • Право на чтение прав доступа [/ul]
  • Каждое право может быть задано как разрешением, так и запретом, запрет имеет больший приоритет, чем разрешение.

    Операции с файлом
    Условно можно выделить два типа операций с файлом - связанные с его открытием, и выполняющиеся без его открытия. Операции первого типа обычно служат для чтения/записи информации или подготовки к записи/чтению. Операции второго типа выполняются с файлом как с "объектом" файловой системы, в котором файл является мельчайшей единицей структурирования.

    Операции, связанные с открытием файла
    В зависимости от операционной системы те или иные операции могут отсутствовать.
    Обычно выделяют дополнительные сущности, связанные с работой с файлом:
    [ul]
  • хэндлер файла, или дескриптор (описатель). При открытии файла (в случае, если это возможно), операционная система возвращает число (или указатель на структуру), с помощью которого выполняются все остальные файловые операции. По их завершению файл закрывается, а хэндлер теряет смысл.
  • файловый указатель. Число, являющееся смещением относительно нулевого байта в файле. Обычно по этому адресу осуществляется чтение/запись, в случае, если вызов операции чтения/записи не предусматривает указание адреса. При выполнении операций чтения/записи файловый указатель смещается на число прочитанных (записанных) байт. Последовательный вызов операций чтения таким образом позволяет прочитать весь файл не заботясь о его размере.
  • файловый буффер. Операционная система (и/или библиотека языка программирования) осуществляет кеширование файловых операций в специальном буффере (участке памяти). При закрытии файла буффер сбрасывается.
  • режим доступа. В зависимости от потребностей программы, файл может быть открыт на чтение и/или запись. Кроме того, некоторые операционные системы (и/или библиотеки) предусматривают режим работы с текстовыми файлами. Режим обычно указывается при открытии файла.
  • режим общего доступа. В случае многозадачной операционной системы возможна ситуация, когда несколько программ одновременно хотят открыть файл на запись и/или чтение. Для регуляции этого существуют режимы общего доступа, указывающие на возможность осуществления совместного доступа к файлу (например, файл в который прозводится запись может быть открыт для чтения другими программами - это стандартный режим работы log-файлов). [/ul]

  • Операции
    [ul]
  • Открытие файла (обычно в качестве параметров передаётся имя файла, режим доступа и режим совместного доступа, а в качестве значения выступает файловый хэндлер или дескриптор), крмое того обычно имеется возможность в случае записи указать на то, должно ли содержимое файла обнуляться или данные будут дописываться в конец.
  • Закрытие файла. В качестве аргумента выступает значение, полученное при открытии файла. При закрытии все файловые буфферы сбрасываются.
  • Запись&nbsp;— в файл помещаются данные.
  • Чтение&nbsp;— данные из файла помещаются в область памяти.
  • Перемещение указателя&nbsp;— указатель перемещается на указанное число байт вперёд/назад или перемещается по указанному смещению относительно начала/конца. Не все файлы позволяют выполнение этой операции (например, файл на ленточном накопителе может не «уметь» перематываться назад).
  • Сброс буфферов&nbsp;— содержимое файловых буфферов с незаписанной в файл информацией записывается. Используется обычно для указание на завершение записи логического блока (для сохранения данных в файле на случай сбоя).
  • Получение текущего значения файлового указателя. [/ul]

  • Операции, не связанные с открытием файла
    Операции, не требующие открытия файла оперируют с его «внешними» признаками — размером, именем, положением в дереве каталогов. При таких операциях невозможно получить доступ к содержимому файла, файл является минимальной единицей деления информации.
    В зависимости от файловой системы, носителя информации, операционной системой часть операций может быть недоступна.

    Список операций с файлами
    [ul]
  • Удаление файла
  • Переименование файла
  • Копирование файла
  • Перенос файла на другую файловую систему/носитель информации
  • Создание симлинка или хардлинка
  • Получение или изменение атрибутов файла [/ul]

  • Типы файлов
    В различных операционных системах и/или файловых системах могут быть реализованы различные типы файлов; так же может различаться реализация различных типов.
    [ul]
  • «Обыкновенный файл»&nbsp;— файл, позволяющий операции чтения, записи, перемещения внутри файла
  • Директория(каталог, папка)&nbsp;— файл является специфичным объектом файловой системы и содержит в себе записи о других файлах. Каталоги могут так же содержать записи о других каталогах, образуя дерево каталогов Хардлинк&nbsp;— в общем случае одна и та же область информации может иметь несколько имён, указывающих на одни и те же данные. В этом случае такие имена называют хардлинками. В общем случае после создания хардлинка сказать кто «настоящий» файл а кто хардлинк невозможно, так как имена равноправны; а область данных существует до тех пор пока существует хотя бы одно из имён. Хардлинки возможны только на одном физическом носителе.
  • Симлинк (или софт-линк)&nbsp;— файл, содержащий в себе ссылку на другой файл (или каталог). Может ссылаться на любой элемент файловой системы, в том числе, и расположенный на другом физическом носителе. [/ul]
  • Post #: 8
    RE: Теория создания файлов(форматы файлов) - 2007-08-14 15:01:49.190000   
    JTG

    Сообщений: 1189
    Оценки: 0
    Присоединился: 2007-03-05 11:56:01.993333
    quote:

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


    Не, ну правда нелепо как-то, тоже хихикнул :D
    Если тебе спецификацию какого-то формата надо - http://www.wotsit.org/
    Post #: 9
    Страниц:  [1]
    Все форумы >> [Windows] >> Теория создания файлов(форматы файлов)







    Связаться:
    Вопросы по сайту / xakep@glc.ru

    Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.