Что такое файлы? Типы файлов

18.03.2018

Компьютеры сейчас занимают серьезную часть нашей жизни. Именно поэтому, каждому сейчас необходимо знать хотя бы самые основные понятия и термины. Одним из самых основных понятий, которое должен знать каждый пользователь - файл.

Что такое файлы? Любая информация, которая хранится на компьютере, хранится именно в виде файлов. Файл - это наименьшая грубо говоря, цифровой «предмет». Каждый раз, сохраняя рисунок, песню, фильм, текст, вы создаете файл. На каждом компьютере содержится огромное количество файлов. Даже на новом компьютере, куда только что поставили операционную систему их порядка ста тысяч.

Как же разобраться в таком количестве файлов? Во-первых, каждый файл имеет индивидуальное имя, а, кроме того, указывает на то, какого файл, для чего предназначен. Во-вторых, файлы не свалены в одну кучу, а разложены по специальным местам, которые называют папками. Каждая группа файлов, объеденная общей функцией, темой или еще чем-либо, лежит в своей папке. Таким образом, благодаря индивидуальному имени, расширению и тому, что каждый файл лежит в строго определенном месте, во всем разнообразии файлов на вашем компьютере можно легко разобраться.

Как расшифровать файлы? Что значит то или иное расширение? Условно все файлы можно разделить на несколько групп:

  • документы - файлы, содержащие, преимущественно, текстовую информацию, эти файлы создают сами пользователи в специально созданных для этого программах;
  • файлы-библиотеки - эти файлы содержат различные алгоритмы, которые используют программы;
  • исполняемые фалы - файлы, запуск которых вызывает к работе ту или иную программу.

Чтобы сходу понять, к какой из этих групп относится тот или иной файл, необходимо знать самые распространенные расширения, типы файлов. Тогда при одном взгляде на файл его назначение становится очевидным. Расширением называются три или четыре последних буквы в имени файла, перед расширением всегда стоит точка. В отличие от имени файла, которое может содержать как русские, так и английские буквы, расширение всегда записано только латиницей.

  • exe - в просторечии эти файлы часто называют экзэшники. Что такое файлы-экзешники? Они относятся к группе исполняемых файлов. При их запуске начинается работа программы, например, игра или
  • com - сегодня эти файлы не используются, их можно встретить только в очень старых программах. Фактически, это аналоги экзэшных файлов под операционную систему MS DOS.
  • bat - файлы с таким расширением запускают сразу несколько других файлов в заданной последовательности. Самым часто используемым файлом такого типа является autoexec.bat, который выполняется во время загрузки компьютера и запускает все программы, которые необходимы сразу, после окончания загрузки.
  • cfg - в этих файлах содержатся параметры работы конкретной программы.
  • dll - файлы-библиотеки.
  • hlp - в файлах с таким расширением содержатся справки к программам.
  • dat - файлы, содержащие данные о работе программ.

Все нижеследующие расширения характерны для исполняемых файлов. Сами они не являются частью той или иной программы, в отличие от первых трех расширений, но они привязаны каждый к своей программе, в которой и запускаются открываемые файлы. Например, открывая текстовый файл, вы автоматически запускаете и текстовый редактор, а с аудио или видеофайлом запускается проигрыватель. Поэтому для того, чтобы запускать такие файлы, необходимо, чтобы на вашем компьютере стояли необходимые программы.

  • txt, doc, docx - это используемые различными текстовыми редакторами.
  • htm,html - документы с гиперссылками. Что такое файлы с гиперссылками? От остальных они отличаются тем, что навигация по ним осуществляется при помощи специальных перекрестных ссылок.
  • mp3, mid, wav - распространенные
  • avi, mpeg4, dvix, mkv, mov - под такими расширениями скрываются видеозаписи.
  • jpg, bmp, png, gif - самые часто используемы расширения для картинок, фоторгафий и других изображений.
  • rar, zip - архивные файлы. Что такое файлы-архивы? Такие файлы создаются при помощи файлы для того, чтобы они занимали меньше места на жестком диске.

С понятием файл неразрывно связанно еще одно понятие - файловая система. Для флешки и жесткого диска обязательно необходимо выбирать подходящую файловую систему.

Бесплатная программа для определения типа файла по его расширению имени. Позволяет узнать тип неизвестного файла и скачать программу, которая может его открыть.

Галерея скриншотов

