Файловая система
- Общие сведения о файловой системе
- Объекты файловой системы
- Каталоги
- Файлы
- Путь к файлу
- Поиск файлов
Вся информация, имеющаяся на компьютере, хранится на запоминающих устройствах (на винчестере, на дискетах, на CD) в виде файлов.
Файл — это именованная область памяти на одном из дисков, в которой может храниться различная информация или ее часть (текст программы, исполняемая программа, данные для работы программы, текстовые документы, базы данных, графические изображения).
Каждый файл имеет свое собственное уникальное имя
Каждый файл имеет свое собственное уникальное имя
Имя файла складывается из двух частей:
- Имя (состоит из не более чем 256 символов)
- Расширение имени (тип хранимой информации) может отсутствовать или состоять из 1-3 символов.
Задание имени производит либо пользователь, либо программа создает его самостоятельно.
Имя и тип файла могут содержать латинские буквы, а также символы: #, $/, %, ^, &, (,), —, @, !, „
Символы ., :, /, \ ,*, ?, >, < не могут использоваться в имени файлов
Имя и тип файла используются совместно для идентификации файла
Полное имя файла образуется из двух слов – имени и типа, разделенных знаком «.»
Если в имени файла отсутствует тип, точку можно опускать.
При создании файла или изменении его содержимого, автоматически регистрируется дата и время, которые система считывает из показаний встроенных календаря и часов.
Имя, тип, дата и время являются атрибутами файла, которые фиксируются в каталоге.
- загрузочные (exe; com; bat)
- текстовые (txt; doc; hlp)
- графические (bmp; jpg; png)
- системные (sys; dat; dll)
Пример:
C:\windows\mouse.com
файл «mouse» является загрузочным и находится в каталоге «windows» на жестком диске «с:».
Каталог (папка) содержит информацию о группе файлов, хранимых совместно на одном носителе.
Каталог имеет имя и, в свою очередь, может быть зарегистрирован в другом каталоге. В этом случае он становится подкаталогом.
На каждом дисковом носителе всегда имеется корневой каталог, который создается при форматировании диска, и в котором начинают регистрироваться обычные файлы и подкаталоги 1 уровня.
В них, в свою очередь, могут регистрироваться файлы и подкаталоги 2 уровня и т.д.
Так образуется иерархическая файловая система.
C:\ word\ документы \письма \ №…
Каталог word зарегистрирован в корневом каталоге, подкаталог 1 уровня \документы – в каталоге \word, подкаталог 2 уровня \письма – в подкаталоге \документы, файл \ №… — зарегистрирован в подкаталоге 2 уровня \письма.
Для доступа к файлу необходимо указать путь (маршрут) к этому файлу.
Например:
C:\word\документы\письма\№…
При указании пути, сначала указывается имя запоминающего устройства, на котором расположен файл (дискеты – а, b; жесткие диски c, d; CD – буквой следующей за жестким диском).
Далее необходимо указать всю последовательность каталогов, по которым необходимо пройти к данному файлу.
При указании пути к файлу сначала записывается имя запоминающего устройства, затем баз пробелов записываются имена подкаталогов, после имени подкаталога ставится знак «\».
Существует понятие текущий каталог — это тот подкаталог, в котором мы сейчас находимся.
Для файла, который находится в текущем каталоге можно не указывать имени устройства и пути к этому файлу.
Шаблон имени файла часто употребляется в командах для обозначения сразу нескольких файлов или для сокращения записи имен файлов. Очень удобно использовать шаблоны при поиске файлов.
В шаблонах употребляется знак «*», обозначающий, что, начиная с данной позиции до конца имени или расширения могут располагаться любые символы, которые допускаются в именах и типах файлов.
Для создания шаблона используют специальные символы:
? – этот символ заменяет один любой символ в имени файла;
* — этот символ заменяет любой символ в имени файла.
Примеры составления поисковых запросов с использованием специальных символов:
*.* — шаблон для выбора всех файлов с любым расширением.
???.* — шаблон для выбора всех файлов с именем, состоящим из любых трёх символов и с любым расширением.
t*.txt — шаблон для выбора всех файлов, которые начинаются на букву «t», после которой может располагаться любое количество символов и с расширением «txt».
b?.??? — шаблон для выбора всех файлов, которые состоят из двух символов и начинаются на «b», с любым расширением состоящим из любых трёх символов.
- Где хранится информация на компьютере?
- Что такое файл?
- Что такое каталог?
- Что является подкаталогом?
- Из каких частей состоит имя файла?
- Кто задаёт имя файлу?
- Какие символы могут содержаться в имени файла?
- Какие символы не могут содержаться в имени файла?
- Почему знаки ? и * не используют при задании имени файла?
- Что относится к атрибутам файла?
- Что такое каталог?
- Что такое подкаталог?
- Как указать путь к файлу?
- Какие типы файлов являются самыми распространёнными?
- Создайте шаблон для поиска всех рисунков с расширением jpg на диске D?
В современном цифровом мире каждый пользователь компьютера сталкивается с необходимостью управления множество данных. Будь то рабочие документы, музыкальные треки или фотографии, каждый файл имеет свое уникальное обличие, создаваемое комбинацией различных элементов. Эти элементы не просто служат для идентификации, но и помогают систематизировать и классифицировать данные, делая их удобными для использования и поиска.
Большая часть информации в файловой системе сосредоточена в уникальном обозначении файлов. Она состоит из составных частей, которые объединяются, чтобы создать понятное и логичное представление. Важную роль в этом процессе играют такие компоненты, как название и расширение, которые отделяются друг от друга точкой. Это не просто знак препинания; это символ, который связывает содержание файла с его функцией и назначением в системе, позволяя пользователю и программам распознавать и понимать сам содержимый контент.
Когда речь заходит об расширении, оно выполняет роль своеобразного маркера. Этот элемент, который следует за точкой, указывает на формат данных и какие программы способны работать с ними. Знание и грамотное управление расширениями могут значительно улучшить взаимодействие с компьютерной рабочей средой, позволяя избежать ошибок и ускорить рабочие процессы.
Понимание структуры файловых имен
Каждый элемент имени, включающий название и расширение, играет важную роль в том, как операционная система и программы обрабатывают и распознают данный файл. Процесс взаимодействия с файлами начинается с понимания того, как его название и расширение объединяются и функционируют вместе.
Когда пользователь создает документ, аудиофайл или изображение, суть файла заключается не только в его содержимом, но и в корректной идентификации через название. Это название, оканчивающееся на мек точку, разделяет его основную часть от расширения. Элемент, находящийся после этой точки, является определяющим фактором для множества приложений и систем. Например, файл с расширением .txt указывает на простой текстовый формат, и это сразу понимается системой.
Расширение после точки не только информирует о формате, но и указывает среди различных программ, какой из них использовать для открытия файла. Например, изображения формата .jpg и .png предназначены для графических редакторов и просмотрщиков, тогда как с расширением .exe мы имеем дело с исполняемыми файлами. Поэтому корректное использование расширения после точки может существенно повлиять на корректность работы программного обеспечения.
Файловые системы современных операционных систем способны учитывать разнообразие форматов и обеспечивают правильное функционирование программ. Это расширяет возможности пользователей, предоставляя свободу выбора и удобство управления данными. Поэтому осознанное использование точки и последующего расширения делает взаимодействие с файлами более предсказуемым и эффективным.
Роль расширения в имени файла
В мире компьютеров и технологий каждый элемент файловой системы играет свою особенную роль. Расширение файла — важный компонент, который помогает пользователям и системе опознавать и обрабатывать разные типы данных, хранящиеся в компьютере.
Когда речь идет о взаимодействии с данными, именно расширение выполняет функцию определенного указателя, который указывает системе, каким образом следует обращаться с содержащейся в файле информацией. Это своеобразная навигация, которая определяет дальнейшие действия с комплексным контентом.
- Определение типа: Форматирование показывает, к какому типу относится содержание. Например, .txt сигнализирует о текстовом документе, а .jpg — о графическом изображении.
- Аффилиация с программами: Сразу после точки идет набор символов, указывающий пользователю и операционной системе, какое прикладное программное обеспечение может открыть или отредактировать данный элемент. Это облегчает запуск соответствующего ПО без дополнительных усилий.
- Обеспечение совместимости: Наличие стандартного набора символов после точки облегчает обмен данными между разными ОС и платформами, обеспечивая их понимание различными средами.
- Безопасность: Расширение может сигнализировать пользователю о потенциальной угрозе или поддельном содержимом, например, если расширение не соответствует предполагаемому контенту.
Таким образом, расширение помогает избежать путаницы в электронном каталоге, лежа в основе файлового взаимодействия, качественной обработки и обмена данными. С его помощью возможно организовать и упорядочить хранение, взаимодействие и управление данными в любой рабочей области, будь то документы, мультимедия или архивы.
Назначение базовой части имени файла
Базовая часть любого файлового наименования выполняет ряд важных функций в файловой системе. Она обеспечивает удобное восприятие и идентификацию содержимого без необходимости его открытия. Это позволяет пользователям и программам легко и быстро находить нужные данные среди множества элементов на носителе информации.
Эта часть обозначения служит средством для логической организации данных. Правильное наименование помогает структурировать информацию, делая систему хранения более предсказуемой и понятной. Пользователь при этом может выбирать название, исходя из содержания, типа информации или других значимых характеристик, улучшая процессы навигации и поиска.
Кроме того, базовая часть наименования играет важную роль при автоматизированных операциях. Программы обработки данных могут опираться на эти наименования, выполняя сортировку, архивацию или другие действия. Это упрощает внедрение алгоритмов, способных считывать и учитывать заложенную в этих названиях информацию при обработке.
Внутри системы базовая часть идентификатора позволяет не только пользователю, но и самому компьютеру отличать одно хранилище данных от другого. Без этого файловый массив превратился бы в хаотичный набор без намеков на организацию, что значительно усложнило бы любые операции. Во многих случаях она предоставляет основу для формирования пути доступа к ресурсу, работая в тандеме с расширением, обозначающим формат или тип данных.
Подводя итог, можно сказать, что базовая часть наименования является элементом, без которого поиск и взаимодействие с данными через файловую систему было бы затруднено. Это незаменимый инструмент для обеспечения порядка и легкости доступа к информации.
Зачем нужны уникальные файлы
Отличия в наименованиях цифровых документов и данных становятся критично важными в современных вычислительных системах. Все чаще необходимо уникальное обозначение каждого документа для его безопасного хранения и лёгкого поиска. Это обеспечивает не только порядок, но и защищает информацию от случайного удаления или перезаписи. Подобные механизмы играют важную роль как в офисной работе, так и в программировании, управлении данными и разных других сферах, где важна точность обработки данных.
Присвоение уникального наименования цифровым элементам минимизирует возникновение конфликтов внутри системы. При этом важно учитывать разнообразие и длину записей, чтобы они не пересекались и не дублировались. Это тесно связано с заданием различного расширения через точку, что также помогает системе распознавать формат и тип информации, содержащейся в документе. Расширения играют важную роль, так как они облегчают идентификацию программного обеспечения, необходимого для открытия и обработки конкретных данных.
Внедрение стандартизации таких записьных концепций позволяет улучшить взаимодействие пользователя с информационными ресурсами. Например, система может организовать массив данных так, чтобы их извлечение было интуитивным для пользователя, а нужная информация — доступной одним нажатием кнопки. Это повышает общую эффективность работы, позволяя быстрее находить, обрабатывать и использовать необходимые данные.
Кроме того, эти механизмы важны для процессов, связанных с бэкапами и архивацией. Здесь уникальность помогает безошибочно идентифицировать и восстанавливать данные, определённые для долгосрочного хранения. Уникальные названия оказываются неотъемлемым аспектом в управлении данными на современном этапе развития технологий, внося их заметный вклад в формирование надежной и эффективной информационной экосистемы.
Использование форматов в именах файлов
Форматы играют ключевую роль в упорядочении и классификации информации в цифровом пространстве. Они обеспечивают эффективное взаимодействие между приложениями и помогают пользователям понять тип содержимого. Использование форматов в названиях позволяет быстро определить, какие файлы находятся в определенной папке, и обеспечить совместимость с разными программами.
Файловые форматы представляют собой совокупность символов, обычно следующих за точкой, которые обозначаются как расширение. Роль расширения заключается в указании на тип данных, хранимых в файле, и определении того, каким программным обеспечением его можно открыть и обработать. Например, docx указывает на документ Microsoft Word, тогда как jpg ассоциируется с изображением. Без правильно указанного формата файл может оказаться недоступным или неправильно интерпретированным.
Кроме того, форматы помогают упорядочивать файлы, служа основанием для их группировки. Компьютерные системы и сети используют расширения для фильтрации и сортировки документов в папках, позволяя организовать данные по категориям: текстовые документы, изображения, видео и так далее. Правильное использование форматов важно и для поиска информации, так как задает определенные критерии, которые можно использовать в запросах.
Верное применение форматов в названиях упрощает не только работу с файлами, но и управление системой в целом. Это касается как локальных устройств, так и облачных решений, где доступность и организованность имеют первостепенное значение. Таким образом, понимание и грамотное применение форматов и расширений способствует более эффективному управлению информацией и оптимизации рабочих процессов.
Общие ошибки при именовании файлов
Верное именование играет важную роль в организации данных и обеспечивает удобство последующей работы с документами. Однако, несмотря на очевидные преимущества, существует множество типичных промахов, связанных с заданием неподходящих названий для документов, которые могут затруднить работу с ними и даже привести к их утрате.
Одна из распространенных ошибок заключается в использовании слишком длинных или, наоборот, излишне коротких названий. Чрезмерно длиныe названия усложняют восприятие и навигацию, особенно если отображаются в ограниченном пространстве, например, в интерфейсе файлового менеджера. Короткие имена, с другой стороны, могут быть недостаточно информативными и вводить в заблуждение. Наиболее приемлемым вариантом является использование лаконичных, но достаточно описательных названий с учетом контекста и содержания документа.
Еще одна ошибка – отсутствие логики и последовательности при названии. Непоследовательные названия создают путаницу, особенно в больших проектах или архивах. Рекомендуется разработать и придерживаться единого подхода – например, использования временных меток, серийных номеров или краткого описания содержания документа.
Использование неподходящих символов также может стать серьезной проблемой. Определенные знаки, такие как слеши или обратные слэши, запрещены в названиях документов в большинстве систем. Даже если допустимые символы не запрещены, они могут вызвать путаницу и затруднить доступ к документам. Рекомендуется избегать специальных знаков, ограничиваясь буквами, цифрами и подчеркиваниями.
Нередко встречаются ситуации, когда расширение нечаянно изменяется или вовсе забывается. Это может привести к невозможности открыть документ или к его неверному интерпретированию программным обеспечением. Обязательно убедитесь в правильности указания расширения после точки и убедитесь, что оно соответствует фактическому содержимому.
Другой распространенной ошибкой является размещение документов в неправильно выбранной папке, что существенно затрудняет их последующий поиск и использование. В результате время на поиск нужной информации и работа всей команды может серьезно затянуться. Важно организовать логическую структуру каталогов и уверенно следовать ей на протяжении всего жизненного цикла проекта.
Избегание этих ошибок гарантирует упрощение многих рабочих процессов и создает благоприятные условия для совместной работы и долгосрочного хранения документов. Пересмотрите подход к именованию и размещению файлов и извлеките выгоду из упорядоченности и организованности.
Комментарии
Материал из РУВИКИ — свободной энциклопедии
Отображение содержимого каталога C:\temp
— имён находящихся в нём файлов — по команде dir
в командном интерпретаторе ОС Windows
И́мя фа́йла — строка символов, однозначно определяющая файл в некотором пространстве имён файловой системы (ФС), обычно называемом каталогом, директорией или папкой. Имена файлов строятся по правилам, принятым в той или иной файловой и операционной системах (ОС). Многие системы позволяют назначать имена как обычным файлам, так и каталогам и специальным объектам (символическим ссылкам, блочным устройствам).
Имя файла является частью полного имени файла, также называемого полным или абсолютным путём к файлу. Полное имя может включать следующие компоненты:
- протокол или способ доступа (
http
,ftp
,file
и т. п.); - имя или адрес компьютера, узла сети (
wikipedia.org
,207.142.131.206
,\\MYCOMPUTER
,SYS:
и т. п.); - устройство хранения, диск (
C:
,/
,SYSLIB
и т. п.); - путь к каталогу (
/usr/bin
,\TEMP
,[USR.LIB.SRC]
и т. п.); - собственно имя файла, которое может содержать его расширение (
.txt
,.exe
,.COM
и т. п.); - версия или номер ревизии (
perl6
,ping6
и т. п.).
Имя файла необходимо для того, чтобы к файлу мог обратиться пользователь. В одном каталоге не может быть двух файлов с одинаковыми именами (некоторые файловые системы регистрозависимы, что оставляет возможность для создания файлов, имена которых отличаются регистром символов).
Имя файла обычно состоит из двух частей, разделённых точкой:
- Название (до точки, часто также называют именем);
- Расширение.
Полным, или абсолютным, называется имя файла, содержащее все каталоги до корня файловой системы. Относительные имена файлов не содержат полного пути и обычно привязываются к текущему каталогу.
Windows[править | править код]
Полное имя файла в Windows-системах состоит из буквы диска, после которого ставится двоеточие и обратная наклонная черта (обратный слеш), затем через обратные слеши перечисляются подкаталоги, в конце пишется имя файла. Пример:
C:\Windows\System32\calc.exe
Полное имя файла (включая расширение) в Windows может содержать до 260 символов, данное значение определено константой MAX_PATH в Windows API; например, полное имя файла максимально допустимой длины на диске C будет таким: «C:\<256 символов>NULL» (например, «C:\<254 символа>\<1 символ>NULL»). Однако, юникодовые версии некоторых функций позволяют использовать полные имена файлов длиной до 32767 символов, такие имена начинаются с префикса «\\?\». Пример:
\\?\C:\Windows\System32\calc.exe
При использовании префикса «\\?\» необходимо указывать абсолютный путь к файлу, относительные пути не допускаются. При использовании относительных путей максимальная длина полного имени файла определена константой MAX_PATH (260 символов).
UNIX[править | править код]
В UNIX и UNIX-подобных системах полный путь состоит из слеша (/
), обозначающего корневой каталог, после которого через слеши перечисляются подкаталоги, в конце пишется имя файла. Пример:
/usr/local/bin/gcc
Пути, начинающиеся не с косой черты, считаются относительными и отсчитываются относительно рабочего каталога. Пример:
../mc
при нахождении в каталоге /etc/apache2
эквивалентно /etc/mc
.
Особое значение у путей, которые начинаются с тильды (~
). Тильда обозначает домашний каталог текущего или указанного пользователя. Пример:
~/Desktop
для пользователя user
во многих системах и случаях эквивалентно /home/user/Desktop
[1]
~admin/passwords
для любого пользователя равносильно /home/admin/passwords
[1]
~root/test
для любого пользователя — то же самое, что и /root/test
[1], потому что суперпользователь (root) имеет особый домашний каталог.
- ↑ 1 2 3 Для каталога каждого пользователя в современных ОС может быть настроен произвольный путь.
Многие операционные системы запрещают использование некоторых служебных символов.
Запрещённые символы Windows (в различных версиях):
\
— разделитель подкаталогов/
— разделитель ключей командного интерпретатора:
— отделяет букву диска или имя альтернативного потока данных*
— заменяющий символ (маска «любое количество любых символов»)?
— заменяющий символ (маска «один любой символ»)"
— используется для указания путей, содержащих пробелы<
— перенаправление ввода>
— перенаправление вывода|
— обозначает конвейер+
— (в различных версиях) конкатенация
Частично запрещённые символы Windows:
- пробел — не допускается в конце имени файла;
.
— не допускается в конце имени файла кроме имён каталогов, состоящих из точек и доступа с префиксом «\\?\».
Символы, вызывающие проблемы в широко распространённых компонентах:
%
— в Windows используется для подстановки переменных окружения в интерпретаторе команд, вызывает проблемы при открытии файла через стандартный диалог открытия файла;!
— в Windows используется для подстановки переменных окружения в интерпретаторе команд, в bash используется для доступа к истории[1];@
— в интерпретаторах команд вызывает срабатывание функций, предназначенных для почты.
В именах файлов UNIX и некоторых UNIX-подобных ОС запрещён слеш (/
) — разделитель подкаталогов — и символ конца C-строки (\0
). Перечисленные выше символы (кроме слеша) использовать можно, но из соображений совместимости их лучше избегать.
Расширение имени файла (англ. filename extension, часто говорят просто расширение файла или расширение) — последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых способов, с помощью которых пользователь или программное обеспечение компьютера может определить тип данных, хранящихся в файле. Расширение отделяется от основной части имени файла последней точкой. Иногда могут использоваться несколько расширений, следующих друг за другом, например, «.tar.gz».
ОС или менеджер файлов могут устанавливать соответствия между расширениями файлов и приложениями. Когда пользователь открывает файл с зарегистрированным расширением, автоматически запускается соответствующая этому расширению программа. Некоторые расширения могут показывать, что файл является исполняемым (в Windows).
- inode
- ↑ Вызывает проблему в команде вида
echo "$(ls 'Привет мир!')"
. Рабочий вариант команды:
echo "$(ls 'Привет мир'\!)"
.
- Робачевский А. Н., Немнюгин С. А., Стесик О. Л. Имен файлов / Базовая файловая система System V / Глава 4. Файловая система // Операционная система UNIX. — 2-е изд. — СПб.: БХВ-Петербург, 2008. — С. 338—339. — 656 с. — ISBN 978-5-94157-538-1.
Если вы видите это сообщение, значит, произошла проблема с загрузкой файлов в стилей (CSS) нашего сайта. Попробуйте сбросить кэш браузера (Ctrl+F5).
Если это не поможет, а вы находитесь в регионе, где возможны ограничения интернет-трафика с российских серверов — воспользуйтесь VPN.
Какова структура имени файла? Очень часто и почти всегда файл имеет две части названия в своем содержании. Все потому что первая часть названия это имя файла, а вторая часть файла тип файла и разделены они точкой. Вот пример launcher.exe, где первое это название файла, а второе означает тип файла. система выбрала этот ответ лучшим Корне 6 лет назад Имя файла состоит из двух частей, которые разделёны между собой точкой. Первая часть представляет собой название (или, собственно, имя) файла, а вторая часть — его расширение. Например, в файле СтатистикаБВ.mdb именем является СтатистикаБВ, а расширением mdb. При назначении имени файлу следует придерживаться правил:
Имя файла состоит из двух частей. Первым идет название файла, который может изменить пользователь. Оно может быть как на русском языке, так и записано латинскими буквами, может включать цифры. Затем, после точки, следует формат файла. Например, png — для фотографий или картинок, docx — для текстовый документов Microsoft Office, exe — формат различных программ, например, браузеров. Изменить формат, просто поменяв его название — невозможно. Такое может быть только после конвертации в один из схожих форматов. Например, png можно пересохранить в jpeg, а из файла docx получить ранее используемый doc. Части имени файла — это непосредственно имя файла (то, которое дает ему его создатель или текущий пользователь) и расширение файла (оно указывает на класс, к которому данный файл относится а также дает системе наводку на то, с помощью какой программы можно данны файл открыть), эти две части разделены точкой. И если имя можно легко поменять, то расширение — только с помощью специальных программ-конвертеров. Ну, или с помощью программ, позволяющих один и тот же файл сохранять в разных форматах. Dorog 11 лет назад Имя файла состоит из двух частей, разделенных точкой: собственно имя файла (названия) и расширение, определяющее его тип (программа, данные и т. д.). Собственно имя файлу дает пользователь, а тип файла обычно задается программой автоматически при его создании. Пример: БВ.docx (БВ — название, а .docx — расширение, которое показывает, что файл текстовый) Знаете ответ? |
Литература
- Современные операционные системы, Э. Таненбаум, 2002, СПб, Питер, 1040 стр., (в djvu 10.1Мбайт) подробнее>>
- Сетевые операционные системы Н. А. Олифер, В. Г. Олифер (в zip архиве 1.1Мбайт)
- Сетевые операционные системы Н. А. Олифер, В. Г. Олифер, 2001, СПб, Питер, 544 стр., (в djvu 6.3Мбайт) подробнее>>
2.1 Файлы
Требования к хранению информации:
-
возможность хранения больших объемов данных
-
информация должна сохраняться после прекращения работы процесса
-
несколько процессов должны иметь одновременный доступ к информации
2.1.1 Именование файлов
Длина имени файла зависит от ОС, может быть от 8 (MS-DOS) до 255 (Windows, LINUX) символов.
ОС могут различать прописные и строчные символы. Например, WINDOWS и windows для MS-DOS одно и тоже, но для UNIX это разные файлы.
Во многих ОС имя файла состоит из двух частей, разделенных точкой, например windows.exe. Часть после точки называют расширением файла. По нему система различает тип файла.
У MS-DOS расширение составляет 3 символа. По нему система различает тип файла, а также можно его исполнять или нет.
У UNIX расширение ограничено размером имени файла в 255 символов, также у UNIX может быть несколько расширений, но расширениями пользуются больше прикладные программы, а не ОС. По расширению UNIX не может определить исполняемый это файл или нет.
2.1.2 Структура файла
Три основные структуры файлов:
-
Последовательность байтов — ОС не интересуется содержимым файла, она видит только байты. Основное преимущество такой системы, это гибкость использования. Используются в Windows и UNIX.
-
Последовательность записей — записей фиксированной длины (например, перфокарта), считываются последовательно. Сейчас не используются.
-
Дерево записей — каждая запись имеет ключ, записи считываются по ключу. Основное преимущество такой системы, это скорость поиска. Пока еще используется на мэйнфреймах.
Три типа структур файла.
2.1.3 Типы файлов
Основные типы файлов:
-
Регулярные — содержат информацию пользователя. Используются в Windows и UNIX.
-
Каталоги — системные файлы, обеспечивающие поддержку структуры файловой системы. Используются в Windows и UNIX.
-
Символьные — для моделирования ввода-вывода. Используются только в UNIX.
-
Блочные — для моделирования дисков. Используются только в UNIX.
Основные типы регулярных файлов:
-
ASCII файлы — состоят из текстовых строк. Каждая строка завершается возвратом каретки (Windows), символом перевода строки (UNIX) и используются оба варианта (MS-DOS). Поэтому если открыть текстовый файл, написанный в UNIX, в Windows, то все строки сольются в одну большую строку, но под MS-DOS они не сольются (это достаточно частая ситуация). Основные преимущества ASCII файлов:
— могут отображаться на экране, и выводится на принтер без преобразований
— могут редактироваться почти любым редактором -
Двоичные файлы — остальные файлы (не ASCII). Как правило, имеют внутреннею структуру.
Основные типы двоичных файлов:
-
Исполняемые — программы, их может обрабатывать сама операционная система, хотя они записаны в виде последовательности байт.
-
Неисполняемые — все остальные.
Примеры исполняемого и не исполняемого файла
«Магическое число» — идентифицирующее файл как исполняющий.
2.1.4 Доступ к файлам
Основные виды доступа к файлам:
-
Последовательный — байты читаются по порядку. Использовались, когда были магнитные ленты.
-
Произвольный — файл можно читать с произвольной точки. Основное преимущество возникает, когда используются большие файлы (например, баз данных) и надо считать только часть данных из файла. Все современные ОС используют этот доступ.
2.1.5 Атрибуты файла
Основные атрибуты файла:
-
Защита — кто, и каким образом может получить доступ к файлу (пользователи, группы, чтение/запись). Используются в Windows и UNIX.
-
Пароль — пароль к файлу
-
Создатель — кто создал файл
-
Владелец — текущий владелец файла
-
Флаг «только чтение» — 0 — для чтения/записи, 1 — только для чтения. Используются в Windows.
-
Флаг «скрытый» — 0 — виден, 1 — невиден в перечне файлов каталога (по умолчанию). Используются в Windows.
-
Флаг «системный» — 0 — нормальный, 1 — системный. Используются в Windows.
-
Флаг «архивный» — готов или нет для архивации (не путать сжатием). Используются в Windows.
-
Флаг «сжатый» — файл сжимается (подобие zip архивов). Используются в Windows.
-
Флаг «шифрованный» — используется алгоритм шифрования. Если кто-то попытается прочесть файл, не имеющий на это прав, он не сможет его прочесть. Используются в Windows.
-
Флаг ASCII/двоичный — 0 — ASCII, 1 — двоичный
-
Флаг произвольного доступа — 0 — только последовательный, 1 — произвольный доступ
-
Флаг «временный» — 0 — нормальный, 1 — для удаления файла по окончании работы процесса
-
Флаг блокировки — блокировка доступа к файлу. Если он занят для редактирования.
-
Время создания — дата и время создания. Используются UNIX.
-
Время последнего доступа — дата и время последнего доступа
-
Время последнего изменения — дата и время последнего изменения. Используются в Windows и UNIX.
-
Текущий размер — размер файла. Используются в Windows и UNIX.
2.1.6 Операции с файлами
Основные системные вызовы для работы с файлами:
-
Create — создание файла без данных.
-
Delete — удаление файла.
-
Open — открытие файла.
-
Close — закрытие файла.
-
Read — чтение из файла, с текущей позиции файла.
-
Write — запись в файл, в текущею позицию файла.
-
Append — добавление в конец файла.
-
Seek — устанавливает файловый указатель в определенную позицию в файле.
-
Get attributes — получение атрибутов файла.
-
Set attributes — установить атрибутов файла.
-
Rename — переименование файла.
2.1.7 Файлы, отображаемые на адресное пространство памяти
Иногда удобно файл отобразить в памяти (не надо использовать системные вызовы ввода-вывода для работы с файлом), и работать с памятью, а потом записать измененный файл на диск.
При использовании страничной организации памяти, файл целиком не загружается, а загружаются только необходимые страницы.
При использовании сегментной организации памяти, файл загружают в отдельный сегмент.
Пример копирования файла через отображение в памяти.
Алгоритм:
-
Создается сегмент для файла 1
-
Файл отображается в памяти
-
Создается сегмент для файла 2
-
Сегмент 1 копируется в сегмент 2
-
Сегмент 2 сохраняется на диске
Недостатки этого метода:
-
Тяжело определить длину выходного файла
-
Если один процесс отобразил файл в памяти и изменил его, но файл еще не сохранен, второй процесс откроет это же файл, и будет работать с устаревшим файлом.
-
Файл может оказаться большим, больше сегмента или виртуального пространства.
2.2 Каталоги
2.2.1 Одноуровневые каталоговые системы
В этой системе все файлы содержатся в одном каталоге.
Однокаталоговая система, содержащая четыре файла, файлов А два, но разных владельцев
Преимущества системы:
-
Простота
-
Возможность быстро найти файл, не надо лазить по каталогам
Недостатки системы:
-
Различные пользователи могут создать файлы с одинаковыми именами.
2.2.2 Двухуровневые каталоговые системы
Для каждого пользователя создается свой собственный каталог.
Двухуровневая каталоговая система
Пользователь, при входе в систему, попадает в свой каталог и работает только с ним. Это делает проблематичным использование системных файлов.
Эту проблему можно решить созданием системного каталога, с общим доступом.
Если у одного пользователя много файлов, то у него тоже может возникнуть необходимость в файлах с одинаковыми именами.
2.2.3 Иерархические каталоговые системы
Каждый пользователь может создавать столько каталогов, сколько ему нужно.
Иерархическая каталоговая система
Почти все современные универсальные ОС, организованы таким образом. Специализированным ОС это может быть не нужным.
2.2.4 Имя пути
Для организации дерева каталогов нужен некоторый способ указания файла.
Два основных метода указания файла:
-
абсолютное имя пути — указывает путь от корневого каталога, например:
— для Windows \usr\ast\mailbox
— для UNIX /usr/ast/mailbox
— для MULTICS >usr>ast>mailbox -
относительное имя пути — путь указывается от текущего каталога (рабочего каталога), например:
— если текущий каталог /usr/, то абсолютный путь /usr/ast/mailbox перепишется в ast/mailbox
— если текущий каталог /usr/ast/, то абсолютный путь /usr/ast/mailbox перепишется в mailbox
— если текущий каталог /var/log/, то абсолютный путь /usr/ast/mailbox перепишется в ../../usr/ast/mailbox
./ — означает текущий каталог
../ — означает родительский каталог
2.2.5 Операции с каталогами
Основные системные вызовы для работы с каталогами:
-
Create — создать каталог
-
Delete — удалить каталог
-
OpenDir — закрыть каталог
-
CloseDir — закрыть каталог
-
ReadDir — прочитать следующий элемент открытого каталога
-
Rename — переименование каталога
-
Link — создание жесткой ссылки, позволяет файлу присутствовать сразу в нескольких каталогах.
-
Unlink — удаление ссылки из каталога