Fayl haqqında
Kompüterlər optik sürücüdə və ya flash sürücüdə sabit disk , CD, DVD və BD kimi media haqqında məlumatları saxlamaq və təşkil etmək üçün müəyyən fayl sistemləri (bəzən qısaldılmış FS ) istifadə edir.
Файл — это… Что такое файлы и папки
Компьютеры прочно вошли в нашу жизнь, поэтому всем будет полезно узнать, как хранятся на нем различные данные – фильмы, музыка, текстовые документы и исполняемые программы. В этой статье мы разберем, что представляет собой файл и папка (каталог), а так же как организованы различные файловые системы в информатике. Читайте!
Файл это – основные положения и определения
Файл в информатике – объект, который представляет собой именованный контейнер для различных типов информации.
Само слово появилось в 1952 году и произошло от английского file (в переводе с английского – картотека). Однако в то время данным понятием обозначали колоду перфокарт, то есть само устройство компьютерной памяти, а не ее содержимое.
То понятие, которое мы понимаем под словом файл сейчас, появилось намного позднее, когда с развитием информационных технологий появились первые сложные файловые системы. В таких системах на одном носителе данных существовали несколько виртуальных устройств памяти. Пользуемся мы ими и сейчас.
Файловой системой в информатике называется способ, при помощи которого организуется хранение файлов, как на компьютерах, так и других цифровых устройствах (видеокамерах, фотоаппаратах и т.д.)
Сейчас, в основном, используются сложные иерархические файловые системы с древовидной структурой.
Свойства
После того, как мы разобрались с основными понятиями, рассмотрим свойства и параметры, которыми обладает файл:
- Имя
Параметр, с помощью которого указывается, к какому именно контейнеру с данными обращается операционная система. В зависимости от ОС и файловой системы к имени предъявляются разные требования. Так в Windows имя состоит из двух частей – основной и расширения. Основная часть может состоять из 255 символов, а расширение из 3 и часто рассматривается, как отдельный параметр. - Расширение (формат)
Формат, показывает какой тип данных хранится в том или ином контейнере и говорит ОС, какой программой нужно его открывать. Так в Windows формат может содержать от 0 до 3 символов, а в Unix системах расширения вообще нет. Примеры:
Исполняемые программы – exe, bat.
Медиаконтейнеры – mp3, avi, ogg. - Права доступа
В некоторых операционных системах возможно установления прав доступа и ограничение пользователя к тому или иному файлу. Так в ОС семейства Unix есть три типа прав: на запись, чтение и исполнениe. - Время обращения
Временная метка, которая указывает на последнюю модификацию контейнера. В некоторых файловых системах данного параметра нет.
Байты и биты – единицы измерения информации в информатике
Операции
Рассмотрим основные операции, которые выполняются с файлами в информатике. Они могут быть, как внутренними (действия над информацией внутри контейнера), так и внешними (оперируют с его внешними параметрами). Перечислим основные из них:
Внутренние:
- Открытие;
- Закрытие;
- Чтение;
- Запись.
Внешние:
- Переименование (изменение имени и формата);
- Копирование;
- Перемещение из одной папки в другую.
Папки
Рассмотрим основное определение:
Папка – это объект, который предоставляет доступ пользователю к каталогу файловой системы.
Данное понятие впервые использовалось с выходом ОС MacSS (Mac System Software) и происходило от английского слово folder (в переводе с английского офисная папка). В Windows оно начало использоваться с выходом Windows 95. До этого использовались такие термины, как каталог и директория. Используются они и сейчас и имеют точно такой же смысл, как и слово папка.
Если говорить простым языком, папка содержит доступ, как к файлам находящимся внутри неё, так и к другим папкам, которые могут в ней находиться. Каталоги помогают группировать все файлы, которые находятся на носителе данных (например, на жестком диске).
Виды
Каталоги можно разделить по нескольким характеристикам. Например, можно поделить их на пользовательские и системные:
- Системные
В директориях такого типа хранится информация и программы, которые используются ОС системой компьютера. Пример: каталог system32. - Пользовательские
В каталогах такого типа записываются пользовательские данные, которые содержат музыку, игры, текстовые документы и т.д.
А можно разделить их по уровню вложенности:
- Корневые
Так называются директории, которые включают в себя все остальные каталоги и документы ФС. В Виндоуз они обозначаются с помощью наименования жесткого диска, двоеточия и знака обратного слеша C: /. - Родительские
Каталоги, которые стоят в иерархии на один уровень выше от текущего. - Текущий
Папка, в которой находится и с которой работает пользователь или ОС.
Свойства и операции
Свойства точно такие же, как и файлов (имя, права доступа, дата последнего изменения). Это относится и к операциям (копирование, переименование, перемещение). Однако следует отметить одну важную особенность – для директорий не указывается расширение (формат).
Чтобы получить доступ ко всем характеристикам, которые обладают директории, в Windows 7-10 надо:
- Открыть «Мой компьютер» .
- Выбрать вкладку «Вид» .
- В правом углу выбрать – «Параметры» .
Заключение
Теперь Вы знаете, что такое файл в информатике, какими свойствами они обладают и каких типов бывают. Если у Вас возникли вопросы, то задайте их в комментариях к статье. Также Вы можете прочитать другие заметки, например про кодирование звуковой информации в ПК.
Файл
Файл (англ. file ) — блок информации на внешнем запоминающем устройстве компьютера, имеющий определённое логическое представление (начиная от простой последовательности битов или байтов и заканчивая объектом сложной СУБД), соответствующие ему операции чтения-записи (см. ниже) и, как правило, фиксированное имя (символьное или числовое), позволяющее получить доступ к этому файлу и отличить его от других файлов (см. ниже).
Работа с файлами реализуется средствами операционных систем. Многие операционные системы приравнивают к файлам и обрабатывают сходным образом и другие ресурсы:
- области данных (необязательно на диске);
- устройства — как физические, например, порты или принтеры, так и виртуальные (генератор случайных чисел);
- потоки данных (именованный канал);
- сетевые ресурсы, сокеты;
- объекты операционной системы.
История
Файл перфокарт
Два жёстких диска машины IBM 305
Слово file впервые применено к компьютерному хранилищу в 1950 году. Реклама памяти на запоминающих ЭЛТ фирмы RCA в журнале «Popular Science» [1] гласила:
…результаты бесчисленных вычислений можно держать «в картотеке» (on file) и получать снова. Эта «картотека» теперь существует в запоминающей трубке, разработанной в лабораториях RCA. Она электрически сохраняет цифры, отправленные в вычислительную машину, и держит их в хранилище, заодно запоминая новые — ускоряя интеллектуальные решения в лабиринтах математики. |
В 1952 году слово file отнесли к колоде перфокарт. [2] Поначалу словом file называли само устройство памяти, а не его содержимое (см. Регистровый файл). Например, диски IBM 350, использовавшиеся, например, в машине IBM 305, назывались disk files. [3] Системы наподобие Compatible Time-Sharing System ввели концепцию файловой системы, когда на одном запоминающем устройстве существует несколько виртуальных «устройств памяти», что и дало слову «файл» современное значение. Имена файлов в CTTS состояли из двух частей, «основного имени» и «дополнительного имени» (последнее существует и поныне как расширение имени файла). [4] [5]
Файловая система
Основная статья: Файловая система
По мере развития вычислительной техники файлов в системах становилось всё больше. Для удобства работы с ними, их, как и другие данные, стали организовывать в структуры (тогда же появились символьные имена). Вначале это был простой массив, «привязанный» к конкретному носителю информации. В настоящее время наибольшее распространение получила древовидная организация с возможностью монтирования и вставки дополнительных связей (то есть ссылок). Соответственно, имя файла приобрело характер пути к файлу: перечисление узлов дерева файловой системы, которые нужно пройти, чтобы до него добраться.
Файл как объект API операционной системы
Операционная система предоставляет приложениям набор функций и структур для работы с файлами. Возможности операционной системы накладывают дополнительные ограничения на ограничения файловой системы. С точки зрения API файл — объект, по отношению к которому могут быть применены функции этого API. На уровне API уже не существенно, существует ли файл как объект файловой системы или является, например, устройством ввода/вывода.
Свойства файла
В зависимости от файловой системы, файл может обладать различным набором свойств.
Имя файла
В большинстве файловых систем имя файла используется для указания, к какому именно файлу производится обращение. В различных файловых системах ограничения на имя файла сильно различаются: в FAT16 и FAT12 размер имени файла ограничен 8.3 знаками (8 на имя и 3 на расширение); в других системах имя файла ограничено обычно в 255 байт; в NTFS имя ограничено в некоторых ОС 255 символами Unicode (по спецификации — 32 768 символов).
Помимо ограничений файловой системы, интерфейсы операционной системы дополнительно ограничивают набор символов, который допустим при работе с файлами.
- Для MS-DOS в имени файла допустимы только заглавные латинские буквы, цифры. Недопустимы пробел, знак вопроса, звёздочка, символы больше/меньше, символ вертикальной черты. [6] При вызове системных функций именами файлов в нижнем или смешанном регистре, они приводятся к верхнему регистру.
- Для Windows в имени файла разрешены заглавные и строчные буквы, цифры, некоторые знаки препинания, пробел. Запрещены символы >< | ? * / \ : " .
- Для GNU/Linux (с учётом возможности маскировки) разрешены все символы, кроме / и байта, значение которого равно нулю, то есть 0x00.
Большинство операционных систем требуют уникальности имени файла в одном каталоге, хотя некоторые системы допускают файлы с одинаковыми именами (например, при работе с ленточными накопителями).
Расширение имени файла
Основная статья: Расширение имени файла
Расширение имени файла (часто расширение файла или расширение) как самостоятельный атрибут файла существует в файловых системах FAT16, FAT32, NTFS, используемых операционными системами MS-DOS, DR-DOS, PC DOS, MS Windows и используется для определения типа файла. Оно позволяет системе определить, каким приложением следует открывать данный файл. По умолчанию в операционной системе Windows расширение скрыто от пользователя.
В остальных файловых системах расширение — условность, часть имени, отделённая самой правой точкой в имени.
Атрибуты
В некоторых файловых системах, таких как NTFS, предусмотрены атрибуты (обычно это бинарное значение «да»/«нет», кодируемое одним битом). Во многих современных операционных системах атрибуты практически не влияют на возможность доступа к файлам, для этого в некоторых операционных и файловых системах существуют права доступа.
Название атрибута | перевод | значение | файловые системы | операционные системы |
---|---|---|---|---|
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 |
ARCHIVE | архивный (требующий архивации) | файл изменён после резервного копирования или не был скопирован программами резервного копирования | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
SUID | Установка пользовательского ID | выполнение программы от имени владельца | ext2 | Unix-like |
SGID | Установка группового ID | выполнение программы от имени группы (для каталогов: любой файл созданный в каталоге с установленным SGID, получит заданную группу-владельца) | ext2 | Unix-like |
Sticky Bit | липкий бит | изначально предписывал ядру не выгружать завершившуюся программу из памяти сразу, а лишь спустя некоторое время, чтобы избежать постоянной загрузки с диска наиболее часто используемых программ, в настоящее время в разных ОС используется по разному | ext2 | Unix-like |
Время
Для файла могут быть определены временные метки создания, модификации и последнего доступа.
Владелец и группа файла
В некоторых файловых системах предусмотрено указание на владельца файла и группу-владельца.
Права доступа
В некоторых файловых системах предусмотрена возможность для ограничения доступа пользователей к содержимому файла
В UNIX-подобных операционных системах для файлов обычно выделяют три типа прав: на запись, чтение и выполнение.
Каждое право задаётся раздельно для владельца, для группы и для всех остальных. ACL позволяют расширить этот список.
В операционных системах Windows NT при работе с файловой системой NTFS права доступа задаются явно для пользователей или групп (или наследуются от вышестоящих объектов). Права в себя включают право на чтение, запись исполнение, удаление, смену атрибутов и владельца, создание и удаление подпапок (для папок) и чтение прав доступа.
Каждое право может быть задано как разрешением, так и запретом, запрет имеет больший приоритет, чем разрешение.
Операции с файлом
Условно можно выделить два типа операций с файлом — связанные с его открытием, и выполняющиеся без его открытия. Операции первого типа обычно служат для чтения/записи информации или подготовки к записи/чтению. Операции второго типа выполняются с файлом как с «объектом» файловой системы, в котором файл является мельчайшей единицей структурирования.
Операции, связанные с открытием файла
В зависимости от операционной системы те или иные операции могут отсутствовать.
Обычно выделяют дополнительные сущности, связанные с работой с файлом:
- хэндлер файла, или дескриптор (описатель). При открытии файла (в случае, если это возможно), операционная система возвращает число (или указатель на структуру), с помощью которого выполняются все остальные файловые операции. По их завершению файл закрывается, а хэндлер теряет смысл.
- файловый указатель. Число, являющееся смещением относительно нулевого байта в файле. Обычно по этому адресу осуществляется чтение/запись, в случае, если вызов операции чтения/записи не предусматривает указание адреса. При выполнении операций чтения/записи файловый указатель смещается на число прочитанных (записанных) байт. Последовательный вызов операций чтения таким образом позволяет прочитать весь файл не заботясь о его размере.
- файловый буфер. Операционная система (и/или библиотека языка программирования) осуществляет кэширование файловых операций в специальном буфере (участке памяти). При закрытии файла буфер сбрасывается.
- режим доступа. В зависимости от потребностей программы, файл может быть открыт на чтение и/или запись. Кроме того, некоторые операционные системы (и/или библиотеки) предусматривают режим работы с текстовыми файлами. Режим обычно указывается при открытии файла.
- режим общего доступа. В случае многозадачной операционной системы возможна ситуация, когда несколько программ одновременно хотят открыть файл на запись и/или чтение. Для регуляции этого существуют режимы общего доступа, указывающие на возможность осуществления совместного доступа к файлу (например, файл в который производится запись может быть открыт для чтения другими программами — это стандартный режим работы log-файлов).
- Открытие файла (обычно в качестве параметров передается имя файла, режим доступа и режим совместного доступа, а в качестве значения выступает файловый хэндлер или дескриптор), кроме того обычно имеется возможность в случае открытия на запись указать на то, должен ли размер файла изменяться на нулевой.
- Закрытие файла. В качестве аргумента выступает значение, полученное при открытии файла. При закрытии все файловые буферы сбрасываются.
- Запись — в файл помещаются данные.
- Чтение — данные из файла помещаются в область памяти.
- Перемещение указателя — указатель перемещается на указанное число байт вперёд/назад или перемещается по указанному смещению относительно начала/конца. Не все файлы позволяют выполнение этой операции (например, файл на ленточном накопителе может не «уметь» перематываться назад).
- Сброс буферов — содержимое файловых буферов с незаписанной в файл информацией записывается. Используется обычно для указания на завершение записи логического блока (для сохранения данных в файле на случай сбоя).
- Получение текущего значения файлового указателя.
Операции, не связанные с открытием файла
Операции, не требующие открытия файла, оперируют с его «внешними» признаками — размером, именем, положением в дереве каталогов. При таких операциях невозможно получить доступ к содержимому файла, файл является минимальной единицей деления информации.
В зависимости от файловой системы, носителя информации, операционной системой часть операций может быть недоступна.
Возможные операции с файлами: открытие для изменения, удаление, переименование, копирование, перенос на другую файловую систему/носитель информации, создание симлинка или хардлинка, получение или изменение атрибутов.
Типы файлов
В различных операционных и/или файловых системах могут быть реализованы различные типы файлов; кроме того, реализация различных типов может различаться.
- «Обыкновенный файл» — файл, позволяющий операции чтения, записи, перемещения внутри файла
- Каталог (англ.directory — алфавитный справочник) или директория — файл, содержащий записи о входящих в него файлах. Каталоги могут содержать записи о других каталогах, образуя древовидную структуру.
- Жёсткая ссылка (англ.hardlink , часто используется калька «хардлинк») — в общем случае, одна и та же область информации может иметь несколько имён. Такие имена называют жёсткими ссылками (хардлинками). После создания хардлинка сказать где «настоящий» файл, а где хардлинк невозможно, так как имена равноправны. Сама область данных существует до тех пор, пока существует хотя бы одно из имён. Хардлинки возможны только на одном физическом носителе.
- Символьная ссылка (симлинк, софтлинк) — файл, содержащий в себе ссылку на другой файл или директорию. Может ссылаться на любой элемент файловой системы, в том числе, и расположенный на другом физическом носителе.
Особенности реализации
В операционной системе UNIX процессы (обычно находятся в каталоге /proc) и устройства (/dev) представляются в виде файлов особого рода, что позволяет использовать некоторые файловые операции для манипуляции этими объектами.
В некоторых файловых системах (например, в файловой системе OS VAX VMS) файлы имеют версию, что позволяет открывать более старые варианты данного файла. В файловой системе Mac OS (HFS) у файлов есть два «потока»: поток данных (где хранится содержимое файла) и поток ресурсов, хранящий информацию о программе, предназначенной для открывания данного файла и, возможно, некоторую информацию для этой программы. В NTFS файл может содержать, кроме основного, сколько угодно именованных потоков.
Проблема точного определения понятия «файл»
Так как файл в разных операционных системах обладает различным набором атрибутов, свойств и методов доступа, универсального определения, которое бы учитывало все особенности, сформулировано не было.
Вопрос «Что такое файл?» неоднократно вызывал в эхо-конференции ru.os.cmp волны флейма, из-за чего попал в FAQ конференции с формулировкой «Q48: что такое файл? A48: ОПЯТЬ?» [7]
См. также
Примечания
В Викисловаре есть статья «файл»
- ↑Popular Science Magazine, February 1950, page 96
- ↑ Robert S. Casey, et al. Punched Cards: Their Applications to Science and Industry, 1952.
- ↑ Martin H. Weik. Ballistic Research Laboratories Report #1115. March 1961. pp. 314-331.
- ↑ Fernando J. Corbató et al. “An Experimental Time-Sharing System.” May 3, 1962.
- ↑ Jerome H. Saltzer CTSS Technical Notes. Project MIT-LCS-TR016
- ↑Обзор файловых систем FAT, HPFS и NTFS
- ↑FAQ конференции ru.os.cmp
Это заготовка статьи о компьютерах. Вы можете помочь проекту, исправив и дополнив её. Это примечание по возможности следует заменить более точным. |
Comments are closed, but trackbacks and pingbacks are open.