Все мы каждый день, работая за компьютером, так или иначе выполняем определенные манипуляции с файлами. Даже, если Вам кажется, что Вы сейчас просто читаете эту статью в Интернете, то на самом деле Вы просто только что, при помощи своего браузера , загрузили себе HTML-файл и видите то, что в нем написано:).

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

Большинство популярных файловых форматов операционная система Windows распознает автоматически и сама открывает при помощи подходящей программы. Однако, нередко возникают ситуации, когда ОС "не знает", каким приложением воспользоваться для открытия и спрашивает об этом пользователя. Опытного юзера такой вопрос системы вряд ли смутит, а вот у новичка может вызвать панику:).

Хотя, чего греха таить, иногда и продвинутые спецы встречают незнакомые типы файлов. Я лично первым делом в таких случаях пробую открыть неизвестный файл Блокнотом :) Если Блокнот показывает какую-то ерунду или не открывает файл вовсе, то всегда можно спросить совета у вездесущего Гугла или Яндекса, которые все знают...

А можно не морочиться и установить себе специальную программу для автоматического определения типов файлов. Одной из таких полезных утилит, о которой я сегодня расскажу, является AZFiles File Info .

Особенности программы

В основе своей, программы подобного типа обычно бесплатны и отличаются между собой только всяческими дополнительными функциями. Что касается конкретно AZFiles File Info, то основными отличительными чертами этого приложения являются:

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

Стоит, правда, заметить, что из-за того, что AZFiles File Info все время находится в контекстном меню, она постоянно потребляет лишние 50-60 мегабайт оперативной памяти... На современных компьютерах такое потребление незаметно и никак не отражается на производительности, однако, на старых ПК при активации программы могут наблюдаться временные "тормоза" :(

Установка программы

Установка AZFiles File Info производится по всем привычному стандарту: качаем архив с программой, открываем его и запускаем EXE-файл установщика. Однако, один нюанс все же есть... В процессе установки нам встретится вот такое окно:

По умолчанию здесь нам предлагается установить программу Driver Updater и кучу ненужного софтового хлама от Яндекса. Нам нужно недрогнувшей рукой выбрать пункт "Настройка параметров" и деактивировать все галочки в этой секции. Только после этого можно нажать "Далее" и завершить установку без особых приключений:) По завершению установки в браузере откроется инструкция по работе с программой, но ее можно и не читать:)

Как работать с программой

Что характерно для AZFiles File Info, так это то, что после окончания установки Вы нигде не обнаружите никаких ее ярлыков! Программа уже и так работает:) Чтобы убедиться в этом, попробуйте вызвать кликом правой кнопки мыши контекстное меню для любого файла (не папки):


Среди прочих многочисленных пунктов Вы обнаружите искомый - "Открыть с помощью AZFiles File Info", который и запускает механизм определения типа выбранного файла (я выбрал один из видов текстовых файлов - INI). Активируем пункт программы и увидим следующее окно:


Появившееся окно можно визуально разбить на три части:

  1. Ссылки на скачивание программ . Слева находится панель со ссылками на скачивание рекомендуемых для открытия выбранного файла приложений. К сожалению, ссылки эти ведут не на официальные сайты разработчиков, а на некий софтовый портал https://www.softsalad.ru/ . В принципе, сайт приличный, но, зная название приложения, всегда можно найти его официальный сайт и проверить наличие новой версии;)
  2. Сводная таблица свойств файла . Справа вверху выдается таблица содержащая сведения о некоторых параметрах выбранного файла. Конкретно здесь выдается тип файла, путь к нему, размер и даты последнего изменения и открытия.
  3. Информация о типе файла . В правой же части под таблицей свойств расположен блок описания типа текущего файла. Описаний может быть несколько, если файл с одним и тем же расширением используется разными программами.

Кроме вышеописанных разделов стоит также упомянуть о блоке ссылок на сайт разработчика в статусной строке внизу и кнопке "Добавить расширение". О ней и поговорим немного...

Как добавить неизвестное расширение в базу данных

Несмотря на то, что AZFiles File Info имеет обширную базу данных по различным типам файлов, иногда все же случается так, что и в ней не находится информации о нужном расширении...


В таком случае Гугл нам в помощь - в Интернете, наверняка, найдутся данные по интересующему Вас файлу:). Однако, отыскав нужную информацию, Вы можете внести свою лепту в развитие программы, добавив описание для нового типа файла. Для этого в основном окне AZFiles File Info жмете кнопку "Добавить расширение" и попадаете на сайт разработчиков со следующей формой:


