Имена файлов

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

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

Конкретные правила составления имен файлов варьируются от системы к системе, но все ныне существующие операционные системы в качестве допустимых имен файлов позволяют использовать от одной до восьми букв. Поэтому для имен файлов можно использовать слова andrea, bruce и cathy. Зачастую допускается также применение цифр и специальных символов, поэтому допустимы также такие имена, как 2, urgent! и Fig.2-14. Многие файловые системы поддерживают имена длиной до 255 символов.

Некоторые файловые системы различают буквы верхнего и нижнего регистров, а некоторые не делают таких различий. Система UNIX подпадает под первую категорию, а старая MS-DOS — под вторую. (Кстати, при всей своей древности MS-DOS до сих пор довольно широко используется во встроенных системах, так что она отнюдь не устарела.) Поэтому система UNIX может рассматривать сочетания символов maria, Maria и MARIA как имена трех разных файлов. В MS-DOS все эти имена относятся к одному и тому же файлу.

Наверное, будет кстати следующее отступление, касающееся файловых систем. Обе операционные системы, Windows 95 и Windows 98, использовали файловую систему MS-DOS под названием FAT-16, и поэтому они унаследовали множество ее свойств, касающихся, например, построения имен файлов. В Windows 98 было представлено расширение FAT-16, которое привело к системе FAT-32, но обе эти системы очень похожи друг на друга. Вдобавок к этому Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7 и Windows 8 по-прежнему поддерживают обе файловые системы FAT, которые к настоящему времени фактически уже устарели. Но новые операционные системы имеют собственную намного более совершенную файловую систему NTFS, которая обладает несколько иными свойствами (к примеру, допускает имена файлов в кодировке Unicode). На самом деле для Windows 8 имеется вторая файловая система, известная как ReFS (или Resilient File System — восстанавливаемая файловая система), но она предназначена для серверной версии. В этой главе все ссылки на MS-DOS или файловую систему FAT будут, если не указано иное, подразумевать системы FAT-16 и FAT-32, используемые в Windows. Далее в этой главе мы рассмотрим файловую систему FAT, а систему NTFS — в главе 12, когда будем подробно изучать операционную систему Windows 8.

Кстати, есть также новая FAT-подобная файловая система, известная как exFAT. Это созданное компанией Microsoft расширение к FAT-32, оптимизированное для флеш-накопителей и больших файловых систем. ExFAT является единственной современной файловой системой компании Microsoft, в отношении которой в OS X допускаются чтение и запись.

Многие операционные системы поддерживают имена файлов, состоящие из двух частей, разделенных точкой, как, например, prog.c. Та часть имени, которая следует за точкой, называется расширением имени файла и, как правило, несет в себе некоторую информацию о файле. К примеру, в MS-DOS имена файлов состоят из 1-8 символов и имеют (необязательно) расширение, состоящее из 1-3 символов. В UNIX количество расширений выбирает сам пользователь, так что имя файла может иметь два и более расширений, например homepage.html.zip, где .html указывает на наличие веб-страницы в коде HTML, а .zip — на то, что этот файл (homepage.html) был сжат архиватором. Некоторые широко распространенные расширения и их значения показаны в табл. 4.1.

Таблица 4.1. Некоторые типичные расширения имен файлов


В некоторых системах (например, во всех разновидностях ИШХ) расширения имен файлов используются в соответствии с соглашениями и не навязываются операционной системой. Файл file.txt может быть текстовым файлом, но это скорее напоминание его владельцу, чем передача некой значимой информации компьютеру. В то же время компилятор языка С может выдвигать требование, чтобы компилируемые им файлы имели расширение х, и отказываться выполнять компиляцию, если они не имеют такого расширения. Но операционную систему это не волнует.

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

Система Windows, напротив, знает о расширениях имен файлов и присваивает каждому расширению вполне определенное значение. Пользователи (или процессы) могут регистрировать расширения в операционной системе, указывая программу, которая станет их «владельцем». При двойном щелчке мыши на имени файла запускается программа, назначенная этому расширению, с именем файла в качестве параметра. Например, двойной щелчок мыши на имени file.docx запускает Microsoft Word, который открывает файл file.docx в качестве исходного файла для редактирования.

4.1.2.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Имена файлов:

  1. Имена и фамилии
  2. Имена и фамилии
  3. ЗАПОМИНАЙТЕ ИМЕНА ЛЮДЕЙ
  4. Имена, названия
  5. Ваши действия
  6. Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание, 2007
  7. Необходимые шаги
  8. Отбор в тексте единиц анализа
  9. Григорьев Ю.А., Ревунков Г.И.. Банки данных, 2002
  10. Новая политическая социология.
  11. Буквы А, И, С
  12. М.Руссинович, Д.Соломон. Внутреннее устройство Microsoft Windows (главы 1–4), 2005