Тут, чем точнее и полнее Вы заполните предложенную форму, тем скорее описанное Вами расширение файлов будет добавлено в базу данных программы и его смогут видеть другие пользователи.

Достоинства и недостатки программы

  • работа без подключения к Интернету;
  • подробная информация о типах файлов;
  • ссылки на скачивание нужных программ.
  • высокое потребление ресурсов и "тормоза" на слабых ПК;
  • нету ссылок на официальные сайты разработчиков рекомендуемых программ.

Выводы

В общем и целом программа AZFiles File Info довольно неплоха. В ней нет ничего лишнего и, в то же время, она исправно выполняет свои функции. С ней Вы практически всегда сможете быстро и точно определить тип неизвестного файла, а возможность сразу же скачать программу, нужную для его открытия, только добавляет плюсов утилите.

Значительных минусов у приложения также нет. Оно работает стабильно и без сбоев, однако, в силу того, что потребляет сравнительно много ресурсов, может немного тормозить работу системы на слабых компьютерах в моменты активации своего основного окна. Также, лично для меня, незначительным недостатком показалось отсутствие ссылки на официальные сайты рекомендуемых программ. Но это уже - лично мой каприз:)

Словом, если у Вас современный компьютер, то ставить себе AZFiles File Info можете смело. Эта программа не будет надоедать Вам разными всплывающими окнами и лишними значками в трее, но всегда будет под рукой в нужный момент. Всего в один клик Вы с ее помощью сможете узнать практически все о неизвестном файле и в придачу получите еще и список программ, которыми можно все это открыть, а это ой как удобно:)

P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.

P.P.S. Если Вам по каким-то причинам не понравилась программа, описанная выше, можете воспользоваться другим приложением для определения расширений файлов - FileType Verificator

Все данные, хранящиеся на компьютере, организованы при помощи файлов. С точки зрения пользователя, файл - это последовательность байт, сгруппированная под общим именем. Чтобы не путаться в большом количестве файлов, их раскладывают по папкам (или каталогам - directory).

ПРИМЕЧАНИЕ
На самом деле все устроено несколько сложнее, но пока не будем забивать себе голову тем, что в данный момент никак не меняет сути дела.

За работу с файлами и каталогами отвечает файловая система - ключевая часть любой ОС. По своей логической организации файловая система представляет собой древовидную структуру, схематично изображенную на рис. 2.1. Файлы и папки являются объектами файловой системы. Каждый каталог может содержать как файлы, так и другие каталоги.

Чтобы найти какой-либо файл, надо знать его путь. Под понятием "путь файла" под-разумевается его имя и все каталоги, расположенные перед ним, вплоть до корневого. В DOS и Windows, независимо от конкретной версии файловой системы, корневой каталог обозначается именем диска с двоеточием. В строке, представляющей собой путь файла, элементы (каталоги) разделяются при помощи символа "\" (называется "обратный слэш"). В результате получается примерно такая запись:

C:\DirName\filename.txt

Здесь сначала идет имя корневого каталога (то есть имя диска, в данном случае - C:), затем - подкаталога (DirName) и, наконец, собственно имя файла (filename.txt).

Файлы бывают разных типов, но опять-таки их можно разделить на файлы программ (exe-файлы - от англ. executable - выполняемые) и файлы данных, которые с этими самыми программами и используются. Типов файлов существует великое множество. Их различают по расширению файла, то есть по тем последним буквам, которые находятся справа от имени файла (после точки). Как правило, расширение состоит из трех букв. При стандартных настройках Windows вы не видите расширения, но о типе файла можно догадаться по его значку, то есть Windows сама пытается определить тип файла и показать, к какой программе он относится. Кроме того, файлы разделяют на текстовые и двоичные. И если текстовый файл можно открыть в любом текстовом редакторе, то двоичный - лишь в специально предназначенной для него программе. Наиболее часто встречающиеся типы файлов с их расширением, типом и описанием приведены в табл. 2.2.

Таблица 2.2. Расширения и типы файлов
Расширение Тип Описание Программа
TXT Текстовый Документ ASCII Любой текстовый редактор
HTM, HTML Текстовый Документ HTML Текстовый редактор или программа просмотра Интернета
DOC, DOCX Двоичный Документ Microsoft Word Microsoft Word
XLS, XLSX Двоичный Документ Microsoft Excel Microsoft Excel
BMP Двоичный Рисунок в формате BMP Paint и большинство графических редакторов
WAV, MP3 Двоичный Звуковой файл "Звукозапись" и большинство мультимедиа-проигрывателей
EXE Двоичный Исполняемый файл (сам является программой)

Здравствуйте, уважаемые подписчики и читатели моего блога!

Сегодня мы разберем с вами какие бывают типы файлов и типы значков, разберем основные (часто встречающиеся), так как файлов и значков ого-го как много, и перечислять все имеющиеся не имеет смысла.

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

У большинства программ свои собственные, специально созданные значки. У служебных программ, не рассчитанных на то, что ими будет пользоваться рядовой пользователь, значка может и не быть. Все такие программы мы видим с одной и той же иконкой, так что отличать их друг от друга мы сможем только по именам.

Если дважды щелкнуть по значку файла с расширением lnk , у нас так же запустится программа. Но lnk - это не сама программа, а её ярлык (ссылка) , предназначенный для вызова какой-то программы (на которую он ссылается). Создаются такие ярлыки для того, чтобы можно было одну и ту же программу запускать из самых разных мест - из меню программ, с панели быстрого запуска, с рабочего стола или из нужной нам папки. В ярлыке прописан полный адрес запускаемой программы, а так-же указаны некоторые параметры её запуска.

Если не пользоваться ярлыками, пришлось бы для запуска музыкального проигрывателя AIMP каждый раз открывать диск С:, на нем искать папку Program Files, в ней - вложенную папку Aimp, а там, среди нескольких десятков вспомогательных файлов отыскивать исполняемый файл программы Aimp.exe.

Значок у ярлыка обычно такой же, как и у самой программы. Но есть и отличия. Во-первых, в левом нижнем углу такого значка стоит стрелочка в квадратике (это что бы не запутаться, где сам исполняемый файл, а где ярлык на него ссылающийся). Во-вторых, Windows никогда не показывает расширение lnk (другие программы для работы с файлами (файловые менеджеры), вроде известных программ Total Commander или Far Manager, показывают).

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

Есть и другие файлы, которые запускаются по двойному щелчку. Это могут быть командные файлы (расширения cmd и bat ), с помощью которых можно запустить не одну программу, а несколько - список этих программ находится внутри таких файлов. То есть тут у нас что-то вроде контейнера со списком программ для поочередного их запуска.

Файлы - установщики программ могут иметь расширения msi , файлы сценариев VB Script, JAVA Script, Windows Script и т. п. могут иметь расширения vbe , vbs , js , jse , wsf , wsh .


Файлы экранных заставок (программ, которые показывают нам во время простоя компьютера разные движущиеся картинки) могут иметь разнообразные значки. Но чаще содержат изображение экрана. Расширение у заставок scr (от screen saver (скрин сэйвер) хранитель экрана).

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

И скачав своими руками программу с ненадежного сайта, тоже вполне можете подцепить какую-нибудь заразу - обязательно проверяйте все антивирусом!

Файлы с шестеренками и расширением dvr , vga , sys , ocx , vxd , dll и некоторыми другими - это драйверы, модули программ и другие компоненты операционной системы или прикладных программ. В отличие от исполняемых файлов они по двойному щелчку не запускаются. Просто потому, что нам с вами запускать их в ручную не положено - это дело самих программ или операционной системы.

Значки папок в основном стандартные, но при желании мы с вами сможем поменять этот значок на любой другой - чтобы легче было среди нужных папок находить нужные.

Есть такие общественно-полезные папки, которым система Windows сама дает особые значки, как например, папке Мои документы . Более того, папки с файлами разных типов, будут выглядеть по разному.


Файлы с расширениями hlp (от английского help (хэлп - помощь) и chm содержат справки по программам.Справки по разным программам Windows и по самой системе организованы единым образом.

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

Файлы txt , doc , docx , rtf , odt - это тестовые документы . Расширение doc дает своим фалам текстовый редактор Microsoft Word, docx - новые версии этой программы Word 2007-2010. Файлы с расширением odt имеют текстовые документы редактора Writer из пакета бесплатного офиса Open Office (оупен офис).

В файлах с расширением txt находится текст без какого-либо оформления, а в rtf файлах - текст с оформлением (стандартизированный формат).

Файлы с расширениями bak или wbk - это предпоследние версии файлов, резервные копии. Они создаются для подстраховки: вдруг вы что-то не то сделали с файлом, с которым работали последний раз. Расширение wbk дает своим резервным копиям текстовый редактор Microsoft Word, а bak - редактор Open Office Writer и некоторые другие программы.

Расширение xls имеют файлы электронных таблиц - документы, созданные в табличном редакторе Mocrosoft Excel всех версий, кроме двух последних. В Excel 2007-2010 применяются файлы с расширением xlsx . Программа создания электронных таблиц Calc из пакета Open Office дает своим таблицам другое расширение - ods .

Расширение ppt имеют файлы электронных презентаций, созданных в программе Power Point (повэр поинт) из пакета Microsoft Office. А расширение pps получают демонстрации - файлы, подготовленные к показу.

Для документов тоже можно создавать ярлыки. Скажем, сам документ хранится в какой-то папке, но вы часто с ним работаете, хочется, чтобы он всегда был под рукой. Создаете ярлык (на рабочем столе). Вот и не придется отыскивать каждый раз нужный документ среди десятков других.

Разрешается создавать ярлыки и для папок. Двойной щелчок по такому ярлыку показывает нам содержимое папки. Удалив ярлык папки или документа, саму папку или документ вы не затронете.

Электронные документы форматов pdf , djvu . Они используются для распространения полностью оформленных текстов - электронных книг, технических описаний, инструкций пользователя, приказов начальства и т. п. Они могут содержать иллюстрации и тексты, использовать любые иные элементы оформления и при этом будут одинаково выглядеть на любых компьютерах, где установлена программа для их просмотра. Кстати именно в одном из таких форматов.

Расширения htm , html , mht показывают, что мы имеем дело с веб-страницами , которые переписаны из интернета к нам на жесткий диск. Файлы обычного, стандартного интернетовского формата имеют расширения htm и html. Это простой текстовый файл, в котором каким-то образом размечено оформление текста, в том числе указаны места вставки картинок. Однако сами картинки представляют собой отдельные файлы. Файлы с расширением mht - это так называемый веб-архив, когда в один файл упакованы и текст с полным его оформлением, и картинки.

Файлы картинок (графические файлы ) имеют расширения jpg , gif , tif , bmp , cdr , psd , pic и др. Самым распространенным в мире форматом графических файлов является формат JPEG (расширение jpg ), большинство цифровых фотоаппаратов выдает нам снимки именно в таком формате. Несколько реже встречаются форматы TIFF (tif ) и GIF (широко применяется в интернете).

Теперь о файлах мультимедийных типов (звук и видео). В стандартный комплект Windows входит программа-проигрыватель Windows Media, куда по двойному щелчку попадают все эти файлы. Кроме всем известного формата звуковых файлов mp3 , встречается музыка, записанная в файлах wav , wma , mid , mp4 и т. п.

Видеофайлы чаще всего попадаются с расширениями avi , mpg , mkv или wmv . Обычно их вполне успешно воспроизводит тот же Windows Media Player. Впрочем, даже с наиболее распространенными avi-файлами все обстоит не так уж хорошо. Они могут иметь множество разновидностей, и далеко не любую из них стандартный плеер сумеет распознать и верно воспроизвести самостоятельно, без установки дополнительных программ.

Файлы с расширениями vob , ifo и bup вместе составляют видеофильм формата DVD . В vob-файлах находится видеоматериал, звуковое сопровождение и субтитры. В ifo-файлах содержится информация об устройстве диска, а bup-файлы - это резервные копии ifo-файлов.

Файлы с расширениями zip , rar , ace , cab , 7z и некоторыми другими - это архивы, особым образом сжатые (архивированные) файлы. Файлы архивируют, чтобы они были поменьше размером (например, для посылки по электронной почты). Расширение архивного файла зависит от того, какой программой-архиватором пользовался тот, кто этот архив создал.

Расширение tmp - это служебные файлы, которые создаются программами в процессе работы, а по окончании должны быть стерты. К сожалению, это происходит не всегда, и tmp-файлы лишь попусту замусоривают диск.

Файлы с расширением ttf , fon , ttc - это шрифты разных форматов. Они используются для разнообразного оформления текстовых документов, для показа веб-страниц и т. п. Ими пользуется и сама Windows - для отображения надписей в меню и диалоговых окнах.

Статья сегодня получилась большая, и то мы рассмотрели только основные, часто встречающиеся типы файлов и их значков.

ЛЕКЦИЯ 19. СИСТЕМЫ ФАЙЛОВ

Понятие файла

Файл (file) – это смежная область логического адресного пространства. Как правило, файлы хранятся во внешней памяти.

Немного о терминологии. Слово файл уже несколько десятков лет используется как русское – один из многочисленных примеров программистских неологизмов. Первоначально, когда около 50 лет назад появился данный английский термин, в русскоязычной литературе специалисты пытались ввести другую терминологию – слово file переводили как фонд и даже тека (в смысле хранилище ). Однако исторически сложилось иное решение – слово файл стало русским. В английском языке слово file имеет много других значений: например, подшитый в папку бумажный документ и даже стадо (например, слонов) – в последнем случае, как можно предположить, размер "файла" может быть очень велик. У всех в памяти название легендарного сериала " X files" (в вольном русском переводе – "Секретные материалы").

Фирма IBM в документации по своей системе IBM 360 в 1960-х гг. использовала иной термин – набор данных (data set) – для обозначения этого же понятия, однако он не пережил операционную систему, в которой использовался.

Каждый файл имеет свой тип , определяющий, какая информация хранится в файле. Основные типы файлов – программа (код) или данные . Данные подразделяются на числовые, символьные (текстовые) идвоичные ( произвольная информация ).

Структура файла

В различных системах приняты различные точки зрения на структуру файлов. В ряде систем структура файла привязывалась к типу устройства, на котором он находится. В некоторых других системах структура файла была искусственно усложнена. Однако наиболее простую и унифицированную точку зрения из них предложили авторы системы UNIX : файл – это последовательность слов или байтов . Казалось бы, это очевидно, но преимущество данного подхода к файлам в том, что базовое представление файла и базовые операции над ним (read , write ) не зависят от типа устройства. В свое время для программистов нашего поколения такой подход к файлам был откровением, после сложностей системы файлов IBM 360, а затем – "Эльбруса". Можно сказать, что файлы в своем развитии прошли путь , аналогичный развитиюархитектур компьютеров – сначала в сторону значительных усложнений, затем – упрощения и унификации .

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

Файлы простой структуры состоят из последовательности записей (records) – элементарных единиц, в терминах которых выполняются операции обмена с файлом. Записи могут быть:

· строками , если это текстовый файл ;

· двоичными данными фиксированной длины ;

· двоичными данными переменной длины .

Файлы сложной структуры могут быть самого разного вида, например:

· отформатированным документом Microsoft Office (такой файл, кроме собственно текста, содержит управляющие символы переключения шрифтов, цветов и т.д.);

· загрузочным модулем реального или виртуального двоичного кода, например, portable executable (PE) -файлом для платформы.NET; class-файлом для платформы Java; подобные файлы состоят из нескольких секций, содержат внутренние ссылки и таблицы и т.д.

Сложная структура файла может быть смоделирована записями путем добавления соответствующих управляющих символов .

Файлы интерпретируются операционной системой или программами их обработки.

Атрибуты файла

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

Различаются следующие основные атрибуты файла :

Имя (Name) – название файла в символьной форме, воспринимаемое пользователем.

Тип (Type) – тип хранимой в файле информации. Отдельный атрибут тип необходим для систем, которые поддерживают различные типы файлов. Например, в системе "Эльбрус" значением атрибута тип файла является число, кодирующее тип: 0 – данные, 2 – код, 3 – текст и т.д. Однако более общепринятым подходом является подход, принятый в системах MS DOS , Windows , UNIX : тип файла кодируется расширением имени , например, book.txt – текстовый файл (.txt), содержащий текст книги.

Размещение (Location) указатель на размещение файла на устройстве.

Размер (Size) – текущий размер файла .

Защита (Protection) – управляющая информация , задающая полномочия чтения, изменения и исполнения файла.

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

В ОС UNIX дату модификации файла можно изменить командой touch f, где f – имя файла . Touch дословно означает потрогать . Кроме изменения времени модификации, больше никаких действий над файлом не производится.

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

Информация о файлах хранится в структуре директорий ( или справочников - directories) ,иногда, например, в системе Windows , называемых также папками (folders) – структурами во внешней памяти, содержащими символьные имена файлов и ссылки на них. Важнейшая концепция директории подробно рассматривается далее в данной лекции.

Операции над файлами

Хотя набор операций над файлами и особенно их обозначений различается от системы к системе, можно выделить следующие основные операции над файлами.

· Создание файла (Create ). Создается заголовок файла; первоначально его содержимое (память) пусто.

· Запись в файл (Write ). Как правило, происходит записями (records) или блоками – более крупными логическими единицами информации, объединяющими несколько записей, с целью оптимизацииопераций ввода-вывода .

· Чтение из файла (Read ). Обычно также выполняется записями или блоками.

· Поиск позиции внутри файла (позиционирование) (Seek ). Позиция задается номером записи или блока, либо специальными именами, обозначающими начало файла (позиция перед первой записью) или конец файла (позиция после последней записи).

· Удаление файла (Delete ). В зависимости от реализации системы файлов, ошибочное удаление файла может быть фатальным (UNIX) или исправимым (MS DOS).

· Сокращение файла (Truncate ).

· Открытие файла (Open ) – поиск файла в структуре директорий по его символьному имени (пути) и считывание его заголовка и одного или нескольких смежных блоков в буфера в основной памяти.

· Закрытие файла (Close ) – запись содержимого буферов в блоки файла; обновление файла во внешней памяти в соответствии с его текущим состоянием; освобождение всех структур в основной памяти, связанных с файлом.

Для выполнения операций обмена с файлом (read, write ), как правило, файл необходимо открыть. Закрытие файла является обязанностью пользовательского процесса ; однако, если он по какой-либо причине этого не выполняет, то закрывает все файлы, открытые процессом, операционная система после завершения или прекращения процесса.

Типы файлов – имена и расширения

В таблица 19.1 приведены некоторые наиболее употребительные типы файлов и соответствующие им расширения имен.

Таблица 19.1. Типы файлов – имена и расширения
тип файла расширение имени функциональность
исполняемый код (загрузочный модуль) exe, com, bin или отсутствует готовая к выполнению программа в бинарном машинном коде
обьектный модуль obj , о откомпилированная программа в бинарном коде, но не слинкованная
исходный код на языке программирования с, сс, Java, pas, asm , а исходный код на различных языках (Си, Паскаль и др.)
командный файл bat, sh файл с командами для командного интерпретатора
текст txt, doc текстовые данные, документы
документ для текстового процессора wp, tex, rtf , doc документ в формате какого-либо текстового процессора
библиотека lib, a, so, dll, mpeg, mov, rm библиотеки модулей для программирования
файл для печати или визуализации arc , zip, tar ASCII или бинарный файл в формате для печати или визуализации
архив arc , zip, tar несколько файлов, сгруппированных в один файл, для архивации или хранения
мультимедиа mpeg, mov, rm бинарный файл , содержащий аудио- или видео информацию

Смысл их ясен из приведенной таблицы. Следует заметить, что унифицированных расширений имен, принятых в различных ОС, очень мало – по -видимому, только .txt (текст) и расширения для исходных кодов на языках программирования, например, .c – Си , .p или. pas – Паскаль и др. Объектные модули называются по -разному (в Windows .obj , в UNIX - .o ), библиотеки – тоже: статически линкуемые в Windows - .lib , вUNIX - .a ; динамически линкуемые в Windows - .dll , в UNIX – .so .Интересно отметить, что для исполняемого кода в Windows есть стандартное расширение - .exe ,а в UNIX – нет, зато есть весьма экзотическое полное стандартное имя: a.out (assembler output) .Унифицированы расширения имен для различных текстовых процессоров: . doc - Microsoft Word , .pdf Adobe Acrobat и др.

Методы доступа к файлам

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

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

По -видимому, последовательный доступ используется чаще: именно так происходит ввод данных, вывод результатов на печать или на экран.

Типичные :

reset – установка на начало файла для чтения

rewrite – установка на начало файла для записи.

Типичные операции прямого доступа:

position to n – позиционирование на запись с номером n

rewrite n, где n - относительный номер блока (записи).

Описанная трактовка последовательных файлов и операций над ними иллюстрируется рис. 19.1.

Рис. 19.1. Файл последовательного доступа.

При необходимости можно смоделировать операции последовательного доступа для файла с прямым доступом. Способ моделирования показан в таблица 19.2.

Указатель на текущую позицию, характерный для последовательного доступа , для файла прямого доступа моделируется переменной cp , а операции последовательного доступа – операциями прямого доступа с указанием cp в качестве номера блока.

Для ускорения доступа к файлу большого объема может использоваться индексный файл , содержащий ссылки на записи основного (относительного ) файла. рис. 19.2 изображен пример основного файла, содержащего упорядоченные по фамилиям анкетные данные людей. Индексный файл для данного основного файла содержит ссылки на первые логические записи анкет с заданной фамилией, например, Smith.



Рис. 19.2. Индексный файл и основной файл.

Директории

Директория (directory, folder) - узел, содержащий информацию о файлах – их имена и ссылки на файлы и на другие директории во внешней памяти. Таким образом, возможна организация иерархии директорий или их более сложных взаимосвязей, вплоть до произвольных графов. Как структура директорий, так и файлы хранятся на диске. С помощью директорий поддерживается именование файлов с помощью путей (paths) – многослоговых имен, состоящих из имени корневой директории (или логического диска) и последовательности имен директорий последующих уровней. Например, в системе Windows c:\doc\plan.txt путь доступа к файлу, задающий его расположение – на логическом диске C: ,в директории doc (документы), и имя файла plan.txt .Имя содержит расширение, указывающее на тип файла .

Резервное копирование (back-up) файлов и директорий выполняется на специальные предназначенные для этого носители – например, на ленту (стример ), flash-память , внешний переносной жесткий диск , компакт-диск (CD , DVD ). Настоятельно рекомендуется регулярно копировать на внешний носитель (или на несколько внешних носителей) наиболее важные директории.

Особенности системы файлов в "Эльбрусе"

Говоря о структуре директорий и именовании файлов, нельзя не упомянуть столь экзотическую систему файлов, как в МВК "Эльбрус". Это будет полезно читателям, чтобы сравнить и лучше оценить разнообразие подходов к системам файлов.

Основные концепции системы файлов МВК "Эльбрус" – это файлы , контейнеры , справочники . Понятие контейнера в "Эльбрусе" близко к современным понятиям тома и контейнера в системах Windows и Solaris: контейнер – это хранилище файлов на одном или нескольких дисках. Понятие справочника близко к понятию директории в традиционных файловых системах.

Файл в "Эльбрусе" состоит из заголовка и памяти. В заголовке хранятся атрибуты файла , число которых – порядка 100 (!).

Существенным отличием файловой системы "Эльбруса" является то, что возможно создание файла и управление им без присваивания ему имени , т.е. без отображения его в справочниках (директориях). Такой временный файл создается в программе, ссылка на файл хранится в глобальной или локальной переменной, и по окончании выполнения программы файл уничтожается, если на него не была сохранена ссылка в справочнике на диске. Кроме того, файлы могут ссылаться друг на друга (по прямой "физической" файловой ссылке, а не c помощью символьных путей) через справочники внешних ссылок (СВС) .СВС имеется у каждого файла. Его элементы адресуются по номерам, а не по именам. Типичный пример: файл объектного кода (ФОК) ссылается через свой СВС на файл дополнения к файлу объектного кода (ДФОК) ,содержащий в унифицированном виде таблицы именованных сущностей, определенных в программе и ее процедурах. Выражаясь современным языком, ДФОК содержит метаданные . Эта взаимосвязь используется при диагностике ошибок времени выполнения и для многих других целей.

К недостаткам файловой системы "Эльбруса" можно отнести усложненную структуру файлов, большое число атрибутов, зависимость логической структуры файла и набора операций над ним от типа внешнего устройства , на котором он расположен. По сравнению с системой файлов "Эльбруса", система файлов в UNIX гораздо проще и удобнее, но нисколько не уступает по функциональности.

Типичная организация файловой системы изображена на рис. 19.3.



Рис. 19.3. Организация файловой системы.

Файловые системы организуются на дисках . Каждый диск поделен на разделы (partitions) – смежные области дисковой памяти, имеющие свои логические имена (обычно в виде первых букв латинского алфавита). Однако возможна и организация раздела, занимающего несколько дисков. Для деления диска на разделы рекомендуем утилиту Partition Magic . В разделах хранятся директории и файлы. Каждый раздел имеет корневую директорию , у которой при необходимости могут быть организованы поддиректории , на которые она ссылается.

Следует иметь в виду, что в разных разделах могут быть установлены различные операционные системы, использующие разное форматирование и разные файловые системы для своей работы. Даже если на компьютере установлена только одна ОС, различные разделы могут использовать различные типы файловых систем, например, в Windows раздел A может использовать файловую систему FAT32 , а раздел B – файловую систему NTFS . В разделе C может быть инсталлирована ОС Linux, использующая свою собственную файловую систему Ext2Fs .